Artykuł z magazynu ITwizArchitektura ITProgramowanie

Istotne ograniczenia Blockchain w zastosowaniach komercyjnych

Kilka dużych banków – m.in. Santander oraz Citigroup – poinformowały o tym, że opracowują scenariusze użycia technologii Blockchain do własnych potrzeb. Nadal jednak pojawiają się wątpliwości związane z możliwością użycia tego rozwiązania w firmach komercyjnych.

Istotne ograniczenia Blockchain w zastosowaniach komercyjnych

Zestaw technologii i algorytmów kryptograficznych, które są podstawą kryptowaluty Bitcoin – tzw. Blockchain – ma wiele cech, którymi interesują się duże instytucje finansowe. Dwa duże banki już rozważają wykorzystanie tej technologii. Santander w październiku 2015 roku zainwestował 4 mln USD w firmę Ripple, która dostosowuje i zmienia Blockchain tak, aby mógł być używany do przenoszenia prawdziwych sald walutowych. Nieco inną drogę wybrała grupa Citigroup, która utworzyła własną walutę Citicoin i testuje możliwość wykorzystania rozproszonej księgi głównej we własnym środowisku. W szczególności dotyczy to międzynarodowych płatności. Oprócz niewątpliwych zalet Blockchain ma też istotne wady, które sprawiają, że szerokie wykorzystywanie tej technologii staje pod znakiem zapytania.

Czym naprawdę jest Blockchain

Jak informuje Tony Arcieri, inżynier oprogramowania, ekspert ds. cyberbezpieczeństwa pracujący w firmie Square – a także hobbysta interesujący się kryptografią – nie ma jednoznacznej definicji Blockchain. Można jednak opisać najważniejsze cechy istniejącego rozwiązania używanego przez walutę Bitcoin. Są nimi: replikowany dziennik, drzewo skrótów (nazywane w zachodniej terminologii drzewem Merklego), mechanizm loterii oraz dowodów matematycznych przy wstawianiu bloku do replikowanego dziennika. Transakcje podpisywane za pomocą kryptografii klucza publicznego. Istnieje publiczna, zdecentralizowana księga transakcji, protokół rozgłoszeniowy oraz mechanizm skryptowy.

Tony Arcieri uważa, że jedyną z cech, która odróżnia ideę Blockchain od innych, znanych dotąd rozwiązań, jest mechanizm łańcuchowych dowodów matematycznych wykonanych działań przy tworzeniu replikowanej księgi transakcji. Transakcje są przetwarzane przez komputery w sieci, nazywane węzłami i po potwierdzeniu poprawności, dodawane do replikowanego i znakowanego czasem dziennika transakcji, nazywanego łańcuchem bloków.

Każdy węzeł zbiera niepotwierdzone transakcje, wylicza skróty zgodnie z określonymi cechami, co wymaga przewidywalnej liczby prób i błędów. Po znalezieniu rozwiązania, powstały blok skrótów jest sprawdzany przez inne węzły, a następnie akceptowany i dodawany do łańcucha. Aby zachęcić użytkowników do uruchamiania węzłów, wprowadzono mechanizm wyliczania nowych Bitcoinów, nazwany „kopaniem”, przez analogię do wydobywania złota.

Najgorsza baza danych na świecie

Ograniczenia wynikające wprost z użytej technologii decentralizującej oraz uwierzytelniającej transakcje i posiadane środki w Bitcoinach są dość poważne. Najważniejsze z nich dotyczą wydajności i skalowalności całego systemu oraz nakładów mocy obliczeniowej niezbędnych do jego funkcjonowania.

Jedyną z cech, która odróżnia ideę Blockchain od innych, znanych dotąd rozwiązań, jest mechanizm łańcuchowych dowodów matematycznych wykonanych działań przy tworzeniu replikowanej księgi transakcji. Transakcje są przetwarzane przez komputery w sieci, nazywane węzłami i po potwierdzeniu poprawności, dodawane do replikowanego i znakowanego czasem dziennika transakcji, nazywanego łańcuchem bloków.

