Blockchain – 5 faktów o jakich powinieneś wiedzieć, a boisz się zapytać
Jan T. Grusznic
Technologia blockchain zapewne zrewolucjonizuje nasz sposób życia i pracy. Ma ona potencjał, by zapewnić większą kontrolę nad naszą opieką zdrowotną czy lepszy wgląd w pochodzenie i jakość spożywanej przez nas żywności oraz kupowanych produktów. Transakcje finansowe będą realizowane szybciej, a przy tym staną się przejrzyste i bezpieczne. biznes będzie prowadzony z większą efektywnością i mniejszym ryzykiem. Niepowtarzalne atrybuty technologii blockchain zapewnią nową infrastrukturę, na której zostanie zbudowana nowa generacja usprawnionych aplikacji biznesowych. Należy się spodziewać, że blockchain zrewolucjonizuje zwłaszcza te branże, które wymagają wysokiego poziomu bezpieczeństwa i integralności danych – również naszą. Dlatego warto wiedzieć o niej nieco więcej.
1. Czym jest?
Blockchain (zwany też łańcuchem bloków) jest współdzieloną, rozproszoną i odporną na błędy bazą danych, która utrzymuje rekordy w blokach (rys. 1). Bloki są połączone ze sobą w formie łańcucha, każdy z nich przetrzymuje identyfikator (hash) swojego poprzednika. Każdy blok zawiera od kilku do kilku tysięcy zweryfikowanych transakcji (wartość zależna od stosowanego rozwiązania), znacznik czasu wskazujący moment jego utworzenia oraz liczbę losową (nonce) dla operacji kryptograficznych wykonywanych w celu potwierdzenia poprawności bloku. Sieć blockchain składa się z tzw. węzłów, które utrzymują łańcuch bloków w sposób rozproszony (sieć peer-to-peer). Wszystkie węzły mają dostęp do bloków, ale nie mogą ich całkowicie kontrolować. Jedną z najważniejszych zalet tej technologii jest właśnie niezmienność i przejrzystość – bloki są dostępne dla wszystkich użytkowników łańcucha, ale nie jest można ich usunąć lub modyfikować.
Blockchain pozwala stronom na interakcje bez obecności zaufanej strony trzeciej (pośrednika). Każda z interakcji jest rejestrowana w bazie danych, zapewniając pożądane wymogi bezpieczeństwa. Gdy użytkownik łańcucha bloków nawiązuje kontakt z innym użytkownikiem, przesyła on swoją „transakcję” do sieci blockchain. Węzły w sieci sprawdzają, czy interakcje są poprawne, i konstruują nowy blok poprawnych transakcji w tzw. procesie kopania (walidacja bloku). Jeśli nowy blok zostanie uznany za ważny, jest dołączany do bazy danych łańcucha bloków i nie może być później usunięty lub zmieniony. Zarówno transakcje, jak i bloki są podpisywane, dlatego też nie można ich cofnąć lub usunąć w przyszłości.
Technologia blockchain ma trzy generacje, które wspierają odpowiednio transakcje pieniężne, aktywa oraz inteligentne umowy (smart contracts). Pierwsza została opublikowana przez Satoshi Nakamoto w 2009 r. i ograniczała się do transakcji pieniężnych. Znamy ją jako kryptowalutę bitcoin, która jest pierwszą tak szeroko wykorzystaną aplikacją opartą na koncepcji łańcucha bloków. Druga generacja miała szersze zastosowanie i dotyczyła nie tylko pieniędzy, ale i aktywów – użytkownicy mogą wymieniać dowolne aktywa, np. towary, nieruchomości, a nawet głosy. Trzecia wprowadziła inteligentne kontrakty. Inteligentna umowa jest kontraktem programowalnym, sprawdzanym przez wszystkich w sieci, a zatem zmusza obie strony komunikacji do jego ścisłego przestrzegania. Możliwości łańcucha bloków trzeciej generacji zostały znacznie zwiększone, co przyczyniło się do ich popularności na całym świecie i wzrostu zainteresowania ich aplikacjami.
2. Jak działa?
Blockchain to prosty, aczkolwiek pomysłowy sposób przekazywania informacji z punktu A do punktu B, w pełni zautomatyzowany i uznawany za bezpieczny. Jedna strona transakcji inicjuje proces poprzez utworzenie bloku. Jest on weryfikowany przez tysiące, być może nawet miliony komputerów rozmieszczonych w sieci. Zweryfikowany blok jest dodawany do łańcucha, który jest przechowywany w całej sieci, tworząc nie tylko unikalny rekord, ale także niepowtarzalny zapis o unikalnej historii (rys. 2). Fałszowanie pojedynczego rekordu oznaczałoby zafałszowanie całego łańcucha w milionach przypadków, co jest bardzo mało prawdopodobne. Łańcuch bloków korzysta z różnych algorytmów w celu osiągnięcia porozumienia w sprawie nowego stanu dla łańcucha bloków. Główną ideą zastosowania algorytmu zgody jest wykorzystanie grupy osób zaangażowanych w system do podejmowania decyzji, zamiast korzystania z zaufanej strony trzeciej.
Wspomniany inteligentny kontrakt to tak naprawdę zestaw programowalnych funkcji, przechowywanych w łańcuchu bloków i automatycznie egzekwujących warunki bez potrzeby korzystania z zaufanych pośredników. Funkcjonalność inteligentnego kontraktu wzorowana jest na tradycyjnych umowach zawierających warunki, a każda ze stron jest zobowiązana przestrzegać zapisanych w nich postanowień. Inteligentny kontrakt automatyzuje zadania samoczynnie potwierdzając warunki, uruchamiając kolejne kroki po wykonaniu postanowień umowy. Wszystko odbywa się bez potrzeby istnienia centralnego organu lub systemu prawnego. Korzystając z tego rozwiązania, można zdefiniować bardziej złożone transakcje określone warunkami zapisanymi w łańcuchu. W rezultacie pozwala to rozwijać aplikacje w bardziej różnorodnych obszarach aniżeli sam transfer walut cyfrowych, np. łańcuch dostaw, zarządzanie procesami biznesowymi lub opieka zdrowotna.
3. Dlaczego powstał?
Chmura zmieniła sposób interakcji między ludźmi. Codziennie wymieniamy się setkami danych, plików, zawieramy umowy, wykonujemy transakcje. Korzystamy przy tym z różnych aplikacji na wielu urządzeniach i w każdej sieci, która zapewni nam dostęp do zasobów. Takie rozdrobnienie wymaga rozproszonych mechanizmów kontroli. Tymczasem większość obecnych praktycznych rozwiązań z zakresu utrzymania bezpieczeństwa jest scentralizowana i nieefektywna. Centralizacja sprzyja powstawaniu pojedynczych punktów awarii. Bezpieczeństwo zapewniane przez osoby (firmy) trzecie może być zagrożone, gdy ulegną atakowi i zostaną skompromitowane. Do tego możliwe też jest wykasowanie interakcji w centralnym systemie (np. po udanej próbie ataku).
Blockchain z natury jest rozproszony, dlatego też usługi bezpieczeństwa oparte na łańcuchach bloków mogą być wdrażane właśnie w ten sposób. Decyzje dotyczące kolejnych bloków w łańcuchu są podejmowane w drodze zdecentralizowanego konsensusu, większością głosów (co znacząco utrudnia skompromitowanie, chyba że atakujący ma kontrolę nad całym systemem) i porozumienia między węzłami. Każda transakcja i blok są podpisane w taki sposób, aby nie można było później zaprzeczyć przeprowadzeniu transakcji (niezmienność). Każda transakcja jest przejrzysta dla wszystkich uczestników łańcucha.
Decentralizacja
Zanim pojawiły się bitcoin i BitTorrent, byliśmy bardziej przyzwyczajeni do scentralizowanych usług: centralna jednostka przechowuje dane i musimy współdziałać wyłącznie z tą jednostką, aby uzyskać potrzebne informacje. Popularnym przykładem takiej centralizacji są banki. Przechowują one wszystkie twoje pieniądze, i jedynym sposobem, w jaki możesz komuś zapłacić, jest przejście przez bank. Innym jest przeszukiwanie zasobów sieci: gdy szukasz czegoś w Google, wysyłasz zapytanie do serwera, który następnie zwraca odpowiednie informacje – typowe rozwiązanie klient-serwer.
Systemy scentralizowane sprawdzają się od wielu lat, jednak mają kilka luk. Przede wszystkim dane są przechowywane w jednym miejscu. To sprawia, że są one celem potencjalnych ataków. Aktualizacja oprogramowania centralnego serwera zatrzymuje na pewien czas pracę systemu. Awaria scentralizowanej jednostki powoduje, że nikt nie jest w stanie uzyskać dostępu do informacji. A gdy centralny komputer padnie ofiarą udanego ataku i część danych zostanie zmieniona w sposób trudny do wykrycia, to dalsze operacje będą opierały się na błędnych informacjach w systemie.
W zdecentralizowanym systemie informacje nie są przechowywane przez jeden podmiot. W rzeczywistości każdy w sieci jest właścicielem informacji. W zdecentralizowanej sieci, chcąc nawiązać kontakt ze swoim przyjacielem, możesz to zrobić bezpośrednio, bez przechodzenia przez osoby trzecie. To była główna idea bitcoinów. Ty i tylko ty jesteś odpowiedzialny za swoje pieniądze. Możesz je wysyłać do kogo chcesz, bez konieczności przechodzenia przez bank.
Przejrzystość
Przejrzystość to najbardziej interesująca i zarazem źle rozumiana cecha blockchain. Jedni twierdzą, że łańcuch bloków zapewni ci prywatność, inni, że jest przejrzysty. Oba stwierdzenia są prawdziwe, a wpływa na nie sposób wykonywania zapisów transakcji. Tożsamość osoby jest bowiem ukryta poprzez zapis ciągu znaków i reprezentowana tylko przez jej adres publiczny. Zatem historia transakcji danej osoby, przedstawiana jest jako ciąg „1MF1bhsFLkBzzz9vpFYEmvwT2TbyCt7NZJ wysłał 1 BTC”, nie zaś „Jan wysłał 1 BTC”. Tak więc wprawdzie tożsamość osoby jest bezpieczna, ale nadal widoczne są wszystkie transakcje, dokonane przez jej adres publiczny.
Ten poziom przejrzystości nigdy wcześniej nie istniał w ramach np. systemu finansowego. Patrząc wyłącznie z poziomu kryptowalut, znając adres publiczny instytucji, można po prostu wrzucić go do wyszukiwarki i przyjrzeć się wszystkim transakcjom, w które była ona zaangażowana. Fakt ten zmusza korporacje do szczerości, z jaką nigdy wcześniej nie miały do czynienia. Jestem pewny, że większość z tych firm nie będzie przeprowadzać wszystkich transakcji z wykorzystaniem kryptowalut. Jednocześnie ta cecha poważnie przyczynia się do lepszego zarządzania łańcuchem dostaw i była długo poszukiwana na rynku.
Niezmienność
Wyobraźmy sobie, jak wiele przypadków fraudów można zdusić w zarodku, jeśli ludzie wiedzą, że nie mogą prowadzić kreatywnej księgowości i manipulować rachunkami firmowymi. W technologii blockchain wynika to z hashowania, czyli tworzenia czegoś na wzór sum kontrolnych dla danych transakcyjnych i całego bloku. W prostych słowach ujmując, hashowanie oznacza pobranie danych wejściowych o dowolnej długości i wydanie ciągu znaków o stałej długości.
Funkcja hashująca to specjalna klasa funkcji, która ma różne właściwości czyniące ją idealną w kryptografii, a najważniejszą z nich jest „efekt lawinowy”. Polega on na tym, że nawet niewielka zmiana w danych wejściowych (np. zmiana wielkości litery) powoduje poważną zmianę w danych wyjściowych. Ta właściwość została wykorzystana w blockchain: każdy blok (oprócz bloku genesis, pierwszego w łańcuchu), zawierający dane ma swój hash oraz hash bloku poprzedzającego, który łączy go z poprzednim blokiem, tworząc w ten sposób łańcuch (rys. 3).
Ten, wydawać by się mogło, trywialny zabieg sprawia, że łańcuchy bloków są tak zadziwiająco niezawodne. Atak na blok 1 i próba ingerencji w dane zmieni bowiem hash, przechowywany również w bloku 2. Próba zmiany wartości hash w bloku 2 spowoduje zmianę wartości hash dla niego samego (przy obliczaniu wartości hash każdego nowego bloku brana jest pod uwagę również wartość hash z poprzedniego bloku) i w konsekwencji brak zgodności ze wskaźnikiem hash przetrzymywanym przez blok następny. Brak ciągłości jest natychmiast wykrywany, a dzięki replikacji bazy (każdy bowiem węzeł w systemie zdecentralizowanym ma kopię łańcucha bloków danych) jest możliwe przywrócenie stanu sprzed ataku. Właśnie w ten sposób łańcuchy blokowe uzyskują niezmienność.
4. Potencjalne rynki
Jako pierwsza potencjał łańcucha bloków rozpoznała branża finansowa. Od 2014 r. widać wysyp start-upów, które rozwijają technologie kryptowalut opartych na technologii blockchain. Powstała nowa branża FinTech (od słów finanse i technologia), a w branży ubezpieczeniowej – InsurTech. W energetyce dostrzeżono zalety blockchain do rozliczania transakcji kupna-sprzedaży energii pomiędzy małymi producentami, np. gospodarstwami domowymi (prosumentami) a ich klientami, odbiorcami energii, także rozproszonymi, np. elektrycznymi samochodami.
Trwają prace nad wykorzystaniem łańcucha bloków do podpisu cyfrowego w administracji państwowej czy jako księgi rachunkowej w bankowości. Transakcje te mogą odbywać się poza funkcjonującym od wieków systemem – bez udziału instytucji zaufania publicznego, bezpośrednio pomiędzy stronami transakcji.
Przykładów zastosowania technologii blockchain jest bardzo dużo i wciąż pojawiają się nowe pomysły. Szansę na jej rozwój dostrzeżono m.in. w takich obszarach jak płatności oraz pożyczki peer-to-peer1), Internet Rzeczy2), systemy głosowania3), transport4), hazard i systemy gier5), digitalizacja dokumentów6), identyfikacja i śledzenie dóbr luksusowych7), usługi rządowe8), zautomatyzowane łańcuchy dostaw9), składowanie danych10), tożsamość i jej weryfikacja11).
Wśród obiecujących zastosowań technologii blockchain znajdują się usługi monitorowania sieci i ogólnie pojętego bezpieczeństwa obejmujące uwierzytelnianie, poufność, prywatność, integralność i pochodzenie. Obecnie usługi te są świadczone przez zaufanych zewnętrznych brokerów lub przy użyciu nieskutecznych metod rozproszonych. Zatem bezpieczeństwo jest i będzie głównym wyzwaniem dla obecnych zastosowań. Technologia blockchain może je zagwarantować, rozwiązując wiele tradycyjnych problemów, zapewniając w pełni rozproszone, w miarę możliwości bezpieczne i oparte na konsensusie rozwiązanie (rys. 4).
5. Blockchain w branży zabezpieczeń technicznych
Trwały sposób śledzenia zmian danych w czasie oraz ich niezmienność jest najbardziej interesującą cechą omawianej technologii, która mogłaby znaleźć zastosowanie w naszej branży. W zabezpieczeniach technicznych łańcuch bloków może zapobiegać manipulowaniu dowodami wideo i kontrolą dostępu, a także systemami zarządzania tożsamością. Ze względu na możliwość śledzenia interakcji z plikami cyfrowymi blockchain może określić, czy plik został naruszony, a następnie dostarczyć informacji o miejscu i czasie naruszenia. Z powodzeniem może być wykorzystywany do weryfikacji treści wideo z wielu źródeł, np. publiczne telefony komórkowe i kamery nasobne, wykorzystywane w postępowaniach sądowych.
Oprócz danych wideo blockchain mógłby być również użyty do weryfikacji autentyczności urządzeń podłączonych do systemów dozoru wizyjnego, zwłaszcza gdy myśli się np. o korzystaniu z prywatnych instalacji. Już teraz włodarze miast planują powszechniejsze wykorzystanie istniejących kamer prywatnych zainstalowanych na osiedlach, stacjach benzynowych, w sklepach, centrach handlowych czy placówkach oświatowych. Te prywatne systemy dozorowe są ważnym elementem ekosystemu monitoringu, ponieważ pozyskany z nich materiał ma często decydujące znaczenie w procesie dochodzeniowym. Tymczasem zapis wideo z tych systemów jest przechowywany lokalnie i udostępniany organom ścigania tylko na żądanie. Jedyną formą zabezpieczenia przed manipulacją jest tzw. znakowanie wodne, dostarczone przez producenta urządzenia w celu potwierdzenia autentyczności zapisanego obrazu. Niestety rozwiązania te nie dają gwarancji, że uzyskany materiał wizyjny nie został zmieniony cyfrowo, budząc wątpliwości co do jego wiarygodności. Już dawno pojawiła się potrzeba opracowania rozwiązania technologicznego, które może zapewnić dowód integralności informacji z systemu dozoru wizyjnego wymienianych między urządzeniami obsługiwanymi przez podmioty o różnym poziomie zaufania.
Blockchain może poważnie namieszać również w systemach kontroli dostępu. Głównym powodem jest historia wszystkich zarejestrowanych transakcji przechowywana w niezawodnej, zabezpieczonej przed manipulacją bazie danych, co znacznie zmniejsza ryzyko nadużycia. Interesujące jest również zarządzanie prawami dostępu oparte na podejściu rozproszonym, gdy uprawnieni użytkownicy mogą przyznawać lub odbierać dostęp innym użytkownikom. Pozwala wyeliminować administratora systemu, osobę trzecią pośredniczącą we wszystkich transakcjach. Udzielanie tymczasowego dostępu do wybranych przejść jest możliwe dzięki egzekwowaniu przepisów (inteligentny kontrakt). Blockchain może np. zapewnić unikatowe hasła dla gości każdej z firm budynku biurowego. Dziś jest to zazwyczaj realizowane przez wydawanie kart zbliżeniowych z nadanymi takimi samymi uprawnieniami.
Pozostając przy systemach kontroli dostępu, warto wspomnieć o systemach biometrycznych. Wkrótce identyfikacja biometryczna będzie powszechną metodą weryfikacji tożsamości, zgodnie z którą wiele protokołów zabezpieczeń utworzy unikalny identyfikator, który będzie mógł być indeksowany w łańcuchu bloków. Co prawda w łańcuchu nie będą przechowywane żadne dane, ale pozwoli to użytkownikowi udowodnić, że jest tym, za kogo się podaje oraz określić, jakie dane, na jak długo i z kim dzieli. Systemy kontroli dostępu bazujące na takim rozwiązaniu będą prawdziwą rewolucją w branży.
Blockchain jest wykorzystywany przez globalne organizacje poszukujące technologii stanowiących podstawę ich systemów zabezpieczeń. W miarę jak korzyści płynące z łańcucha bloków staną się powszechniejsze, inni również zaczną go stosować do ochrony integralności swoich danych operacyjnych i bezpieczeństwa. Także nasza branża.
1) globalna sieć przekazów pieniężnych i pożyczek, eliminująca pośredników, np. Abra, BTC Jam 2) śledzenie stanu, historii, wymiana zdarzeń, np. Filament 3) rozproszone, niezaprzeczalne, automatyczne zliczanie głosów z pełną historią, np. FollowMyVote 4) wynajem przejazdów, prywatni kierowcy, współdzielenie przejazdów, przewóz osób i rzeczy. Dzięki blockchain i przezroczystości możliwe ominięcie pośredników i regulacji państw (tzw. Uber Killer), np. Arcade City 5) anonimizacja graczy, przekazy wygranych, osiągnięcia, własne waluty w grach komputerowych, systemy przewidywania (np. ruchu przeciwnika), np. Augur, Deckbound 6) składowanie odpowiedników w formie inteligentnych kontraktów, składowanie skanów, odpowiedników w formie plików danych, gwarancja niezaprzeczalności, np. składowanie paragonów w blockchain w celach gwarancyjnych, Colu 7) śledzenie dzieł sztuki, diamentów, zegarków, dóbr kolekcjonerskich, np. Everledger, BlockVerify, Chainlink 8) podatki, składki, hipoteki, akty własności, księgi wieczyste, rejestry (PESEL, NIP itp.), recepty, np. BitNation, ShoCard. 9) Inteligentne kontrakty – automatycznie zawierane i wykonywane kontrakty, których nikt nie kontroluje, ale każdy (w obrębie blockchain) im ufa, np. UbiMS, Mirror 10) zaufane, rozproszone, odporne na awarie i próby wpłynięcia na integralność danych systemy składowania danych, np. NXT, PeerNova 11) rozproszone systemy identyfikacji osób, cyfrowe podpisy, autoryzacje, reputacja, np. UniquId, OneName, WorldTable
Literatura
___________________________
1. Sara Rouhani, Vahid Pourheidari, Ralph Deters “Physical Access Control Management System Based on Permissioned Blockchain”, University of Saskatchewan, IEEE Xplore Digital Library, 2019
2. Alem Fitwi, Yu Chen, Sencun Zhu “A Lightweight Blockchain-based Privacy Protection for Smart Surveillance at the Edge”, 1st International Workshop on Lightweight Blockchain for Edge Intelligence and Security (LightChain, colocated with IEEE BlockChain Conference), 2019
3. https://www.lazarski.pl/pl/wydzialy-i-jednostki/instytuty/wydzial-ekonomii-i-zarzadzania/centrum-technologii-blockchain/
4. http://twojblockchain.pl/czym-jest-blockchain/
5. https://www.asmag.com
6. John Velissarios , Justin Herzig, Didem Unal “BELIEVE IT OR NOT, Blockchain’s potential starts with security”, Accenture 2019
7. https://magoo.github.io/Blockchain-Graveyard/
8. https://thenextweb.com
9. https://www.darkreading.com
10. Tara Salman, Student Member, IEEE, Maede Zolanvari, Student Member, IEEE, Aiman Erbad, Member, IEEE, Raj Jain, Fellow, IEEE, and Mohammed Samaka, Member “Security Services Using Blockchains: A State of the Art Survey”, IEEE, 2018
11. M. Pilkington, “Blockchain Technology: Principles and Applications” in Research Handbook on Digital Transformations, 2016
12. https://tokeneo.com/
13. https://blockgeeks.com
14. Satoshi Nakamoto “Bitcoin: A Peer-to-Peer Electronic Cash System”, 2008
15. https://andersbrownworth.com/
16. “Genetec shares its top physical security trends predictions for 2020”, Genetec Inc., 2020
17. https://www.axis.com/blog/secure-insights/technology-trends/