Blockchain chwilowa moda czy przyszłość, czyli dlaczego blockchainem interesuje się JP Morgan

Koncepcja łańcucha bloków jako typu księgi rozrachunkowej została po raz pierwszy przedstawiona przez anonimowego twórcę Bitcoina Satoshi Nakamoto w 2008 roku w swoim manifeście. Blockchain jako technologia miał swoje narodziny podczas startu sieci Bitcoin w styczniu 2009 roku i od tego czasu przeszedł już dwie duże ewolucje. Wraz z implementacją inteligentnych kontraktów reprezentowanych w formie kodu, które na równi z transakcjami są składowane w łańcuchu powstał blockchain 2.0. Wprowadzenie przez Microsoft do ekosystemu tzw. Crypletu, który ma być zaufanym węzłem pomiędzy blockchainem a światem zewnętrznym spowodowało rozwój blockchain 3.0.

 

Jeszcze kilka lat temu ten temat był traktowany przez duże firmy pobieżnie i nikt z tzw. „dużych graczy” nie brał pod uwagę scenariusza, że technologia łańcucha bloków będzie kiedyś przyszłością. Od pewnego czasu to się zmieniło, a lista firm inwestujących i rozwijających blockchain coraz bardziej się wydłuża. Od instytucji finansowych przez firmy z branży IT po szpitale, administracje państwowe. Czy to już oznacza, że jesteśmy niejako skazani na blockchain?

 

Według niektórych definicji blockchain to nic innego jak rozproszona baza danych. To określenie jest jednak bardzo mocno upraszcza temat i nie powinno być stosowane, gdyż poza rozproszeniem danych ta technologia oferuje coś więcej. Jak ma się ona do centralnych baz danych, formy do której jesteśmy przyzwyczajeni i która weszła do użytku dziennego? Dlaczego w tym momencie każdy od Microsoft i IBM, po banki jak JP Morgan inwestuje w blockchain? W tym artykule postaram się przedstawić obiektywne porównanie obu technologii i odpowiedzieć na zadanie wcześniej pytania.

BEZPOŚREDNIOŚĆ

Jedną z głównych wartości dodanych blockchaina jest właśnie dezintermediacja czyli przekazywanie danych bez udziału osób trzecich ( w przypadku tradycyjnych baz danych centralnego administratora ), poza granicami zaufania. Jest to możliwe, ponieważ transakcje na łańcuchu bloków posiadają własny dowód ważności i potwierdzenie autoryzacji. Transakcje mogą zostać wykonywanie i weryfikowane niezależnie przez wiele węzłów sieci, a blockchain będzie działał jako mechanizm konsensusu i zapewniał synchronizację wszystkich węzłów w sieci.

 

Ktoś mógłby zapytać, dlaczego jest to ważne? Niestety w klasycznej bazie danych informacje są przechowywane na centralnym serwerze i każdy ze znaczącym dostępem do tego systemu może ukraść, bądź zniszczyć dane w nim zawarte. W związku z tym, korzystając z takich baz danych zawsze jesteśmy zależny od człowieka, który zarządza daną bazą danych. W takim przypadku musimy zaufać również wszystkim organizacjom, które przechowują informacje na nasz temat, jak banki, rządy czy giganty z branży IT jak Facebook czy Google, że nie wykorzystają ich w swoim celu. Jest to znaczne ograniczenie prywatności i pogwałcenie zaufania.

 

Nawet jeśli nie jest to dla nas ważne i ufamy tym organizacjom bezgranicznie należy spojrzeć na ten temat pod innym kątem. Każda ważna i duża tradycyjna baza danych potrzebuje znaczne zasoby ludzkie i stałe zaplecze techniczne, by zapewnić bezpieczeństwo przechowywanych informacji. Zabezpieczenia muszą zostać odpowiednio zaprojektowane, co zajmuje odpowiednio dużo czasu, ale też i pieniędzy.

 

