A Blockchain és alkalmazásai. Mi van a digitális aranyláz mögött és az mire használható még? dr. Kovácsházy Tamás Az előadás összeállításában részt vettek: Dr. Pataricza András, Dr. Kovácsházy Tamás, Kocsis Imre, Gönczy László
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
© BME-MIT 2017, Minden jog fenntartva
Bemutatkozás (http://www.mit.bme.hu/) BME-MIT o A Villamosmérnöki és Informatikai kar (VIK) egyik tanszéke o Fő profilok: • Hibatűrő rendszerek • Intelligens rendszerek • Beágyazott rendszerek
o Évente kb. 100-150 villamosmérnök és mérnökinformatikus végez a tanszéken
Oktatás + Kutatás + Fejlesztés + Innováció
© BME-MIT 2017, Minden jog fenntartva
2. oldal
Célkitűzés
Közérthető bevezetés mérnöki területen dolgozók számára 40-45 percben a blockchain technológiába
Ha kell, tudunk belőle akár gyakorlati oktatást is tartani!
© BME-MIT 2017, Minden jog fenntartva
3. lap
Blockchain: Bitcoin kezdetek Koncepció: „Satoshi Nakamoto”, 2008 o 2008 októberében publikálta az ötletet egy kriptográfiával foglalkozó levelező listán • Bitcoin: A Peer-to-Peer Electronic Cash System
o 2009 januárjában kiadta a referencia implementációt (szabad forráskódú) o Máig nem tudjuk, ki Satoshi Nakamoto! • Vagy kik rejtőznek a név mögött
Magyar szál: Korábban hasonló témában egy Nick Szabó nevű létező ember írt cikkeket, csak nem készített implementációt o A koncepcionális pénznek a neve Bitgold volt o Témái: Digitális szerződések, elektronikus kereskedelem, kriptográfia, stb. o Azóta is tagadja, hogy ő lenne Satoshi Nakamoto
Valószínű nem egy ember, hanem egy cég o Túl sok munka volt mögötte már 2009-ben is…
© BME-MIT 2017, Minden jog fenntartva
4. lap
Mi is az a Bitcoin? Decentralizált (sok résztvevő) o Nincs központi adminisztrátor/rendszer mögötte o P2P alapon működik
Bitcoin tranzakciók havonta
Digitális pénz (egysége a Bitcoin) o Teljesen digitális, ismert algoritmuson alapul • Biztonságos (eddig nem találtak benne hibát) • Ha lenne, leértékelődne • Nyílt forráskódú implementáció
o Elfogadják árúért, szolgáltatásért, más pénzekre váltható, lehet befektetés is o 1 Bitcoin kb. 1-1.1 millió forint manapság (gyorsan változik) o Összesen 21 millió Bitcoin bocsátható ki • Ki kell őket bányászni…
Bitcoin-HUF árfolyam
2017 augusztusában két „ágra” szakadt o BTC: Bitcoin Classic o BCH: Bitcoin Cash o Kibírta ezt is… © BME-MIT 2017, Minden jog fenntartva
5. lap
Digitális aranyláz? A Bitcoin komoly publicitást kapott o Működéséhez szükség van egy nagy számításigényű kriptográfiai feladat megoldására • Proof-of-work
o Ezt a feladatot látják el a „bányászok” • SHA256 hash törése a feladat
o Ezért a munkáért Bitcoin-t kapnak (reward) • Egy algoritmus adja meg az „átváltási arányt” – Egyre nehezebb 1 bitcoin-t kibányászni
• Valós erőforrást (pénzt) váltanak bitcoin-ra – Szükség van HW-ra, emberre, Internetre – Energiára (sokra…)
• CPU-GPU-ASIC a fejlődés iránya – Első aranyláz: GPU mining (kb. 2013 végéig?) – Jelenleg: Bitmain cég a piacvezető (Kínai) » kb. 50%-t ők bányásznak ki » Saját ASIC és azon alapuló HW (Antminer) © BME-MIT 2017, Minden jog fenntartva
6. lap
2. Digitális aranyláz (2017) Altcoins (Ether és társai) o Más kriptográfiai algoritmus o Eredeti cél: végrehajtás CPU-n • Memória intenzív a bányászás • Néhány Gbyte kell…
o GPU hamar leváltotta a CPU-t • Egy PC-be minél több GPU • A szükséges adatok elférnek a GPU memóriájában
o ASIC várat magára • Augusztus végén voltak ilyenről hírek, de nem megbízhatóak az infók
o Eredmények: • Extrém GPU árak 2017-ban – Bizonyos középkategóriájú kártyák drágák
• Speciális „bányász” HW megjelenése – Alaplap rengeteg PCIE 1x porttal » 12 max., 6-8 tipikus – Óriási tápegységek (sok GPU) – Speciális GPU kivitelek (csatlakozók nélkül) © BME-MIT 2017, Minden jog fenntartva
7. lap
Hatások Minden szereplő érdeklődik a digitális pénzek után o Reális és irreális elvárások, elképzelések • Az idővel kiderül…
o Extrém hatások, pl. Kínában • ICO-k (Initial Coin Offerings) betiltása néhány napja – Lényegében ezek „potenciális” Bitcoin alternatívák – Hihetetlen pénzeket szedtek össze a kínai piacon (valódit) – Betiltották őket a pénzügyi stabilitás érdekében
• Bitcoin tőzsdei kereskedésének tervezett korlátozása • Saját kripto-pénz bevezetésére utalás
Ugyanakkor a mögöttes technológia, a blockchain o o o o
Sokkal szélesebb körben alkalmazható Mélyreható technológiai újdonság Gyorsan növekvő, fejlődő szektor Distributed Ledger Technology (DLT) név is előfordul (általánosabb) © BME-MIT 2017, Minden jog fenntartva
8. lap
Blockchain szereplők? Kriptopénz és/vagy blockchain specialisták o o o o o
Bitcoin (első szereplő) Ethereum Linux Foundation: Hyperledger DASH, Monero, Ripple, Litecoin IOTA (irányított aciklikus gráf) • Lehet, hogy megtörték…
Klasszikus informatikai megoldásszállítók o Microsoft, IBM, …
Tanácsadó cégek és alkalmazók o Rengeteg tanulmány, riport, példa alkalmazás © BME-MIT 2017, Minden jog fenntartva
9. lap
Blockchain Egy adatstruktúra és algoritmus, amelynek vannak implementációi o Bitcoin, ami az első kriptopénz és proof of concept implementáció o Ethereum alkalmazásplatform, aminek első alkalmazása/tesztje és a fejlesztés finanszírozója az Ether kriptopénz o Hyperledger (Fabric) együttműködés és implementáció (nincs kriptopénz)
Egy adatbázis infrastruktúra, amely: o o o o o o o
Elosztott (Distributed) Központ szereplő nélküli (Decentralized) Konszenzust garantál (Decentralized Consesus) Tervezési szinten biztonságos (Secure by Design) Hibatűrő (Fault Tolerant) Tranzakció alapú (Transaction-based) Nem módosítható (Inmutable)
Hívják főkönyvnek (Ledger) is o Ez egy elosztott főkönyv, minden résztvevőben garantáltan azonos állapotban van (tranzakció jelleggel működik) © BME-MIT 2017, Minden jog fenntartva
10. lap
Elosztott, központi szereplő nélküli? Központi szereplő o A tranzakciók ott hajtódnak végre • Főkönyv nála van
o Mindenki megbízik benne o Pl. pénzügy: MNB, KELER Zrt., stb.
Központi szereplő nélküli o Peer to Peer (P2P) o A tranzakció mindenhol végrehajtódik o Senki nem bízik senkiben • Az bizalmat az algoritmusok és azok megfelelő végrehajtása garantálja • Konszenzusos tranzakció © BME-MIT 2017, Minden jog fenntartva
11. lap
Miből áll? Blockchain = Chain of Blocks (speciális adatstruktúra) o Már a 90-es évek elején próbálkoztak ilyenekkel • A megfelelően gyors végrehajtási platform hiányzott
o Minden blokk tartalmaz • Referencia az előző blokkra – többnyire egy hash
• Időbélyeg (Timestamp) • Tranzakciókat tartalmazó adatrész (Transaction Data)
o Kiinduló „Genesis” block
Nem módosítható a blokk o Az egészet, minden példányban át kéne írni o Sok okból gyakorlatban nem kivitelezhető
Forrás: Marley Gray, Principle Architect PM – Microsoft: Introducing Project Bletchley
© BME-MIT 2017, Minden jog fenntartva
12. lap
Tranzakciós logika és konszenzus
Felhasználói kérés (kliens)
Megrendelés, szerződések végrehajtásának eredménye és annak elfogadása Előáll a konszenzus © BME-MIT 2017, Minden jog fenntartva
Minden főkönyv a azonos, frissített állapotban van 13. lap
Tranzakció és Smart Contract Tranzakció o Smart contract • Leírja a megállapodást/tennivalókat, és annak végrehajtási részleteit (feltételek, stb.) – Miben állapodtak meg a felek…
• Egyes implementációkban egy virtuális gépen hajtódik végre, amire kód is írható a szerződésben – Pl. Ethereum Virtual Machine (EVM) – A kód végrehajtásnak ára van (fizetni kell érte)
o A smart contract-okat és eredményeiket a blokkba ágyazzák, és azok bekerülnek minden node-ba • • • •
Rögzítik/ellenőrzik a szereplőket Kialakul a konszenzus (végrahajtás) A főkönyv példányok módosításra kerül Utána nem változtatható meg (inmutable) – Kriptográfiailag erős megoldások és jó implementáció © BME-MIT 2017, Minden jog fenntartva
14. lap
Hogyan alkalmazzuk? Két szélsőség, közöttük finomabb átmenet lehet… Permissionless (public) blockchain o Bárki kezdeményezhet tranzakciót o Jellemzően pszeudoním
Permissioned (private) blockchain o Csak előre megadott felek kezdeményezhetnek tranzakciót • Ez feltételez központi szereplőt…
o Bizonyos egyszerűsítések elképzelhetők következményekkel • Hogyan és miért bányásznak egy ilyen rendszerben? Van bányászat?
o Vélemény: Meglátjuk, vannak már jó alkalmazások
Forrás: https://medium.com/@YacineGhalim/
© BME-MIT 2017, Minden jog fenntartva
15. lap
Hibatűrés? Mi a hibamodellünk? o Bizánci típusú hiba tipikusan o Bizánci hiba (pl. behatolás, SW hiba)
Hány node-ra van szükségünk minimum? o Konszenzusfüggő o PBFT (ált. permissioned): 3f+1, ahol f: tolerált bizánci hibák száma o PoW (pl. Bitcoin): „51% attack” o …
Gyakorlat: o Permissionless blockchain: sok o Permissioned: Az elvárásoktól függ, n * tucat várható © BME-MIT 2017, Minden jog fenntartva
16. lap
Teljesítmény? Kérdések o Milyen gyorsan zajlik le egy tranzakció (tranzakciós késleltetés)? o Hogyan skálázódik a tranzakciók komplexitásával (pl. szerződés méret, kód komplexitás, stb.) o Hogyan skálázódik a főkönyv példányok (node-k) számával a tranzakciós késleltetés
Most jelent meg egy tanulmány: STELLA - a joint research project of the European Central Bank and the Bank of Japan, „Payment systems: liquidity saving mechanisms in a distributed ledger environment”, September 2017 o Japán-EU között, 288 ms késleltetések mellett o Hyperledger Fabric 0.6.1 o Permissioned (private) blockchain
Tanszék részt vesz a Hyperledger teljesítményvizsgálatában © BME-MIT 2017, Minden jog fenntartva
17. lap
Simple Smart Contract
Forrás: STELLA - a joint research project of the European Central Bank and the Bank of Japan, „Payment systems: liquidity saving mechanisms in a distributed ledger environment” © BME-MIT 2017, Minden jog fenntartva
18. lap
LSM Smart Contract
Forrás: STELLA - a joint research project of the European Central Bank and the Bank of Japan, „Payment systems: liquidity saving mechanisms in a distributed ledger environment” © BME-MIT 2017, Minden jog fenntartva
19. lap
Alkalmazás Hol? o Ahol szükség van a korábban felsorolt tulajdonságokra (részben vagy egészben) • 100 ms – 1s vagy nagyobb határidőkkel
Például: o o o o o
Pénz, pénzügyi szolgáltatások, biztosítás Államigazgatás, önkormányzatok Vállalatok folyamatai mint pl. pénzügy, logisztika, gyártás Chain of Things (IoT, IIoT) Cyber-Physical System (CPS) • Elosztott mérés és beavatkozás – Autonóm jármű, ipari folyamatok, energetika, stb.
• Ezt fogjuk részletesen bemutatni • Ebbe az irányba kutatunk… © BME-MIT 2017, Minden jog fenntartva
20. lap
Cyber-Physical System (CPS) Magyarul: Kiber-fizikai rendszer Egy olyan elosztott, kiterjedt informatikai és a hozzá kapcsolódó fizikai rendszer, amelyben: o Az informatikai rendszerrész a begyűjtött információk alapján a fizikai rendszer működésébe autonóm beavatkozik o Beavatkozás a probléma • Komoly kockázatok • IoT és IIoT többnyire nem vállalja fel
o System of Systems • Fog + Cloud + Hálózat
o Biztonságkritikus környezet
3C angolul: Communicate, Compute, Control © BME-MIT 2017, Minden jog fenntartva
21. lap
Egyszerű példa
Fizikai nagy piros gomb (minden álljon le azonnal) Ha megnyomták, le kell állni! Ehhez van egy biztonsági logika… DEMÓ: eszközök (rPi) Blockchain kliensek o Jövő: eszközök Blockchain node-ok/peer-ek
Blockchain alapú naplózott, letagadhatatlan kommunikáció
© BME-MIT 2017, Minden jog fenntartva
22. lap
Tipikus CPS felépítés Alsó szint o Érzékelés, beavatkozás, lokális szabályzás o Valós idejű szenzorhálózat • Határidők: 50-20 ms vagy kisebb • Szigorú óraszinkron működés • Time-Sensitive Network (TSN)
o Fog Computing…
Felhő (Cloud)
Felső szint o Üzleti folyamatok o Informatikai hálózat • Határidők: kb. 1s vagy nagyobb
Köd (Fog)
o Adatfeldolgozás és döntés o Cloud computing…
Sok szereplő o Erőforrás megosztás o Virtualizáció • Szenzor, hálózat, platform, stb. © BME-MIT 2017, Minden jog fenntartva
23. lap
Összetett rendszer Alacsony szinten o Blockchain nem szükséges o Nem is jó (késleltetés, erőforrás igény) o DDS (Data Distribution System)
DDS
• OMG szabvány publish-subscribe megoldás • D2D kommunikáció is (MQTT D2C!) • DDS illeszthető a modern valós-idejű rendszerekbe, pl. TSN Ethernet
Magas szinten o Kritikus üzenetek Blockchain-be, pl. • Kritikus adatok és események • Konfigurációmenedzsment
o Módosíthatatlan, konszenzus alapú, biztonságos és hibatűrő kommunikációs csatorna és napló
DDS
DDS-Blockchain gateway © BME-MIT 2017, Minden jog fenntartva
24. lap
Gyakorlati alkalmazás Szervertermek Sok ellenérdekelt szereplő
Hűtés
o Szereplő specifikus rendszerek
Számos probléma merülhet fel Blockchain:
Épület üzemeltetés
Host gépek
Power
Guest gépek
Uplinkek (Internet)
o Integrálási platform o Üzenetküldő szolgáltatás o Napló
LAN
© BME-MIT 2017, Minden jog fenntartva
Szolgáltatások
25. lap
Vízió
Forrás: András Pataricza, Tamás Kovácsházy, Imre Kocsis, András Vörös, „ Blockchain: A Silver Bullet for Cyber-Physical Systems?”
© BME-MIT 2017, Minden jog fenntartva
26. lap
Blockchain használati esetek CPS-ben Automatikus rendszer/szolgáltatás felderítés o Permissionless blockchain
Biztonság és hibatűrés o A blockchain-től nem lesz titkos, sőt… o Nem letagadható, nem változtatható meg o Tudjuk, hogy kialakul-e a konszenzus
Megbízható üzenetküldés o Alapesetben „broadcast”, szoftver busz jellegű
Konfiguráció menedzsment o Tranzakciós jelleggel, szerződés szerint o Konfigurációs logika megadható a szerződésben o Dinamikusan konfigurálható valós idejű rendszerek (TSN)
Működtető szoftver (firmware) image elosztás o Verzió felderítés, új verzió jelzés o Firmware image azonosítás © BME-MIT 2017, Minden jog fenntartva
27. lap
Összefoglalás A blockchain egy perspektivikus megoldás o Sok alkalmazási terület o CPS, IoT és IIoT környezetben egy kevert megoldást javasolunk • Alacsony szinten DDS, Magas szinten kritikus információknak blockchain
Ethereum és Hyperledger éles alkalmazásokban használható implementációk A MIT tanszék és a blockchain, eredmények: o Dr. Pataricza András kezdte, vezeti, IBM Faculty Award a munkáért, 2016 o Gönczy László: Linux Foundation mentor, cím „On-chain Business Process Management” o Linux Foundation Internship: Klenik Attila (doktorandusz) o Kocsis Imre: Hyperledger Performance and Scalability Working Group (PSWG) tagja o Linux Foundation Hyperledger Fabric: performance characterization and modelling o Tárgy: Blockchain technológiák és alkalmazások (tavaszi félév) o Publikációk o IBM Cloud Academy Conference 2017 részvétel o Blockchain technológia demonstrátorok © BME-MIT 2017, Minden jog fenntartva
28. lap