Według Tonego Arcieriego, hipotetyczna baza danych korzystająca z mechanizmu Blockchain wykorzystywanego w walucie Bitcoin miałaby następujące cechy: bardzo wysoki koszt energetyczny każdej transakcji: zużycie energii elektrycznej per transakcja odpowiada dziennemu zapotrzebowaniu przez typowe amerykańskie gospodarstwo domowe; obsługuje 3 transakcje na sekundę na przestrzeni całej globalnej sieci z milionami procesorów, w tym specjalnie zbudowanych ultraszybkich układów logicznych ASIC; proces zatwierdzania transakcji trwa ponad 10 minut; nie potwierdza zaakceptowanych zapisów, wymaga wielokrotnego odczytywania dziennika, aby sprawdzić, czy wygenerowany blok ostatecznie znalazł się w wygrywającej części łańcucha; księga transakcji obsługuje tylko jedną walutę, może być wykorzystania do przechowywania i znakowania czasem tylko 80 bajtów na transakcję.

Jedyną zaletą technologii Blockchain jest zatem jej decentralizacja. Bitcoin – a razem z nim funkcjonujące środowisko Blockchain – może być jednak wykorzystane np. do znakowania czasem logów audytowych. Ale istnieją sprawne protokoły, które rozwiązują problem decentralizowanego dziennika o wiele lepiej, przy niższym nakładzie mocy obliczeniowej.

Problemy ze skalowalnością

Przed erą Bitcoina najczęściej stosowanym sposobem decentralizowanych uzgodnień transakcji przez Internet było pobieranie za pomocą SCP plików zawierających transakcje, zaszyfrowanych za pomocą GPG. Proces ten trwa wolno, trudno go audytować i ewidentnie można było go radykalnie usprawnić. Bitcoin zademonstrował możliwości nowoczesnej informatyki, ale w miarę wzrostu liczby przetwarzanych transakcji, zaczęły pojawiać się problemy wydajnościowe. Wolumin transakcji finansowych obecnie zbliża się do tego, który generuje pojedyncza firma handlowa z pierwszej dziesiątki sprzedawców w USA i osiąga ok. 1/10000 transakcji przetwarzanych przez VISA. W tej skali podejście rozgłaszania wszystkich transakcji do wszystkich węzłów jest najważniejszym z ograniczeń dalszej skalowalności Blockchain.

Jak informuje Tony Arcieri, maksymalna skalowalność Bitcoina jest ograniczona od góry przez liczbę transakcji, które mogą się zmieścić w pojedynczym bloku razy tempo publikacji bloków do całej sieci. Oczywiście wielkość bloku można podwyższyć, ale jest to jedynie tymczasowe rozwiązanie problemów wydajnościowych całego systemu, który dochodzi do granicy możliwości, mimo stosunkowo niewielkiego woluminu przetwarzanych transakcji. Wdrożenie takiego systemu w środowisku, które przetwarza wolumin transakcji większy o wiele rzędów wielkości stoi zatem pod znakiem zapytania.

Centralny problem rozproszonego systemu

Jedynym wspólnym, logicznym obiektem, który jest utrzymywany centralnie – w rozproszonej infrastrukturze – jest księga transakcji, czyli łańcuch skrótów. Tony Arcieri uważa, że rozgłaszanie wszystkich transakcji zapisanych do tego dziennika do wszystkich węzłów jest jednym z podstawowych problemów ze skalowalnością Bitcoina. Jest to też kosztowne pod względem pasma sieciowego i przestrzeni składowania danych.

