eGospodarka.pl

eGospodarka.plWiadomościPublikacje › Jak działa blockchain?

Jak działa blockchain?

2018-04-08 00:30

Jak działa blockchain?

Jak działa blockchain? © Sashkin - Fotolia.com

Technologia blockchain jest kojarzona z obrotem kryptowalut, ale to spojrzenie bardzo płytkie. Blockchain ze względu na szereg korzyści związanych z redukcją kosztów, poprawą bezpieczeństwa transferu danych oraz zwiększenia transparentności procesów w środowisku cyfrowym można zaliczyć do grona tzw. innowacji przełomowych.
Potencjalne zastosowanie technologii blockchain – ze względu na szereg korzyści związanych z redukcją kosztów, poprawą bezpieczeństwa transferu danych oraz zwiększenia transparentności procesów w środowisku cyfrowym – można zaliczyć do grona tzw. innowacji przełomowych (ang. disruptive innovation).

Zdecentralizowany, otwarty i kryptograficzny charakter blockchain pozwala uwierzytelniać transakcje w sposób szybki i relatywnie tani, podważając tym samym sens funkcjonowania systemów finansowych z drogimi pośrednikami.

Aktualnie blockchain jest kojarzony z obrotem kryptowalut, a jest to niestety spojrzenie bardzo płytkie, gdyż pomija całość potencjalnych zastosowań tej technologii, takich jak:
  • usprawnienie organizacji systemu rozliczeń i rozrachunków na rynkach regulowanych,
  • stworzenie systemu globalnej giełdy papierów wartościowych,
  • emisja pieniądza elektronicznego w postaci kryptowaluty do rozliczeń banku centralnego z sektorem bankowym oraz transakcji na rynku międzybankowym,
  • stworzenie ogólnoświatowego systemu płatniczego P2P, który wyeliminowałby system banków korespondentów w oparciu o łączność SWIFT,
  • wykorzystanie tzw. inteligentnych kontraktów (ang. smart contract) dla redukcji ryzyka w obrocie gospodarczym poprzez zautomatyzowanie warunków uzgadniania umów bez obecności pośredników (np. akredytywa dokumentowa),
  • bezsprzeczna identyfikacja tożsamości użytkownika pozwalająca na w pełni zdalne zawieranie umów,
  • tworzenie rejestrów indywidualnych rekordów danych w transakcjach handlowych i gospodarczych,
  • poprawa efektywności mechanizmów audytu danych i compliance w środowisku cyfrowym,
  • stworzenie rejestrów praw własności w elektronicznych bazach dokumentacji oraz zrządzanie takimi rejestrami w wymiarze prywatnym (np. wewnątrz grupy kapitałowej) oraz publicznym (system podatkowy, zdrowotny, emerytalny, finanse samorządowe, głosowanie powszechne).

fot. Sashkin - Fotolia.com

Jak działa blockchain?

Aktualnie blockchain jest kojarzony z obrotem kryptowalut, a jest to niestety spojrzenie bardzo płytkie.


Jak zatem wygląda koncepcja i zasada działania blockchain?


Centralny rejestr danych (ang. general ledger)


Ze względów na konieczność zapewnienia bezpieczeństwa wszystkim stronom transakcji, w ekosystemie transferu pieniądza czy obrotu instrumentami finansowymi zasadnicze znaczenie odgrywają instytucje pośredniczące, takie jak: banki centralne, banki komercyjne, repozytoria papierów wartościowych czy izby rozliczeniowe. Poprzez centralizację obrotu pośrednicy, jako zaufane strony trzecie (ang. trusted third parties), uwierzytelniają transakcje i z tego względu są niezbędnym ogniwem infrastruktury obrotu aktywami i transferu pieniądza bezgotówkowego. Znaczenie pośredników w redukcji ryzyka transakcji jest szczególnie wysokie ze względu na ich funkcje w wymiarze:
  • rozliczania transakcji (rejestrowanie zmian praw własności) oraz
  • rozrachunku transakcji (transfer pieniądza pomiędzy rachunkami).

