Blockchain, Bitcoin, kryptowaluty – ile można stracić?

Ok, w końcu możemy zapieczętować naszą kartę. Pamiętasz, że informacją z karty była liczba 80931. W powyższym przykładzie liczba 91119 staje się pieczęcią dla tej informacji. Czyli, aby zapieczętować kartę (zabezpieczyć ją tak, żeby nikt nie mógł zmienić jej zawartości), przykleimy na niej pieczęć z opisem ‘91119’. Nasza pieczęć, nazywana przez nas liczbą pieczętującą jest dowodem podjęcia wysiłku na jej wyliczenie. W branży nazywana jest ‘proof of work’ (‘dowód pracy’). Od tego momentu karta będzie trwale zapieczętowana. W rzeczywistości, karta bywa oznaczana również dodatkowymi informacjami, uwzględniającymi specyfikę np. danej branży. Przykładem tutaj może być znacznik czasu, który pozostawia dodatkową informację dot. dokładnej daty zapisu karty. Stosowane są również inne metody zatwierdzania bloków: Proof of Work (PoW), Proof of Stake (PoS), Delegated Proof of Stake (DPoS), Proof of Authority (PoA), ale to już wykracza poza charakter niniejszego artykułu, więc nie będziemy ich omawiać.

rejestr-blockchain-04

Weryfikacja takiej karty jest bardzo prosta, ponieważ wystarczy przepuścić przez maszynę sumę zawartości karty i liczby pieczętującej. Jeżeli otrzymamy wynik zgodny z naszym schematem (tut. frazę zaczynającą się od 4 jedynek), będzie to oznaczało, że zawartość karty pozostała nienaruszona. W przeciwnym razie możemy wyrzucić kartę, ponieważ jej zawartość najprawdopodobniej została zmieniona lub błędnie zapisana i zwyczajnie nie nadaje się do użytku.

Chcąc zabezpieczyć wszystkie karty z naszych księgach wieczystych, użyjemy podobnego mechanizmu ich pieczętowania, a następnie ułożymy je w folderach. Tak więc, jeśli ktokolwiek, kiedykolwiek spróbuje zmienić zawartość karty, wynik kontrolny maszyny umożliwi weryfikację autentyczności karty.

Przejdźmy do kolejnego kroku…

Obliczaniem liczby pieczętującej kartę tak, aby można było ją bezpiecznie odłożyć do folderu, zajmują się wszyscy chętni, w ramach sieci. Każda zainteresowana osoba wykonuje stosowne obliczenia. W chwili, gdy pojawi się pierwszy wynik jest on podawany do wiadomości wszystkich uczestników sieci. Załóżmy, że pierwszej udało się Ani:

blockchain-wykopana-liczba

W tym momencie wszyscy nasi bohaterowie sprawdzają, czy odnaleziona i ogłoszona liczba daje odpowiedni wynik. W przypadku powodzenia, wszyscy oznaczają własne karty tą liczbą i odkładają je do folderów. Nie muszą kończyć swoich obliczeń, przyjmują tę pierwszą odnalezioną. W przeciwnym razie obliczenia są kontynuowane, aż do skutku.

Może też zdarzyć się tak, że któryś z uczestników nie uzyska wyniku zgodnego ze schematem. Powodem może być np. przekłamanie informacji, która do niego dotarła lub zwykła pomyłka. Może być również nieuczciwość któregoś z uczestników. Niezależnie od przyczyny, taki uczestnik ma tylko jedną możliwość. Musi pozbyć się karty z nieprawidłowymi zapisami i skopiować kartę innego uczestnika danej sieci. W przeciwnym razie, nie może kontynuować zapisów i jest to równoznaczne z jego odejściem z sieci. W przypadku pojawienia się kilku wadliwych zapisów, wszystkich obowiązywać będzie liczba zabezpieczająca, którą wybierze większość uczestników.

Kiedy już każdy z naszych bohaterów odłoży swoją kartę do katalogu, wszyscy wyciągają kolejna pustką kartę i proces zaczyna się od nowa.

A co z leniami?

