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. PatariczaAndrá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
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ó 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! 3. lap
Blockchain: Bitcoinkezdetek 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 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 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 Bitcoinkb. 1-1.1 millió forint manapság (gyorsan változik) o Összesen 21 millió Bitcoin bocsátható ki Ki kell őket bányászni 2017 augusztusában két ágra szakadt o BTC: Bitcoin Classic o BCH: Bitcoin Cash o Kibírta ezt is Bitcoin tranzakciók havonta Bitcoin-HUF árfolyam 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 hashtö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) 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) 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 Sokkal szélesebb körben alkalmazható o Mélyreható technológiai újdonság o Gyorsan növekvő, fejlődő szektor o Distributed Ledger Technology(DLT) név is előfordul (általánosabb) 8. lap
Blockchainszereplők? Kriptopénz és/vagy blockchain specialisták o Bitcoin(első szereplő) o Ethereum o Linux Foundation: Hyperledger o DASH, Monero, Ripple, Litecoin o 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 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 Ethereumalkalmazá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 Elosztott (Distributed) o Központ szereplő nélküli (Decentralized) o Konszenzust garantál (Decentralized Consesus) o Tervezési szinten biztonságos (Secure by Design) o Hibatűrő (Fault Tolerant) o Tranzakció alapú (Transaction-based) o 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) 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 topeer(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ó 11. lap
Miből áll? Blockchain= Chainof 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 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 Minden főkönyv a azonos, frissített állapotban van 13. lap
Tranzakció és SmartContract 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 smartcontract-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ó 14. lap
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 Hogyan alkalmazzuk? Forrás: https://medium.com/@yacineghalim/ 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-ravan 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ó 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 17. lap
SimpleSmartContract 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 18. lap
LSM SmartContract 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 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 Pénz, pénzügyi szolgáltatások, biztosítás o Államigazgatás, önkormányzatok o Vállalatok folyamatai mint pl. pénzügy, logisztika, gyártás o Chainof Things(IoT, IIoT) o 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 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 IIoTtöbbnyire nem vállalja fel o System of Systems Fog + Cloud+ Hálózat o Biztonságkritikus környezet 3C angolul: Communicate, Compute, Control 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ó 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 Felső szint o Üzleti folyamatok o Informatikai hálózat Határidők: kb. 1s vagy nagyobb 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. Felhő (Cloud) Köd (Fog) 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 DistributionSystem) 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-Blockchain gateway DDS DDS 24. lap
Gyakorlati alkalmazás Szervertermek Sok ellenérdekelt szereplő o Szereplő specifikus rendszerek Számos probléma merülhet fel Blockchain: o Integrálási platform o Üzenetküldő szolgáltatás o Napló Power Uplinkek (Internet) Hűtés LAN Épület üzemeltetés Szolgáltatások Host gépek Guest gépek 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? 26. lap
Blockchainhaszná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 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 HyperledgerFabric: 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 28. lap