Blockchain a digitální měny
Projekt
Cílem projektu je vytvořit jednoduchou decentralizovanou aplikaci, která bude používat Ethereum, smart kontrakty a další navazující technologie probírané v tomto předmětu. V popisu projektu (úvodní odkaz), nalezenete jeho krátký popis. Pochopitelně se můžete pustit do implementace projektu na jiné téma v podobném rozsahu.
Prezentace (témata)
- Kdo je Satoshi Nakamoto? - Tomáš Bezecný
- Lightning - Vojtěch Mikulenka
- Peněženky - Daniel Buroň
- P2Pool - Martin Šmídl
- Blockchain místo databáze - Matěj Eliáš
Test
V sedmém týdnu proběhne na přednášce 30 minutový test. Otázky budou velmi podobné těmto otázkám.
Podmínky absolvování
- Cvičení 30b - na cvičení 2, 3, 4, 5, 6 a 9 dostanou studenti úkoly k vyřešení. Jeden úkol bude za 5b.
- Test Bitcoin 20b - Test základních znalostí k Bitcoin.
- Projekt 30b - Domácí projekt v rámci kterého studenti vytvoří decentralizovanou aplikaci na vybrané téma.
- Prezentace 10b - Na sedmém cvičení bude možné prezentovat prezentaci na libovolné téma související s blockchainem.
- Test Ethereum 10b - Test základních znalostí k Ethereum a vektorovým útokům.
Žádný úkol nemá specifikované minimum, nicméně dohromady je potřeba získat nad 50 bodů.
Přednášky a cvičení
Týden | Přednáška | Cvičení |
1. | Slidy: Úvod | Zadání: Cvičení 1 |
2. | Slidy: Konečné těleso Zadání: Modulo aritmetika | Zadání: Cvičení 2 Kód: FieldElement.py |
3. | Slidy: Eliptická křivka | Zadání: Cvičení 3 Kód: Point + ECC |
4. | Slidy: BTC adresa & Klíče | Zadání: Cvičení 4 Kód: Podpis & serialializace |
5. | Slidy: Peněženky & Transakce | Zadání: Cvičení 5 Kód: Peněženky & Transakce |
6. | Slidy: Blockchain | Zadání: Blockchain Kód: Blockchain |
7. | Slidy: Transakce & kanály | |
8. | Slidy: Ethereum | Zadání: Ethereum Kód: Ethereum |
9. | Slidy: Solidity Initial Code | Zadání: Solidity Kód: Solidity |
10. | Slidy: Vektorové útoky | Kód: Python + Solidity Moralis |