Blockchain niejedno ma imię, czyli o pozafinansowych zastosowaniach technologii

Technologia blockchain zdobywa coraz większe uznanie w branży IT, a co za tym idzie – nieustannie zwiększa swoją popularność i zasięg. Kojarzona przede wszystkim z kryptowalutami, obecnie coraz śmielej znajduje zastosowanie w innych branżach. Czemu zawdzięcza swój sukces? Jak szerokie są jej pozafinansowe zastosowania? Poznaj blockchain od podszewki.


Michał Załęcki. Senior Software Engineer w Tooploox. Zajmuje się tematyką blockchain oraz tworzeniem zdecentralizowanych aplikacji. Michał prowadzi warsztaty BlockchainPro oraz organizuje spotkania grupy ReactJS Wrocław. Jeżeli chcesz poczytać więcej na tematy związane z blockchain zajrzyj na bloga michalzalecki.com.


Krótka historia na początek

Łączenie technologii blockchain z kryptowalutami nie jest zaskakujące. Odpowiedź znajdziemy w historii tej rewolucyjnej technologii – koncepcyjne początki blockchain sięgają wczesnych lat 90, kiedy to programista pod pseudonimem Satoshi Nakamoto zaimplementował ją jako kluczowy element kryptowaluty Bitcoin w 2008 roku. Obecnie wiele nowych kryptowalut, przykładowo Zcash czy Dogecoin buduje na bazie rozwiązań zapożyczonych z Bitcoin Core.

Blockchain zapisało się na kartach historii również ze względu na inne wydarzenie, które miało miejsce w 2014 roku. Technologia zyskała na znaczeniu po kryzysie związanym z kryptowalutami, kiedy to na świat wyszedł skandal dotyczący giełdy Mt. Gox. Okazało się, że z zasobów giełdy zniknęło blisko 850 tys. BTC o przybliżonej wartości przekraczającej 450 milionów dolarów. Winne okazały się niewłaściwe zabezpieczenia giełdy, przez które Bitcoiny były regularnie wykradane. To był moment, w którym wszystkie oczy zwróciły się w kierunku blockchain – technologia ta posiadała niezbędne zabezpieczenia, stanowiąc stabilny system godzien zaufania.

Blockchain i jego dane w pigułce

W dużym uproszczeniu blockchain jest zdecentralizowanym rejestrem, który zapisuje każdą transakcję, grupując powstałe transakcje w bloki. Każdy z uczestników sieci peer-to-peer, czyli tzw. węzłów, utrzymuje własną kopię rejestru i zgadza się z innymi uczestnikami sieci na to jakie transakcje będą zawarte w nowym bloku na drodze konsensusu.

Blockchain wykorzystuje funkcje skrótu i referencje do poprzednich bloków, która daje gwarancję, że raz zawarta w bloku transakcja nie może zostać zmieniona lub usunięta. Szczegóły tego procesu i wykorzystana kryptografia będą się różnić w zależności od wybranej implementacji. Transakcje mogą zawierać pewną sumę kryptowaluty (jednak nie muszą), jak i również dodatkowe dane. To właśnie te dodatkowe dane pozwalają wdrażać zastosowania blockchain, które wykraczają daleko poza środek płatności czy aktywa spekulacyjne.

Znaczenie Ethereum

Ethereum daje możliwość programistycznego dostępu do aktualnego stanu blockchaina. Dotyczy to zarówno stanu programów działających na Ethereum (smart contracts), jak i balansu konta (brak UTXO jak w przypadku Bitcoin). Dodatkowo dane mogą być przechowywane w logach oraz abstrakcji logów, którą są eventy. Co ważne, wszystkie te elementy mogą być kryptograficznie zweryfikowane używając merkle proof.

Możesz myśleć o stanie Ethereum, jak o złożeniu (ang. fold) wszystkich transakcji. Dla programistów projektujących systemy korzystając z event sourcing na pewno brzmi to znajomo.

Solidity to język obiektowy wysokiego poziomu, który czerpie z C++, JavaScript oraz Pythona.  Solidity kompilujemy do kodu maszynowego EVM (Ethereum Virtual Machine), a elementy języka są ściśle związane z platformą (eventy, visibility specifiers, address type) czy paradygmatem AOP (modifiers).

Poniższy kontrakt jest przykładem naiwnej implementacji kontraktu, który zawiera informacje o samochodach danego producenta, gdzie autoryzowany serwis (owner) może zapisać informacje o przebiegu utrudniając tym samym podrobienie książki serwisowej i oszukanie nabywcy przez nieuczciwego sprzedającego.

Po deploymencie takiego kontraktu (tutaj do naszej sieci testowej) możemy w prosty sposób wywołać metody kontraktu korzystając z Web3. Web3 to biblioteka, która dostarcza abstrakcję dla komunikacji pomiędzy aplikacją kliencką a Ethereum. Do stworzenia instancji kontraktu potrzebujemy jego ABI (application binary interface). ABI generowane jest podczas kompilacji kontraktu i zawiera publiczny interfejs kontraktu, funkcje oraz ich argumenty.

Pozafinansowe zastosowania blockchain