Z powyższych względów rolę centralnych pośredników można porównać do notariuszy, którzy nadają moc prawną dla ostatecznego uwierzytelnienia transakcji i zapobiegają jej potencjalnemu unieważnieniu przez jedną ze stron. Znaczenie pośredników jest szczególnie wysokie we współczesnej gospodarce cyfrowej, gdyż transakcje transferu pieniądza bezgotówkowego obsługują m.in. obrót aktywami w postaci zdematerializowanej. Aktywa są księgowane i uwierzytelniane przez pośrednika w postaci wyłącznie cyfrowej, tj. w postaci plików w centralnym rejestrze, a zapisy w rejestrze określają stan i prawo własności aktywów w przypadku każdego uczestnika systemu obrotu.

W tak zorganizowanej infrastrukturze bezpieczeństwo plików jest zależne od poziomu zabezpieczeń centralnego rejestru (tzw. a single point of failure), który ogniskuje ataki hakerskie mające za cel manipulację lub kradzież danych (np. w systemach bankowości elektronicznej). Dodatkowo mało efektywny system obsługi transakcji (np. opóźnienie procesów rozliczenia i rozrachunku) potencjalnie umożliwia działania przestępcze, takie jak oscylator, czyli wielokrotne wykorzystanie tych samych aktywów w różnych transakcjach równocześnie. Konieczność procesowania transakcji poprzez pośredników oznacza w praktyce konieczność ponoszenia przez strony wysokich kosztów transakcyjnych.

Rozproszony rejestr danych (ang. distributed ledger technology, DLT)


W odróżnieniu od transakcji z zaufaną stroną trzecią, który poświadcza każdorazową zmianę praw własności i przechowuje aktualny rejestr danych, technologia blockchain jest oparta o rozproszony rejestr danych, który – jak nazwa wskazuje – udostępnia dane o transakcjach każdemu użytkownikowi w danej sieci (ang. peer to peer, P2P). Podstawowym wyróżnikiem technologii blockchain, na tle innych rozproszonych baz danych, jest atrybut spójnego i wiarygodnego uwierzytelniania każdej transakcji poprzez zmianę praw własności pomiędzy anonimowymi użytkownikami, którzy kierują się odmiennymi motywacjami i nie muszą mieć do siebie zaufania.

W tym ujęciu, blockchain umożliwia bezpieczną transakcję P2P z całkowitym wyłączeniem pośrednika, bez obciążania jednej ze stron transakcji pełnym ryzykiem rozliczenia i rozrachunku. Dodatkowo, blockchain pozwala zweryfikować dane bez obecności zaufanej strony trzeciej w sposób uniemożliwiający zakwestionowanie transakcji przez jej strony. W konsekwencji, zamiast pośrednika z centralną bazą danych, występuje doskonale rozproszony (tj. współdzielony) rejestr danych, jako że dane są w pełni replikowane pomiędzy użytkownikami. Dane są uwierzytelniane przez społeczność użytkowników danej sieci poprzez weryfikację zmian, a równocześnie dane są w pełni dostępne dla każdego podmiotu. Innymi słowy, aktualny stan danych „widziany” przez każdego uczestnika współdzielonej bazy danych jest zgodny ze stanem danych „widzianych” przez pozostałych uczestników. Ten atrybut gwarantuje, że wszyscy uczestnicy mają jednolity i spójny widok aktualnego stanu rozproszonej bazy danych. Wówczas każda manipulacja danymi przez pojedynczego lub grupę użytkowników (np. zmiana stanu własności) jest natychmiast wykrywana i odrzucana przez wszystkich uczestników. Oszust musi zmodyfikować dane na rachunku każdego użytkownika sieci rozproszonej, co jest procesem bardzo złożonym i wymagającym ogromnej mocy obliczeniowej.

Zdolność uczestników sieci blockchain do samodzielnej i niezależnej weryfikacji integralności współużytkowanej bazy danych bez pośrednika (jako zaufanej strony trzeciej) jest jednym z głównych atutów blockchain. Uczestnicy sieci mogą zawierać transakcje w bezpośrednich relacjach, a poprzez blockchain uzyskać bieżący dostęp do w pełni wiarygodnych danych o transakcjach, których nikt nie może zakwestionować.

