tytuł oryginału: mastering blockchain - second edition

40

Upload: others

Post on 08-Feb-2022

34 views

Category:

Documents


0 download

TRANSCRIPT

Tytuł oryginału: Mastering Blockchain - Second Edition

Tłumaczenie: Tomasz Walczak

ISBN: 978-83-283-4957-5

Copyright © Packt Publishing 2018.

First published in the English language under the title ‘Mastering Blockchain - Second Edition – (9781788839044)’

Polish edition copyright © 2019 by Helion SAAll rights reserved.

All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher.

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji.

Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.

Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletnei rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Helion SA nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce.

Helion SAul. Kościuszki 1c, 44-100 Gliwicetel. 32 231 22 19, 32 230 98 63e-mail: [email protected]: http://helion.pl (księgarnia internetowa, katalog książek)

Dodatkowe materiały do książki można znaleźć pod adresem: ftp://ftp.helion.pl/przyklady/bloczz.zip

Drogi Czytelniku!Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/bloczzMożesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.

Printed in Poland.

• Kup książkę• Poleć książkę • Oceń książkę

• Księgarnia internetowa• Lubię to! » Nasza społeczność

Spis tre ci

O autorze 13

O recenzencie 14

Przedmowa 15

Rozdzia 1. ABC a cucha bloków 21

Rozwój technologii a cucha bloków 21Systemy rozproszone 24Historia a cucha bloków i Bitcoina 26

Elektroniczne pieni dze 26a cuch bloków 27

Uniwersalne elementy a cucha bloków 31Zalety i ograniczenia a cucha bloków 34Warstwy a cucha bloków 36Cechy a cucha bloków 37

Typy a cuchów bloków 39Rozproszone rejestry 40Technologia DLT 40Publiczne a cuchy bloków 41Prywatne a cuchy bloków 41Wspólny rejestr 42W pe ni prywatne i zastrze one a cuchy bloków 42a cuchy bloków z tokenami 43a cuchy bloków bez tokenów 43

Poleć książkęKup książkę

Spis tre ci

4

Konsensus 43Mechanizmy osi gania konsensusu 43Rodzaje mechanizmów osi gania konsensusu 44Konsensus w a cuchu bloków 45

Twierdzenie CAP i a cuch bloków 47Podsumowanie 49

Rozdzia 2. Decentralizacja 51

Decentralizacja z u yciem a cucha bloków 51Metody decentralizacji 53

Eliminowanie po rednictwa 53Decentralizacja oparta na wspó zawodnictwie 54

Drogi do decentralizacji 55Jak przeprowadzi decentralizacj ? 56Przyk adowy schemat analizy decentralizacji 56

a cuch bloków i kompletny ekosystem zwi zany z decentralizacj 57Sk adowanie danych 57Komunikacja 58Decentralizacja a moc obliczeniowa 59

Inteligentne kontrakty 60Zdecentralizowane organizacje 61

Zdecentralizowane organizacje autonomiczne 61Zdecentralizowane korporacje autonomiczne 62Zdecentralizowane spo eczno ci autonomiczne 62Zdecentralizowane aplikacje (DApps) 62Wymogi stawiane zdecentralizowanym aplikacjom 63Operacje w zdecentralizowanych aplikacjach 63

Platformy do decentralizacji 64Ethereum 64MaidSafe 64Lisk 65

Podsumowanie 65

Rozdzia 3. Kryptografia symetryczna 67

Korzystanie z narz dzia OpenSSL w wierszu polece 67Wprowadzenie 68

Matematyka 69Kryptografia 70Poufno 71Integralno 71Uwierzytelnianie 71Niezaprzeczalno 72Rozliczalno 73

Podstawowe mechanizmy kryptograficzne 73Kryptografia symetryczna 74DES 79AES 79

Podsumowanie 83

Poleć książkęKup książkę

Spis tre ci

5

Rozdzia 4. Kryptografia klucza publicznego 85

Kryptografia asymetryczna 85Rozk ad liczb ca kowitych na czynniki 87Logarytm dyskretny 87Krzywe eliptyczne 87

Klucze publiczny i prywatny 88RSA 88Problem logarytmu dyskretnego w ECC 94Funkcje skrótu 102Algorytm tworzenia podpisów cyfrowych za pomoc RSA 111Algorytm ECDSA 113

Rynki i transakcje finansowe 118Handel 119Gie dy 119Cykl ycia transakcji 121Osoby przewiduj ce zlecenia 122Manipulowanie rynkiem 122

Podsumowanie 123

Rozdzia 5. Wprowadzenie do Bitcoina 125

Bitcoin 127Definicja Bitcoina 129Bitcoin z lotu ptaka 130

Klucze i adresy cyfrowe 136Klucze prywatne w Bitcoinie 136Klucze publiczne w Bitcoinie 138Adresy w Bitcoinie 139

Transakcje 141Cykl ycia transakcji 142Struktura danych transakcji 143Rodzaje transakcji 147Sprawdzanie poprawno ci transakcji 150

a cuch bloków 151Struktura bloku 151Struktura nag ówka bloku 151Blok pocz tkowy 153

Wydobywanie 156Zadania górników 156Nagrody za wydobycie bloku 157Dowód pracy 157Algorytm wydobywania 158Szybko obliczania skrótów 160Systemy wydobywania 160Kopalnie 163

Podsumowanie 165

Poleć książkęKup książkę

Spis tre ci

6

Rozdzia 6. Sie Bitcoina i p atno ci 167

Sie Bitcoina 167Portfele 175

Portfele niedeterministyczne 175Portfele deterministyczne 175Hierarchiczne portfele deterministyczne 176Portfele pami ciowe 176Portfele papierowe 176Portfele sprz towe 176Portfele internetowe 177Portfele mobilne 177

P atno ci w bitcoinach 178Innowacje w Bitcoinie 180

Dokumenty BIP 181Zaawansowane protoko y 181Segregated Witness (SegWit) 181Bitcoin Cash 183Bitcoin Unlimited 183Bitcoin Gold 183Inwestycje w bitcoiny oraz ich kupno i sprzeda 184

Podsumowanie 185

Rozdzia 7. Klienty i interfejsy API Bitcoina 187

Instalowanie Bitcoina 187Typy klientów Bitcoin Core 187Przygotowywanie w z a Bitcoina 188Konfigurowanie kodu ród owego 190Konfigurowanie pliku bitcoin.conf 190Uruchamianie w z a w sieci testnet 190Uruchamianie w z a w sieci regtest 191Eksperymentowanie z interfejsem bitcoin-cli 192Programowanie w wiecie Bitcoina i interfejs uruchamiany w wierszu polece 192

Podsumowanie 194

Rozdzia 8. Inne kryptowaluty 195

Podstawy teoretyczne 198Co zamiast dowodu pracy? 198Ró ne rodzaje stawek 201Dostosowywanie trudno ci i algorytmy zmiany celu 202

Ograniczenia Bitcoina 205Prywatno i anonimowo 205Rozszerzone protoko y oparte na Bitcoinie 207Rozwój alternatywnych kryptowalut 209

Namecoin 211Handel namecoinami 213Pozyskiwanie namecoinów 213Generowanie rekordów w Namecoinie 215

Litecoin 217

Poleć książkęKup książkę

Spis tre ci

7

Primecoin 220Handel primecoinami 221Przewodnik po wydobywaniu 221

Zcash 223Handel zcashami 225Przewodnik po wydobywaniu 225Emisje ICO 230Tokeny zgodne ze standardem ERC20 231

Podsumowanie 232

Rozdzia 9. Inteligentne kontrakty 233

Historia 233Definicja 234Kontrakty ricardia skie 237

Szablony inteligentnych kontraktów 239Wyrocznie 241Inteligentne wyrocznie 243Umieszczanie inteligentnych kontraktów w a cuchu bloków 243The DAO 244

Podsumowanie 245

Rozdzia 10. ABC a cucha bloków Ethereum 247

Wprowadzenie 247Specyfikacja techniczna 248a cuch bloków Ethereum 249

Ethereum z lotu ptaka 250Sie Ethereum 254

Mainnet 254Testnet 254Sie prywatna 254

Komponenty ekosystemu Ethereum 255Klucze i adresy 256Konta 256Transakcje i komunikaty 258Kryptowaluta i tokeny Ether (ETC i ETH) 267Maszyna EVM 267Inteligentne kontrakty 271

Podsumowanie 274

Rozdzia 11. Jeszcze o Ethereum 275

J zyki programowania 276Wykonywany kod bajtowy 276Bloki i a cuchy bloków 284Poziom op at 290Portfele i oprogramowanie klienckie 298Protoko y pomocnicze 307Skalowalno , bezpiecze stwo i inne wyzwania 309Handel i inwestycje 309

Podsumowanie 310

Poleć książkęKup książkę

Spis tre ci

8

Rozdzia 12. rodowisko programistyczne Ethereum 311

Sieci testowe 312Konfigurowanie sieci prywatnej 313

Identyfikator sieci 314Plik pocz tkowy 314Katalog na dane 315

Uruchamianie sieci prywatnej 316Uruchamianie przegl darki Mist w sieci prywatnej 321Dodawanie kontraktów za pomoc przegl darki Mist 323Eksplorator bloków prywatnej i lokalnej sieci Ethereum 326

Podsumowanie 329

Rozdzia 13. Narz dzia i platformy programistyczne 331

J zyki 332Kompilatory 333

J zyk Solidity 344Typy 345

Podsumowanie 356

Rozdzia 14. Wprowadzenie do Web3 357

Web3 357Dodawanie kontraktów 358

dania POST 363Fronton napisany w HTML-u i JavaScripcie 364Platformy programistyczne 371

Podsumowanie 397

Rozdzia 15. Hyperledger 399

Projekty w ramach programu Hyperledger 399Fabric 400Sawtooth Lake 400Iroha 400Burrow 401Indy 401Explorer 402Cello 402Composer 402Quilt 402

Hyperledger jako protokó 403Architektura wzorcowa 403

Wymogi i cele projektowe zwi zane z platform Hyperledger Fabric 405Fabric 407

Hyperledger Fabric 408Sawtooth Lake 418Corda 424

Podsumowanie 430

Poleć książkęKup książkę

Spis tre ci

9

Rozdzia 16. Inne a cuchy bloków 431

a cuchy bloków 431Kadena 432Ripple 436Stellar 441Rootstock 442Quorum 444Tezos 445Storj 446MaidSafe 447BigchainDB 448MultiChain 448Tendermint 448

Platformy i frameworki 449Eris 449

Podsumowanie 451

Rozdzia 17. a cuch bloków — poza wiat walut 453

