Tytuł oryginału: Mastering Blockchain - Second Edition
Transcript of Tytuł oryginału: Mastering Blockchain - Second Edition
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ę
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ę