Ponadto, każdy uczestnik może dysponować prawem własności i indywidualnym dostępem do swoich aktywów lub danych, które są chronione systemem silnego uwierzytelnienia. W systemie zabezpieczeń blockchain nie jest wykorzystany standardowy login i hasło, lecz uwierzytelnienie silne, czyli algorytm asymetryczny na wzór organizacji podpisu elektronicznego. Oznacza to, że właściciel ma pełną kontrolę nad własnymi aktywami czy danymi, których nie można przenieść czy modyfikować bez wyraźnej zgody.

Blockchain niesie również niezaprzeczalne korzyści w zakresie bezpieczeństwa transakcji. Ataki hakerskie są zazwyczaj wymierzone w dane przechowane w bazach scentralizowanych pośredników, którzy pełnią rolę instytucji zaufania publicznego (takich jak banki). W przypadku blockchain dla jakiejkolwiek manipulacji danych wymagana jest równoczesna zmiana zapisów we wszystkich węzłach sieci (tzw. nody), co ze względu na ich liczbę liczoną w milionach i niezbędną szybkość realizacji takiej manipulacji aktualnie pozostaje poza możliwościami mocy procesorów (ale stan ten może się zmienić w przypadku urzeczywistnienia koncepcji komputerów kwantowych).

Dzięki szybkiemu uwierzytelnieniu transferowanych aktywów, blockchain ma potencjał radykalnego obniżenia kosztów transakcyjnych przy zagwarantowaniu natychmiastowego uwierzytelniania praw własności. Gwarantem bezpieczeństwa staje się pełne i rozproszone zabezpieczenie kryptograficzne, a nie stabilność pośrednika i jakość zabezpieczania przechowanych przez niego danych.

Funkcjonowanie blockchain


Poszczególni użytkownicy blockchain wykorzystują indywidualny adres (portfel) o zweryfikowanej lub niezweryfikowanej tożsamości (w zależności od rodzaju blockchain), gdzie są przechowywane społecznościowo zweryfikowane aktywa lub/i dane. Każda zamiana stanu aktywów lub danych w wyniku transakcji (np. płatniczej, sprzedaży, kupna aktywów) jest w chronionym kryptograficznie bloku danych, który po autoryzacji jest rozsyłany do wszystkich adresów (portfeli) i tam równocześnie przechowany. W konsekwencji wszystkie transakcje z udziałem danego adresu (portfela) są odzwierciedlone w blokach, które zapisywane u każdego z użytkowników tworzą rozproszony rejestr. W przypadku sieci obrotu kryptowaluty bitcoin typowy blok zawiera dane o 200–300 transakcjach.

Każdy z użytkowników systemu blockchain ma przypisany do adresu (portfela) parę komplementarnych kluczy, które służą do przekształcenia kryptograficznego danych opisanego unikalnym i ściśle określonym schematem (algorytmem). Para przypisanych do adresu (portfela) kluczy obejmuje:
  • klucz prywatny, który jest bezsprzecznym dowodem praw własności do danego adresu (portfela) i służy do inicjowania transakcji transferu danych/aktywów przechowywanych na danym adresie (portfelu). Klucz ten ma charakter ściśle poufny i powinien być wykorzystywany wyłącznie przez właściciela; jego ujawnienie grozi utratą własności adresu (portfela), co umożliwia kradzież tożsamości, a więc inicjowanie transakcji w imieniu właściciela, lecz bez jego wiedzy;
  • klucz publiczny, który służy wyłącznie do potwierdzania własności danego adresu (portfela) i ma charakter ogólnie dostępny dla każdego kontrahenta. Za pomocą klucza publicznego nie można inicjować transakcji na danym adresie (portfelu).