Jak pamiętasz, wyliczenie (wykopanie) prawidłowej liczby wymaga sporego wysiłku, zużycia konkretnych zasobów. Nie wszyscy mogą być skłonni do jego podjęcia i mogą bezczynnie czekać na wynik, który wskaże ktoś inny. I w tym miejscu pojawia się wytłumaczenie skąd i na jakich zasadach pojawił się przy tej okazji rynek usług kopania. Dzieje się tak, ponieważ osoba, która obliczy wartość liczby zabezpieczającej kartę otrzyma wynagrodzenie w zamian za poniesione koszty i wysiłek. W naszym przykładzie, to Ani udało się wyliczyć prawidłową liczbę i wskazać ją jako pierwszej, więc to jej należy się wynagrodzenie.

blockchain-wynagrodzenie

Niech stawką będzie np. 1 PLN / liczbę, choć oczywiście to nie musi być wynagrodzenie w formie jakiejkolwiek waluty.. Tak więc, saldo na rachunku Ani zostaje zwiększone o 1 PLN. Przy czym dzieje się to bez potrzeby odejmowania tej kwoty z innych rachunków. I właśnie taki system wynagradzania powoduje, że odpowiednia ilość osób chce pracować na rzecz rozwoju sieci.

Przy okazji ciekawostka: W taki właśnie sposób powstał Bitcoin, czyli pierwsza i wciąż najpopularniejsza kryptowaluta, powstała w oparciu o blockchain. Na tym przykładzie od razu wytłumaczmy sobie skąd popularność kryptowalut. A przewidział to twórca pierwszej z nich Satoshi Nakamoto: „Kupienie kilku Bitcoinów może mieć sens, na wypadek, gdyby system miał zadziałać. Jeśli wystarczająco dużo ludzi pomyśli w ten sposób, wówczas to zdanie stanie się samospełniającą się przepowiednią.”. W momencie, kiedy wystarczająca liczba ludzi weszła w posiadanie Bitcoinów, ich wartość zaczęła wzrastać. To spowodowało, że inni też chcieli je mieć, co z kolej wywołało dalszy wzrost ich wartości. I poleciało..

Ok, a jeśli ktoś postanowi bardziej pokombinować?

Opisane dotąd zabezpieczenia to jeszcze nie wszystko. Wyobraź sobie, że nasze księgi wieczyste rozrosły się i w katalogu jest już wiele kart. Wszystkie oczywiście zostały zabezpieczone przy użyciu liczby pieczętującej. Ktoś może jednak okazać się nieuczciwym. Postanowi wrócić np. do drugiej karty i dokonać w niej zmiany na własną korzyść. To nie będzie stanowiło zagrożenia, bowiem okresowe kontrolowanie liczby wyjściowej pozwoli wykryć ew. niespójności w zapisach. Natomiast problem może pojawić się, gdy nasz czarny charakter postanowi obliczyć nową liczbę, już dla zmodyfikowanych przez siebie zapisów i użyje jej do zapieczętowania karty. Na szczęście system został zabezpieczony i przed takimi działaniami poprzez pewną sztuczkę.

Wróć pamięcią do przykładu generowania klucza zabezpieczającego, pieczęci dla naszej karty. Znaliśmy informację z karty (liczbę 80931) i naszą rolą było wyliczenie brakującej liczby, którą okazała się 91119. Dalej sumowaliśmy te dwa składniki i wynik wprowadzaliśmy do naszej maszyny. W rzeczywistości, aby dokonać takiego obliczenia przy użyciu blockchain, do tych dwóch liczb dochodzi jeszcze trzecia. I do maszyny wprowadzana jest suma trzech elementów, nie dwóch. Tą trzecią, brakującą liczbą jest wynik podany przez maszynę dla poprzedniej karty.

blockchain-kopanie-04

Ta prosta sztuczka daje nam pewność, że wynik dla każdego elementu łańcucha jest zależny od wyniku dla poprzedniego elementu. Czyli, jeśli nastąpi jakaś ingerencja we wcześniejszych kartach, również zostanie to szybko wykryte. Żeby nie dopuścić do wykrycia kombinacji, nasz szwarccharakter musiałby zmienić nie tylko zawartość fałszowanej, ale również pieczęcie dla wszystkich późniejszych kart. To jedyny sposób, aby łańcuch pozostał spójny.

