Blockchain Q&A#2 – Jaką technologią jest blockchain?

[Kto pyta nie błądzi]

Wiele popularnych tekstów o blockchain traktuje go jak technologię (zamiennie, system), w domyśle, gotowy do wdrożenia, o pewnych stałych cechach. Konsekwentnie, wielu zainteresowanych tematem jest przekonanych, że za takiego blockchaina, za jego utrzymanie i rozwój odpowiada jakaś jedna organizacja, ewentualnie firma. Czy tak jest naprawdę?

[Czym w sumie jest blockchain]

W sumie, aby odpowiedzieć na powyżej sformułowane pytanie należałoby zacząć od tego co jest istotą pierwszego blockchain, zaimplementowanego w ramach Bitcoin. W końcu, od tego się zaczęło.

W tym miejscu sprawa jest prosta. Istotą pierwszego blockchain jest oczywiście decentralizacja rejestru danych oraz dekoncentracja władzy nad siecią wymiany informacji. Temu właśnie służy koncepcja rozproszonego rejestru transakcji (Distributed Ledger), dzięki której rejestr ten jest dość odporny na zniszczenie i zmianę danych w nim zawartych (o tym jak to jest osiągane – w innym wpisie). Dodatkowo, to rozproszenie niesie za sobą określone konsekwencje w zakresie zarządzania siecią i jej nadzorowania.

Zmiana w zakresie zarządzania / funkcjonowania wyraża się to w likwidacji instytucji centralnej sieci w dotychczasowym rozumieniu. W świecie przed blockchain przyjęło się, że tzw. instytucje takiego czy innego zaufania, zazwyczaj za wynagrodzeniem, zajmują się utrzymywaniem scentralizowanego rejestru transakcji i mają monopol na mówienie „swojej” sieci co jest prawdą (czyli co ma być w rejestrze danych zapisane) oraz monopol na wprowadzanie tych zmian. Przy okazji dbają o bezpieczeństwo takiej sieci oraz dokonują autentykacji i autoryzacji stron transakcji.

Przy czym, Twórcom pierwszego blockchain nie zależało na likwidacji tych „prerogatyw” centralnej instytucji (serwera). Zależało im raczej na ich odpodmiotowieniu, tj. przeniesieniu na barki zdecentralizowanego i „random’owego” mechanizmu kryptograficznego oraz na ułożeniu na nowo podziału ról pomiędzy użytkownikami sieci. Oczywiście, przy okazji wykształciły się nowe ośrodki władzy w, tym razem, zdecentralizowanej sieci – górnicy i deweloperzy. Ale to także materiał na oddzielną opowieść.

W ten sposób powstało coś co obecnie nazywamy instynktownie blockchain’em. Niemniej, wracając do tytułowego pytania – nie ma, jak się okazuje, czegoś takiego jak jeden system / technologia blockchain. Wynika to z samej istoty tego arcyciekawego konstruktu, który jest zbiorem znanych pomysłów, mechanizmów i schematów po raz pierwszy w tak ciekawy sposób łącznie zastosowanych przez osobę lub osoby ukrywające się pod pseudonimem Satoshi Nakamoto. Blockchaina w wydaniu domniemanego Japończyka można sobie zatem wyobrazić jako ideę wyjściową, na którą składają się trzy warstwy (czyli blockchain jest jak Shrek, który z kolei był jak cebula ale wołał być jak tort):

1.     {Warstwa postulatywna vel architektoniczna} – cele, parametry i cechy podstawowe danego pomysłu na sieć opartą blockchain (tutaj do wyboru: stopień decentralizacji, rozproszony rejestr, komunikacja peer-to-peer, zastosowana kryptografia, zasady konsensusu, stopień odejścia od idei centralnego serwera),

2.     {Warstwa technologiczna} – Konkretna implementacja obejmująca wybrany zestaw celów i cech danego blockchaina zamkniętych w konkretnej technologii możliwej do implementacji w warunkach produkcyjnych ,

3.     {Warstwa wdrożeniowa} – Praktyczna, wdrożona i uruchomiona instancja danej implementacji blockchaina.

[Diabeł tkwi w szczegółach]

W tym miejscu należałoby nałożyć powyższy obraz teoretyczny na krajobraz blockchainowy jaki mamy na realnym rynku.

I tak, w Warstwie postulatywnej jest tak naprawdę zestaw cech i celów, które dany blockchain może w różnym stopniu adresować. Są to przede wszystkim wspomniane i wieczne:

  • Decentralizacja,
  • Działanie w sieci peer-to-peer,
  • Zdecentralizowany rejestr
  • Odporność na utratę i zmianę danych w rejestrze czyli zastosowana kryptografia.

Wybór wszystkich lub niektórych z powyższych (albo w ograniczonym zakresie) powoduje, że na etapach implementacji czy instancji, będziemy mieli do czynienia tak naprawdę z bardzo różnymi postaciami blockchain. A zatem, w Warstwie postulatywnej tak naprawdę dokonujemy wyborów analitycznych co do architektury przyszłego blockchain.

