Bitcoin

Andreas M. Antonopoulos, David A. Harding
Bitcoin
Lista autorów
Popraw tę książkę | Dodaj inne wydanie

Opis

To trzecie, uzupełnione i zaktualizowane wydanie cenionego przewodnika dla każdego, kto chce dołączyć do świata bitcoina, zwanego "internetem pieniędzy". Znajdziesz tu wszelkie kluczowe informacje, podane w jasny, zrozumiały sposób i poparte rzeczywistymi przykładami. Dołączone fragmenty kodu świetnie ilustrują kluczowe koncepcje. To wydanie zawiera mnóstwo najnowszych informacji, w tym opis struktury transakcji, MAST, P2C, wielopodpisów bezskryptowych, a także mechanizmów Taproot i Tapscript. Dzięki lekturze zrozumiesz też tematykę bloków kompaktowych, łańcucha bloków signet, BIP8 i szybkich rozpraw.

W książce:

  • solidne podstawy bitcoina i łańcucha bloków
  • techniczne aspekty bitcoina i waluty kryptograficznej
  • sieć bitcoina, architektura P2P, cykl życia transakcji i kwestie bezpieczeństwa
  • najnowsze rozwiązania, w tym Taproot, Tapscript, podpisy Schnorra
  • opis nowych, zaawansowanych zastosowań bitcoina

Wydanie 3 uzupełnione
Przedmowa

1. Wprowadzenie
  • Historia bitcoina
  • Pierwsze kroki
    • Wybór portfela bitcoina
    • Szybkie wprowadzenie
    • Kody odzyskiwania
    • Adresy bitcoin
    • Otrzymywanie bitcoinów
    • Pozyskiwanie pierwszego bitcoina
    • Określanie aktualnej ceny bitcoinów
    • Przesyłanie i otrzymywanie bitcoinów
    • Potwierdzenia

2. Jak działają bitcoiny?
  • Omówienie bitcoinów
    • Zakup w sklepie internetowym
  • Transakcje w bitcoinach
    • Wejścia i wyjścia w transakcjach
    • Łańcuchy transakcji
    • Wydawanie reszty
    • Wybór monet
    • Typowe formy transakcji
  • Tworzenie transakcji
    • Wybór odpowiednich wejść
    • Generowanie wyjść
    • Dodawanie transakcji do łańcucha bloków
  • Kopanie bitcoinów
  • Wydawanie środków z transakcji

3. Bitcoin Core - implementacja wzorcowa
  • Od bitcoina do Bitcoin Core
  • Środowisko programistyczne związane z bitcoinami
  • Budowanie implementacji Bitcoin Core z użyciem kodu źródłowego
    • Wybór wersji implementacji Bitcoin Core
    • Konfigurowanie budowania implementacji Bitcoin Core
    • Budowanie plików wykonywalnych implementacji Bitcoin Core
  • Uruchamianie węzła z implementacją Bitcoin Core
  • Konfigurowanie węzła z implementacją Bitcoin Core
  • Interfejs API oprogramowania Bitcoin Core
    • Pobieranie informacji na temat stanu Bitcoin Core
    • Sprawdzanie i dekodowanie transakcji
    • Badanie bloków
    • Używanie programowego interfejsu oprogramowania Bitcoin Core
  • Inne klienty, biblioteki i pakiety narzędzi
    • C i C++
    • JavaScript
    • Java
    • Python
    • Go
    • Rust
    • Scala
    • C#

4. Klucze i adresy
  • Kryptografia z użyciem klucza publicznego
    • Klucze prywatne
    • Objaśnienie kryptografii z użyciem krzywej eliptycznej
    • Klucze publiczne
  • Skrypty wyjściowe i wejściowe
  • Adresy IP: pierwotne adresy bitcoin (P2PK)
  • Tradycyjne adresy na użytek P2PKH
  • Kodowanie Base58Check
  • Skompresowane klucze publiczne
  • Tradycyjne adresy P2SH
  • Adresy Bech32
    • Problemy z adresami bech32
    • Bech32m
    • Formaty kluczy prywatnych
    • Skompresowane klucze prywatne
  • Zaawansowane postacie kluczy i adresów
    • Adresy vanity
    • Portfele papierowe

5. Odzyskiwanie portfela
  • Niezależne generowanie kluczy
    • Deterministyczne generowanie kluczy
    • Generowanie publicznego klucza podrzędnego
    • Hierarchiczne detereministyczne (HD) generowanie kluczy (BIP32)
    • Ziarna i kody odzyskiwania
    • Kopie zapasowe danych innych niż klucze
    • Kopie zapasowe ścieżek generowania kluczy
  • Technologie obsługi portfeli
    • Kody odzyskiwania BIP39
    • Tworzenie portfela HD na podstawie ziarna
    • Używanie rozszerzonego klucza publicznego w sklepie internetowym

