Cała historia ludzkości to próby zniszczenia starego porządku rzeczy i zbudowania nowego, oczywiście lepszego. (Autor anonimowy)
W poprzednim artykule Zrozumieliśmy technologie, na których opierają się wszystkie blockchains. Nadszedł czas, aby zrozumieć, jakie problemy mogą rozwiązać nowoczesne blockchains. Na początek spójrzmy na analizę aktualnego stanu blockchaina i perspektywy na przyszłość. Jako technikowi podoba mi się firma Gartner z jej licznymi cyklami dojrzałości technologii (Hype Cycles). Na wykresie przedstawiono cykl dojrzałości blockchaina w biznesie na koniec 2018 roku. Jakie można wysnuć wnioski?

Analiza od Gartnera
- Z wykresu wynika, że wiele nowoczesnych branż stara się zastosować blockchain do rozwiązania swoich problemów produkcyjnych, a co roku pojawiają się nowe branże, które zaczynają badać blockchain.
- Jednak żadna branża nie osiągnęła jeszcze ani plateau wydajności, ani nawet stoku oświecenia.
- Oczywiście, nie wszystkie branże, które teraz są na drodze do szczytu oczekiwań, dotrą do plateau wydajności, ale sądząc po masowości tego ruchu, za 5-10 lat będziemy świadkami powszechnego zastosowania kilku przypadków.
- A gdzie Bitcoin, wydobycie i w ogóle kryptowaluta, zapytacie? Te technologie przynoszą znaczne zyski? Były na wykresach lat ubiegłych, ale w tym roku już opuściły plateau wydajności po swoich dziesięciu latach.
Następny wykres pokazuje dojrzałość technologii blockchain:

Co można powiedzieć o tym wykresie?
- Większość nowoczesnych technologii blockchaina również znajduje się na fali dyskusji. Ale nie dlatego, że to nowe technologie, ale dlatego, że branże badają ich zastosowanie do swojej struktury danych, objętości i prędkości przetwarzania, szukają możliwości, jak za pomocą technologii blockchain można zwiększyć efektywność i zmniejszyć koszty.
- Zainteresowanie wydobywaniem kryptowalut, klasycznym blockchainem oraz w ogóle technologią rozproszonej księgi zaczyna maleć.
Zobaczmy, w jakich branżach próbuje się zastosować blockchain. Gartner pod koniec 2018 roku przeprowadził badanie i przedstawił jego wyniki w formie macierzy, gdzie w poziomie wymienione są przypadki użycia, w pionie branże, a okręgi na przecięciach pokazują, jak bardzo dany przypadek jest pożądany w konkretnej branży:

Jakie wnioski można wyciągnąć z tej tabeli?
- Większość projektów wykorzystuje blockchain do rejestrowania, rozprzestrzeniania i wspólnego korzystania z danych (Shared Record Keeping i Internal Record Keeping).
- Znacząca część projektów używa blockchain do śledzenia przepływu wartości lub zmiany jej właścicieli (Asset Tracking).
- Identyfikacja (Identity Management) powoli, ale jest potrzebna praktycznie we wszystkich branżach.
- Na chwilę obecną tokenizacja (Digital Tokens) nie jest zbyt pożądana, a co zaskakujące, to samo można powiedzieć o smart kontraktach (Smart Contracts).
Ogólna schemat blokchaina
Kiedy rysuje się blockchain dla jakiejś branży, wszystkie schematy są zasadniczo takie same: istnieje sieć blockchain, w której uczestnicy zapisują i odczytują informacje za pomocą Dapp (decentralized application). Różnice tkwią w szczegółach, na przykład, informacje w blockchain mogą rejestrować nie tylko ludzie, ale także urządzenia platformy IoT (Internet of Things). Rozważmy ogólną schemę na przykładzie IoT, ponieważ jest to jedno z najbardziej dyskutowanych zastosowań blockchaina. Dodatkowo wyposażymy urządzenia IoT w kartę SIM do przesyłania danych, wykorzystując mobilną sieć operatora, lub lepszą eSIM, aby można było używać dowolnych mobilnych sieci. Mobilna sieć będzie oczywiście 5G, ponieważ obsługa urządzeń IoT jest jednym z głównych zastosowań sieci 5G. Moduły GPS / GLONASS niech śledzą lokalizację. Aby smart kontrakty działały prawidłowo, konieczne jest posiadanie informacji z zewnętrznych źródeł, takich jak aktualne kursy akcji lub walut. Służą do tego tzw. blockchain oracles. Ostatni szlif - moduł sztucznej inteligencji do analizy danych. , że algorytmy AI (Artificial Intelligence) będą skutecznie działać na danych z blockchaina, ponieważ są one kompletne, niesprzeczne i jednoznacznie uporządkowane czasowo.
W ten sposób uzyskaliśmy zgeneralizowany schemat projektów blockchain. Teraz można do niego dopisać dowolny tytuł i przekształcić schemat odpowiedni dla różnych branż. Na przykład: „Śledzenie ruchu cystern w przemyśle naftowym” lub „Produkcja części dla motoryzacji” lub „Dostarczanie mięsa od rolników do sklepów detalicznych”.
Blockchain + IoT + 5G + GPS + AI