Internet rzeczy 453Warstwa obiektów fizycznych 455Warstwa urz dze 455Warstwa sieci 455Warstwa zarz dzania 456Warstwa aplikacji 456Eksperyment z internetem rzeczy opartym na a cuchu bloków 459Instytucje rz dowe 474Opieka zdrowotna 478Finanse 478Multimedia 481

Podsumowanie 481

Rozdzia 18. Skalowalno i inne problemy 483

Skalowalno 484Poziom sieci 484Poziom osi gania konsensusu 484Poziom sk adowania danych 485Poziom widoku 485Zwi kszenie wielko ci bloku 485Skracanie czasu wydobywania bloków 486Tablice IBLT 486Sharding 487Kana y stanu 487Prywatny a cuch bloków 488Dowód stawki 488a cuchy boczne 488

Prywatno 491Zaciemnianie z nieodró nialno ci danych 491Szyfrowanie homomorficzne 492Dowody ZKP 492

Poleć książkęKup książkę

Spis tre ci

10

Kana y stanu 493Bezpieczne obliczenia z udzia em wielu jednostek 493Wykorzystanie sprz tu do zapewniania poufno ci 493CoinJoin 494Poufne transakcje 494MimbleWimble 494Bezpiecze stwo 495

Podsumowanie 501

Rozdzia 19. Aktualna sytuacja i przysz y rozwój 503

Pojawiaj ce si trendy 503a cuchy bloków specyficzne dla zastosowa 503a cuchy bloków dla przedsi biorstw 504

Prywatne a cuchy bloków 504Startupy 505Du e zainteresowanie ze strony naukowców 505Standaryzacja 506Usprawnienia 507Implementacje stosowane w praktyce 507Konsorcja 508Rozwi zania problemów technicznych 508

czenie z innymi technologiami 508Edukacja w zakresie technologii a cuchów bloków 509Zatrudnienie 509Kryptoekonomia 509Badania w dziedzinie kryptografii 510Nowe j zyki programowania 510Badania nad sprz tem i jego rozwój 510Badania nad metodami formalnymi i bezpiecze stwem 511Alternatywy wzgl dem a cuchów bloków 511Prace nad umo liwieniem wspó dzia ania 511Model BaaS 512Prace nad ograniczeniem zu ycia energii 512

Inne wyzwania 512Regulacje 512Ciemna strona 513

Badania nad a cuchami bloków 515Inteligentne kontrakty 515Problemy z centralizacj 515Ograniczenia funkcji kryptograficznych 515Algorytmy osi gania konsensusu 515Skalowalno 516Zaciemnianie kodu 516

Wa ne projekty 516Zcash dla Ethereum 516CollCo 517Cello 517Qtum 517Bitcoin-NG 517

Poleć książkęKup książkę

Spis tre ci

11

Solidus 517Hawk 518Town-Crier 518SETLCoin 518TEEChan 518Falcon 519Bletchley 519Casper 519

Ró ne narz dzia 520Rozszerzenie dla j zyka Solidity w rodowisku Microsoft Visual Studio 520MetaMask 520Stratis 520Embark 521DAPPLE 521Meteor 521uPort 521INFURA 522

Powi zania z innymi bran ami 522Przysz o 523Podsumowanie 525

Skorowidz 527

Poleć książkęKup książkę

Spis tre ci

12

Poleć książkęKup książkę

2

Decentralizacja

Decentralizacja nie jest now koncepcj . Od dawna wykorzystywano j w strategii, zarz dza-niu i rz dzeniu. Podstawow ide decentralizacji jest przeniesienie kontroli i w adzy na obrze aorganizacji zamiast pozostawiania pe nej kontroli organizacji w r kach jednego centralnegocia a. Takie rozwi zanie zapewnia organizacjom ró ne korzy ci, takie jak wzrost wydajno ci,przyspieszenie podejmowania decyzji, wzrost motywacji i zmniejszenie obci enia wy szej kadrymened erskiej.

W tym rozdziale decentralizacja jest opisana w kontek cie a cuchów bloków. Jednym z podsta-wowych aspektów a cucha bloków jest brak centralnej jednostki, która go kontroluje. W tymrozdziale przedstawione zostan przyk ady ró nych metod decentralizacji i dróg do jej osi -gni cia. Ponadto szczegó owo opisane zostan decentralizacja ekosystemu a cucha bloków,zdecentralizowane aplikacje i platformy do zapewniania decentralizacji. Poznasz te wieleekscytuj cych aplikacji i idei, których ród em s zdecentralizowane a cuchy bloków.

Decentralizacja z u yciem a cucha blokówDecentralizacja jest jedn z najwa niejszych korzy ci i us ug zapewnianych przez technologia cuchów bloków. Z budowy a cuchów bloków wynika, e s one doskona ym narz dziem

do budowania platformy, która nie wymaga adnych po redników i mo e dzia a z wieloma ró -nymi liderami wybieranymi za pomoc mechanizmu osi gania konsensusu. Ten model umo liwiaka demu wspó zawodnictwo o pozycj jednostki podejmuj cej decyzje. To wspó zawodnictwoodbywa si na podstawie mechanizmu osi gania konsensusu, a najcz ciej u ywan metod jesttu dowód pracy.

Decentralizacja mo e by stosowana na ró nym poziomie: od modeli cz ciowo zdecentrali-zowanych po w pe ni zdecentralizowane. Zale y to od wymogów i okoliczno ci. W kontek ciea cuchów bloków decentralizacj mo na postrzega jako mechanizm umo liwiaj cy modyfika-

cj istniej cych aplikacji i paradygmatów oraz budowanie nowych aplikacji w celu zapewnieniape nej kontroli u ytkownikom.

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

52

Technologie teleinformatyczne tradycyjnie s oparte na scentralizowanym paradygmacie, w któ-rym serwery bazodanowe lub serwery aplikacji s kontrolowane przez centraln jednostk ,np. administratora systemu. Wraz z pojawieniem si Bitcoina i technologii a cuchów blokówten model si zmieni . Obecnie istnieje technologia, która umo liwia ka demu zbudowanie zde-centralizowanego systemu, dzia aj cego bez pojedynczego punktu podatno ci na awari lubjednej zaufanej jednostki zarz dzaj cej. Taki system mo e dzia a autonomicznie lub wymagainterwencji cz owieka; zale y to od typu i modelu zarz dzania stosowanego w zdecentralizowa-nej aplikacji dzia aj cej w a cuchu bloków.

Rysunek 2.1 ilustruje ró ne rodzaje istniej cych obecnie systemów: scentralizowane, zde-centralizowane i rozproszone. Ten podzia po raz pierwszy przedstawi Paul Baran w ksi ceOn Distributed Communications: I. Introduction to Distributed Communications Networks(Rand Corporation, 1964).

Rysunek 2.1. Ró ne typy sieci i systemów

Systemy scentralizowane to tradycyjne systemy informatyczne (klient – serwer), w którychwyst puje pojedyncza jednostka zarz dzaj ca — kontroluje ona dany system i samodzielnieodpowiada za wszystkie jego operacje. Wszyscy u ytkownicy scentralizowanego systemu zaleod jednego ród a us ug. Wi kszo dostawców us ug internetowych, w tym Google, Amazon,eBay, App Store firmy Apple itd., pos uguj si tym tradycyjnym modelem dostarczania us ug.

W systemie rozproszonym dane i obliczenia s rozdzielane mi dzy wiele w z ów sieci. Czasemto poj cie jest mylone z przetwarzaniem równoleg ym. Cho oba te rozwi zania w pewnymzakresie si pokrywaj , g ówna ró nica mi dzy nimi polega na tym, e w systemach przetwarza-nia równoleg ego obliczenia s wykonywane przez wszystkie w z y jednocze nie w celu uzy-skania wyniku. Platformy przetwarzania równoleg ego s u ywane np. do badania i prognozowa-nia pogody, do symulacji i w modelowaniu finansowym. Z kolei w systemie rozproszonymobliczenia nie musz by wykonywane równolegle, a dane s replikowane w wielu w z ach

Poleć książkęKup książkę

Rozdzia 2. • Decentralizacja

53

postrzeganych przez u ytkowników jako jeden spójny system. Odmiany obu tych modeli su ywane do osi gania odporno ci na b dy i zwi kszania szybko ci. W systemach równoleg ychnadal wyst puje centralna jednostka zarz dzaj ca, która kontroluje wszystkie w z y i zarz dzaprzetwarzaniem. To oznacza, e system jest z natury scentralizowany.

Najwa niejsza ró nica mi dzy systemem zdecentralizowanym a rozproszonym polega na tym,e w systemie rozproszonym wyst puje centralna jednostka nadrz dna zarz dzaj ca ca ym

systemem. W systemie zdecentralizowanym taka jednostka nie istnieje.

System zdecentralizowany to typ sieci, w której w z y nie s zale ne od jednego w z a nad-rz dnego. Zamiast tego kontrola jest rozproszona mi dzy wiele w z ów. Jest to zbli one do mo-delu, w którym ka dy dzia organizacji odpowiada za w asny serwer bazodanowy. W ten sposóbkontrola jest odbierana centralnemu serwerowi i przekazywana do dzia ów zarz dzaj cychw asnymi bazami.

Wa n innowacj w paradygmacie zdecentralizowanym, b d c zal kiem nowej ery decentrali-zacji aplikacji, jest osi ganie konsensusu w rodowisku zdecentralizowanym. Ten mechanizmpojawi si wraz z Bitcoinem i umo liwia u ytkownikom uzgadnianie rzeczy za pomoc algoryt-mu osi gania konsensusu, bez konieczno ci udzia u centralnej, zaufanej trzeciej strony, po red-nika lub dostawcy us ug.

Metody decentralizacjiDo zapewniania decentralizacji mo na stosowa dwie metody: eliminowanie po rednictwai wspó zawodnictwo (decentralizacja oparta na wspó zawodnictwie). Zostan one szczegó owoopisane w nast pnych punktach.

Eliminowanie po rednictwaKoncepcj eliminowania po rednictwa mo na wyt umaczy na przyk adzie. Wyobra sobie,e chcesz przes a pieni dze do znajomego z innego pa stwa. Idziesz do banku, który za op at

prze le pieni dze do banku w docelowym kraju. W tym scenariuszu bank przechowuje centralnbaz danych, która jest aktualizowana, co potwierdza, e przes a e pieni dze. a cuch blokówumo liwia przes anie pieni dzy bezpo rednio do znajomego bez konieczno ci korzystaniaz us ug banku. Wystarczy do tego adres znajomego w a cuchu bloków. W ten sposób po rednik,czyli bank, przestaje by potrzebny, a decentralizacja jest uzyskiwana dzi ki wyeliminowaniupo rednictwa. Kwesti dyskusyjn jest to, na ile praktyczna jest decentralizacja przez eliminowa-nie po rednictwa w sektorze finansowym z jego ogromnymi wymogami regulacyjnymi. Jednakten model mo e by stosowany nie tylko w finansach, ale te w wielu innych bran ach.

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