Aby zrealizować transakcje pomiędzy stronami (np. sprzedawca bitcoina X na rzecz kupującego Y), podmiot X wykorzystuje przekształcenie kryptograficzne danych transakcyjnych zawarte na swoim kluczu prywatnym (klucz prywatny X) z pobraniem klucza publicznego beneficjenta transakcji (tj. klucz publiczny Y). Klucz prywatny X służy więc do inicjowania transakcji na rzecz ściśle określonego podmiotu zidentyfikowanego przez klucz publiczny Y. Przekształcenie z wykorzystaniem kluczy nie obejmuje wszystkich danych zawartych w bloku, lecz dla przyspieszenia procesu przekształcenia kryptograficznego danych, wykorzystuje reprezentatywny znacznik bloku, tzw. skrót (ang. hash).

Funkcja skrótu (ang. hash algorithm) ma kilka charakterystycznych atrybutów:
  • ma charakter jednokierunkowy – na podstawie skrótu nie można odtworzyć danych w bloku, które reprezentuje skrót, tzn. stosunkowo łatwo jest wygenerować skrót na podstawie danych wejściowych, ale odgadnięcie danych wejściowych bloku na podstawie znajomości tylko skrótu jest zadaniem praktycznie niemożliwym nawet dla komputerów kwantowych ze względu na ogromną liczbę możliwych kombinacji,
  • zamienia dowolnie duży zbiór danych w bloku w quasi-losową wartość o stałym rozmiarze,
  • wartość skrótu zależy od całego zbioru danych wejściowych – najmniejsza zmiana danych wymaga wygenerowania nowego skrótu, co oznacza brak praktycznej możliwości wygenerowanie dwóch takich samych skrótów na różnych zbiorach danych wejściowych.

Skrót bloku dla danej transakcji (ang. block hash) jest generowany z uwzględnieniem trzech elementów:
  1. tzw. korzeń skrótów (ang. root hash) bieżącego bloku – skrót wyliczony na podstawie drzewa skrótów wszystkich transakcji w bieżącym bloku,
  2. hash poprzedniego bloku,
  3. unikalny 32-bitowy znacznik zmienny w czasie (ang. nounce) o określonej liczbie zer na początku.

Wyliczenie poprawnej wartości skrótu bloku dla danej transakcji z uwzględnieniem ściśle określonego nounce jest elementem uwierzytelniania transakcji przez innych użytkowników sieci (tzw. górników).

Zadanie kryptograficzne, czyli określenie nounce dla skrótu bloku danej transakcji, jest rozsyłane do wszystkich węzłów sieci (tzw. nody). Górnicy, po samodzielnym zweryfikowaniu czy podmiot X rzeczywiście posiada odpowiednią pulę aktywów niezbędną do realizacji transakcji (pobranie klucza publicznego podmiotu X dla sprawdzenia danych zapisanych w historycznych blokach transakcji – średnio 20 razy w przypadku bitcoin), zaczynają konkurować między sobą, kto pierwszy obliczy poprawną wartość nounce, czyli unikalną z wielu możliwych wartości, która pasuje do skrótu bloku.

W praktyce oznacza to generowanie różnych wersji nounce i dopasowywania ich do skrótu dla sprawdzenia, czy można uzyskać zgodną całość. Dla osiągnięcia sukcesu i rozwiązania tak określonej zagadki kryptograficznej trzeba zaangażować jak największą moc obliczeniową.

Pierwszy górnik, który zidentyfikuje poprawny nounce i dopasuje go do skrótu bloku danej transakcji, otrzymuje nagrodę w postaci nowej liczby danej kryptowaluty doliczonej do jego stanu posiadania (np. bitcoiny). Każdy z górników w węźle sieci może szybko sprawdzić, czy rzeczywistości wyliczony nounce jest zgodny z wymaganiami systemu, co kończy autoryzację, a tym samym finalizuje transfer aktywów od podmiotu X do podmiotu Y. Dodatkowo zwycięski węzeł sieci, otrzymuje prowizję, jaką płaci podmiot X za autoryzowanie transakcji. Im wyższa prowizja tym szybciej transakcja może być zautoryzowana, gdyż górnicy nadają jej większy priorytet autoryzacji (kopania).