Bitcoin zademonstrował możliwości nowoczesnej informatyki, ale w miarę wzrostu liczby przetwarzanych transakcji, zaczęły pojawiać się problemy wydajnościowe. Wolumin transakcji finansowych obecnie zbliża się do tego, który generuje pojedyncza firma handlowa z pierwszej dziesiątki sprzedawców w USA i osiąga ok. 1/10000 transakcji przetwarzanych przez VISA. W obecnej skali podejście rozgłaszania wszystkich transakcji do wszystkich węzłów jest najważniejszym z ograniczeń dalszej skalowalności Blockchain.

Niedostatki całego systemu związanego z walutą Bitcoin – w tym Blockchain – prawdopodobnie można będzie poprawić. Jedną z inicjatyw jest Bitcoin XT, w której rozmiar bloków jest znacząco wyższy. Niektóre transakcje będzie można również przenieść do sieci Bitcoin Lighting Network, która dopuszcza transakcje offline i obsługuje transakcje, które nie są denominowane w Bitcoinach. Denominacja w innych walutach przynosi jednak istotne problemy związane z przeliczaniem kursu wymiany pomiędzy łańcuchami bloków. Jednym z problemów jest także integracja ze starym systemem przystosowanym do klasycznej waluty i związane z tym przeliczenia oraz straty. Tony Arcieri wspomina m.in. o kradzieży pieniędzy uczestników giełdy Mt.Gox.

Co zamiast Blockchain?

Bitcoin używa cyfrowego podpisu, aby zapewnić integrację każdej transakcji i za pomocą potwierdzeń ręcznie wybiera podmiot, który decyduje, które transakcje znajdą się w danym bloku. Zastosowany tutaj algorytm rozwiązuje problem uzgodnień między wieloma uczestnikami dostarczającymi informacje o transakcjach, które mają ostatecznie znaleźć się we wspólnym decentralizowanym dzienniku.

Istnieją znacznie sprawniejsze algorytmy, które nie wymagają – używanego w środowisku Blockchain – podejścia łańcuchowego, cyfrowego dowodu zrealizowana danej operacji. Takimi protokołami są: Interledger, Stellar SCP, Hyperledger oraz Tendermint.

Interledger, opracowany przez Ripple Labs, wykorzystuje mechanizm escrow przy przenoszeniu środków między księgami. Z kolei Stellar SCP – w którym algorytm uzgodnień został zaprojektowany pod kątem wielkiej skali wdrożenia – zakłada globalne uzgodnienia między lokalnymi grupami. Stellar planuje wykorzystać ten protokół do kryptowaluty o nazwie Lumen.

Hipotetyczna baza danych korzystająca z mechanizmu Blockchain wykorzystywanego w walucie Bitcoin miałaby następujące cechy:
  • – bardzo wysoki koszt energetyczny każdej transakcji: zużycie energii elektrycznej per transakcja odpowiada dziennemu zapotrzebowaniu przez typowe amerykańskie gospodarstwo domowe;
  • – obsługuje 3 transakcje na sekundę na przestrzeni całej globalnej sieci z milionami procesorów, w tym specjalnie zbudowanych ultraszybkich układów logicznych ASIC;
  • – proces zatwierdzania transakcji trwa ponad 10 minut;
  • – nie potwierdza zaakceptowanych zapisów, wymaga wielokrotnego odczytywania dziennika, aby sprawdzić, czy wygenerowany blok ostatecznie znalazł się w wygrywającej części łańcucha;
  • – księga transakcji obsługuje tylko jedną walutę, może być wykorzystania do przechowywania i znakowania czasem tylko 80 bajtów na transakcję.

 

Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

1 thought on “Istotne ograniczenia Blockchain w zastosowaniach komercyjnych”

  1. Szczerze powiedziawszy powinno to być napisane bardziej zrozumiałym językiem, bo osoby nie siedzące w temacie niewiele z tego zrozumieją.
    Co do treści to zgadzam się z częścią wniosków, natomiast już są możliwości nieprzesyłania całej księgi (łańcucha bloków od pierwotnych) o czym warto by było wspomnieć.