6. Transakcje
  • Zserializowana transakcja bitcoina
  • Wersja
  • Rozszerzony znacznik i flaga
  • Wejścia
    • Długość listy wejść transakcji
    • Punkt wyjścia
    • Skrypt wejściowy
    • Sekwencja
  • Wyjścia
    • Liczba wyjść
    • Kwota
    • Skrypty wyjściowe
  • Struktura poświadczeń
    • Okrężne zależności
    • Plastyczność transakcji powodowana przez strony trzecie
    • Plastyczność transakcji powodowana przez stronę drugą
    • Segregated Witness
    • Serializacja struktury poświadczenia
  • Czas blokady
  • Transakcje coinbase
  • Waga i jednostka vbyte
  • Serializacja tradycyjna

7. Autoryzacja i uwierzytelnianie
  • Skrypty transakcji i język Script
    • Niekompletność w sensie Turinga
    • Weryfikacja bezstanowa
    • Tworzenie skryptów
    • Skrypt P2PKH
  • Wielopodpisy skryptowe
  • Transakcje P2SH
    • Adresy P2SH
    • Zalety stosowania P2SH
    • Skrypt wypłaty i sprawdzanie poprawności
  • Wyjścia rejestrujące dane (z operatorem OP_RETURN)
    • Ograniczenia czasu blokady transakcji
    • Weryfikacja blokady czasowej (OP_CLTV)
    • Względne blokady czasowe
    • Względne blokady czasowe z operatorem OP_CLV
  • Skrypty z przepływem sterowania (klauzule warunkowe)
    • Klauzule warunkowe z kodami operacji VERIFY
    • Przepływ sterowania w skryptach
  • Przykładowy złożony skrypt
    • Przykładowe wyjścia i transakcje Segregated Witness
    • Przejście na Segregated Witness
  • MAST (Merklized Alternative Script Tree)
  • Transakcje P2C (pay to contract)
  • Wielopodpisy bezskryptowe i podpisy progowe
  • Taproot
  • Tapscript

8. Podpisy cyfrowe
  • Jak działają podpisy cyfrowe?
    • Tworzenie podpisu cyfrowego
    • Sprawdzanie poprawności podpisu
    • Typy skrótów podpisów (SIGHASH)
  • Podpisy Schnorra
    • Serializowanie podpisów Schnorra
    • Wielopodpisy bezskryptowe oparte na algorytmie Schnorra
    • Bezskryptowe podpisy progowe oparte na algorytmie Schnorra
  • Podpisy ECDSA
    • Algorytm ECDSA
    • Serializowanie podpisów ECDSA (do formatu DER)
  • Znaczenie losowości w podpisach
  • Nowy algorytm podpisywania w Segregated Witness

9. Opłaty transakcyjne
  • Kto uiszcza opłaty transakcyjne?
  • Opłaty i stawki opłat
  • Szacowanie odpowiednich stawek opłat
  • Podwyższanie opłat metodą RBF (Replace By Fee)
  • Podwyższanie opłat metodą CPFP (Child Pays for Parent)
  • Sztafeta pakietów
  • Przygniatanie transakcji
  • Wykrawanie CPFP i wyjścia kotwiczne
  • Dodawanie opłat do transakcji
  • Blokada czasowa jako obrona przed celowaniem w opłaty

10. Sieć bitcoina
  • Typy i role węzłów
  • Sieć
  • Przekazywanie bloków kompaktowych
  • Prywatne sieci przekazywania bloków
  • Wykrywanie sieci
  • Kompletne węzły
  • Przesyłanie "zawartości magazynu"
  • Klienty lekkie
  • Filtry Blooma
    • Jak działają filtry Blooma?
    • W jaki sposób klienty lekkie używają filtrów Blooma?
  • Kompaktowe filtry bloków
    • Kodowane zbiory Golomba-Rice'a (GCS)
    • Jakie dane dołącza się do filtra bloków?
    • Pobieranie filtrów bloków od wielu węzłów
    • Ograniczanie zużycia pasma przez kodowanie stratne
    • Używanie kompaktowych filtrów bloków
  • Klienty lekkie a prywatność
  • Połączenia szyfrowane i uwierzytelniane
  • Pule pamięciowe i pule transakcji osieroconych