Protokół blockchain może regulować szybkość rozwiązywania kryptograficznych zagadek przez górników. Przykładowo, w przypadku blockchain w systemie bitcoin transakcja weryfikacji zajmuje do 10 minut. Opóźnienie jest celowe, gdyż uniemożliwia bardzo szybkie wykorzystanie aktywów czy kryptowaluty w różnych transakcjach równocześnie (tzw. double spending) i pozwala na wielokrotne sprawdzenie stanu posiadania przez społeczność.

Poprzez budowę skrótu bloku danej transakcji, bieżący blok transakcji jest automatycznie powiązany z poprzednim blokiem, a ten ze swoim poprzednikiem, tworząc łańcuch bloków (ang. blockchain), które w sumie obrazują historię transakcji na danym adresie (portfelu). Łańcuch jest stale aktualizowany w procesie dodawania nowych bloków, a dane są rozesłane i przechowane na adresach wszystkich uczestników sieci. Stanowi to podstawę dla publicznego potwierdzenia (i udowodnienia), ile jednostek danego aktywa (kryptowaluty) jest przypisanych do danego adresu (portfela).

Ze względu na zasady dostępu do systemu i przypisane funkcje można wyróżnić różne rodzaje blockchain, który może przyjąć status rejestru:
  • otwartego (ang. permissionless public ledgers), który umożliwia dostęp do rozproszonej sieci danych dowolnemu (niezweryfikowanemu) użytkownikowi, przy czym każdy z użytkowników może zawierać transakcje lub/i weryfikować nowe zestawy danych. Systemy publiczne mają wielu anonimowych walidatorów transakcji (tj. górników). Przykład: kryptowaluty bitcoin, ethereum;
  • zamkniętego (ang. permissioned private ledgers), który jest wykorzystywany przez społeczność użytkowników, którzy uprzednio przejdą proces dopuszczenia do sieci (tj. identyfikacji), a więc muszą charakteryzować się ściśle określonymi atrybutami (np. instytucje finansowe, agendy rządowe), którzy zachowują kontrolę nad akceptacją nowych użytkowników i autoryzują walidatorów transakcji (jednego lub kilku). Przykład: BankChain;
  • mieszanego (ang. permissioned public ledgers), który funkcjonuje w oparciu o rozróżnienie kompetencji użytkowników w zakresie pełnionych funkcji, z zastrzeżeniem funkcji weryfikowania transakcji (tj. górników) dla ściśle określonego kręgu podmiotów. Przykład: kryptowaluta ripple.

W każdym rodzaju blockchain strony danej transakcji (zidentyfikowane lub nie) nie mogą się jej wyprzeć, gdyż zarówno obecna, jak i poprzednie transakcje są widoczne publicznie w postaci zabezpieczonych kryptograficznie bloków zawierających transakcje w łańcuchu bloków (chain of block). Zmiana zawartości bloku wymagałaby zmiany wszystkich zapisów w sieci w bloku danej transakcji, jak i integralnie powiązanych blokach wcześniejszych transakcji. W innym przypadku nie ma możliwości wyliczenia skrótu, a więc autoryzacji nowej transakcji.

Zobacz także


Oceń

0 0

Podziel się

Poleć na Wykopie Poleć w Google+

Poleć artykuł znajomemu Wydrukuj

Skomentuj artykuł Opcja dostępna dla zalogowanych użytkowników - ZALOGUJ SIĘ / ZAREJESTRUJ SIĘ

Komentarze (0)

DODAJ SWÓJ KOMENTARZ

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo:

Ok, rozumiem Strona wykorzystuje pliki cookies w celu prawidłowego jej działania oraz korzystania z narzędzi analitycznych, reklamowych, marketingowych i społecznościowych. Szczegóły znajdują się w Polityce Prywatności. Dalsze korzystanie ze strony oznacza, że zgadzasz się na ich użycie. Jeśli nie chcesz, aby pliki cookies były zapisywane w pamięci Twojego urządzenia, możesz to zmienić za pomocą ustawień przeglądarki.