Możliwości blockchain pozwalają na nieustanny rozwój tej technologii i jej coraz szersze wykorzystanie, co oznacza, że przestała ona być ściśle powiązana z aspektem finansowym. Poniżej przedstawiamy przykłady zastosowań blockchain, które sprawdzają się w najbardziej innowacyjnych przedsiębiorstwach:

  • sieci IoT,
  • transport i sharing economy,
  • usprawnienia łańcucha dostaw,
  • chmura obliczeniowa,
  • zdecentralizowane przechowywanie plików,
  • ubezpieczenia,
  • systemy liczenie głosów,
  • systemu rządowe, ograniczanie biurokracji,
  • dane medyczne,
  • identyfikacja, potwierdzanie tożsamości,
  • zarządzanie energią elektryczną,
  • eliminowanie pośredników w procesie sprzedaży,
  • sprzedaż detaliczna,
  • cyfryzacja dóbr,
  • zbiórki pieniędzy.

Omówmy zastosowanie technologii blockchain na wybranych przykładach.

Usprawnienia łańcucha dostaw

Łańcuch dostaw stwarza wiele możliwości na adopcję blockchain w celu zwiększenia bezpieczeństwa przewożonych towarów, a z coraz szerszą adopcją IoT (Internet of Things) pozwoli dodatkowo na wyeliminowanie konieczności manualnego wprowadzania danych.

W oparciu o technologię blockchain powstało Libellum, aplikacja rozwijana przez Tooploox – software house z Wrocławia. Za jej pomocą producenci mogą zabezpieczać produkty, a także potwierdzać autentyczność wartościowych i unikalnych przedmiotów, których numery seryjne zostały zapisane na blockchain. Jak to działa? Każdy z producentów otrzymuje własny smart contract, którym zarządza poprzez panel administracyjny oraz swój portfel MetaMask. Użytkownicy mogą później skorzystać z aplikacji, aby zweryfikować autentyczność przedmiotów.

W planach jest umożliwienie podpisania numerów seryjnych, tylko w sytuacji, gdy na każdym etapie łańcucha dostaw miało miejsce złożenie cyfrowego podpisu. Podpis może np. złożyć urządzenie wyposażone w czujnik temperatury, jeżeli temperatura podczas transportu nie przekroczyła 4℃ narażając transportowaną żywności na zepsucie.

Ubezpieczenie oparte na blockchain

Blockchain znalazł również zastosowanie w ubezpieczeniu od opóźnienia lotu o nazwie Fizzy AXA. Zaletą Frizzy jest wdrożenie rozwiązania, które opiera się na braku konieczności zgłoszenia się po odszkodowanie. W tym modelu wykorzystywane jest również Ethereum w celu automatyzacji procesu. Celem ma być automatyczna wypłata odszkodowania bez zbędnych formalności, co może przypaść do gustu wielu podróżującym.

Jak to wygląda w praktyce? Wystarczy wpisać potrzebne dane do formularza – cały ten proces można przeprowadzić za pomocą smartfona. Szybko, automatycznie i sprawnie. Warunki ubezpieczenia i wysokość rekompensaty ustalane są w momencie jego zakupu i zdefiniowane w smart contracie. W przypadku pojawienia się informacji o opóźnieniu samolotu w publicznych systemach informacji o lotach, odszkodowanie zostanie wypłacone.

AXA twierdzi, że pracuje nad poprawą ilości wspieranych lotów i rozwija swoją technologię, a więcej informacji dotyczących smart contractu dostępnych jest na Etherscan. W kodzie znajdziesz użycie modyfikatora onlyIfCreator, odpowiednika popularnego onlyOwner pochodzącego z biblioteki openzeppelin-solidity. Wskazuje to na pewien poziom centralizacji, jednak w dalszym ciągu eksperyment AXY z blockchain bez wątpienia jest bardzo ciekawy.

Czy administracja i blockchain idą w parze?

Administracja często kojarzy nam się z biurokracją i długim oczekiwaniem w niekończących się kolejkach. System ten można jednak uprościć i znaleźć rozwiązanie, dzięki któremu przychylniej spojrzymy na kwestie formalności. W tym kierunku podąża Zug, czyli miasto uznawane za tzw. szwajcarską “dolinę krypto”, umożliwiając rejestrację w systemie Zug ID bazującym na rozwiązaniach uPort. W efekcie posiadanie cyfrowego ID (eID) daje dostęp do usług e-administracji.

To jednak nie koniec nowości. Miasto Zug podjęło właśnie kolejne kroki ku szerszej adopcji blockchain w administracji. W najbliższym czasie jego mieszkańcy będą mogli wziąć udział w testowym głosowaniu na swoich urządzeniach mobilnych, aby podzielić się opinią na temat użycia swojego cyfrowego dowodu do głosowania w referendach.

A to dopiero początek

Lista zastosowań tytułowej technologii jest wyjątkowo długa, dlatego blockchain na stałe już zagościł w świecie IT i zdobywa coraz więcej zwolenników. W artykule opisaliśmy szerzej 3 przykłady, aby zobaczyć krok po kroku znaczenie blockchain we wdrażaniu różnych systemów. Mogą być one dawką inspiracji do wykorzystywania tej technologii w przyszłości.


Wraz z ekipą Just Join IT, Michał przygotował kupon rabatowy justjoin na dowolne szkolenie BlockchainPro obniżający cenę szkolenia o 200 zł (kupon ważny do końca sierpnia).

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
Zdobądź wiedzę od najlepszych. Comarch zaprasza na wakacyjne staże!