Mając za sobą fazę kluczowych decyzji, można płynnie przejść do fazy implementacji blockchaina (Warstwa technologiczna). Tutaj z kolei czeka nas świadomy wybór już czysto, jak sama nazwa wskazuje, technologiczny. W zależności bowiem od tego co wybierzemy sobie z Warstwy postulatywnej, ukierunkowuje nas to na wybór blokchain np. w wydaniu podobnym do BitcoinEthereum (różnice między tymi dwoma są momentami fundamentalne) czy też implementacji blockchaina prywatnego (permissioned), pozbawionego takiej cechy jak decentralizacja funkcji centralnej (brzmi jak masło maślane ale jednak).

W tym momencie (i trochę na marginesie) warto powiedzieć pokrótce czym się różni blockchchain publiczny (np. Bitcoin) od implementacji blockchaina prywatnego (permissioned).

Otóż, wracając do możliwych architektur sieci, mogą być one klasyfikowane ze względu na zadania centralnego węzła. I tak:

  • Sieci scentralizowane zawierają ściśle określone centrum, które odpowiada zarówno za przechowywanie danych, jak i wprowadzenie modyfikacji do bazy danych (większość obecnie znanych sieci),
  • Sieci o charakterze hybrydowym, w których przechowywanie danych jest zdecentralizowane (w trybie do odczytu kopie bazy danych synchronizują wszystkie węzły w sieci ale prawa modyfikacji ma tylko centralny węzeł). Tutaj przykładem mogą być niektóre sieci blockchain typu permissioned,
  • Wreszcie, sieci, w których dokonano decentralizacji pełnej, zarówno funkcji utrzymywania bazy danych, jak i jej modyfikacji (Bitcoin).

W sposób oczywisty, sieć nr 3 jest najmniej podatna na włamanie zewnętrzne czy nadużycia wewnętrzne. Jednocześnie jednak, stworzenie w niej mechanizmu programistycznego (kryptograficznego), który napędza i zarządza procesem zdecentralizowanego dodawania transakcji do rejestru (konsensus, w przypadku Bitcoin, jest to proof of work) jest właśnie emanacją funkcji centralnego węzła w sieci. Idąc dalej, mechanizm ten ma swoją wymierną cenę w postaci koniecznej do zaangażowania mocy obliczeniowej i, co za tym idzie, energii, potrzebnej do działania danej sieci. Dlatego mówi się, że blockchain w wydaniu publicznym bywa bardzo nieekologiczny i… relatywnie wolny. Jest to jednak cena za decentralizację systemu, decentralizację i podział władzy w niej oraz wysoki poziom bezpieczeństwa i pewności. Coś za coś… Choć oczywiście są inne mechanizmy (proof of stake) oraz eksperymenty, który klasyczne zdecentralizowane implementacje blockchain uczynią wydajnymi na poziomie systemów scentralizowanych bez utraty wcześniej wymienionych jego przymiotów. W tym obszarze blockchain jest w efekcie obszarem rozwojowym i na efekty tego rozwoju należy z dużymi nadziejami nadziejami oczekiwać. Połączenie zalet sieci rozproszonych i scentralizowanych – to byłaby prawdziwa rewolucja.

Przechodząc z wreszcie do Warstwy wdrożeniowej warto powiedzieć, że dana implementacja blockchain może posiadać wiele praktycznie wdrożonych instancji. I tak, np. Ethereum ma kilka instancji, które różni np. to, że niektóre z nich mają funkcje testowe, inne produkcyjne (instancje są ważne z perspektywy smart contracts) . Wreszcie, właściwie każdy chętny ma możliwość w danej implementacji blokchaina stworzyć swoje prywatne instancje (sieci) blockchain. Choćby dla celów edukacyjnych. Albo po to, aby stworzyć własną kryptowalutę/tokeny, które, być może, podbiją świat.

Od strony bardziej technicznej, każdą z instancji implementacji blockchain’a wyróżnia zestaw unikalnych cech. Są nimi przede wszystkim identyfikator danej sieci (instancji) oraz tzw. genesis block (blok początkowy).To także zagadnienia warte oddzielnego omówienia.

[Finis coronat opus]

Czas na końcowe podsumowanie. A zatem, czy i jaką technologią jest blockchain? Moim zdaniem blockchain w najbardziej ogólnym sensie, to pewna pojemna idea, która mieści w sobie kwestię decentralizacji sieci i rozproszonego rejestru danych, które to decentralizacje są możliwe dzięki, m. in. kryptografii.

Blokchain staje się technologią kiedy zaczynamy mówić o nim mniej ogólnie i pojawiają się takie słowa jak blockchain publiczny, prywatny czy też nazwy takie jak Ethereum.

Z wdrożoną zaś technologią mamy do czynienia na poziomie instancji, czyli praktycznej implementacji dokonanej do określonych celów.