Már egy jó ideje téma az atomic-swap és az azt lehetővé tevő HTLC technológia, ugyhogy itt az ideje, hogy alaposabban is megértsem mi is ennek pontosan a technológiája. A téma apropóját leginkább az adja, hogy az eddig lényegében csak ‘whitepaper’ szinten működő történet hírtelen konkrét termékekben manifesztálódott. Ahogy arról a héten írtam a Litecoin csapatának atomic-swap implementációja már ‘release-candidate’ állapotba került és tegnap a Z.Cash csapata is bejelentette, hogy szintén tesztelhető állapotba került a saját XCAT néven futó atomic-swap megoldásuk, ami első körben természetesen a BTC-ZEC párok közötti instant cserét valósítja meg. Az XCAT az Cross-Chain Atomic Transactions rövidítése, ami úgy egyébként valójában nem a Z.Cash saját találmánya, az XCAT egy teljesen független történet amit még egy bitcoin fan TierNolan talált ki, a Z.Cash most csak implementálta ezt a ZEC-BTC páron.
Az egésznek az alapján a BIP199-es bitcoin fejlesztési beterjesztés adja, ami a keresztségben a “Hashed Timelocked Contracts” nevet kapta. Kezdjük a szokásos kriptográfiai példánál van ugye két ismeret felünk: Alice és Bob… Na nem, ezen a blogon nem lesz Alice és Bob. 20 éve foglalkozom kriptográfiával és PKI-val, a könyökömön is már Alice és Bob jön ki. Nevezzük inkább őket el: SobriJózskának és KobziRozinak, csak hogy egyik nem se érezze magát kirekesztve… Persze az öcsém valószínűleg ezen a ponton verné a röhögéstől a térdeit, hiszen a mi “Kobzink” ugyebár nem Rozi volt… De egyrészt az öcsém valószínűleg sosem fogja olvasni ezt a blogot, másrészt mivel ebben a pillanatban egyedül maradtam a poén kapcsán, így talán tovább is lépnék a kifejtésre:
- Szóval adott SobriJózska és KobziRozi, akik nem ismerik egymást (óóó dehogy nem, állandóan együtt fetrengtek a kocsmában…), szóval nem ismerik egymást de felböffen bennük, hogy szeretnének egymás között kicserélni BTC-t és ZEC-et. Meg is beszélik egymással az egyébkénti szimpatikus árat, majd eljön a pillanat, amikor el kéne utalniuk egymásnak a kriptovalutákat. Na de ki kezdje? Mi a garancia arra, hogy egy trustless környezetben valóban a másik fél is végrehajtja az utalást?
- Ebben segítenek a HTLC kontraktusok, melyeknek a lényege, hogy az első küldő fél végrehajt egy utalás, amira rárak egy időzárat továbbá annak a tartalmát egy hash-sel elkódolja (K, key). Amikor a kontraktus végrehajtódik és bekerül a blockláncba, akkor a másik fél elutalhatja az ellenértéket (egy hasonló HTLC-n keresztül). Az utalással SobriJózska arra kényszerű, hogy felfedje a K kulcsot KobziRozi felé. Amit KobziRozi ezt felhasználja, automatikusan teljesül a HTLC és SobriJózska is hozzáfér a neki küldött vagyonkához.
- Ha bármelyik fél csalni próbál, pl. rossz K kulcsot küld SobriJózska, akkor a kontraktuksok nem tudjak végrehajtódni, így senki nem fér hozzá egyik utaláshoz sem.
- Ugyanez történik, ha SobriJózska időközben elveszti a K kulcsot és emiatt nem tudja azt átadni.
- Ha bármilyen okból kifolyólag nem tud teljesülni a kontraktus, akkor sincs semmi krízis, hiszen a beállított timeout után a kontraktus megszűnik és a küldő félek visszakapják az input (utalt összeg) felett a kontrollt a szerződés pedig meghiúsul. Tehát senkit nem ér anyagi kár.
Ennyi az egész, csak némi kriptográfia és Alice meg Bob… akarom mondani SobriJózska és KobziRoti kell hozzá.
Amit fentebb leírtam, az ugye a HTLC lényege, ami úgy egyébként a Lightning Network egyik fontos alappillére is egyben.
De hogy jön ide az atomic-swap? Az Atomic-swap lényegében egy platform, ami a HTLC-t különböző blockláncok között valósítja meg. Tehát SobriJózska egy olyan kontraktust tud létrehozni, aminek a másik oldalán KobziRozi egy totálisan más blockláncon hajtja végre az ellenszolgáltatást. A két fél biztonságát a K kulcs és az időzár biztosítja multi-blockchain tranzakció esetén is. Az ilyen ügyleteknek a platformja az atomic swap.
Tegnap amikor bejelentette a Z.Cash marketing gépezete az XCAT prezentációt és kiraktam twitterre az ezzel kapcsolatos infót, akkor még magam sem gondoltam, hogy ez fog csinálni a BTC-ZEC páron egy potom 14%-os rallit, de tegnap kora délután óta lehet már érezni, hogy erre a témára nagyon ráharaptak a ZEC fanokzecz és komolyabb mennyiségű pénz kezdett el áramlani az éppen csak a víz felett evickélő Z.Cash-be.
Hogy miért annyira nagy story a ZEC-BTC közötti atomic-swap? Azért mert ezzel lehetősége nyílik arra bármelyik Bitcoin tulajdonosnak (aki számára fontos a privacy és a pszeudonimitásának megtartása), hogy úgy váltson át BTC-t ZEC-re, majd később akár vissza, hogy személye az egész ügylet során rejtve marad, sőt a blockchainekben sem marad annak semmilyen nyoma, hogy pontosan melyik ügyletnek mi a párja. A ZEC (ZCash) hálózat privacy és untraceble funkcionalitása mellett azonban kétségtelenül fontos tény, hogy az atomic-swappen keresztül akár jelentősen csökkenteni lehet a tranzakciós költségeket is.
A rendelkezésre álló információk alapján (kiegészítve saját prof-judgementemmel…) azt gondolom, hogy a következő egy év a crypto világban az atomic-swapekről fog szólni. Ezzel kiszedve a crypto tőzsdék zsebéből azt a mérhetetlen mennyiségű tranzakciós díjat, amit ma zsebre tesznek.
[commercial_break]
Vajon a Dash rally minek köszönhető? Olvastam, h vmi egyetemmel kutatás szerződést kötöttek, csupán ennyi lenne? Dash esetében lehet beszélni a swap implementálásról, vagy ott nincs szó ilyesmiről?
Zseniális cucc, amikor megláttam ezt én is azonnal retweeteltem.
(…nem mintha amúgy bármi hasznosat szoktam volna tweetelni. :D)
A Zcash videót is elkezdtem nézni, de közben beütött a $crypto #FOMO és nem jutottam a végéig.
Remélem, hogy végre egy jobb rendszer felé haladunk. 🙂
Még egy kérdés, ha belefér: melyik site/ok-at érdemes követni, ahol a legfrissebb hírek fent vannak a fejlesztéseket, piac befolyásoló tényezőket illetően?