Ok, ale to przecież możliwe!

Tak, technicznie jest to oczywiście wykonalne. Ale, ale… W przypadku, gdyby któryś z naszych bohaterów spróbował oszukać system i wprowadził jakąkolwiek modyfikację w naszych księgach wieczystych, będzie musiał zmienić wszystkie kolejne karty i ponownie obliczyć liczby pieczętujące, dla każdej z nich. Pamiętasz jak trudne i kosztowne jest obliczenie liczby pieczętującej? Dopóki więc ilość uczciwych bohaterów będzie większa, ci źli nie będą w stanie pokonać dobrych. Sprawdźmy dlaczego: Począwszy od tej karty, którą nieuczciwy uczestnik zmieni, powstanie nowy łańcuch. Tenże jednak, nigdy nie będzie w stanie dogonić autentycznego łańcucha. Powodem jest fakt, że moc obliczeniowa i wszelkie wysiłki ze strony jednej osoby (mniejszości), nigdy nie będą większe, niż zbiorowy wysiłek pozostałych (większości). Stąd mamy gwarancję, że najdłuższy łańcuch w ramach naszych ksiąg wieczystych, pozostanie tym autentycznym.

Dla pełnej świadomości i rzetelności, zastanówmy się nad jeszcze jednym scenariuszem. A mianowicie – co, jeżeli większość uczestników systemu postanowi zachować się nieuczciwie wobec mniejszości? W takim przypadku cały system zostanie zdyskredytowany, a takie zjawisko nazwane zostało „51% Attack”. Jeśli większość uczestników sieci zdecyduje się na nieuczciwy ruch i oszuka resztę uczestników, cały system przestanie działać. I to jest jedyny faktyczny powód, dla którego dany system oparty na idei blockchain może zawalić się. Jest on oparty o założenie, że większość uczestników danej sieci zawsze zachowa się uczciwie, czy może raczej racjonalnie. Powodem tego jest fakt, że kopanie jest bardzo kosztowne. Poniesiony wysiłek zwróci się jedynie w przypadku, gdy system pozostanie niezachwiany, czyli w interesie większości jest, aby nie oszukiwać.

Jak sytuacja wygląda w Polsce?

Hmm, odpowiedź musi być niestety dwutorowa. Niedobrze, jeśli wziąć pod uwagę zaległości regulacyjne, ogólną świadomość wśród przedstawicieli władzy i większości urzędników. Co prawda pojawiają się jaskółki i światełka, ale jeszcze długa droga. Jest grupa osób, która niezależnie od klimatu politycznego, wie o co toczy się gra i próbuje robić swoje. Pojawią się wkrótce również naciski ze strony UE, która chce dotrzymać kroku. A Polska albo szybko zaskoczy, albo ten pociąg odjedzie szybko i daleko.

Dobrze natomiast, jeżeli wziąć pod uwagę świat biznesu, szczególnie tego powiązanego z IT, bądź aktywnie korzystającego z informatyzacji. Przykładem niech będzie tutaj jeszcze ‘ciepły’ (z 12.2018r.) raport „Blockchain w Polsce. Możliwości i zastosowania”, przygotowany przez Komitet Fintech Polskiej Izby Informatyki i Telekomunikacji[xvii]. Raport opisuje istniejące wdrożenia biznesowe tej technologii w Polsce i został stworzony nie przez teoretyków, ale praktyków blockchain. Jak podają autorzy, opracowanie jest kompleksowym przewodnikiem po technologii blockchain skierowanym do biznesu. „W otaczającym nas świecie odkrycie technologii blockchain jest tym, czym było wynalezienie komputera do dokonywania skomplikowanych obliczeń. (…) szykuje nam kolejną przejażdżkę rollercosterem w przyszłość. Zmieni się dosłownie wszystko: od prostych operacji, po globalne zaawansowane procesy rozliczeniowe.”