Z tego powodu też wiele osób uzasadnia, że łańcuch bloków jest tańszy w utrzymaniu, ponieważ wszystkim zajmuje się kryptografia krzywych eliptycznych. Napisanie jednego kodu w takim przypadku byłoby czasochłonne, ale później infrastruktura działa już sama. Zastąpienie bezpośredniego czynnika ludzkiego skryptem, byłoby w tym przypadku zdecydowanie bardziej ekonomiczne i bezpieczne.

JAWNOŚĆ

W blockchainie każdy węzeł niezależnie weryfikuje i ma możliwość przeprowadzania transakcji. Jest to możliwe, ponieważ posiadają one wgląd w obecny stan łańcucha bloków i modyfikacje wykonywane przez transakcje. Z tego powodu obecne typowy blockchain cechuje się pełną jawnością przesyłanych danych i transakcji, a dla wielu zastosowań, pełna transparentność w każdym węźle może nie być pożądana i jest węzłem gordyjskim dla pełnego zastosowania tej technologii.

 

W przypadku klasycznej bazy danych, wszystko jest przechowywane w jednej centralnej lokalizacji. W związku z tym cała zawartość danych jest możliwa do ujawnienia tylko na tym serwerze, a nie jak w przypadku blockchaina w wielu węzłach. Żądania do odczytu konkretnych danych również muszą przejść przez centralny serwer, który może je zaakceptować bądź odrzucić w zależności od ograniczeń nałożonych na żądającego.

 

Problem jawności blockchaina w zastosowaniach komercyjnych jest natomiast tylko chwilowym. Wraz z jego rozwojem powstają nowe koncepcje kryptograficzne, a „zero-knowleadge proof” ( dowód z zerową wiedzą ), który pozwoli na udowadnianie każdej ze stron o dysponowaniu informacją bez jej ujawniania, jest w trakcie rozwoju. Nie można jednak uciec od stwierdzenia, że wraz z ilością danych potrzebnych do ukrycia w łańcuchu bloków coraz bardziej zaawansowane metody muszą być stosowane do generowania i weryfikacji transakcji. Trzeba więc przyznać, że niezależnie od tego jak bardzo techniki się rozwiną, zwyczajne ukrycie informacji w klasycznej bazie danych jest zwyczajnie prostsze.

ODPORNOŚĆ

Pod tym kątem nie ma wątpliwości, że blockchain zostawia centralną bazę danych daleko w tyle. Duża tolerancja na błędy jest niejako wbudowana w tą technologię. Ponieważ każdy węzeł przeprowadza każdą transakcję w sieci, żaden indywidualny z nich nie jest niezbędny dla bazy danych jako całości ekosystemu. Dzięki architekturze P2P ( peer-to-peer ), która łączy wszystkie węzły ze sobą, wiele z tych połączeń może zawieść zanim jakiekolwiek problemy zaczną dotykać taką bazę danych. Ponadto synchronizacja w blockchainie pozwala węzłom, które upadły na nadrobienie danych.

 

Tak, klasyczna baza danych oferuje wiele możliwości replikacji danych, ale blockchain zmienia punkt widzenia i otwiera kompletnie nowy rozdział w tej kwestii. Nie potrzebna jest żadna konfiguracja, wystarczy połączyć ze sobą kilka węzłów sieci i będą się one wzajemnie synchronizować wymieniając informacje. Węzły mogą być dowolnie dodawane bądź usuwane z sieci bez jakichkolwiek konsekwencji i dodatkowych przygotowań. Zewnętrzni użytkownicy mogą przesyłać transakcje do dowolnego węzła, a zostaną one później przekazane innym węzłom w sieci.

 

W przypadku baz danych taka niezawodność jest osiągana przez zapewnienie bardzo drogiej infrastruktury sieci i technik odtwarzania awaryjnego ( disaster recovery ). Główna baza danych działa na zaawansowanym sprzęcie, który bezpośrednio monitoruje problemy, a cały kopia zapasowa ( backup )  jest wykonywana na innym serwerze. Jeśli główny serwer zawiedzie z jakiegokolwiek powodu, rolę jego automatycznie przejmuje serwer zapasowy. Po naprawie awarii, poprzedni serwer główny może spełniać rolę nowego serwera zapasowego. Cała procedura jest wykonalna, aczkolwiek niesamowicie droga i trudna do wykonania.

 

