Zainteresowałeś się Blockchainem, a teraz zastanawiasz się jak sprawdziłby się on w Twoim modelu biznesowym? Bez wątpienia jest to technologia, która w ciągu ostatnich kilku lat ciągle zyskuje popularność, a rozwiązania na niej oparte znajdziemy już w tak różnorodnych branżach jak nieruchomości i rozrywki. Wśród firm obecnych na AngelList blisko 3 tysiące wykorzystuje Blockchain. Na blogu Nextrope staramy się wyjaśnić kluczowe kwestie z nim związane oraz przedstawić obszary, w których jego zastosowanie mogłoby okazać się korzystne. W tym artykule zajęliśmy się porównaniem najbardziej popularnych protokołów: Ethereum, Hyperledger Fabric, Corda i Quorum.
Ethereum
Ethereum to platforma deweloperska oparta na technologii blockchain, którą w 2015 stworzył Vitalik Buterin. Umożliwia ona budowę zdecentralizowanych aplikacji (DApps) wykorzystujących inteligentne umowy (smart contracts).
Ethereum było pierwszym blockchainem wykorzystującym smart contracts - fragmenty kodu w języku Solidity. Kontrakty wywoływane są przez EVM, będące jądrem Ethereum. Kontrakty nie mogą kontaktować się z otoczeniem np. stroną internetową, ani uruchamiać się same - muszą być wywołane z zewnątrz. Jeżeli zapisana w nich funkcja zostanie wywołana w jednym węźle, automatycznie wykona się również we wszystkich pozostałych. Efekty będą więc widoczne w całej sieci. Dzięki temu, możliwe jest tworzenie na platformie Ethereum zdecentralizowanych aplikacji.
Ponieważ w kod już osadzonego kontraktu nie można ingerować - pozostaje on tylko do odczytu, jego zmiana wymaga osadzenia nowego, całkowicie niepowiązanego z poprzednim, który będzie miał już inny adres i początkowy stan zmiennych. Kontraktu po uruchomieniu nie można też zatrzymać, chyba, że zostało to zakodowane w kodzie źródłowym. Wszelkie operacje zapisu do smart contract’u są jawnie logowane i można je odczytać poprzez wiele dostępnych blockchain explorerów. Składa się to na gwarancję niezmienności zakodowanej w ten sposób informacji, wartości czy funkcji. Czasami określane jest to mianem “law by code” - tworzeniem prawa przy pomocy kodu źródłowego.
Ethereum gwarantuje niezmienność wspomnianych danych, a w konsekwencji rzetelność informacji i procesów opartą na dwóch warstwach: blockchainie i smart contract, a nie scentralizowanym nadzorze. Tym sposobem znika potrzeba tworzenia lub angażowania zaufanych stron trzecich. Niesie to za sobą szereg korzyści pozwala m. in. na zawieranie transakcji bezpośrednio pomiędzy użytkownikami sieci, upraszcza i przyśpiesza proces zawierania umów i obniża koszty zapewnienia rzetelności danych.
“Żyjemy w rzeczywistości, w której nikt nikomu nie ufa, w związku z czym wytwarzamy sobie mniej lub bardziej zinstytucjonalizowane strony trzecie, którym to zaufanie powierzamy. Przekazujemy im nasze dane, informacje, majątek czy tożsamość po to, żeby być w stanie zrealizować jakiś wspólny interes, wytworzyć wartość dodaną. Jeżeli będziemy w stanie to zaufanie lub jego element wygenerować w inny, tańszy sposób niż poprzez zaufaną stronę trzecią, to w tym miejscu blockchain będzie miał swoje zastosowanie.”
Maciej Jędrzejczyk IBM Blockchain Leader w wywiadzie dla Nextrope
Dapps pozwalają również ograniczyć konieczność kontroli administratora - np. podmiotu biznesowego zakładającego platformę- nad całą siecią. Bardzo często znajduje to zastosowanie w relacji b2c. Ostatnio mieliśmy okazję zaprezentować przykłady tego jak takie rozwiązania, w tym OPUS bazujący właśnie na Ethereum, mogą zmienić rynek rozrywki.
Dzięki decentralizacji bezpieczeństwo danych, nie jest już uzależnione od pojedynczego serwera czy serwerowni. Jeżeli ulegną one zniszczeniu w kilku węzłach, nadal znajdują się we wszystkich pozostałych. Przewagę decentralizacji opisaliśmy już wcześniej na przykładzie ksiąg wieczystych, które aktualnie przechowywane są w sposób scentralizowany, co czyni je wrażliwymi na wpływ czynników losowych takich jak pożary i katastrofy klimatyczne. Wspomniana niezmienność kodu źródłowego pozwala również ograniczyć praktycznie do zera ryzyko udanego ataku hakerskiego.
Kolejną zaletą Ethereum jest warstwa tokenizacji. Token to smart contract o ustandaryzowanej postaci tworzący jednostkę wartości. Organizacje tworzą go aby umożliwić użytkownikom interakcję ze swoimi produktami oraz ułatwić dystrybucję i dzielenie się nagrodami i korzyściami. Tokeny mogą być wykorzystywane np. do rozliczania praw własności, wypłaty wynagrodzenia, podziału wartości aktywów czy przyznawania bonusów stałym klientom. Tak naprawdę ich zastosowanie jest tak szerokie jak potrzeby organizacji decydujących się rozwijać to rozwiązanie.
Ethereum jako jedyny z wymienionych w tym artykule blockchainów posiada wbudowaną w protokół kryptowalutę - Ether. Aby wysłać do blockchainu zestaw danych użytkownik musi uiścić opłatę - gas - za ich zapisanie. Aby tego dokonać musi on posiadać klucz prywatny swojego portfela. Sam smart contract nie uruchomi transakcji, dopóki nie będzie ona podpisana i opłacona z portfela.
Hyperledger Fabric
Jak się jednak okazuje, wymaganie aby każdy z użytkowników utrzymywał zdecentralizowany rejestr i finalizował transakcje w części modeli biznesowych jest nieoptymalne. Z myślą o wymogu zachowania poufności części danych, w 2018 roku Linux Foundation założyło projekt Hypeledger,obecnie wspierany także przez IBM, Intel czy SAP Ariba rozwijający szereg rozwiązań w tym najpowszechniej używane - platformę Hyperledger Fabric.
Dzięki swojej modułowości, może ona służyć jako blockchain prywatny co oznacza, że tylko zatwierdzeni użytkownicy będą mieli dostęp do udostępnianych za jego pośrednictwem danych. Ma to kluczowe znaczenie dla wielu przedsiębiorstw, którym zależy na wymianie informacji np. o transakcjach tylko pomiędzy zaufanymi stronami.
Tak jak Ethereum, Hyperledger Fabric jest rozwiązaniem open-source, co oznacza, że jego licencja pozwala na legalne oraz nieodpłatne kopiowanie i modyfikacje. Różnica polega na tym, że rozwiązanie, modyfikacja kodu tworzona w ramach tej platformy nie musi być udostępniana wszystkim użytkownikom. Pozwala to deweloperom rozwijać własność intelektualną bez potrzeby dzielenia się nią ze światem. Ma to bardzo duże znaczenie dla biznesu, gdzie nie tylko produkt i usługa, ale też sposób ich wytworzenia posiada wymierną wartość.
Kolejną różnicą pomiędzy tymi dwiema technologiami jest sposób dochodzenia do konsensusu. Ze względu na wspomnianą modułowość w Hyperledger Fabric może być on osiągany zarówno na poziomie całego systemu, jak i tylko osób bezpośrednio zaangażowanych w transakcję. Oznacza to, że użytkownicy sami decydują kto w sieci blockchain będzie przetwarzał wprowadzone przez nich dane. Do wpisania informacji w rejestr nie jest potrzebna zgoda wszystkich węzłów. Pozwala to zachować poufność informacji, ponieważ zwalnia z obowiązku udostępniania pełnego zestawu danych każdemu oraz zwiększa wydajność systemu.
Różnica w praktyce
Wyobraźmy sobie Jana, który na warszawskim Mokotowie prowadzi za pośrednictwem blockchain sklep, do którego potrzebuje dostarczyć awokado. Znajduje w Chile producentkę Emilię, z którą udaje mu się wynegocjować specjalną cenę, niższą o 30 % od tej jaką normalnie oferuje. Jednak posiada ona również innych klientów, którym nadal chciałaby sprzedawać swój towar po pełnej cenie. Zależy jej więc, aby fakt o obniżeniu ceny pozostał poufnym.
Jeżeli ich transakcja byłaby zarejestrowana w blockchainie publicznym byłoby to niemożliwe. O odmiennych warunkach dowiedzieliby się od razu pozostali klienci Emilii. Nie doszłoby nawet do finalizacji transakcji, ponieważ ta wymagałaby uzyskania konsensusu przez wszystkie węzły.
Hyperledger pozwala rozwiązać ten problem. Aplikacja o niego oparta najpierw sprawdziłaby tożsamość Jana, a następnie wysłałaby dane o transakcji tylko do Emilii, która po zaakceptowaniu warunków odesłałaby dane do Jana i ważna transakcja mogłaby zostać zapisana w ich rejestrze. W takim układzie tylko dwie strony muszą uzyskać rezultat. Kiedy pojawia się ich więcej, po zaakceptowaniu warunków przez dwie pierwsze z nich, umowa o transakcję zostaje przesłana do chmury, w której pozostałe na drodze konsensusu akceptują transakcję. Ta następnie wpisywana jest do rejestru.
Jednak już samo dostarczenie awokado do sklepu Jana, angażuje nie tylko jego i producentkę, ale i wiele innych podmiotów. Aby mogły trafić do Warszawy konieczny będzie udział spedytora, służb portowych i celnych, czy ubezpieczyciela, który zabezpieczy całą transakcję. Większość z nich nie potrzebuje informacji o specjalnej umowie Jana z Emilią. Dzięki Hyperledger transakcja może być przez nich przetwarzana bez konieczności przetwarzania wszystkich informacji.
Dlatego sprawdza się on wszędzie tam, gdzie potrzebne jest zachowanie poufności informacji bez przekazywania ich wszystkim stronom. Hyperledger Fabric znajduje więc zastosowanie w szeregu różnych branż, w tym finansowej, logistycznej, a nawet spożywczej.
Corda
Kolejnym rozwiązaniem rozwijającym temat prywatnych sieci blockchain jest założona przez firmę R3 Corda. Celem jej powstania było stworzenie globalnego rejestru, w którym podmioty gospodarcze mogą wchodzić w interakcje i zarządzać umowami. Aby to umożliwić architektura platformy opiera się na następujących założeniach:
- Tylko podmioty posiadające uzasadnione interesy mogą uzyskać dostęp do rejestrów na platformie
- Zachowanie umów zarządzanych przez system jest opisane kodem komputerowym, który zapewnia ich zgodność z prawem.
- Części systemu pozostają otwarte, aby umożliwić ich powszechne przyjęcia w różnych gałęziach przemysłu.
- Konsensus osiągany jest tylko na poziomie osób dokonujących transakcji, a nie całego systemu
Platforma tak jak Hyperledger i Ethereum wykorzystuje smart contracts, z tym, że w przypadku Cordy obowiązującym językiem ich zapisu jest Kotlin, a sam termin “smart contract” zastąpiony jest przez “contract” . Takie contracty łączą logikę i dane biznesowe z powiązanym procesem prawnym, co zapewnia zakorzenienie zawieranych za pośrednictwem Cordy umów w obowiązującym prawie.
Jeżeli chodzi o konsensus, to w Cordzie spotykamy jego dwa rodzaje: ważność transakcji i wyjątkowość transakcji. Aby uzyskać pierwszy z nich strony muszą osiągnąć pewność sprawdzając cały powiązany kod umowy i dostarczając wszystkie wymagane podpisy. W przypadku drugiego weryfikują one czy dana transakcja jest unikalnym konsumentem wszystkich podanych informacji. Ten proces obejmuje sprawdzenie, czy żadna inna transakcja nie zużywa któregoś z uzgodnionych warunków.
Quorum
Jednak Corda nie jest jedyną platformą blockchain stworzoną z myślą o świecie finansów, który w technologii blockchain dostrzega zarówno szansę jak i ryzyko. Z jednej strony bardzo korzystną dla branży jest niezmienność i identyfikowalność informacji. Z drugiej, model publicznej jawności wszystkich danych stoi w sprzeczności z interesem instytucji takich jak banki. Quorum - platforma stworzona przez JP Morgan - jest Ethereum wzbogaconym o warstwę prywatności, pozwalająca korzystać z zalet technologii blockchain bez konieczności upubliczniania danych wszystkim użytkownikom
Tak samo jak Corda jest to więc blockchain prywatny. Platforma wdrażana jest wyłącznie pomiędzy użytkowników zatwierdzonych wcześniej przez zaprojektowany do tego celu program. Co istotne, Quorum pozwala rozróżnić transakcje prywatne i publiczne w łańcuchu i zaistnienie obu w ramach jednej sieci blockchain. Publiczne zachowują się tak samo jak transakcje oparte na „zwykłym” Ethereum, natomiast prywatnymi zarządza system o nazwie Constellation. Jest to mechanizm niewykorzystujący technologii łańcucha bloków. Opiera się on na szyfrowaniu określonych wiadomości w komunikacji z tzw. enklawą - mechanizmem zapisu wcześniejszych transakcji, autentyczności i uwierzytelnień. To w dużej mierze Constellation Quorum zawdzięcza swoją dużą szybkość sięgająca nawet kilkuset transakcji na minutę - znacząco przewyższa pod tym względem Ethereum czy Bitcoina.
Właśnie dzięki wydajności i prywatności jest to idealne rozwiązanie dla sektora finansowego. Już dziś docenione jest ono zarówno przez komercyjne projekty np. Adhara i Skeps oraz instytucje państwowe m. in. Narodowy Bank Kanady, Bank Centralny Brazylii oraz Południowoafrykański Bank Rezerw poprzez Project Khokha. Natomiast na potencjał wdrażania Quorum do łańcucha dostaw zwróciły uwagę międzynarodowe korporacje takie jak Starbucks. Jak widać, istnieje potencjał wdrożenie tej technologii, a branża finansowa wciąż szuka i eksperymentuje z różnymi rozwiązaniami.
Jaki blockchain dla twojego biznesu?
Kluczową zaletą wszystkich wymienionych rodzajów technologii blockchain jest sposób w jaki rozwiązują problem braku zaufania; niezwykle powszechny w praktycznie wszystkich branżach. Strony, zamiast utrzymywać instytucje, które pozwoliłyby im zapewnić rzetelność między sobą, mogą oszczędzić środki inwestując w zdecentralizowane aplikacje, które proces weryfikacji relacji podmiotów przeprowadzają zdalnie. Wybór odpowiedniej platformy w zasadzie powinien być podyktowany potrzebą na jaką ta ma odpowiadać. W przypadkach relacji b2c w większości przypadków wykorzystuje się Ethereum, szczególnie do tworzenia własnych kryptotokenów. W tym celu zastosowały go m. in. ebay, amazon czy facebook. Ten rodzaj blockchainu swietnie sprawdza sie przy aplikacjach zakładających tworzenie tokenów, co znajduje zastosowanie w szeregu branży min. nieruchomości czy bankowej. Hyperledger wybierają przede wszystkim firmy potrzebujące usprawnić relacje b2b m.in. power2sme i SAP. Natomiast Corda i Quorum działają głównie z myślą o sektorze finansowym i wykorzystywane są przez instytucje takiej jak wspomniany wcześniej Narodowy Bank Kanady (Quorum) oraz SDX czy HQLAX (Corda).