Raport pokazuje możliwości wykorzystania technologii blockchain w polskich warunkach, a główną część raportu stanowią opisy zastosowań. Dla Ciebie Czytelniku raport może być nie tylko uzupełnieniem niniejszego artykułu, przenosząc przy okazji na wyższy poziom, niż to ‘ABC’. Uzupełnia również naszą listę z punktu ‘Otwórz oczy, a zrozumiesz’ o szeroko opisane rozwiązania:

  • Trwały nośnik
  • e-Głosowanie (e-Voting)
  • Planowanie i kontrola dostaw
  • Elektroniczna Dokumentacja Medyczna Pacjentów
  • Zapobieganie kradzieży telefonów
  • Przeciwdziałanie oszustwom faktoringowym typu “dublowany factoring”
  • Zdecentralizowania dystrybucja treści cyfrowych
  • Robotic Process Automation wspierane technologią blockchain
  • Płatności i rozliczenia międzybankowe z wykorzystaniem sieci Ripple

 

Podsumowanie

Cóż, dotarliśmy do końca. Temat pt. ‘Podstawy działania systemów opartych o blockchain’ uważam za wyczerpany ;). Mam nadzieję, że postrzegasz już ideę blockchain, jako bardzo wiarygodny rejestr. Ewidencję praktycznie dowolnych danych, zapisanych w taki sposób, aby jakakolwiek ingerencja w przechowywane informacje była praktycznie niemożliwa. Mam również nadzieję, że podane przykłady wykorzystania blockchain w otaczającej nas rzeczywistości, przekonały Cię, że to już nie żadne science fiction. Moim skromnym zdaniem, wielkimi krokami nadchodzi rewolucja, a zalety tej technologii spowodują, że otaczający nas świat stanie się choć troszeczkę lepszy, efektywniejszy, sprawiedliwszy. Czego życzę zarówno Tobie, Szanowny Czytelniku, sobie, jak również wszystkim innowacyjnym społeczeństwom.

stefan-servinski-servizza

Servizza Team, przy wsparciu Stefana 


[i] Raport dostępny online: https://www.weforum.org/whitepapers/realizing-the-potential-of-blockchain

[ii] Na podstawie: https://medium.com/@matteozago/50-examples-of-how-blockchains-are-taking-over-the-world-4276bf488a4b

[iii] http://www.coinfox.info/novosti/7335-blockchain-will-be-used-by-chinese-government-for-taxation-and-electronic-invoices-issuance

[iv] http://www.akcelerator.tech/pl/dokuchain-system-uwierzytelniania-dokumentow/

[v] http://www.newsweek.com/blockchain-sell-real-estate-first-time-ethereum-682982

[vi] https://www.openaccessgovernment.org/blockchain-technology-track-authenticate-diamonds/41525/

[vii] https://cointelegraph.com/news/consortium-of-61-japanese-banks-to-release-instant-mobile-payment-app-powered-by-ripple

[viii] https://btcmanager.com/ibm-launches-carbon-credit-management-using-hyperledger-fabric-blockchain/

[ix] https://www.forbes.com/sites/rogeraitken/2017/12/14/ibm-walmart-launching-blockchain-food-safety-alliance-in-china-with-fortune-500s-jd-com/#5e29f1667d9c

[x] https://usethebitcoin.com/zim-shipping-company-use-blockchain-technology-product-shipping/

[xi] https://cointelegraph.com/news/taipei-partners-with-iota-to-become-a-blockchain-powered-smart-city

[xii] http://www.businesstimes.com.sg/banking-finance/aig-teams-with-ibm-to-use-blockchain-for-smart-insurance-policy

[xiii] https://digiday.com/marketing/cheatsheet-blockchain-media-advertising/

[xiv] https://cointelegraph.com/news/sp-global-platts-launches-blockchain-network-to-track-oil-data-in-uae

[xv] https://www.bitguru.co.uk/russian-railway-to-use-blockchain/

[xvi] https://www.tweaktown.com/news/60957/ubisoft-exploring-blockchain-tech-games/index.html

[xvii] Raport można pobrać bezpłatnie po podaniu e-maila, ze strony: https://www.raportblockchain.pl/