11. Łańcuch bloków
  • Struktura bloku
  • Nagłówek bloku
  • Identyfikatory bloku - skrót nagłówka bloku i wysokość bloku
  • Blok początkowy
  • Łączenie bloków w łańcuchu
  • Drzewa skrótów
  • Drzewa skrótów i klienty lekkie
  • Testowe łańcuchy bloków bitcoina
    • Testnet - poligon doświadczalny bitcoina
    • Signet - testnet z dowodem autorytetu
    • Regtest - lokalny łańcuch bloków
  • Używanie testowych łańcuchów bloków w trakcie prac programistycznych

12. Kopanie i konsensus
  • Ekonomia i podaż pieniądza w systemie bitcoina
  • Zdecentralizowane osiąganie konsensusu
  • Niezależne sprawdzanie poprawności transakcji
  • Węzły służące do kopania
    • Transakcja coinbase
    • Nagrody i opłaty w transakcji coinbase
    • Struktura transakcji coinbase
    • Dane coinbase
  • Tworzenie nagłówka bloku
  • Wykopywanie bloku
    • Algorytm Proof-of-Work
    • Reprezentacja celu
    • Dostosowywanie trudności przez zmianę celu
  • Mediana przeszłego czasu (MTP)
  • Udane wykopanie bloku
  • Sprawdzanie poprawności nowego bloku
  • Łączenie bloków i wybieranie łańcuchów
  • Kopanie i loteria haszowania
    • Rozwiązanie z użyciem dodatkowej wartości nonce
    • Kopalnie
  • Ataki związane z tempem haszowania
  • Zmienianie reguł osiągania konsensusu
    • Twarde rozgałęzienia
    • Miękkie rozgałęzienia
    • Krytyka miękkich rozgałęzień
  • Rozwój oprogramowania zgodnie z konsensusem

13. Bezpieczeństwo bitcoina
  • Zasady bezpieczeństwa
    • Bezpieczny rozwój systemów bitcoina
    • Źródło zaufania
  • Dobre praktyki z obszaru zabezpieczeń dla użytkowników
    • Fizyczne przechowywanie bitcoinów
    • Urządzenia podpisujące
    • Gwarantowanie dostępu
    • Dywersyfikacja ryzyka
    • Wielopodpis i zarządzanie
    • Zachowanie dostępu

14. Rozwiązania warstwy drugiej
  • Cegiełki (podstawowe mechanizmy)
  • Rozwiązania oparte na cegiełkach
  • Colored coins
    • Pieczęcie jednokrotnego użytku
    • Płatności na kontrakt (P2C)
    • Sprawdzanie poprawności po stronie klienta
    • RGB
    • Taproot Assets
  • Kanały płatności i kanały stanowe
    • Kanały stanowe - podstawowe zagadnienia i terminologia
    • Prosty przykładowy kanał płatności
    • Tworzenie kanałów niewymagających zaufania
    • Asymetryczne odwoływalne zobowiązania
    • Kontrakty HTLC
  • Kanały płatności z trasowaniem (Lightning Network)
    • Prosty przykład działania sieci Lightning Network
    • Przesył i trasowanie w sieci Lightning Network
    • Korzyści ze stosowania sieci Lightning Network

A. Artykuł Satoshiego Nakamoto na temat bitcoina
B. Errata do artykułu na temat bitcoina
C. Dokumenty BIP
Tytuł oryginalny: Mastering Bitcoin. Programming the Open Blockchain, 3rd Edition
Data wydania: 2024-10-15
ISBN: 978-83-289-1564-0, 9788328915640
Wydawnictwo: Helion
Stron: 352
dodana przez: Vernau
Mamy 1 inne wydanie tej książki

Autor

Andreas M. Antonopoulos
Urodzony w 1972 roku w Wielkiej Brytanii (Londyn)
Andreas Markos Antonopoulos jest cenionym znawcą technologii łańcucha bloków, przedsiębiorcą, autorem i prelegentem. Posiada dwa patenty z dziedziny sieci i bezpieczeństwa. Ma dar przekazywania skomplikowanych zagadnień w taki sposób, że stają się ł...

Pozostałe książki:

Bitcoin Ethereum dla zaawansowanych. Tworzenie inteligentnych kontraktów i aplikacji zdecentralizowanych
Wszystkie książki Andreas M. Antonopoulos

Gdzie kupić

Księgarnie internetowe
Sprawdzam dostępność...
Ogłoszenia
Dodaj ogłoszenie
2 osoby szukają tej książki

Moja Biblioteczka

Już przeczytana? Jak ją oceniasz?

Recenzje

Coś mi się wydaje, że książka Bitcoin aż się prosi o Twoją recenzję. Chyba jej nie odmówisz?
️ Napisz pierwszą recenzje

Moja opinia o książce

Cytaty z książki

O nie! Książka Bitcoin. czuje się pominięta, bo nikt nie dodał jeszcze do niej cytatu. Może jej pomożesz i dodasz jakiś?
Dodaj cytat