Jeden by wszystkimi rządzić

pierścień by wszystkimi rządzić
Tak to ten pierścień 😉 BY https://www.flickr.com/photos/cosmic_bandita/2218419160/

Będzie o integracji wielu blockchainów w jedną sieć.
Temat z newslettera , dzięki A. za link do publikacji 🙂

Problem: Aktualnie mamy 2320 kryptowaluty (według informacji z CoinMarketCap), niektóre z nich to tokeny, więc samych blockchainów jest pewnie mniej, ale i tak to bardzo duża liczba.
W większości przypadków są to osobne sieci, które  ze sobą nie rozmawiają.
Jest kilka sposobów na to, żeby te sieci połączyć, poniżej opiszę trzy.

1 Zaufana trzecia strona. Po polsku: notariusz.

Czyli organizacja zajmująca się przekazywaniem informacji i środków między blockchainami.
Taką organizacją jest np. giełda wymieniająca kryptowaluty.
Giełda działa tak, że wpina się w różne blockchainy jako dysponujący środkami użytkownik.
Jej odpowiedzialnością jest pilnowanie spójności i poprawności przeprowadzanych między          blockchainami operacji.

Najprostszą operacją jest zamiana jednej kryptowaluty na inną. 
Taka zaufana trzecia strona może się też zajmować  synchronizacją zapisanych w kontrakcie informacji albo wywoływaniem kontraktów, których części znajdują się na różnych blockchainach.
Oczywistym problemem są centralizacja i zaufanie do trzeciej strony, co dobrze pokazał przypadek Mt.Gox.
Centralizację da się ograniczyć przez korzystanie z multi-signature (podpisu wymagającego wielu sygnatariuszy). Dla przykładu,  potrzebnych jest 100 sygnatariuszy. Gdy 70 z nich podpisze transakcję, przelewamy coiny. Nadal nie jest to poziom zapewniany przez blockchain.

2 Side-chain.

Jeśli zagłębimy się dalej w decentralizację, spotkamy  blockchain zajmujący się przekazywaniem informacji między sieciami.
Taki side-chain musi umieć się komunikować z pozostałymi sieciami i wysyłać transakcje bezpośrednio do nich.
Pomysł brzmi fajnie — używamy blockchainu do rozwiązania problemu, ale jednocześnie tworzymy nową sieć. Trzeba będzie ją utrzymać i zachęcić ludzi do stawiania node’ów. Należyteż ogarnąć zmiany, które zachodzą w integrowanych blockchainach, i odpowiednio zmieniać oraz aktualizować node’y naszego chaina.
Krótko mówiąc, zamiast z dwóch sieci zrobić jedną, możemy przez przypadek z dwóch sieci zrobić trzy.

3 Hash-time locked contracts (HTLC).

Jak dla mnie najciekawszy pomysł. Jak to działa?

Weźmy przykład:
Mamy dwieosoby, Alicję i Boba.
Najpierw Alicja zakłada smart contract, który automatycznie przeleje środki na konto Boba, jeżeli dostanie odpowiedni sekret. Jeśli contract  nie dostanie sekretu w stosownymczasie, to zablokowane środki wrócą na konto Alicji.
Bob tworzy taki sam contractna innym chainie.
Jego contract przeleje pieniądze automatycznie na konto Alicji, jeżeli dostanie ten sam sekret, albo zwróci kasę na konto Boba, jeśli sekretu nie dostanie po ustalonym czasie.

Teraz problem: sekret zna tylko Alicja. Jedynie ona może odpalić contrakty, które przeleją coiny od Boba do Alicji na jednym blockchainie i od Alicji do Boba na drugim.
Rozwiązanie tego problemu wynika z tego, w jaki sposób zbudowany jest blockchain. Dotyczące contraktów informacje są zwykle jawne, więc jeżeli Alicja poda sekret, żeby przelać coiny na swój portfel, Bob może go odczytać i użyć go do przelania coinów z konta Alicji na własne.
Nie potrzeba zaufanych trzecich stron, side-chainów, jedynie algorytm + interfejs białkowy 🙂

Podsumowanie

Łączenie sieci to dobry pomysł, ale przy okazji takiego łączenia powstają nowe aplikacje, a czasami nowe sieci. Przypomniał mi się taki komiks z xkcd o łączeniu standardów:

A ty jak myślisz, wyjdzie coś z tej integracji? Czy powstaną 3000 blockchainów, bo dojdą jeszcze te, które integrują już istniejące? Możesz napisać na: adam a cryptodev.pl

Chcesz nauczyć się podstaw blockchaina?
Pobierz e-book.

Link do serii publikacji z Arkansas: link