54

Decentralizacja oparta na wspó zawodnictwieW metodzie obejmuj cej wspó zawodnictwo ró ni dostawcy us ug konkuruj ze sob o to,by system wybra ich do wiadczenia us ug. Ten model nie prowadzi do pe nej decentralizacji.Jednak do pewnego stopnia gwarantuje, e po rednik lub dostawca us ug nie zmonopolizujeus ugi. W kontek cie a cuchów bloków mo na wyobrazi sobie system, w którym inteligent-ne kontrakty mog wybra zewn trznego dostawc danych spo ród du ej ich liczby na pod-stawie reputacji, wcze niejszych ocen, recenzji i jako ci wiadczonych us ug.

Ta metoda nie zapewnia ca kowitej decentralizacji, ale umo liwia inteligentnym kontraktomdokonywanie swobodnych wyborów na podstawie podanych kryteriów. W ten sposób budowanejest oparte na konkurencji rodowisko, w którym dostawcy us ug rywalizuj mi dzy sob o to,by zosta wybranym na dostawc danych.

Na rysunku 2.2 pokazane s ró ne poziomy decentralizacji. Po lewej stronie przedstawionejest tradycyjne podej cie, w którym kontrol sprawuje centralny system. W modelu widocznympo prawej stronie ca kowicie wyeliminowano po rednictwo. Po rodku widoczni s rywalizuj cyze sob po rednicy lub dostawcy us ug. W tym rozwi zaniu po rednicy lub dostawcy us ug swybierani na podstawie reputacji lub g osowania, co pozwala uzyska cz ciow decentralizacj .

Rysunek 2.2. Poziom decentralizacji

Cho decentralizacja zapewnia wiele korzy ci, w tym przejrzysto , wydajno , oszcz dno ci,rozwój zaufanych ekosystemów, a w niektórych sytuacjach tak e prywatno i anonimowo ,to jednocze nie wymaga starannego przeanalizowania pewnych problemów, takich jak wymogiz zakresu bezpiecze stwa, b dy programowe i b dy ludzkie.

Oto przyk ad: jak w zdecentralizowanym systemie, takim jak Bitcoin lub Ethereum, gdziebezpiecze stwo jest standardowo zapewniane dzi ki kluczom prywatnym, zagwarantowa ,e cyfrowe zasoby powi zane z takimi kluczami nie stan si bezwarto ciowe po utracie klucza

lub e b d w kodzie inteligentnego kontraktu lub zdecentralizowanej aplikacji nie naraziu ytkownika na atak? Przed rozpocz ciem decentralizowania wszystkiego za pomoc a cuchabloków i zdecentralizowanych aplikacji trzeba zrozumie , e nie wszystko mo na i trzebadecentralizowa .

Poleć książkęKup książkę

Rozdzia 2. • Decentralizacja

55

To podej cie rodzi kilka podstawowych pyta : czy a cuch bloków naprawd jest potrzebny?Kiedy przydatny jest a cuch bloków? W jakich sytuacjach jest on lepszy od tradycyjnychbaz danych? Aby odpowiedzie na te pytania, zastanów si nad prostym zestawem zaprezento-wanych tu kwestii:

1. Czy potrzebna jest wysoka przepustowo obs ugi danych? Je li odpowied na topytanie brzmi „tak”, zastosuj tradycyjn baz danych.

2. Czy aktualizacje s kontrolowane przez centraln jednostk ? Je eli tak jest,pos u si tradycyjn baz .

3. Czy u ytkownicy sobie ufaj ? Je li tak, u yj tradycyjnej bazy. 4. Czy u ytkownicy s anonimowi? Je eli tak, zastosuj publiczny a cuch bloków.W przeciwnym razie wykorzystaj prywatny a cuch bloków.

5. Je li konsensus ma by utrzymywany w ramach konsorcjum, utwórz prywatnya cuch bloków. W przeciwnym razie zastosuj publiczny a cuch bloków.

Udzielenie odpowiedzi na wszystkie te pytania mo e pozwoli zrozumie , czy a cuch blokówjest potrzebny. Oprócz postawionych tu pyta trzeba uwzgl dni tak e wiele innych kwestii,takich jak opó nienie, mechanizmy osi gania konsensusu, to, czy konsensus jest konieczny i gdzieb dzie ustalany. Je li konsensus jest utrzymywany wewn trznie przez konsorcjum, nale y zasto-sowa prywatny a cuch bloków. W przeciwnym razie, gdy konsensus ma by osi gany pu-blicznie przez wiele jednostek, nale y rozwa y publiczny a cuch bloków. W trakcie wyborumi dzy a cuchem bloków a tradycyjn baz danych nale y rozwa y tak e inne aspekty,np. niemodyfikowalno . Je li jest ona niezb dna, nale y zastosowa publiczny a cuch bloków;w przeciwnym razie odpowiednim rozwi zaniem mo e by centralna baza danych.

Wraz z dojrzewaniem technologii a cuchów bloków mog pojawi si kolejne pytania dotycz cetego modelu. Na razie jednak podany zestaw pyta wystarcza do zdecydowania, czy rozwi zanieoparte na a cuchu bloków jest potrzebne, czy nie.

Drogi do decentralizacjiJu przed a cuchami bloków i Bitcoinem istnia y inne systemy (np. systemy wymiany plikówBitTorrent i Gnutella), które mo na uzna za — w pewnym stopniu — zdecentralizowane.Jednak wraz z pojawieniem si a cuchów bloków zacz to realizowa wiele projektów wykorzy-stuj cych t now technologi do osi gania decentralizacji. Bitcoin jest dla wielu osób pierwszymwyborem, poniewa okaza si najbardziej odpornym i bezpiecznym a cuchem bloków, a w cza-sie, gdy powstaje ta ksi ka, jego warto rynkowa wynosi blisko 145 mld dolarów. Wielu pro-gramistów do budowania zdecentralizowanych aplikacji korzysta te z innych a cuchów blo-ków, takich jak Ethereum. W porównaniu z Bitcoinem Ethereum sta si lepszym wyboremz powodu swobody i mo liwo ci zaprogramowania dowolnej logiki biznesowej w a cuchubloków za pomoc inteligentnych kontraktów.

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

56

Jak przeprowadzi decentralizacj ?Arvind Narayanan i in. zaproponowali w ksi ce Bitcoin and Cryptocurrency Technologies(Princeton University Press) model, który mo na wykorzysta do oceny wymogów dotycz cychdecentralizacji z u yciem a cucha bloków. W tym modelu zadawane s cztery pytania. Odpo-wiedzi na nie pozwalaj dok adnie zrozumie , jak zdecentralizowa system:

1. Co jest decentralizowane? 2. Jaki poziom decentralizacji jest wymagany? 3. Jaki a cuch bloków jest u ywany? 4. Jakie mechanizmy zabezpiecze s stosowane?

Pierwsze pytanie wymaga okre lenia, jaki system jest decentralizowany. Mo e to by dowolnysystem — np. system sprawdzania to samo ci lub system tradingowy.

Drugie pytanie wymaga okre lenia wymaganego poziomu decentralizacji na podstawie analizyopisanej wcze niej skali. Mo na zastosowa pe n lub cz ciow eliminacj po rednictwa.

Trzecie pytanie wymaga od programistów ustalenia, który a cuch bloków jest odpowiedniw konkretnym zastosowaniu. Mo e to by a cuch bloków Bitcoin lub Ethereum albo dowolnyinny dostosowany do danej sytuacji.

Ostatnie pytanie, na jakie trzeba odpowiedzie , dotyczy tego, w jaki sposób gwarantowaneb dzie bezpiecze stwo zdecentralizowanego systemu. Mechanizm zabezpiecze mo e byoparty na atomowo ci (transakcja jest wtedy wykonywana albo w ca o ci, albo nie jest wykony-wana wcale). To deterministyczne podej cie zapewnia integralno systemu. Mo na te zastoso-wa mechanizmy oparte na reputacji, umo liwiaj ce wprowadzenie ró nych poziomów zaufaniaw systemie.

Przyk adowy schemat analizy decentralizacjiJako przyk adow aplikacj przeznaczon do decentralizacji zbadajmy system transferu pieni -dzy. Cztery podane wcze niej pytania pos u do oceny wymogów dotycz cych decentralizacjitej aplikacji. Oto odpowiedzi na te pytania:

1. System transferu pieni dzy. 2. Eliminowanie po rednictwa. 3. Bitcoin. 4. Atomowo .

Odpowiedzi wskazuj na to, e system transferu pieni dzy mo na zdecentralizowa , eliminuj cpo rednika, implementuj c system z u yciem a cucha bloków Bitcoin i oferuj c gwarancjebezpiecze stwa za pomoc atomowo ci. Atomowo gwarantuje, e transakcja albo zostanie wy-konana w pe ni poprawnie, albo w ogóle nie zostanie przeprowadzona. Wybrany zosta a cuchbloków Bitcoin, poniewa jest najstarszy i sprawdzony.

Poleć książkęKup książkę

Rozdzia 2. • Decentralizacja

57

Opisany schemat mo na te wykorzysta dla dowolnego innego systemu, który trzeba przeanali-zowa w kategoriach decentralizacji. Odpowiedzi na postawione cztery proste pytania pomagajdoprecyzowa , jakie podej cie przyj w celu decentralizacji systemu.

a cuch bloków i kompletny ekosystemzwi zany z decentralizacjAby uzyska pe n decentralizacj , konieczna jest tak e decentralizacja rodowiska zwi zanegoz a cuchem bloków. a cuch bloków to rozproszony rejestr dzia aj cy na bazie tradycyjnychsystemów odpowiedzialnych np. za sk adowanie danych, komunikacj i obliczenia. Wyst pujte inne aspekty, takie jak to samo i bogactwo, do których tradycyjnie stosowane s modelescentralizowane. Decentralizacja musi obj tak e te aspekty, aby mo na by o uzyska odpo-wiednio zdecentralizowany ekosystem.

Sk adowanie danychDane mog by przechowywane bezpo rednio w a cuchu bloków, co pozwala zapewnidecentralizacj . Jednak powa n wad tego podej cia jest to, e a cuch bloków z natury nienadaje si dobrze do sk adowania du ych ilo ci danych. Mo e przechowywa proste transakcjei pewn ilo dowolnych danych, jednak z pewno ci nie nadaje si do sk adowania zdj lubdu ych obiektów z danymi, do czego u ywane s tradycyjne systemy bazodanowe.

