ebook img

Andreas M. Antonopoulos PDF

247 Pages·2017·5.52 MB·Polish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Andreas M. Antonopoulos

Bitcoin UNLOCKING DIGITAL CRYPTOCURRENCIES E-COMMERCE Wprowadzenie do Bitcoin UWALNIANIE CYFROWYCH KRYPTOWALUT Andreas M. Antonopoulos 1 Wprowadzenie do Bitcoin Chcecie przyłączyć się do rewolucji technologicznej, która podbija świat finansów? Wprowadzenie do Bitcoin to Wasz przewodnik po pozornie złożonym świecie bitcoin prezentujący niezbędną wiedzę umożliwiającą udział w świecie walut internetowych. Niezależnie od tego, czy konstruujecie kolejną zabójczą aplikację, czy dokonujecie inwestycji w świeżo uruchomioną firmę albo po prostu chcecie zapoznać się z nową technologią, ten praktycznych podręcznik do Wasz niezbędnik. Bitcoin – pierwsza skutecznie zdecentralizowana waluta cyfrowa znajdująca się we wczesnej fazie rozwoju – już przyczyniła się do rozwoju wielomiliardowej gospodarki o charakterze globalnym. Jest ona dostępna dla wszystkich, którzy dysponują odpowiednim zakresem wiedzy oraz wykazują pasję uczestnika. Wprowadzenie do Bitcoin zawiera niezbędne informacje (z wyłączeniem pasji). Książka zawiera: ■ Ogólne wprowadzenie w tematykę kryptowalut — idealne dla osób nie będących technicznymi ich użytkownikami, inwestorów oraz osób zarządzających podmiotami gospodarczymi ■ Podstawy techniczne bitcoin oraz kryptowalut dla deweloperów programów, inżynierów oraz architektów oprogramowania oraz systemów informatycznych ■ Szczegółowe informacje na temat zdecentralizowanej sieci bitcoin, architektury typu peer-to-peer, cyklu transakcyjnego oraz zasad bezpieczeństwa ■ Podstawy opracowania bitcoin oraz sieci blokowych uwzględniające także sieci, waluty i aplikacje alternatywne ■ Anegdoty użytkowników, eleganckie analogie, przykłady oraz fragmenty kodów ilustrujące kluczowe koncepcje techniczne Andreas M. Antonopoulos to ceniony specjalista w zakresie technologii oraz założyciel wielu firm, który stał się jedną z najpowszechniej znanych i szanowanych postaci w świecie bitcoin. Ten doskonały mówca, nauczyciel oraz pisarz posiada niezwykły dar przekazywania złożonych tematów w sposób przystępny i zrozumiały. Andreas jest także konsultantem dla licznych nowopowstałych firm technologicznych i regularnie wygłasza wykłady podczas konferencji i różnego rodzaju wydarzeń społecznościowych na całym świecie. “ Kiedy omawiam Bitcoin niekiedy pada pytanie: 'Ale jak to właściwie działa?' teraz mam już właściwą odpowiedź na to pytanie, ponieważ każdy, kto zapozna się z treścią książki „Wprowadzenie do Bitcoin” będzie dysponować dogłębną wiedzą na temat sposobu działania tego systemu oraz odpowiednimi narzędziami umożliwiającymi ” napisanie aplikacji kryptowalutowych następnej generacji. —Gavin Andresen Główny Specjalista ds. Naukowych, Bitcoin Foundation “ Książka napisana przez Andreasa pomoże Wam włączyć się a nurt rewolucji w ” oprogramowaniu przeznaczonym dla świata finansów. —Naval Ravikant Współzałożyciel AngelList 2 Podziękowanie za opracowanie „Wprowadzenia do Bitcoin “Kiedy omawiam Bitcoin niekiedy pada pytanie: 'Ale jak to właściwie działa?' teraz mam już właściwą odpowiedź na to pytanie, ponieważ każdy, kto zapozna się z treścią książki „Wprowadzenie do Bitcoin” będzie dysponować dogłębną wiedzą na temat sposobu działania tego systemu oraz odpowiednimi narzędziami umożliwiającymi napisanie aplikacji kryptowalutowych następnej generacji.” — Gavin Andresen Główny Specjalista ds. Naukowych, Bitcoin Foundation “Bitcoin oraz technologie sieci blokowych stają się fundamentami Internetu nowej generacji. Najtęższe i najsławniejsze umysły w Dolinie Krzemowej już nad nimi pracują. Książka napisana przez Andreas pozwoli Wam wziąć udział w rewolucji w oprogramowaniu dla świata finansów.” — Naval Ravikant Współzałożyciel AngelList “Wprowadzenie do Bitcoin” to najlepszy techniczny materiał źródłowy poświęcony bitcoin obecnie dostępny na rynku. Patrząc wstecz możemy przyjąć, że bitcoin to najważniejsza z technologii ostatniej dekady. I właśnie dlatego niniejsza pozycja mieści się kanonie lektur obowiązkowych każdego programisty, zwłaszcza jeżeli specjalizuje się on w budowaniu aplikacji z protokołem bitcoin. Gorąco polecam.” — Balaji S. Srinivasan (@balajis) Partner generalny 3 Wprowadzenie do Bitcoin Andreas M. Antonopoulos 4 Mastering Bitcoin By Andreas M. Antonopoulos Copyright c 2015 Andreas M. Antonopoulos LLC. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. Książki publikowane przez O’Reilly mogą być nabywane w celach edukacyjnych, biznesowych lub do wykorzystania w celu promocji sprzedaży. Dostępne są także wersje online większości opublikowanych pozycji (http://safaribooksonline.com). W celu uzyskania bliższych informacji należy kontaktować się z naszym Działem Sprzedaży Korporacyjnej/Instytucjonalnej pod nr: 800-998-9938 lub na adres poczty elektronicznej: [email protected]. Wydawca: Mike Loukides and Allyson MacDonald Kierownik Produkcji: Melanie Yarbrough Redakcja: Kim Cofer Korekta: Carla Thornton Indekser: WordCo Indexing Services Projekt okłądki: Karen Montgomery Układ treści: David Futato Ilustracje: Rebecca Demarest Grudzień 2014r.: Wydanie pierwsze Historia zmian do wydania pierwszego: 2014-12-01: Wydanie pierwsze Patrz: http://oreilly.com/catalog/errata.csp?isbn=9781449374044 w celu zapoznania się z informacjami szczegółowymi. Znak O’Reilly to zarejestrowany znak handlowy O’Reilly Media, Inc. Mastering Bitcoin, projekt okładki oraz związane znaki handlowe i oznaczenie stanowią znaki handlowe O’Reilly Media, Inc. Oznaczenia stosowane przez producentów i sprzedawców w celu wyróżnienia swoich wyrobów uznaje się za znaki handlowe. Jeżeli oznaczenia te występują w niniejszej książce i O’Reilly Media, Inc. Posiada informacje dotyczące praw do znaku handlowego są one napisane wielkimi literami lub ich oznaczenia zaczynają się od wielkiej litery. Pomimo starań ze strony autora oraz wydawcy w celu zapewnienia, że wszelkie informacje oraz instrukcje umieszczone w treści niniejszego opracowania są dokładne wydawca oraz autor zrzekają się odpowiedzialności za wszelkie błędy lub pominięcia z włączeniem, ale bez ograniczenia do odpowiedzialności za szkody wynikłe w związku z wykorzystaniem lub opieraniem się na treści niniejszej książki. Wykorzystanie informacji oraz instrukcji zawartych w niniejszej publikacji jest na wyłączną odpowiedzialność i ryzyko czytelnika. Jeżeli podane w niniejszym materiale przykłady kodów lub innych technologii podlegają licencjom otwartym (open source) lub obciążone są prawami stron trzecich odpowiedzialność za wykorzystanie odpowiednich treści zgodnie z warunkami określonymi w tych licencjach lub bez naruszania wymienionych praw spoczywa na czytelniku. ISBN: 978-1-449-37404-4 [LSI] 5 Spis treści Wstęp.........................................................................................................................................................11 Opracowanie materiału dotyczącego Bitcoin.........................................................................................11 Odbiorcy.................................................................................................................................................11 Dlaczego na okładce są owady?..............................................................................................................11 Konwencje stosowane książce................................................................................................................12 Przykładowe kody...................................................................................................................................12 Wykorzystanie kodów przykładowych....................................................................................................13 Safari® Books Online...............................................................................................................................13 Jak się z nami skontaktować...................................................................................................................14 Podziękowania........................................................................................................................................14 Wersja wstępna (materiały z GitHub).....................................................................................................16 Skrócony słownik....................................................................................................................................16 ROZDZIAŁ 1.................................................................................................................................................19 Czym jest Bitcoin?...................................................................................................................................19 Historia Bitcoin.......................................................................................................................................21 Wykorzystanie Bitcoin, użytkownicy oraz ich historie............................................................................22 Początek.................................................................................................................................................24 Szybki start.............................................................................................................................................25 Pierwsze bitcoiny....................................................................................................................................26 ROZDZIAŁ 2.................................................................................................................................................31 Transakcje, bloki, mining i łańcuchy blokowe.........................................................................................31 Prezentacja ogólna Bitcoin.....................................................................................................................31 Kupujemy filiżankę kawy.........................................................................................................................32 Transakcje bitcoinowe............................................................................................................................34 Popularne formy transakcji.....................................................................................................................36 Konstrukcja transakcji.............................................................................................................................37 Otrzymywanie odpowiednich strumieni wejściowych............................................................................38 Tworzenie bloków wyjściowych..............................................................................................................39 Dodawanie transakcji do księgi...............................................................................................................40 Wysyłanie transakcji...............................................................................................................................40 Powielanie..............................................................................................................................................40 6 Perspektywa Boba..................................................................................................................................41 Bitcoin Mining........................................................................................................................................41 Bloki transakcji miningowych.................................................................................................................42 Wydatkowanie transakcji........................................................................................................................44 ROZDZIAŁ 3.................................................................................................................................................45 Rdzeń Bitcoin: oprogramowanie wzorcowe............................................................................................45 Pierwsze uruchomienie oprogramowania podstawowego Bitcoin.........................................................45 Kompilacja Bitcoin Core w oparciu o kod źródłowy................................................................................46 Korzystanie z JSON-RPC API Bitcoin Core w linii poleceń........................................................................51 Informacje o statusie Bitcoin Core Client................................................................................................53 Ustawienia portfela oraz szyfrowanie.....................................................................................................53 Aktualizacja portfela, usuwanie oraz odzyskiwanie tekstu Plain-text Dump...........................................54 Adres portfela i odbieranie transakcji.....................................................................................................54 Sprawdzanie i odszyfrowywanie transakcji.............................................................................................56 Wyszukiwanie bloków............................................................................................................................59 Tworzenie, podpisywanie oraz przekazywanie transakcji w oparciu o niezrealizowane kwoty wyjściowe ...............................................................................................................................................................60 Alternatywni klienci, biblioteki oraz zestawy narzędzi............................................................................65 Libbitcoin i narzędzia sx..........................................................................................................................66 ROZDZIAŁ 4.................................................................................................................................................69 Wstęp.....................................................................................................................................................69 Szyfrowanie przy użyciu klucza publicznego oraz kryptowaluty.............................................................69 Klucze prywatne i publiczne...................................................................................................................70 Klucze prywatne.....................................................................................................................................70 Generowanie klucza prywatnego w oparciu o liczbę losową..................................................................71 Klucze publiczne.....................................................................................................................................72 Wyjaśnienie szyfrowania krzywą eliptyczną...........................................................................................72 Generowanie klucza publicznego...........................................................................................................75 Adresy bitcoin.........................................................................................................................................76 Szyfrowanie Base58 i Base58Check........................................................................................................78 Formaty kluczy........................................................................................................................................81 Wdrażanie kluczy i adresów w Python....................................................................................................85 Portfele...................................................................................................................................................88 7 Portfele niedeterministyczne (losowe)...................................................................................................88 Portfele deterministyczne (źródłowe).....................................................................................................88 Kody mnemotechniczne.........................................................................................................................89 Zaawansowane klucze i adresy...............................................................................................................98 Szyfrowane klucze prywatne (BIP0038)..................................................................................................98 Funkcja hashująca Pay-to-Script (P2SH) i adresy Multi-Sig.....................................................................99 Adresy vanity........................................................................................................................................101 Portfele papierowe...............................................................................................................................105 Rozdział 5..................................................................................................................................................108 Wstęp...................................................................................................................................................108 Cykl transakcji.......................................................................................................................................108 Tworzenie Transakcji.............................................................................................................................108 Rozprzestrzenianie transakcji po sieci Bitcoin.......................................................................................109 Rozprzestrzenianie transakcji w sieci bitcoin........................................................................................109 Struktura transakcji..............................................................................................................................110 Bloki wyjściowe transakcji....................................................................................................................112 Warunki wydatkowania (ograniczenia).................................................................................................115 Opłaty transakcyjne..............................................................................................................................119 Dodawanie opłat do transakcji.............................................................................................................119 Transakcja łańcuchowe i sieroce...........................................................................................................120 Skrypty transakcji oraz język skryptów.................................................................................................121 Budowa Skryptu (blokowanie i odblokowanie).....................................................................................122 Język skryptu........................................................................................................................................123 Niekompletność Turinga.......................................................................................................................126 Bezstatusowa weryfikacja.....................................................................................................................126 Standardowe transakcje.......................................................................................................................126 Pay-to-public-key..................................................................................................................................128 Skrypty multi-signature........................................................................................................................129 Blok danych wyjściowych (OP.RETURN.................................................................................................130 Pay-by-Script-Hash (P2SH)....................................................................................................................132 Adresy Pay-to-script-hash.....................................................................................................................134 Korzyści z pay-to-script-hash.................................................................................................................135 Realizacja (umarzanie) skryptu i walidacja isStandard..........................................................................135 8 Rozdział 6..................................................................................................................................................136 Sieć Bitcoin...............................................................................................................................................136 Węzły - rodzaje i role............................................................................................................................137 Rozszerzenie sieci.................................................................................................................................138 Wykrywanie sieci:.................................................................................................................................141 Pełne Węzły..........................................................................................................................................144 Wymiana „Inwentarza”.........................................................................................................................145 Uproszczone weryfikacje płantości (SPV) węzłów.................................................................................145 Filtry Bloom..........................................................................................................................................148 Filtr Bloom i aktualizacje inwentarza....................................................................................................152 Zbiorniki transakcyjne...........................................................................................................................153 Wiadomości Alertowe..........................................................................................................................153 Rozdział 7..................................................................................................................................................155 Łańcuch blokowy......................................................................................................................................155 Wprowadzenie......................................................................................................................................155 Struktura bloku.....................................................................................................................................156 Nagłówek bloku....................................................................................................................................157 Identyfikatory bloku: Hash nagłówka bloku i wysokość bloku..............................................................157 Blok genezy...........................................................................................................................................158 Łączenie bloków w łańcuchy.................................................................................................................159 Drzewko Merkla....................................................................................................................................160 Drzewka skrótów (Merklego) i SPV.......................................................................................................166 Rozdział 8..................................................................................................................................................169 Górnictwo i konsensus.............................................................................................................................169 Wstęp...................................................................................................................................................169 Ekonomia Bitcoin i tworzenie waluty....................................................................................................170 Consensus decentralizacji.....................................................................................................................172 Niezależna weryfikacja transakcji.........................................................................................................172 Data transakcji, opłaty i priorytet........................................................................................................175 Transakcja generowania.......................................................................................................................176 Wynagrodzenie Coinbase i opłaty........................................................................................................178 Struktura transakcji generowania.........................................................................................................179 Dane Coinbase......................................................................................................................................179 9 Konstruowanie nagłówka bloku............................................................................................................181 Wydobycie bloku..................................................................................................................................182 Algorytm Proof-of-work........................................................................................................................182 Trudność reprezentacji.........................................................................................................................187 Trudność docelowa i przekierowywanie...............................................................................................187 Skuteczne wydobycie bloku..................................................................................................................189 Weryfikacja (walidacja) nowego bloku.................................................................................................189 Gromadzenie oraz wybór bloków łańcucha..........................................................................................190 Rozwidlenia łańcuchów blokowych......................................................................................................191 Mining i wyścig hashowania.................................................................................................................195 Rozwiązanie kwestii dodatkowych wartości jednorazowych................................................................197 Pula minigowa......................................................................................................................................197 Pule zarządzane....................................................................................................................................199 P2Pool..................................................................................................................................................199 Ataki na consensus...............................................................................................................................200 ROZDZIAŁ 9...............................................................................................................................................203 Podział taksonomiczny walut i łańcuchów alternatywnych..................................................................203 Platformy meta coin.............................................................................................................................204 Colored Coins.......................................................................................................................................204 10

Description:
“Kiedy omawiam Bitcoin niekiedy pada pytanie: 'Ale jak to właściwie działa?' teraz mam już właściwą odpowiedź na to pytanie, ponieważ każdy, kto Dane są zwracane w notacji obiektowej - JavaScript Object Notation (JSON) – formacie łatwo przyswajalnym dla wszystkich języków program
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.