Przechodzimy do konkretnych przypadków.
Analiza przypadków
Zbadajmy przypadki dla wymienionych branż i pomyślmy, na jakich blockchainach można je wdrożyć. Okazuje się, że nie ma potrzeby szukać niczego, ponieważ istnieje aktualna „” z przykładami i linkami. Zgromadzono w niej przypadki zastosowania blockchaina w następujących branżach:
- branża motoryzacyjna
- sektor publiczny
- sektor wydobywczy
- ochrona zdrowia
- kultura i sztuka
- nieruchomości
- produkcja
- detal
- rolnictwo
- telekomunikacja
- transport
- sektor finansowy
- sektor energetyczny
- zarządzanie prawami autorskimi
Wnioski z analizy zbioru przypadków
- Oczywiście, blockchain idealnie pasuje do fintechu, ponieważ transakcje i zmiana właściciela wartości są podstawą systemu finansowego.
- Logika stosowania blockchaina występuje w przypadkach, w których istnieją „łańcuchy dostaw”, na przykład transport kontenerów. Kontener postrzegany jest jako wartość, która jest przekazywana z jednego przewoźnika do drugiego. Lub, na przykład, etykietowanie żywności i śledzenie całego łańcucha dostaw produktów od farmy do sklepów detalicznych. W takim przypadku kupujący może upewnić się, że produkt został wyprodukowany przez konkretnego producenta w określonych warunkach. Obecnie na takich etykietach można jedynie ufać, że jest to prawda.
- Aktualny przypadek z identyfikacją osób IAM (Zarządzanie Tożsamością i Dostępem) oraz przechowywaniem danych osobowych. Wraz z pojawieniem się technologii blockchain pojawił się sposób rozwiązania problemu, polegający na przechowywaniu danych osobowych w zdecentralizowanym rejestrze, a dzięki protokołowi Zero Knowledge Proof osoba może decydować, jakie dane komu udostępnia. Na przykład klasyczny przykład — to potwierdzenie, że obywatel ma ukończone 18 lat. Obecnie do tego celu używana jest karta identyfikacyjna lub prawo jazdy, które zawierają dane nie mające związku z samą weryfikacją, takie jak adres zameldowania. Korzystając z technologii blockchain, będzie można sprawdzić, że dana osoba ma 18 lat, nie ujawniając innych informacji.
- W tym samym kontekście znajduje się również przypadek zapisywania danych medycznych pacjentów w blockchainie, aby można je było przekazywać między instytucjami, nie naruszając prywatności. Jest to wspólna cecha wielu przypadków, gdzie z jednej strony potrzebna jest identyfikacja osób oraz możliwość swobodnego przekazywania informacji, a z drugiej strony konieczne jest zabezpieczenie (szyfrowanie) danych osobowych i prywatnych.
Blockchain i państwo
W wielu krajach istnieją państwowe programy rozwoju technologii blockchain, w tym także w Rosji. , w którym blockchain (zdecentralizowany rejestr) jest rozpatrywany jako jedno z kierunków rozwoju. Dla państwa istotne jest rozwijanie technologii blockchain w następujących obszarach:
- Tworzenie rejestrów transakcji majątkowych, na przykład związanych z nieruchomościami;
- Tworzenie rejestrów do zapisywania aktów stanu cywilnego, na przykład do rejestracji urodzin, małżeństw, rozwodów;
- Zapis w blockchainie wyników wyborów i głosowań.
Blockchain i telekomunikacja
Przypadki zrealizowane w branży telekomunikacyjnej będą miały wpływ na większość ludzi. dla operatorów telekomunikacyjnych najbardziej istotne jest zastosowanie blockchaina do rozwiązania następujących zadań:
- Operatorzy mogą pozbyć się pośredników (centrów rozliczeniowych) w świadczeniu usług roamingowych i dokonywać płatności bezpośrednio między sobą.
- Identyfikacja osób oraz urządzeń IoT.
- Automatyczne liczenie naruszeń zasad świadczenia usług dla abonentów (SLA) na podstawie smart kontraktu i wypłata odszkodowań.
- Prowadzenie zdecentralizowanej bazy danych skradzionych telefonów.
- Zarządzanie rozproszoną bazą danych dla MNP (Mobilna Przenośność Numerów) i eliminacja pośredników w postaci centralnej bazy danych.
Analiza blockchainów
W celu systematyzacji próbowałem znaleźć klasyfikację blockchainów według generacji. Nie znalazłem powszechnie uznawanej, ale wszyscy zgadzają się, że pierwsza generacja to Bitcoin, druga to Ethereum, a dalsze zależy od osobistych preferencji. Uważam, że logiczną klasyfikacją byłaby następująca:
- Pierwsza generacja (Bitcoin): obsługuje jedynie funkcjonalność transferu kryptowaluty z jednego konta na drugie.
- W drugiej generacji dodano inteligentne kontrakty (Ethereum) i wielowalutowość (BitShares).
- Trzecia generacja pozwala na operowanie nie tylko kryptowalutą, ale także wszelkimi aktywami cyfrowymi (assets), realizację dowolnej logiki biznesowej oraz elastyczne dopasowanie algorytmu konsensusu. Przykładem uniwersalnego blockchaina jest Hyperledger Fabric.
Przyjrzyjmy się przedstawicielom wszystkich generacji z punktu widzenia cech, które pomogą zrozumieć, jakie przypadki można zrealizować na danym blockchainie:
Bitcoin
Ethereum
Bitshares
Hyperledger Fabric
Exonum
Pokolenie blockchaina
1
2
2
3
3
Strona
Wydajność w TPS
7
20-30
10,000
1000
10,000
Czy można stworzyć prywatny blockchain
nie
nie
tak
tak
tak
Liczba węzłów w sieci
Ponad 10 000
Ponad 10 000
Efektywnie 20-30 węzłów
Efektywność określana przez system Apache Kafka
Efektywność określana przez konsensus BFT: 10-20 węzłów
Średnia opłata za transakcje
0.5$
0.1$
mniej niż w Ethereum
nie
nie
Obsługiwane systemy operacyjne dla węzłów
Windows, Linux, MacOS
Windows, Linux, MacOS, Raspberry Pi
Ubuntu, Windows
Windows, Linux, MacOS
Linux, MacOS
Wdrażanie węzłów
Ręcznie
Ręcznie, Docker
Ręcznie
Docker, docker-compose
Ręcznie, Docker
Konsensus
PoW
Pow
DPoS
System głosowania, używa Apache Kafka
BFT
Inteligentny kontrakt
Nie w powszechnym rozumieniu
Język programowania Solidity
Preinstalowane i ich liczba jest ograniczona. Można pisać w C++
Języki programowania Go, JS
Rust
Język programowania, w którym napisano blockchain
C++
C++
C++
Go
Rust
DB do przechowywania danych blockchaina
LevelDB
LevelDB
LevelDB
goleveldb — LevelDB w Go
RocksDB
Rozwój i wsparcie
Satoshi Nakamoto i współpr.
Vitalik Buterin i współpr.
Dan Larimer i współpr.
Fundacja Linuxa, IBM, Oracle
Bitfury Group
Ograniczenia przy wdrażaniu przypadków
Wydajność i obecność opłat.
Wydajność i obecność opłat. Nadają się do pilotażowych i PoC.
Obecność opłat i ograniczona liczba zrealizowanych scenariuszy użycia.
Hyperledger Fabric — nic nie ogranicza, jeśli nie oczekuje się wysokich charakterystyk wydajności.
Exonum ogranicza konsensus BFT i wysoki próg wejścia, ponieważ w celu wdrożenia smart kontraktów muszą być one wbudowane w kod źródłowy.
Podsumowanie
Obecnie każda nowa technologia często jest przedstawiana jako rozwiązanie problemu. Dlatego na początku należy upewnić się, że w danym przypadku rzeczywiście potrzebny jest blockchain. W tym celu odpowiedz na pytania, czy potrzebna jest cała wymieniona funkcjonalność?
- Kryptografia
- Niezmienność i pełnia historii danych
- Rozproszenie
- Decentralizacja
- Tokenizacja
- Smart kontrakty
Jeśli nie wszystkie wymienione cechy są potrzebne, być może bardziej efektywne będzie zastosowanie technologii innych niż blockchain. Jeśli jednak zdecydowano się na użycie blockchaina, należy mieć na uwadze cechy blockchaina, które z natury są niemożliwe do zmiany:
- Różne blockchainy mają różne parametry techniczne i ograniczenia, dlatego w zależności od przypadku należy wybrać odpowiedni blockchain.
- W zależności od konsensusu wydajność blockchaina różni się o rzędy wielkości. I jeśli wybrano jakiś konkretny blockchain, to prawdopodobnie nie uda się go "optymalizować".
- Linear scalability is a common requirement for information systems. However, blockchain may scale worse than linearly.
- Dane, które należy przechowywać, mogą mieć strukturę, która obniża efektywność zastosowania blockchaina.
- W prywatnych blockchainach należy zapewnić bezpieczeństwo co najmniej na poziomie stosowanych systemów IT w korporacjach.
Z powodu tych ograniczeń, obecnie blockchain jest głównie używany w najprostszych przypadkach, gdzie konieczne jest pozbycie się pośredników lub osiągnięcie weryfikacji autentyczności i niezmienności danych wśród uczestników, którzy nie są pod jednolitą kontrolą.
W następnej części rozwinemy blockchain w chmurze i zobaczymy, jak to wszystko działa.
To dopiero początek!
Źródło: habr.com
