Czym jest blockchain (łańcuch bloków)

Wielokrotnie słyszałeś już to pojęcie, jednak czym jest blockchain (łańcuch bloków)?

Pozwól na wstępie, że nie umieszczę tutaj głębokich szczegółów technicznych. Nie ułatwi to zrozumienia. Jeżeli będziesz zainteresowany szczegółami, znajdziesz je w kolejnych artykułach. Chcąc maksymalnie uprościć zrozumienie czym jest blockchain, można przyjąć że jest rozproszoną bazą danych utrzymującą stale rosnącą ilość rekordów danych zabezpieczonych kryptograficznie przed manipulacją i próbą naruszenia integralności. Myślisz sobie… Świetnie, a co w tym nowego? Skąd ten cały szum i rosnące od kilku lat w tempie wykładniczym zainteresowanie tą technologią, która w zasadzie nie jest niczym nowym, a raczej jest złożeniem istniejących dojrzałych już technologii w spójną całość? Na to pytanie znajdziesz odpowiedź w dalszej części.

Czym jest blockchain

Blockchain to nie Bitcoin

Wiele osób zapytanych o to czym jest blockchain odpowiada wprost – Bitcoin. Inne osoby mówią tu o kryptowalutach (Bitcoin to w zasadzie kryptowaluta). To nie jest błąd, jednak jest to ogromne uproszczenie, ponieważ właśnie bitcoin był pierwszą poważną implementacją technologii blockchain. Dlatego wielokrotnie można spotkać się z tłumaczeniem czym jest blockchain na podstawie łańcucha bloków bitcoina. Nie skupiajmy się jednak nad tym, tylko spróbujmy potraktować blockchain jako rozproszoną rachunkową księgę główną (ang. Distributed Ledger) wykorzystywaną do rejestrowania np. transakcji finansowych czy zdarzeń gospodarczych. Taka charakterystyka powoduje, że zaczynasz sobie myśleć że przecież nie znasz się na finansach i księgowości. Miałem dokładnie tak samo 🙂 Dlatego w dalszej części opowiem przykłady użycia które na zawsze zmienią Twoje postrzeganie tego czym jest blockchain.

bitcoin_not_blockchain_1

Blockchain 1.0

Tak jak wspomniałem w poprzednim paragrafie, blockchain został wykorzystany po raz pierwszy w bitcoin i stanowi podwaliny wszystkiego co dalej się wydarzyło. Czym jest blockchain 1.0? Jest rozproszoną bazą danych lub formą księgi rachunkowej, w której składowane są transakcje zachodzące po sobie w kolejności, reprezentując w ten sposób stan łańcucha (tzw. sieci) w każdym wybranym momencie czasu. W nomenklaturze bardziej informatycznej można to porównać do prostej maszyny stanowej w której transakcja powodowała zmianę stanu. Jeszcze inaczej mówiąc, rodzaj bazy danych opartej o klucze główne i klucze obce.

Ewolucja Blockchain

Podobnie jak ewoluowały transakcyjne bazy danych i zawierają w sobie logikę w postaci procedur (ang. stored procedures) i wyzwalaczy (ang. triggers), księgi rozproszone zostały wyposażone w coś co nazwano inteligentnymi umowami (ang. smart contracts). Reprezentowane są one w formie procedur (kodu), które składowane są wraz z transakcjami w łańcuchu. Procedury, dokładnie jak w bazach danych, mogą wykonywać skomplikowane operacje na transakcjach w blockchainie. To właśnie inteligentne umowy stanowią najważniejszy element technologiczny który uzupełnił to czym jest blockchain 2.0.

Pierwsze projekty wykorzystujące blockchain 2.0 i inteligentne kontrakty szybko zlokalizowały pewne braki w logice blockchaina. O ile transakcje zawierane „wewnątrz” łańcucha bloków były tematem uporządkowanym i działającym, zabrakło  „impulsu z zewnątrz”. Chodzi głównie o zdarzenia generowane np. przez rynki finansowe, kurs walut w danej sekundzie, zmiany LIBOR itp., czyli wstrzykiwanie zdarzeń do łańcucha w celu przeprowadzenia transakcji. Jako że jest to czynnik zewnętrzny, poza blockchainem, zaufanie do źródła danych musiało być bardzo wysokie. W tym celu powoływano źródła danych nazywane wyroczniami (ang. oracle), będącymi zabezpieczonymi źródłami godnymi zaufania. Problem pojawiał się gdy transakcje dotyczyły różnych podmiotów, zaś bezpieczeństwo i jakość danych podawanych przez wyrocznie było poddawane dyskusji.

Cryptlet (szyferek?), czyli Blockchain 3.0

W celu rozwiązania problemu wyroczni, Microsoft w projekcie Bletchley wprowadza nowy element w ekosystemie blockchaina, który nazywa cryptletem. Stanowi on zaufany węzeł pośredniczący pomiędzy światem zewnętrznym a blockchainem. Ponieważ komunikacja jest zaszyfrowana, bezpieczeństwo zapewnione, integralność i spójność przekazywanych danych zapewniona i zaufana, cryptlet jako middleware może istnieć poza samym łańcuchem bloków np. jako instancja w chmurze. Dzięki temu część transakcji w formie procedur i wykonywanego kodu zostaje całkowicie wydelegowana do cryptleta i może prowadzić interakcje z zewnętrznymi źródłami danych.

Cryptlets

Źródło: Microsoft

Co łączy blockchain 3.0 z Microsoft?