Załóżmy hipotetyczną sytuację. W systemie istnieje 10 węzłów blockchain powiązanych ze sobą i znajdujących się w różnych miejscach na świecie. Te węzły mogą funkcjonować na zwyczajnych komputerach, a nie skomplikowanych i drogich serwerach i przekazywać sobie informacje w architekturze P2P używając mechanizmu konsensusu dla synchronizacji. Jeśli użytkownik w momencie wykonywania transakcji był podpięty do na przykład 5 innych węzłów, to nawet w przypadku awarii nawet 4 połączeń cała sieć i tak otrzyma informację o tej transakcji. Jeśli w przypadku jednego dnia kilka węzłów upadnie, nikt nie odczuje tego podczas komunikacji sieci, ponieważ cały czas jest wystarczająco kopii danych.

OSIĄGI

Pod tym kątem niestety blockchain nie doścignie klasycznej bazy danych. Nie chodzi tutaj o fakt, że technologia jest świeża i jeszcze nieodpowiednio zoptymalizowana, a raczej o ideę funkcjonowania blockchaina samą w sobie. Pomimo wykonywania tych samych funkcji co centralna baza danych, łańcuch bloków ma jeszcze kilka zadań:

  • Weryfikacja podpisów cyfrowych

W blockchainie każda transakcja wychodząca musi być cyfrowo podpisana, na przykład przy pomocy kryptografii krzywych eliptycznych. Jest to niezbędne, ponieważ system opiera się na braku zaufania i w przypadku przesyłu transakcji w sieci P2P nie byłoby innej możliwości potwierdzenia źródła. Zarówno generacja i weryfikacja tych cyfrowych podpisów jest bardzo skomplikowana obliczeniowo. W związku z tym niezależnie od mocy komputerów, zawsze będzie to czas dodatkowy.

  • Odporność sieci

W przypadku klasycznej bazy danych transakcje są przetwarzane jednostkowo, a nie jak w przypadku łańcucha bloków niezależnie przez każdy węzeł w sieci. Cała ilość obliczeń wykonywanych przez blockchain, biorąc pod uwagę wszystkie węzły w sieci jest w związku z tym zwyczajnie większa.

  • Mechanizm konsensusu

W rozproszonej bardzie danych jaką jest blockchain niezbędny jest mechanizm konsensusu, który będzie czuwał nad synchronizacją wszystkich węzłów w sieci. W zależności od jego rodzaju, zawsze będzie on angażował wielokrotną komunikację pomiędzy węzłami, by uzyskać pełną synchronizacją po każdym bloku informacyjnym.

PODSUMOWANIE

Niektórzy uważają, że hype powstały wokół blockchaina to tylko i wyłącznie chwila moda. Nie można jednak nie zauważyć faktu, że ta technologia posiada wiele zalet i rozwiązuje wiele problemów, z którymi centralne bazy danych nie były sobie w stanie poradzić. Dlatego jest ona coraz bardziej zauważana, propagowana i wprowadzana w życie w coraz to nowych aplikacjach. System oparty na braku zaufania do nikogo i matematyce będzie zawsze lepszy od tego, w którym swój los powierzamy osobom trzecim. Nie można z tym dyskutować, tak jak z faktem, że silnik elektryczny jest bardziej wydajny niż silnik o wewnętrznym spalaniu. Decentralizacja polegająca na rozproszeniu danych, odporność sieci i ogromne oszczędności to jedne z wielu kart przetargowych blockchaina. Z powodu swojej natury łańcuch bloków będzie zawsze z tyłu pod kątem osiągów za klasyczną bazą danych. Wiele wyzwań jeszcze stoi przed developerami, ale rosnąca ilość zastosowań potwierdza tylko fakt, że jest to kierunek, w którym rozwój technologii powinien postępować.

 

 

 

Podziel się z innymi

Blockchain, News, Poradnik dla początkujących