Zoran Skoda
prijedlog kolegija raspodijeljeni registri

Raspodijeljeni registri

(napredni poslijediplomski kolegij, ?30 sati)

Predznanje: Programiranje, strukture podataka i algoritmi, osnovne predodžbe o tome kako funkcioniraju kompajliranje, mreže, internet i operativni sustavi. Korisne su i osnovne predodžbe o suvremenim financijskim sustavima.

Motivacija i opis. Lanci klijetki (blockchain) i poopćenja praktički zadovoljavajuće rješavaju probleme raspodijeljenog usaglašavanja zapisa i čuvanja zapisa komunikacija/transakcija u nepovjerljivom okružju. Ta inovacija (Nakamoto 2008) omogućava novu arhitekturu mrežnih resursa s determinističkim mehanizmima upisa i praćenja podataka i procesiranja usaglašenih upisanih procedura (pametni ugovori). Tehnologija se bazira na kriptografiji i raspodijeljenom računanju, a primjene, koje su počele s kriptovalutama koje rješavaju problem dvostrukog trošenja i konzistencije zapisa: dokumenata, identiteta, ugovora, doprinosa, transakcija vrijednosti, procesa upravljanja (governance). Sada imaju tendenciju proširenja primjenjivosti na sve vidove distribuirane ekonomije i društva. Kolegij će se baviti matematičkim i računarskim osnovama tehnologije raspodijeljenih registara (distributed ledgers) i principima vrednovanja rješenja u toj tehnologiji sa stanovišta primjena i realističnosti.

Sadržaj.

  • Netehnički uvod u lance klijetki i općenitije raspodijeljene registre.
  • Osnovna obilježja kriptografije za blockchain. Simetrična i nesimetrična kriptografija. Funkcije haširanja. Nonce. Digitalni potpis. Certifikati. Autorizacija. Problem kvantnog računala kao opasnosti za klasično kriptiranje. Digitalni novčanik. Homomorfni izračuni. Dokazi s nultim znanjem.
  • Ideja distribuiranog računanja i distribuiranih baza podataka. Algoritmi usaglašavanja (konsenzusa). Dokaz obavljenog posla (PoW), čvorovi lanca klijetki, rudarenje i osnovna kriptovaluta. Dokaz ulaganja (PoS). Dokaz autoriteta (PoA). Obilježja lanaca klijetki. Čvorovi lanca klijetki i rudarenje. Stanje lanca, funkcije stanja, računi i poruke (transakcije). Ekosustav lanca klijetki na protokolnom, mrežnom i aplikacijskom nivou.
  • Pametni ugovori i raspodijeljeni programi. Virtualni stroj i programski jezici za pametne ugovore; greške u ugovorima. Efekti i arhitektura na lancu (on chain) i van lanca (off chain). Svjedoci (oracles). Semantika i primjene pametnih ugovora. Tokeni i raspodijeljene autonomne organizacije. Hijerarhije pametnih ugovora. Raspodijeljeni sustavi datoteka (IPFS i slični).
  • Problemi tehnologije lanaca klijetki u stvarnom okruženju: privatnost, napadi i sigurnost, skalabilnost, zakonski okvir, stabilnost ekosustava i tokena, račvanje, vladanje i promjenjivost algoritama.
  • Interoperabilnost. Algoritam atomskih zamjena. Pokrajnji lanci (sidechains, parachains). Sharding. Kanali za transakcije. Konsenzus na kanalima. Algoritmi lightning, plasma i polkadot mreža.
  • Principijelna pitanja raspodijeljenih mreža, nemogućnost konsenzusa. Algoritmi usaglašavanja Paxos, PBFT i honey badger.
  • Nelinearne raspodijeljene knjige; usmjereni aciklički grafovi, Tangle i Hashgraph; multilančani sustavi.
  • Algoritmi na odabranim suvremenim platformama (npr. TON). Pregled primjena tehnologije raspodijeljenih registara i njihovo vrednovanje.

Literatura

Online materijali će dopunjavati izabrana poglavlja iz

  1. Satoshi Nakamoto, Bitcoin: A peer-to-peer electronic cash system, 2008.

  2. M. J. Fischer, N. Lynch, M. S. Paterson, Impossibility of distributed consensus with one faulty process JACM 32:2, 374-382 (1985)

  3. Roger Wattenhofer, The science of the blockchain, 115 str. Inverted Forest Publishing 2016.

  4. X. Xu, I. Weber, M. Staples, Architecture for blockchain applications, Springer 2019.

  5. M. Castro, B. Liskov, et al., Practical byzantine fault tolerance, Proc. 3rd Symposium on Operating Systems Design and Implementation (1999) 173–186.

  6. L. Lamport, R. Shostak, M. Pease, The byzantine generals problem, ACM Transactions on Programming Languages and Systems, 4/3 (1982), p. 382–401.

  7. Vitalik Buterin, Ethereum: A next-generation smart contract and decentralized application platform

  8. Gavin Wood, Ethereum: a secure decentralised generalised transaction ledger, Ethereum, Tech. Rep. 2017

  9. Joseph Poon, Vitalik Buterin, Plasma: scalable autonomous smart contracts

  10. Joseph Poon, Tadge Dryja, Lightning Network

  11. Vitalik Buterin, Chain interoperability, R3 reports, Sep 2016

  12. Nikolai Durov, Telegram Open Network, 132 str. Dec 2017; Telegram Open Network Blockchain, Sep 2018, 121 str.; TON Virtual Machine, Sep. 2018, 148 str.

  13. L. Baird, The Swirlds hashgraph consensus algorithm: fair, fast, byzantine tolerant protocol, 2016

  14. Leslie Lamport, Paxos made simple, ACM Sigact News, 32(4):18–25, 2001. pdf

Created on May 24, 2019 at 19:54:47. See the history of this page for a list of all contributions to it.