Blockchain, posiadając wiele implementacji, także tych otwartych w formie Open-Source jest dosyć trudny do zintegrowania, ponieważ na aplikację składa się wiele elementów które za każdym razem trzeba ze sobą połączyć, często dopisać także kawałek kodu.

Microsoft uruchamiając usługę Azure Blockchain as a Service udostępnił w pełni zintegrowaną platformę do budowania aplikacji opartych o blockchain. Także jako pierwszy wprowadził cryptlety jako integralną część swojej platformy. Ten ruch pozwolił na wysunięcie się na prowadzenie w wyścigu technologicznym. Zapewniając wszystkie elementy składowe, w pełni ze sobą zintegrowane, gdzie nad bezpieczeństwem implementacji poszczególnych części pracują sztaby ekspertów, otrzymujemy swoisty ekosystem. Począwszy od możliwości budowania aplikacji webowych, integracji z usługami kryptograficznymi, możliwością wyboru konkretnej implementacji blockchaina na której chcemy oprzeć aplikację (Ethereum, Hyperledger i inne), po usługi analityczne i sztuczną inteligencję pozwalającą na zaawansowane raportowanie. To właśnie wizja projektu Bletchley od Microsoft i muszę powiedzieć że jest to chyba jedna z najbardziej pełnych wizji jakie przedstawiają do tej pory dostawcy blockchain na świecie.

Źródło: Microsoft

Źródło: Microsoft

Przykłady użycia (use cases)

W dużej ogólności wytłumaczyłem czym jest blockchain, ale pewnie nadal trudno Tobie wymyślić przypadki w których może on zostać wykorzystany. Poniżej umieszczam zatem kilkanaście scenariuszy, które pomogą Tobie zrozumieć do czego można blockchain wykorzystać. Kolejne przykłady będziesz już swobodnie mnożyć sam, bo z pewnością jest ich bardzo wiele!

  • Płatności oraz pożyczki Peer-to-Peer – globalna sieć przekazów pieniężnych i pożyczek, eliminująca pośredników. Przykład: Abra, BTC Jam
  • Internet rzeczy (Internet of Things) – śledzenie stanu, historii, wymiana zdarzeń. Przykład: Filament
  • Systemy głosowania – rozproszone, niezaprzeczalne, automatyczne zliczanie głosów z pełną historią. Przykład: FollowMyVote
  • Wymiana walut, transakcje między-bankowe – szybkie, pewne i niezawodne systemy transakcyjne. Przykład: Ripple, Coinbase
  • Transport – 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). Przykład: Arcade City
  • Zdecentralizowane rynki – transakcje zawierane bez pośredników i instytucji. Sprzedaż, współdzielenie i wynajem własności. Przykład: Open Bazaar, Slock.it
  • Dowód własności/autorstwa – wyeliminowanie dowodów własności, dokumentów świadczących o legalności, przeniesienie własności do blockchain. Przykład: Proofofexistence, Clipperz, Stampery
  • Dystrybucja i produkcja energii – przeniesienie do blockchain rozliczania transportu energii, liczników energii, producentów energii (np. osób odsprzedających energię z ogniw Fotowoltaicznych), wydawanie certyfikatów i analiza. Przykłady: LO3Energy, Brooklyn Microgrid, SolarChange
  • Tożsamość i jej weryfikacja – rozproszone systemy identyfikacji osób, cyfrowe podpisy, autoryzacje, reputacja. Przykład: UniquId, OneName, WorldTable
  • Składowanie danych – zaufane, rozproszone, odporne na awarie i próby wpłynięcia na integralność danych systemy składowania danych. Przykład: NXT, PeerNova
  • Inteligentne kontrakty – automatycznie zawierane i wykonywane kontrakty których nikt nie kontroluje, ale każdy (w obrębie blockchainu) im ufa (zautomatyzowane łańcuchy dostaw). Przykład: UbiMS, Mirror
  • Hazard, systemy gier, przewidywanie zdarzeń – anonimizacja graczy, przekazy wygranych, osiągnięcia, własne waluty w grach komputerowych, systemy przewidywania (np. ruchu przeciwnika). Przykład: Augur, Deckbound
  • Digitalizacja dokumentów – składowanie odpowiedników w formie inteligentnych kontraktów, składowanie skanów, odpowiedników w formie plików danych, gwarancja niezaprzeczalności. Przykład: Składowanie paragonów w blockchain w celach gwarancyjnych, Colu
  • Identyfikacja, śledzenie dóbr luksusowych – śledzenie dzieł sztuki, diamentów, zegarków, dóbr kolekcjonerskich. Przykład: Everledger, BlockVerifyChainlink
  • Usługi rządowe – podatki, składki, hipoteki, akty własności, księgi wieczyste, rejestry (PESEL, NIP itp.). Przykład: BitNation, ShoCard

Podsumowanie

Rewolucja blockchain dopiero nadchodzi. Ilość zastosowań jest ograniczona jedynie przez Twoją wyobraźnię. W tej chwili rządy wielu państw inwestują miliony dolarów w rozwój technologii wykorzystujących blockchain. Powstają setki startupów, które dzięki crowdfounding zbierają pieniądze na rozwój i badania. Coś w tym musi być! Nie bez powodu Światowe Forum Ekonomiczne umieszcza w TOP10 technologię blockchain!

Mam nadzieję że zaspokoiłem Twój pierwszy głód wiedzy i wytłumaczyłem czym jest blockchain. W kolejnych artykułach spróbuję zgłębić temat, więc pozostańmy w kontakcie!