Lepszym sposobem sk adowania danych jest u ywanie rozproszonych tablic mieszaj cych(ang. Distributed Hash Table — DHT). Tablice DHT stosowano pierwotnie w dzia aj cychw modelu P2P systemach wymiany plików (np. w systemach BitTorrent, Napster, Kazaai Gnutella). Badania nad tablicami DHT zyska y popularno dzi ki projektom CAN, Chord,Pastry i Tapestry. Najbardziej skalowaln i najszybsz sieci by BitTorrent, jednak problemz tym systemem i podobnymi rozwi zaniami polega na tym, e u ytkownicy nie maj interesuw przechowywaniu plików w niesko czono . U ytkownicy zwykle nie utrzymuj plików nasta e, a je li w z y z wci potrzebnymi komu danymi opuszcz sie , nie ma sposobu na pobra-nie tych danych; potrzebne w z y musz ponownie do czy do sieci, aby pliki ponowniesta y si dost pne.

Dwoma podstawowymi wymogami w obszarze sk adowania danych s wysoka dost pno sys-temu i stabilno cza. Oznacza to, e dane powinny by dost pne, gdy s potrzebne, a czasieciowe zawsze powinny dzia a . System IPFS (ang. InterPlanetary File System) autorstwaJuana Beneta posiada obie te cechy. Benet marzy o tym, by dzi ki zast pieniu protoko u HTTPinnym rozwi zaniem powsta a zdecentralizowana sie WWW. System IPFS sk aduje danew tablicach DHT Kademlia, a wyszukiwanie obs uguje za pomoc acyklicznych grafów skiero-wanych skrótów (ang. Merkle directed acyclic graph). Tablice DHT i acykliczne grafy skiero-wane zostan szczegó owo opisane w rozdziale 4. „Kryptografia klucza publicznego”.

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

58

Mechanizm nagradzania za sk adowanie danych jest oparty na protokole Filecoin. Nagrody swyp acane w a cicielom w z ów, które przechowuj dane za pomoc mechanizm Bitswap.Ten mechanizm umo liwia w z om przechowywanie prostego rejestru bajtów wysy anych lubotrzymywanych w modelu „jeden do jednego”. W systemie IPFS u ywany jest te oparty nanarz dziu Git mechanizm wersjonowania, który zapewnia struktur wersji danych i kontrolnad nimi.

Istniej te inne narz dzia do sk adowania danych, np. Ethereum Swarm, Storj i MaidSafe.Ethereum obejmuje w asny zdecentralizowany i rozproszony ekosystem, w którym u ywanes narz dzie Swarm (do sk adowania danych) i protokó Whisper (do komunikacji). MaidSafe mazapewni zdecentralizowan sie WWW. Wszystkie te projekty s szczegó owo opisane w dal-szych cz ciach ksi ki.

BigchainDB to nast pny projekt przeznaczony do decentralizacji warstwy sk adowania danych,który ma zapewnia skalowaln liniowo, szybk , zdecentralizowan baz danych ró n od trady-cyjnych systemów plików. BigchainDB uzupe nia zdecentralizowane platformy przetwarzaniadanych i systemy plików, takie jak Ethereum i IPFS.

KomunikacjaInternet (warstwa komunikacji w a cuchach bloków) jest uznawany za zdecentralizowany.To przekonanie jest w pewnym zakresie prawdziwe, poniewa pierwotnie internet opracowanojako zdecentralizowany system komunikacji. Us ugi takie jak e-mail i sk adowanie danych w in-ternecie s obecnie oparte na modelu, w którym kontrol sprawuje dostawca us ug, a u yt-kownicy ufaj , e taki dostawca b dzie zapewnia na danie dost p do danej us ugi. Ten modeljest oparty na bezwarunkowym zaufaniu do centralnej jednostki (dostawcy us ug), poniewau ytkownicy nie maj kontroli nad w asnymi danymi. Nawet has a u ytkowników s przecho-wywane w systemach zaufanej trzeciej strony.

Dlatego trzeba zapewni kontrol poszczególnym u ytkownikom w taki sposób, aby zagwa-rantowa im dost p do ich danych bez zale no ci od pojedynczej trzeciej strony. Dost p do in-ternetu (warstwy komunikacyjnej) jest zale ny od dostawców us ug internetowych, którzy pe nifunkcj centralnego koncentratora dla u ytkowników internetu. Je li dostawca us ug internetowychz jakiego powodu przestanie dzia a , to w opisanym modelu komunikacja b dzie niemo liwa.

Inne rozwi zanie to zastosowanie sieci w topologii siatki. Cho w porównaniu z internetemtaka sie ma ograniczone mo liwo ci, stanowi zdecentralizowan alternatyw , umo liwiaj cw z om bezpo rednie komunikowanie si ze sob bez centralnego koncentratora takiego jakdostawca us ug internetowych.

