...by Daniel Szego
quote
"On a long enough timeline we will all become Satoshi Nakamoto.."
Daniel Szego

Monday, March 27, 2023

Blockchain rendszerek együttműködése

 Az elmúlt évek során nagyszámú különböző blockchain platform jött létre, melyek helyenként egymással is versenyeznek a különféle decentralizált alkalmazások megvalósításában. Hosszú távon ezen platformok egy része elképzelhető, hogy nem éri meg a megfelelő piaci elfogadottságot, így eltűnik, de pillanatnyilag fennáll az a jelentős probléma, hogy számos decentralizált alkalmazás külön blockchain platformon fut. Szükség esetén ezen alkalmazások valamilyen szintű integrálása jelentős kihívás elé állíthatja az alkalmazás fejlesztőket. Éppen ezért kritikus elméleti és gyakorlati problématerület a különféle blockchain platformok együttműködésének biztosítása. Jelen cikkben ennek részleteiben mélyedünk el. 

A legegyszerűbb esetben nem is feltétlenül kell két különálló blockchain platform együttműködéséről beszélni, pusztán arról, hogy valamiféle külső adatot szeretnénk importálni a blockchainen futó decentralizált alkalmazásunkba. Erre szolgálnak az úgynevezett decentralizált orákulum szolgáltatások.

Az orákulum egy külső adatforrás adatait olvassa ki és írja be a blockchainbe. Mivel decentralizált rendszerekben nem nagyon szeretjük a centralizált komponenseket, ezért általában az orákulum is decentralizált: több egymástól független különálló komponens olvassa be az adatot és egymás között konszenzusra jutnak azzal kapcsolatban, hogy mi a helyes adat, mielőtt ez beírásra kerül a blockchainbe. Ez a konszenzus általában valamilyen közgazdaságtani mechanizmussal is meg van támogatva: jellemzően plusz értéket kap, aki a helyes értéket adja. Ilyen orákulum platform például a Provable, vagy a Chainlink platform. 

A különféle orákulumok lehetőséget biztosítanak két blockchain platform összekapcsolására is. Az egyik blockchain eseményeit beimportáljuk a másik blockchainbe és vica versa. Fontos megjegyezni, hogy ez a konstrukció pusztán információ megosztásra alkalmazható, tehát például, ha hőmérsékleti adatokat akarunk beolvasni és megosztani a különböző blockchain platformok között. Nem alkalmazható viszont a két rendszer tranzakciós összekapcsolására, tehát például, ha garantálni kell, hogy egy token vagy az egyik vagy a másik chainen legyen megtalálható. 

A blockchainek közötti tranzakciós integrációnak technikailag két különböző módja létezik. Az első elméleti lehetőség az úgynevezett atomic cross-chain swap. Ebben az esetben garantáljuk, hogy két különböző tranzakció közül - mely két különböző blockchainen kerül végrehajtásra - vagy mindkét tranzakció végrehajtódik, vagy egyik sem. Klasszikus példa, hogy ha ether-t akarunk cserélni bitcoinra, akkor az ether transfer az Ethereum hálózaton hajtódik végre, míg a bitcoin transfer a Bitcoin hálózaton. A két transzfer közül vagy mindkettőnek végre kell hajtódnia, vagy egyiknek sem.   

A másik konstrukció az úgynevezett cross-chain token. Ebben az esetben az egyik blockchain egy tokenjét akarjuk egy másik blockchainen használni. Például bitcoin-t szeretnénk az Ethereum hálózaton használni különböző DeFi protokollokban. Egy cross-chain token előálltása tipikusan úgy működik, hogy az egyik chain-en a token-t zároljuk majd a másikon egy neki megfelelő, például úgynevezett wrapped tokent bocsátunk ki. A visszaváltás hasonló: a kibocsátott wrapped tokent elégetjük és az eredeti chain-en lévő token zárolását feloldjuk. Ezzel a sémával működik például a wBTC, az úgynevezett wrapped Bitcoin, ami az Ethereum hálózaton lévő egy Bitcoin reprezentáció. 

Szolgáltatás és végfelhasználói oldalról általában többféle blockchainek közötti együttműködési platformot találhatunk a piacon. Az úgynevezett cross-chain hidak (cross-chain bridges) általában két blockchain platformot kötnek össze különböző megoldásokkal. A legtipikusabb use-case az egyik platform tokenjeinek a másikra cross-chain tokenként való “átmigrálása”. 

Koncepcionálisan más irányt képviselnek az úgynevezett általános blockchain együttműködést megvalósító platformok. Ezek célja, hogy számos különböző blockchaint kössenek össze több különböző integrációs módon. Az ilyen blockchaieneket összekapcsoló blockchainek gyakran saját maguk is az elosztott főkönyvi technológián alapulnak, gyakran hívjuk őket meta-blockchain-nek, vagy L0-s rétegnek. Ilyen platformok például a Cosmos, a Polkadot, vagy a Hyperledger Cactus.   

Mivel az egész terület roppant innovatív módon fejlődik, így nehéz becslésekbe bocsátkozni az iparág jövőjét illetően. Az azonban biztosan elondható, hogy a különféle blockchainek közötti együttműködési technológiákra továbbra is erősen szükség lesz.