Przyk adow sieci w topologii siatki jest FireChat (http://www.opengarden.com/firechat.html). Umo liwiaona u ytkownikom iPhone’ów bezpo rednie komunikowanie si ze sob w modelu P2P bez po czeniainternetowego.

Poleć książkęKup książkę

Rozdzia 2. • Decentralizacja

59

Wyobra sobie teraz sie , która umo liwia u ytkownikom kontrolowanie komunikacji — w ad-nej sytuacji nikt nie mo e jej wy czy . Móg by to by nast pny krok w kierunku decentralizacjisieci komunikacyjnych w ekosystemie a cucha bloków. Trzeba zauwa y , e ten model mo eby niezb dny tylko na obszarach, gdzie internet jest cenzurowany i kontrolowany przez rz d.

Wcze niej wspomniano, e pierwotnie internet mia by zdecentralizowan sieci . Jednakwraz z up ywem lat i powstaniem du ych dostawców us ug, takich jak Google, Amazon i eBay,kontrola jest w coraz wi kszym stopniu przekazywana w r ce tych wa nych graczy. Na przyk adpoczta elektroniczna jest w swej istocie zdecentralizowanym systemem. Oznacza to, e ka dymo e niewielkim nak adem pracy uruchomi serwer poczty elektronicznej i zacz wysy a orazodbiera e-maile. Dost pne s jednak lepsze rozwi zania, np. Gmail i Outlook.com, któreoferuj dodatkowe us ugi dla u ytkowników ko cowych. Dlatego naturalnym wyborem jest ko-rzystanie z jednej z takich scentralizowanych us ug, poniewa s one wygodniejsze i bezp atne.Jest to jeden z przyk adów ilustruj cych, e internet sta si bardziej scentralizowany.

Bezp atne us ugi s jednak oferowane kosztem ujawniania cennych danych osobowych, a wieluu ytkowników nie jest tego wiadomych. a cuch bloków pozwoli znów przedstawi wiatuwizj decentralizacji, a obecnie aktywnie prowadzone s prace nad opanowaniem tej technologiii uzyskaniem korzy ci, jakie mo e ona oferowa .

Decentralizacja a moc obliczeniowaZa pomoc a cuchów bloków takich jak Ethereum, gdzie w sieci a cucha bloków uruchamiasi inteligentne kontrakty obejmuj ce logik biznesow , mo na zdecentralizowa moc oblicze-niow . Inne a cuchy bloków oferuj podobne platformy z warstw przetwarzania, pozwalaj cew zdecentralizowany sposób uruchamia logik biznesow w sieci.

Na rysunku 2.3 pokazany jest zdecentralizowany ekosystem. W dolnej warstwie internet lubsieci o topologii siatki zapewniaj zdecentralizowan sie komunikacyjn . W nast pnej warstwie,sk adowania danych, decentralizacj oferuj technologie takie jak IPFS i BigchainDB. W kolej-nej warstwie a cuch bloków pe ni funkcj zdecentralizowanej warstwy przetwarzania (warstwyobliczeniowej). a cuch bloków mo e, cho w ograniczonym stopniu, stanowi tak e warstwsk adowania danych, jednak skutkuje to znacznym ograniczeniem szybko ci i mo liwo ci sys-temu. Dlatego do sk adowania du ych ilo ci danych w zdecentralizowany sposób lepiej nadajsi inne rozwi zania, takie jak IPFS i BigchainDB. Na najwy szym poziomie znajduj si war-stwy to samo ci i zasobów. To samo w internecie to bardzo obszerne zagadnienie. Systemytakie jak BitAuth i OpenID zapewniaj us ugi uwierzytelniania i identyfikacji oraz oferujró ny poziom decentralizacji i bezpiecze stwa.

a cuch bloków potrafi zapewni rozwi zania ró nych problemów zwi zanych z decentralizacj .Trójk t Zooko (jest to hipoteza zwi zana z to samo ci ) wymaga, by system nazw w protokolesieciowym by bezpieczny i zdecentralizowany oraz obejmowa nazwy atwe do zapami taniai sensowne dla cz owieka. Zgodnie ze wspomnian hipotez system mo e mie tylko dwie z tychtrzech cech. Jednak wraz z pojawieniem si a cucha bloków Namecoin problem zostarozwi zany. Ten a cuch bloków zapewnia bezpiecze stwo, decentralizacj i nazwy sensowne

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

60

Rysunek 2.3. Zdecentralizowany ekosystem

dla cz owieka. To rozwi zanie nie jest jednak uniwersalne i poci ga za sob wiele wyzwa ;u ytkownicy musz na przyk ad bezpiecznie przechowywa klucze prywatne i zarz dza nimi.To rodzi ogólne pytania o to, czy decentralizacja jest odpowiednia w danej sytuacji.

Decentralizacja nie we wszystkich scenariuszach jest w a ciwa. Cz sto lepiej sprawdzaj siscentralizowane systemy o ustalonej reputacji. Na przyk ad platformy poczty elektronicznejod powa anych firm, takich jak Google lub Microsoft, zapewniaj wy szy poziom us ug nimodel, w którym odr bne serwery poczty elektronicznej s zarz dzane przez u ytkownikóww internecie.

Rozwijane s liczne projekty rozproszonych i opartych na a cuchach bloków systemów o wi k-szych mo liwo ciach. Na przyk ad Swarm i Whisper maj obs ugiwa zdecentralizowanesk adowanie danych i komunikacj w a cuchu bloków Ethereum. Swarm i Ethereum zostanopisane szczegó owo w rozdziale 11. „Jeszcze o Ethereum”.

Wraz z powstaniem zdecentralizowanego modelu w mediach i pracach naukowych zacz tostosowa ró ne poj cia i modne s owa. Dzi ki pojawieniu si technologii a cuchów blokówmo na obecnie tworzy programowe wersje tradycyjnych fizycznych organizacji; s u do tegozdecentralizowane organizacje (ang. decentralized organization — DO) i podobne konstrukcje,szczegó owo opisane w dalszej cz ci rozdzia u.

W kontek cie decentralizacji warto omówi nast puj ce zagadnienia.

Inteligentne kontraktyInteligentny kontrakt to zdecentralizowany program. Inteligentne kontrakty nie wymagaj dodzia ania a cucha bloków. Jednak z powodu zapewnianych przez a cuchy bloków korzy ciw zakresie bezpiecze stwa technologia ta sta a si standardow zdecentralizowan platformwykonywania inteligentnych kontraktów.

Poleć książkęKup książkę

Rozdzia 2. • Decentralizacja

61

Inteligentny kontrakt obejmuje zwykle logik biznesow i ograniczon ilo danych. Ta logikajest wykonywana, je li spe nione s okre lone kryteria. Inteligentne kontrakty s stosowaneprzez u ytkowników a cucha bloków lub dzia aj autonomicznie na rzecz cz onków sieci.

Wi cej informacji na temat inteligentnych kontraktów zawiera rozdzia 9. „Inteligentne kontrakty”.

Zdecentralizowane organizacjeZdecentralizowane organizacje to programy dzia aj ce w a cuchu bloków i oparte na dzia aniurzeczywistych organizacji, obejmuj cych ludzi i protoko y. Po dodaniu zdecentralizowanejorganizacji do a cucha bloków, do czego s u y inteligentny kontrakt lub zestaw takich kontrak-tów, nast puje decentralizacja i strony komunikuj si mi dzy sob na podstawie kodu zdefinio-wanego w kodzie oprogramowania zdecentralizowanej organizacji.

Zdecentralizowane organizacje autonomiczneZdecentralizowana organizacja autonomiczna (ang. decentralized autonomous organization— DAO) jest podobnie jak organizacja zdecentralizowana programem komputerowymdzia aj cym na bazie a cucha bloków. W takim programie umieszczone s regu y zarz dzaniai logiki biznesowej. Zdecentralizowane organizacje autonomiczne i organizacje zdecentralizo-wane s prawie identyczne. G ówna ró nica polega na tym, e DAO s autonomiczne. To ozna-cza, e s w pe ni zautomatyzowane i obejmuj logik wykorzystuj c sztuczn inteligencj .Z kolei DO nie posiadaj tej cechy i wymagaj danych wej ciowych od cz owieka, aby wykony-wa logik biznesow .

Pierwszym a cuchem bloków, w którym wprowadzono DAO, by Ethereum. W DAO za jed-nostk zarz dzaj c uwa a si kod, a nie ludzi lub papierowe kontrakty. Jednak to cz owiekzarz dza kodem i ocenia proponowane funkcje na potrzeby spo eczno ci. DAO mog zatrudniazewn trznych pracowników kontraktowych, je li posiadacze tokenów (u ytkownicy sieci) za-pewni wystarczaj c ilo rodków.

Najbardziej znanym projektem DAO jest The DAO, w którym w fazie finansowania spo eczno-ciowego zebrano 168 mln dolarów. Projekt The DAO opracowano na potrzeby tworzenia

funduszu podwy szonego ryzyka maj cego zapewnia obs ug zdecentralizowanego modelubiznesowego bez okre lonej jednostki b d cej w a cicielem. Niestety, projekt zosta z amanyprzez hakerów z powodu b du w kodzie The DAO, a miliony dolarów w walucie Ether (ETH)zosta y wyprowadzone z projektu do podrz dnej DAO. Niezb dny by hard fork a cucha blo-ków Ethereum, aby odwróci skutki ataku i rozpocz odzyskiwanie rodków. Ten incydentzapocz tkowa debat na temat bezpiecze stwa, jako ci i potrzeby dok adnych testów koduinteligentnych kontraktów w celu zapewnienia ich integralno ci i odpowiedniej kontroli. Prowa-dzone s te — zw aszcza w rodowisku uniwersyteckim — inne projekty, nakierowane nasformalizowanie pisania i testowania inteligentnych kontraktów.

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

62

Obecnie DAO nie maj statusu prawnego, cho mog obejmowa inteligentny kod wymuszaj cyprzestrzeganie okre lonych protoko ów i warunków. Jednak na razie regu y te nie maj mocyw obowi zuj cym systemie prawnym. Mo liwe, e pewnego dnia autonomiczne agenty (czylidzia aj ce bez interwencji cz owieka fragmenty kodu zamawiane przez organy cigania lub organynadzoru) b d obejmowa zasady i regulacje, które mo na b dzie umie ci w DAO na potrzebyzapewniania integralno ci rozwi za w kontek cie prawa i zgodno ci z regulacjami. PoniewaDAO s w pe ni zdecentralizowane, mo na je uruchamia w dowolnym miejscu. Rodzi topowa ne pytania o to, jak zastosowa obecny system prawny do ró nych obszarów jurysdykcjii lokalizacji geograficznych.

Zdecentralizowane korporacje autonomiczneZdecentralizowane korporacje autonomiczne (ang. decentralized autonomous corporations —DAC) s podobne do DAO, cho mo na je uzna za podzbiór tych ostatnich. Definicje DACi DAO mog si pokrywa , przy czym ró nica mi dzy nimi polega na tym, e DAO zwykles uwa ane za rozwi zania non profit, natomiast DAC mog by dochodowe, oferowa udzia yuczestnikom i wyp aca dywidendy. DAC mog zarz dza biznesem automatycznie, bez inter-wencji cz owieka, na podstawie zaprogramowanej logiki.

Zdecentralizowane spo eczno ci autonomiczneZdecentralizowane spo eczno ci autonomiczne (ang. decentralized autonomous societies — DAS)to rozwi zanie, które ma pozwoli ca ej spo eczno ci funkcjonowa z wykorzystaniem a cuchabloków za pomoc wielu z o onych inteligentnych kontraktów oraz po czenia dzia aj cychautonomicznie DAO i zdecentralizowanych aplikacji (ang. decentralized applications — DApps).Ten model niekoniecznie oznacza podej cie „bezp atne dla wszystkich”. Nie jest te w pe nioparty na ideologii libertaria skiej. Jednak wiele us ug wiadczonych standardowo przezrz dy mo e by zapewnianych za pomoc a cuchów bloków. Dotyczy to np. rz dowych sys-temów dowodów osobistych, paszportów, rejestrów aktów prawnych, ma e stw i narodzin.Inna teoria dotyczy tego, e je li rz d jest skorumpowany, a scentralizowane systemy nie zapew-niaj wystarczaj cego poziomu zaufania niezb dnego spo ecze stwu, ludzie mog uruchomiw a cuchu bloków w asny, wirtualny system, oparty na zdecentralizowanym konsensusie i przej-rzysto ci. Taki scenariusz mo e wydawa si libertaria skim lub cyberpunkowym snem, jednakdzi ki a cuchowi bloków jest zupe nie realny.

Zdecentralizowane aplikacje (DApps)Wszystkie wymienione do tej pory idee mo na przypisa do bardziej ogólnej kategorii zdecen-tralizowanych aplikacji. DAO, DAC i DO to zdecentralizowane aplikacje dzia aj ce na baziea cuchów bloków w sieci P2P. Te modele reprezentuj najnowsze osi gni cia w technologiach

decentralizacji. Zdecentralizowane aplikacje to programy, które mog dzia a w odpowiednicha cuchach bloków (aplikacje typu I), u ywa istniej cych a cuchów bloków (aplikacje typu II)

lub tylko korzysta z protoko ów takich a cuchów (aplikacje typu III).

Poleć książkęKup książkę

Rozdzia 2. • Decentralizacja

63

Wymogi stawiane zdecentralizowanym aplikacjomAby aplikacja zosta a uznana za zdecentralizowan , musi spe nia wymienione ni ej kryteria.Ta definicja zosta a przedstawiona w pracy Johnstona i in. The General Theory of DecentralizedApplications, Dapps.

Zdecentralizowana aplikacja powinna by w pe ni otwartym i autonomicznymoprogramowaniem. adna jednostka nie powinna kontrolowa wi kszo ci tokenów.Wszystkie zmiany w aplikacji musz wynika z konsensusu osi ganego na podstawieinformacji zwrotnych ze spo eczno ci.

Dane i rejestry operacji w aplikacji musz by kryptograficznie zabezpieczoneoraz sk adowane w publicznym, zdecentralizowanym a cuchu bloków, aby uniknscentralizowanych punktów podatno ci na awarie.

Aplikacja musi u ywa kryptograficznych tokenów, aby zapewni dost p i nagrodyjednostkom, które robi co warto ciowego na rzecz aplikacji (np. górnikomw Bitcoinie).

Tokeny musz by generowane przez zdecentralizowane aplikacje zgodnie zestandardowym algorytmem kryptograficznym. Wygenerowane tokeny stanowidowód warto ci przekazywanej kontrybutorom (np. górnikom).

Operacje w zdecentralizowanych aplikacjachKonsensus w zdecentralizowanej aplikacji mo na uzyska za pomoc algorytmów osi ganiakonsensusu, takich jak dowód pracy lub dowód stawki. Do tej pory tylko dowód pracy okaza sizdumiewaj co odporny na ataki z udzia em 51% zasobów, czego potwierdzeniem jest dzia anieBitcoina. Zdecentralizowane aplikacje mog rozdziela tokeny (monety) na podstawie wydoby-wania, zbiórek i prac programistycznych.

Przyk adowe zdecentralizowane aplikacjeW tym miejscu zaprezentowane s przyk adowe zdecentralizowane aplikacje.

KYC-ChainTa aplikacja zapewnia mechanizmy do bezpiecznego i wygodnego zarz dzania danymi typu„poznaj swojego klienta” (ang. know your customer — KYC) za pomoc inteligentnychkontraktów.

OpenBazaarJest to zdecentralizowana sie P2P, która umo liwia przeprowadzanie operacji handlowychbezpo rednio mi dzy sprzedawcami i klientami, bez korzystania z centralnego operatora takiegojak eBay lub Amazon. Nale y zauwa y , e ten system nie jest oparty na a cuchu bloków.Zamiast tego w sieci P2P u ywane s tablice DHT, aby umo liwi bezpo redni komunikacji wymian danych mi dzy w z ami. W tym systemie do obs ugi p atno ci u ywany jest bitcoini inne kryptowaluty.

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

64

LazoozJest to zdecentralizowany odpowiednik Ubera. Umo liwia wspólne przejazdy samochodemw modelu P2P, a u ytkownicy otrzymuj nagrody na podstawie dowodu przemieszczania sii mog zarabia monety w walucie zooz.

Wiele innych zdecentralizowanych aplikacji zosta o zbudowanych na bazie a cucha bloków Ethereum.S one przedstawione na stronie http://dapps.ethercasts.com/.

Platformy do decentralizacjiObecnie istnieje wiele platform umo liwiaj cych decentralizacj . Podstawow cech sieci a cu-chów bloków jest zapewnianie decentralizacji. Dlatego ka da sie a cucha bloków, np. Bitcoin,Ethereum, Hyperledger Fabric lub Quorum, mo e pos u y do udost pnienia us ugi decentrali-zacji. Wiele organizacji z ca ego wiata wprowadzi o platformy, które maj sprawi , e budowa-nie rozproszonych aplikacji stanie si atwe, przyst pne i bezpieczne. Dalej opisano niektórez tych platform.

EthereumNa pocz tku listy znajduje si Ethereum, poniewa jest to pierwszy a cuch bloków, w którymwprowadzono j zyk kompletny w sensie Turinga i maszyny wirtualne. Ten j zyk znacznieró ni si od ograniczonych j zyków skryptowych z bitcoina i wielu innych kryptowalut. Dzi kidost pno ci kompletnego w sensie Turinga j zyka Solidity pojawi y si niesko czone mo liwo ciw zakresie rozwoju zdecentralizowanych aplikacji. Ethereum zosta po raz pierwszy zapropono-wany w 2013 r. przez Vitalika Buterina i stanowi publiczny a cuch bloków do budowania inteli-gentnych kontraktów i zdecentralizowanych aplikacji. Waluta u ywana w Ethereum to ethery.

MaidSafeMaidSafe zapewnia sie SAFE (ang. secure access for everyone, czyli bezpieczny dost p dlaka dego), która wykorzystuje nieu ywane zasoby obliczeniowe u ytkowników, takie jak pami ,moc obliczeniowa i po czenia. Pliki w tej sieci s dzielone na ma e porcje danych, szyfrowanei rozprowadzane losowo w sieci. Te dane mog by pobierane tylko przez ich w a cicieli. Wa ninnowacj w MaidSafe jest to, e sie automatycznie odrzuca duplikaty plików. Pomaga to ogra-niczy konieczno anga owania dodatkowych zasobów obliczeniowych do zarz dzania obci e-niem. Walut u ywan do nagradzania kontrybutorów jest safecoin.

Poleć książkęKup książkę

Rozdzia 2. • Decentralizacja

65

LiskLisk to platforma do obs ugi kryptowaluty i budowania aplikacji opartych na a cuchu bloków.Umo liwia programistom pos ugiwanie si JavaScriptem do tworzenia zdecentralizowanychaplikacji i umieszczania ich w a cuchach bocznych. W Lisku do osi gania konsensusu u ywanyjest mechanizm delegowanego dowodu stawki, w którym mo na wybra 101 w z ów do zabez-pieczania sieci i proponowania bloków. Na zapleczu u ywane s rodowisko Node.js i j zykJavaScript, natomiast we frontonie mo na stosowa standardowe technologie: CSS3, HTML5i JavaScript.

W Lisku walut w a cuchu bloków jest LSK. Na podstawie Liska powsta te Rise — zdecen-tralizowana aplikacja i platforma dla waluty cyfrowej. W tej platformie wi kszy nacisk po o onyjest na bezpiecze stwo systemu.

Bardziej praktyczne wprowadzenie do tych i innych platform znajdziesz w dalszych rozdzia ach.

PodsumowanieW tym rozdziale przedstawiono zagadnienie decentralizacji, która jest podstawow us ug ofe-rowan przez a cuchy bloków. Cho koncepcja decentralizacji nie jest niczym nowym, w wie-cie a cuchów bloków zyska a nowe znaczenie i spowodowa a w ostatnim czasie pojawieniesi ró nych aplikacji opartych na zdecentralizowanej architekturze.

Rozdzia rozpocz si od wprowadzenia zagadnienia decentralizacji. Dalej omówiono decentra-lizacj w kontek cie a cuchów bloków. Ponadto przedstawiono idee zwi zane z ró nymi war-stwami decentralizacji w ekosystemie a cucha bloków oraz kilka nowych koncepcji i poj po-wsta ych wraz z pojawieniem si a cuchów bloków i mo liwej dzi ki nim decentralizacji.Niektóre z tych poj to: DAO, DAC i DApps. W ko cowej cz ci opisano kilka przyk adowychzdecentralizowanych aplikacji.

W nast pnym rozdziale opisane zostan podstawowe koncepcje niezb dne do zrozumieniaekosystemu a cuchów bloków. Przede wszystkim znajdziesz tam wprowadzenie do krypto-grafii, która stanowi wa n podstaw technologii a cuchów bloków.

Poleć książkęKup książkę

Blockchain. Zaawansowane zastosowania a cucha bloków

66

Poleć książkęKup książkę

Skorowidz

AABI, application binary

interface, 468acykliczne grafy skierowane

skrótów, 57adres, 31, 346

URI, 178adresy

cyfrowe, 136vanity, 140w Bitcoinie, 139z wielopodpisem, 141

AES, 79dzia anie, 79schemat blokowy, 80

algorytmAES, 79Casper, 292, 519Dark Gravity Wave, 204DES, 79DigiShield, 204DSA, 112ECC, 90ECDSA, 113Ethash, 293Kimoto Gravity Well, 203MIDAS, 205PBFT, 451RPCA, 437RSA, 88Scrypt, 218SHA, 105Triple DES, 79

algorytmydostosowywania poziomu

trudno ci, 210generowania skrótów, 210krzywych eliptycznych, 87osi gania konsensusu, 43,

210, 515tworzenia podpisów

cyfrowych, 111wydobywania, 158zmiany celu, 202

analiza, 497, 500klucza publicznego, 98

anonimizowanie transakcji,494

anonimowo , 26, 205wbudowana, 207

API, 187, 306aplikacja

KYC-Chain, 63Lazooz, 64MetaCoin, 377OpenBazaar, 63

aplikacjeCorDapp, 428w a cuchu bloków, 414zdecentralizowane, 306

architektura Raspberry Pi, 460arkusz zlece , 184arytmetyka modularna, 70ATP, atomic transport

protocol, 440

atrybutyekonomiczne, 121sprzeda y, 121stron, 121

BBaaS, blockchain as a service,

512badania, 505

na a cuchami bloków, 515nad metodami formalnymi,

511nad sprz tem, 510w kryptografii, 510

baza danych, 413BigchainDB, 448

bezpiecze stwo, 35, 39, 309,495, 511

inteligentnych kontraktów,495

bezpieczne obliczenia, 493bezpieczny

kontener, 411rejestr, 411

biblioteka, 352Bitcoinj, 193Libbitcoin, 193Pycoin, 193Web3, 357

BigchainDB, 448BIP, Bitcoin improvement

proposal, 179, 485, 507

Poleć książkęKup książkę

Skorowidz

528

Bitcoin, 26, 125, 127adresy, 139Cash, 183Gold, 183klucze

prywatne, 136publiczne, 138

transakcje, 141Unlimited, 183

Bitcoin-cli, 188Bitcoin-NG, 490Bitcoin-qt, 188Bitcoind, 187blockchain, Patrz a cuch

blokówblok, 30, 32, 284

pocz tkowy, 30, 153, 286b dy

bizantyjskie, 48powoduj ce wy czenie, 48

broker komunikatów, 426buforowanie oportunistyczne,

447Burrow, 401

Cca kowita poda pieni dza, 211

cechy a cucha bloków, 37Cello, 402cena

bitcoinów, 128paliwa, 258

certyfikat TLS, 212cia o, 69

liczb pierwszych, 70sko czone, 69

ciemna strona, 513CME, Chicago Mercantile

Exchange, 125CoinJoin, 494Colored Coins, 207Composer, 402Corda, 424

architektura, 424komponenty, 426przep ywy, 426skarbce, 428rodowiskoprogramistyczne, 429

transakcje, 425, 427

udost pnianie mapy sieci,427

us uginotarialne, 427wyroczni, 427

w z y, 426zapewnianie konsensusu,

425zarz dzanie

uprawnieniami, 427CorDapp, Corda distributed

application, 428Crypto Enclave, 444CSS, 364cykl ycia transakcji, 121, 142,

417czas

do zmniejszenia nagrody,210

generowania bloków, 210wydobywania bloków, 486

Ddane, 260DAP, decentralized

anonymous payment, 224debugowanie, 337decentralizacja, 34, 51

oparta nawspó zawodnictwie, 54

definicja Bitcoina, 129definicje a cucha bloków, 28definiowanie funkcji, 353delegowany dowód stawki, 46DES, 79deszyfrowanie, 86, 89DHT, distributed hash tables,

446dodawanie

bloków, 34kontraktów, 323, 343, 358,

471punktów, 91, 92

dokumenty BIP, 179, 181dostawca

MSP, 413us ug kryptograficznych,

413dost pno , 47

dowódaktywno ci, 47, 202depozytu, 46, 201pracy, 26, 45, 157, 197, 198pracy wielokrotnego

u ytku, 127przestrzeni, 47sk adowania, 47, 201spalenia, 42, 196, 202stawki, 42, 46, 201, 488TLSNotary, 392up ywu czasu, 46wieku rodków, 201w asno ci, 196ZKP, 127, 476, 492znaczenia, 46

Drivechain, 443drzewa skrótów, 109drzewo trie, 110, 260DSA, Digital Signature

Algorithm, 112dwustronne przyczepianie,

443dyrektywa pragma, 355dzia anie

AES, 79Ethereum, 250a cucha bloków, 33

maszyny EVM, 269dziedziczenie, 351dzielenie sekretu, 26

EEAA, Enterprise Ethereum

Alliance, 310ECC, 90, 94

klucz prywatny, 100ECDSA, 113efekt sieciowy, 129eGaaS, electronic government

as a service, 512EIP, Ethereum improvement

proposals, 507eksplorator bloków, 253, 326,

328elektroniczne pieni dze, 26elementy a cucha bloków, 31eliminowanie po rednictwa, 53emisje ICO, 230enklawa, 493

Poleć książkęKup książkę

Skorowidz

529

e-pieni dze, 26Eris, 449Ethash, 293Ethereum, 64, 196, 247, 275

adresy, 256bloki, 284funkcja zmiany stanu, 250handel, 309inwestycje, 309klucze, 256komponenty ekosystemu,

255komunikaty, 258konta, 256a cuchy bloków, 284

op aty, 290oprogramowanie klienckie,

298portfele, 298protoko y pomocnicze, 307sieci, 254, 255

prywatne, 313testowe, 312

sk adowanie stanu, 264specyfikacja techniczna,

248rodowiskoprogramistyczne, 311

transakcje, 258uruchamianie portfela, 322

EthereumJS, 338EVM, Ethereum Virtual

Machine, 333Explorer, 402

FFabric, 400, 407FBA, federated byzantine

agreement, 441filtr Blooma, 174, 266finalizacja bloku, 287finanse, 478forki, 290format

minikluczy prywatnych,137

WIF, 137FPGA, Field Programmable

Gate Array, 161fronton, 364, 377

funkcja, 352, 353dodawania punktów, 273iteratora, 271kopiowania danych, 273odzyskiwania klucza

publicznego, 272pot gowania modulo, 273SaveIdeaHash, 387, 388

funkcjeMessage Digest, 104modyfikuj ce, 354rezerwowe, 354skrótu, 102, 107, 273wewn trzne, 348zewn trzne, 348

GGanache, 338

transakcje, 375wy wietlanie kont, 376

generator liczbpseudolosowych, 103

generowanieadresów, 228klucza

prywatnego, 89, 100publicznego, 89

kryptowalut, 38liczby wzgl dnie pierwszej,

89modu u, 89podpisów, 86

gie da, 119bitcoinów cex.io, 184

górnik, 33, 156, 291graficzny interfejs u ytkownika,

188grupa, 69

abelowa, 69cykliczna, 70, 95

Hhandel, 119, 309

litecoinami, 219namecoinami, 213primecoinami, 221zcashami, 225

HDL, Hardware DescriptionLanguage, 161

hierarchiczne portfeledeterministyczne, 176

historia a cucha bloków, 26HMAC, 108hologram, 137HTML, 364Hyperledger, 399

architektura wzorcowa, 403cele projektowe, 405jako protokó , 403projekty, 399wymogi, 405

Hyperledger Fabric, 408cykl ycia transakcji, 417obraz platformy, 415protokó P2P, 410rozproszony rejestr, 409us ugi, 408w z y, 412

IIBC, inter blockchain

communication, 449IBLT, invertible Bloom lookup

tables, 486ICO, initial coin offering, 230IDE, 335identyfikacja obywateli, 477identyfikator sieci, 314ILCP, interledger control

protocol, 441ILP, interledger protocol, 441ILQP, interledger quoting

protocol, 441implementacja, 507

kontraktu chaincode, 414Indy, 401informacje

o bloku, 280o rodowisku, 279o transakcji, 134, 377

inicjowanie platformy Truffle,371

instalowaniebiblioteki web3.js, 365Bitcoina, 187, 189klienta, 299

Eth, 299Parity, 304

kompilatora

Poleć książkęKup książkę

Skorowidz

530

instalowaniew Linuksie, 333w macOS, 333

systemu IPFS, 394rodowiska Node.js, 465

instrument bazowy, 121instytucje rz dowe, 474integralno , 71inteligentne kontrakty, 33, 38,

60, 233, 271, 413, 420, 515inteligentne

prawa w asno ci, 38wyrocznie, 243

interakcja z kontraktem, 377interfejs

ABI, 468API, 306, 411bitcoin-cli, 192CLI, 411u ytkownika klienta Parity,

306internet rzeczy, 241, 453

oparty na a cuchu bloków,459

inwestycje w bitcoiny, 184IPFS, 394Iroha, 400

JJavaScript, 364jednostka certyfikuj ca, 112jednostki waluty ETH, 267j zyk programowania, 276, 510

DSL, 240GPL, 240HDL, 161JULIA, 269LLL, 276, 332Mutan, 332Pact, 434script, 32, 146Serpent, 276, 333Solidity, 276, 333, 344–356Vyper, 276, 333

KKadena, 432kana y, 412

stanu, 487, 493

klient, 412Bitcoin Core, 171, 187, 189Eth, 298Ethereum, 298Geth, 298, 302, 464Parity, 298, 304Pyethapp, 298

klienty uproszczone, 299klucze

prywatne, 88, 96, 136publiczne, 88, 97, 138

kodbajtowy, 276ród owy Litecoina, 220

kodowanie Base58Check, 139kody

MAC, 108mnemoniczne, 281operacji, 146, 277

przestawiania, 283systemowych, 284

QR, 132, 251uwierzytelniania

wiadomo ci, 102kolejka LIFO, 268komentarze, 356kompilator, 333

j zyka Solidity, 333komponenty

szkieletu, 412transakcji, 121

kompresowanie komunikatów,103

komunikacja, 58IPC, 321

komunikaty, 262konfigurowanie

kodu ród owego, 190pliku bitcoin.conf, 190sieci prywatnej, 313w z a, 463w z a w Raspberry Pi, 463

konsensus, 37, 43, 292federacyjny, 46w Hyperledger Fabric, 416w a cuchu bloków, 45

konsola Geth, 302konsorcja, 508konstruktor, 354kontrakt chaincode, 414

kontrakty, 150natywne, 272ricardia skie, 237

kontrola granic, 474kopalnie, 163, 298koparki, 296korze

drzewa skrótów, 30magazynu danych, 265

koszty, 35kryptoekonomia, 509kryptografia, 70

asymetryczna, 85badania, 510klucza publicznego, 26, 85krzywej eliptycznej, 259symetryczna, 67, 74

kryptowaluta, 33ethereum, 196Litecoin, 217model a cucha skrótów,

199Namecoin, 211Primecoin, 220warto rynkowa, 198Zcash, 195, 223

kryptowaluty alternatywne,195, 209

krzywe eliptyczne, 87kwota do zwrotu, 264

Lliczby ca kowite, 345LIFO, Last In, First Out, 146,

268limit paliwa, 259Lisk, 65lista

transakcji, 325unikatowych w z ów, 436

Litecoin, 217handel, 219kod ród owy, 220portfel, 220wydobywanie, 220

litera y, 347ca kowitoliczbowe, 347szesnastkowe, 347znakowe, 347

Poleć książkęKup książkę

Skorowidz

531

LKIF, legal knowledgeinterchange format, 236

logarytm dyskretny, 87, 94lokalizacja danych, 349

a cuch bloków, 21, 27, 151,284, 431, 453

Bitcoin Gold, 183Ethereum, 247, 249Kadena, 432Quorum, 444Rootstock, 442

a cuchybi-twin, 220bloków

alternatywy, 511badania, 515bez tokenów, 43bezpiecze stwo, 495ciemna strona, 513dla przedsi biorstw, 504edukacja, 509prywatne, 504publiczne, 41specyficzne, 503standaryzacja, 506usprawnienia, 507z tokenami, 43

boczne, 42, 443, 488przyczepione, 197

Cunninghama, 220drzewiaste, 489

czniki, 441

Mmagiczne warto ci, 168MaidSafe, 64, 447Mainnet, 254manipulowanie rynkiem, 122maszyna

stanowa, 33wirtualna, 32

EVM, 267, 269, 333RVM, 443

mechanizmosi gania konsensusu, 43,

292SBTF, 409ustalania kluczy, 87

mechanizmykryptograficzne, 73oparte na reputacji, 46

mened ersieci, 444transakcji, 444

Message Digest, 104metadane, 144

bloku, 410MetaMask, 340metody decentralizacji, 53Microsoft Visual Studio, 520MimbleWimble, 494miniklucz, 137moc obliczeniowa, 59model

aplikacji, 416BaaS, 512generowania podpisów, 86

modyfikatory funkcji, 355modyfikowalno transakcji,

151MultiChain, 448multimedia, 481Multisig, 148

Nnag ówek bloku, 285nagrody, 157

za wydobycie bloku, 210Namecoin, 211

generowanie rekordów,215

handel, 213pozyskiwanie, 213

narz dzie, 331, 520Apache Kafka, 409EthereumJS, 338Ganache, 338, 373MetaMask, 340nheqminer, 229Node, 338OpenSSL, 67, 82Oyente, 499TestRPC, 339Truffle, 342Wireshark, 172

NG, next generation, 517niemodyfikowalno , 35, 39nieprzekazywalne zadania, 202

niezabezpieczone po czenieRPC, 321

niezaprzeczalno , 72Node, 338, 465nomina y bitcoinów, 136

Oobiekty stanowe, 424obliczanie skrótów, 160obraz a cucha bloków, 30obs uga

audytów, 406transakcji, 418

odpornona kolizje, 103na podzia , 47

odwzorowania, 349ogólne atrybuty, 121ograniczenia

Bitcoina, 205funkcji kryptograficznych,

515opcje

analiz, 497w kliencie Geth, 315

OpenSSLalgorytm ECC, 99algorytm RSA, 96ECDSA, 115funkcje skrótu, 107podpis cyfrowy, 114

operacjearytmetyczne, 277dodawania

elementów na stosie, 281wpisów dziennika, 282

duplikowania, 282kryptograficzne, 278logiczne, 278przestawiania, 282systemowe, 283w zdecentralizowanych

aplikacjach, 63opieka zdrowotna, 478op ata

transakcyjna, 142za paliwo, 290

oprogramowanie klienckie, 298osi ganie konsensusu, 416, 421,

515

Poleć książkęKup książkę

Skorowidz

532

osoby przewiduj ce zlecenia,122

OTP, optimistic transportprotocol, 440

OWPS, open web paymentscheme, 440

Oyente, 499

PP2P, peer-to-peer, 28PaaS, platform as a service,

482paliwo, 289para kluczy RSA, 96parowanie punktów krzywej

eliptycznej, 273Pay

to Public Key Hash, 147to Script Hash, 147

PBFT, practical byzantinefault-tolerance, 46, 451

pier cie , 70pisanie kodu kontraktu, 343Plasma, 491platforma

DAPPLE, 521Embark, 521Eris, 449Ethereum, 64Hyperledgea Fabric, 405Lisk, 65MaidSafe, 64Meteor, 521MultiChain, 448Swarm, 308Truffle, 371uPort, 521

platformydo decentralizacji, 64inteligentnych kontraktów,

37programistyczne, 331, 371

plik bitcoin.conf, 190p atno ci, 178pod a cuchy, 489podpis, 259

cyfrowy, 111funkcji, 353

podstan transakcji, 264podwajanie punktów, 93, 94

PoET, proof of elapsed time,418

pokwitowania transakcji, 266pole inicjuj ce, 259po czenie RPC, 321poprawno bloków, 287portfel, 175, 298

Blockchain, 132portfele

deterministyczne, 175internetowe, 177mobilne, 177niedeterministyczne, 175pami ciowe, 176papierowe, 176sprz towe, 176

po rednictwo, 53poufne transakcje, 494poufno , 71, 405, 493poziom

decentralizacji, 54op at, 290osi gania konsensusu, 484sieci, 484sk adowania danych, 485trudno ci bloku, 288widoku, 485

pozycja, 120pozyskiwanie namecoinów, 213Primecoin, 220

handel, 221wydobywanie, 221

problembizantyjskich genera ów, 24logarytmu dyskretnego, 94

problemytechniczne, 508z centralizacj , 515

procesor, 160, 162graficzny, 161, 162

program Tendermint, 448programowanie, 192projekt

Bitcoin-NG, 517Bletchley, 519Burrow, 401Casper, 519Cello, 402, 517CollCo, 517Composer, 402Explorer, 402

Fabric, 400Falcon, 519Hawk, 518Indy, 401INFURA, 522Iroha, 400Qtum, 517Quilt, 402Sawtooth Lake, 400SETLCoin, 518Solidus, 517systemu rozproszonego, 25TEEChan, 518Town-Crier, 518Zcash dla Ethereum, 516

protoko ymieszania, 206, 207oparte na Bitcoinie, 207pomocnicze, 307zaawansowane, 181

protokóAMQP, 426ATP, 440Bitcoin Cash, 183Bitcoin Unlimited, 183GHOST, 292, 486IBC, 449ILCP, 441ILP, 441ILQP, 441Interledger, 440NG, 517OTP, 440OWPS, 440P2P, 410SCP, 441SegWit, 181Solidus, 518SPSP, 440Swarm, 396TLS, 471TMSP, 448UTP, 440Whisper, 307

protoko yosi gania konsensusu, 437lepych podpisów, 118

wykrywania w z ów, 170,173

prywatno , 205, 405, 491

Poleć książkęKup książkę

Skorowidz

533

prywatny a cuch bloków, 41,42, 488

przeciwobraz, 103przegl darka

MetaMask, 520Mist, 299, 321, 322

dodawanie kontraktów,323

przejrzysto , 34przekazywanie

bloków, 490warto ci, 38

przeno no , 407przep yw danych, 393przeskakiwanie kopalni, 203przesy anie p atno ci, 130przetwarzane konta, 264przyczepione a cuchy boczne,

197przyspieszenie operacji, 35publiczne a cuchy bloków, 41pula transakcji, 143, 183

QQuilt, 402Quorum, 444

transakcje, 445QuorumChain, 444

RRaspberry Pi, 460

klient Geth, 464konfigurowanie w z a, 463sterowanie diod , 473uk ad, 467

regulacje, 512rejestr

Corda, 424kryptograficznie

bezpieczny, 28kryptograficznyTezos, 445oparty na uprawnieniach,

42reputacja, 46Ripple, 436

osi ganie konsensusu, 438transakcje, 438

rodzajestawek, 201transakcji, 147

rodzina transakcji, 418Rootstock, 442rozk ad liczb ca kowitych, 87rozliczalno , 26, 73rozproszone

rejestry, 28, 40, 396, 409tablice mieszaj ce, 57, 110

rozrachunek potransakcyjny,479

rozwójalternatywnych

kryptowalut, 209technologii, 21

równanie Weierstrassa, 90RPC, remote procedure call,

172RSA, 88

deszyfrowanie, 99klucz prywatny, 96klucz publiczny, 97podpisy cyfrowe, 111szyfrowanie, 99

RVM, Rootstock virtualmachine, 443

rynkid u ne, 119kapita owe, 119pieni ne, 119

rz d, 69

Ssaldo, 265Sawtooth Lake, 400, 418

inteligentne kontrakty, 420osi ganie konsensusu, 421rodowiskoprogramistyczne, 421

SBTF, Simple Byzantine FaultTolerance, 409

schematanalizy decentralizacji, 56DAP, 224MimbleWimble, 494

schematy kodowania, 118SCP, stellar consensus

protocol, 441Segregated Witness, 181

serwerHTTP, 327obs ugi protoko u kopalni,

167SHA, 105

dzia anie algorytmu, 106SHA-256, 106SHA-3, 107Sharding, 487sieci

internetu rzeczy, 454prywatne, 254, 313

dodawanie kontraktów,323

eksplorator bloków, 326identyfikator sieci, 314katalog na dane, 315plik pocz tkowy, 314uruchamianie, 316uruchamianie

przegl darki Mist, 321testowe, 312w topologii siatki, 58

sieBitcoin, 167Bitcoin Lightning, 180Ethereum, 254, 255Mainnet, 254P2P, 32regtest, 191Ripple, 436SAFE, 64Stellar, 441Testnet, 254

signcryption, 117skalowalno , 309, 406, 483,

516skarbce, 428sk adowanie

danych, 57, 447MaidSafe, 447Storj, 446w chmurze, 446

rejestru, 411skompresowane drzewa trie,

110skrót kodu, 265skrypt P2PKH, 148Solidity, 344–56Solidus, 517specyfikatory dost pu, 354

Poleć książkęKup książkę

Skorowidz

534

spójno , 47, 48sprawdzanie

poprawno ci, 146, 263, 497,498bloków, 287transakcji, 37, 150

SPSP, simple payment setupprotocol, 440

SPV, simple paymentverification, 299

stankonta, 265maszyny, 271po transakcji, 266wiata, 264, 413

standard ERC20, 231standaryzacja, 506startupy, 505Stellar, 441stopa procentowa, 211Storj, 446stos LIFO, 146Stratis, 520struktura, 348

bloku, 31, 151, 410danych transakcji, 143a cucha bloków, 31

nag ówka bloku, 151steruj ca, 350transakcji coinbase, 149wej cia transakcji, 145wyj cia transakcji, 145

symbole matematyczne, 249synchronizacja nag ówków i

bloków, 171system

B-money, 126IPFS, 57, 394

systemyalternatywne, 195rozproszone, 24,52sk adania zlece , 120wydobywania, 160zdecentralizowane, 53

szablony inteligentnychkontraktów, 239

szkielet, 407sztuczna inteligencja, 37szybko

obliczania skrótów, 160przetwarzania transakcji, 182

szyfrowanie, 86, 89homomorficzne, 117, 492

szyfry, 68blokowe, 75strumieniowe, 75

lepe podpisy cyfrowe, 26rodowisko

Ethereum, 311IDE, 335IDE Remix, 468, 497Node.js, 465REPL, 434TEE, 494uruchomieniowe, 269

wiatprawa, 237rozlicze , 237

Ttablice, 348

DHT, 110, 446IBLT, 486mieszaj ce, 110

technika ZKP, 117technologia DLT, 40technologie teleinformatyczne,

52TEE, Trusted Execution

Environment, 494Tendermint, 448

Core, 448Socket Protocol, 448

terminale kasowe, 179Testnet, 254TestRPC, 339testy, 343

porównawcze, 295Tezos, 445The DAO, 244TLS, transport layer security,

212, 471TMTO, time-memory trade-off,

217tokeny, 231

Ether, 267to samo , 406

transakcje, 30, 121, 134, 252,410, 418

coinbase, 149deterministyczne, 406finansowe, 118pocz tkowe, 237poufne, 494tworz ce kontrakty, 258,

261wywo ywania

komunikatów, 258, 261zwi zane

z bezpiecze stwem, 439z kontem, 439z p atno ciami, 439ze zleceniami, 439

trendy, 503trójk t Zooko, 59Truffle, 342, 371

dodawanie kontraktu, 471inicjowanie platformy, 371interakcja z kontraktem,

377konsola, 378metody, 378wywo ywanie metod, 391

trybCBC, 77CTR, 77ECB, 77generowania strumienia

kluczy, 78kryptograficznych skrótów,

78szyfrowania blokowego, 76uwierzytelniania

komunikatu, 78twierdzenie CAP, 25, 47tworzenie

kodów MAC, 108kont w kliencie Parity, 306kontraktu, 386obiektu web3, 368podpisów cyfrowych, 111

typ danych address, 346typ logiczny, 345typy

funkcyjne, 347a cuchów bloków, 39

referencyjne, 348sieci, 52

Poleć książkęKup książkę

Skorowidz

535

Uubezpieczenia, 478uk ad

ASIC, 161, 163FPGA, 162

unikatowo , 39uproszczenie obecnych

modeli, 35URI, uniform resource

identifier, 178uruchamianie

interfejsu, 192portfela Ethereum, 322przegl darki Mist, 321sieci prywatnej, 316w z a, 190, 191

us ugachaincode, 411Counterparty, 208Oraclize, 392

us ugia cucha bloków, 409

notarialne, 427osi gania konsensusu, 409udost pniania mapy sieci,

427wyroczni, 427zarz dzania cz onkostwem,

408zarz dzania

uprawnieniami, 427UTP, universal transport

protocol, 440uwierzytelnianie, 71

jednostek, 72ród a danych, 72

u yte paliwo, 266

Wwarstwa, 36

aplikacji, 440, 456mi dzyrejestrowa, 441obiektów fizycznych, 455rejestru, 441sieci, 455transportowa, 440urz dze , 455zarz dzania, 456

warto , 259nonce, 30, 258, 265pusta, 148

WASM, WebAssembly, 268Web3, 357

dodawanie kontraktów,358

instalowanie biblioteki,365

skrypt instalacyjny, 360tworzenie obiektu, 368

wej cia, 145wersje Ethereum, 248w ze , 25, 33, 291

Bitcoina, 188bizantyjski, 25

w z yakceptuj ce, 412pe ne, 167porz dkuj ce, 412przekazuj ce, 412sprawdzania poprawno ci,

436SPV, 167statyczne, 316u ytkownika, 436zatwierdzaj ce, 412

Whisper, 307wiek pieni dzy, 211wielko bloku i transakcji,

211wiersz polece , 67

uruchamianie interfejsu,192

WIF, Wallet Import Format,137

Wireshark, 172wizualizacja przep ywu

rodków, 134wspó dzia anie, 406wspó zawodnictwo, 54wydobywanie, 48, 156, 160,

294, 295czone, 212

primecoinów, 222z u yciem procesora

graficznego, 228zcashów, 225

wyj cia, 145wykonywanie transakcji, 263

wyliczenia, 347wyrocznie, 241, 392

zdecentralizowane, 242wysoka dost pno , 35wysy anie bitcoinów, 132wywo ania, 263

RPC, 172

Zzaciemnianie, 491

kodu, 516zadania górników, 156zapewnianie bezpiecze stwa,

39zapobieganie przest pstwom

finansowym, 480zapytania o dane, 407zarz dzanie

prawami cyfrowymi, 38,420

zleceniem, 120zasilanie konta, 303zastrze one a cuchy bloków,

42zatrudnienie, 509zaufanie, 34zautomatyzowana kontrola

graniczna, 476zbiór, 69Zcash, 195, 223

handel, 225wydobywanie, 225

zdarzenia, 350, 411zdecentralizowane

aplikacje, 62, 63korporacje autonomiczne,

62organizacje autonomiczne,

61spo eczno ci autonomiczne,

62zdecentralizowany ekosystem,

60zestaw

autodestrukcji, 264dzienników, 264wpisów z dziennika, 266

ZKP, zero-knowledge proof,117

Poleć książkęKup książkę

Skorowidz

536

zlecenie, 120po cenie rynkowej, 120transakcji, 121

zmienne globalne, 349zmniejszenie kosztów, 35

zu ycie energii, 512zwi kszenie

wielko ci bloku, 485wydajno ci a cuchów

bloków, 485

dania POST, 363

Poleć książkęKup książkę