Zrozumie膰 Bitcoina. Programowanie kryptowalut od podstaw - Helion
Autor: Jimmy Song
Tytu艂 orygina艂u: Programming Bitcoin: Learn How to Program Bitcoin from Scratch
ISBN: 978-83-283-5923-9
ok艂adka: mi臋kka
Data wydania: 2019-09-01
Ksi臋garnia: Helion
Cena ksi膮偶ki: 41,30 z艂 (poprzednio: 59,00 z艂)
Oszcz臋dzasz: 30% (-17,70 z艂)
Tytu艂 orygina艂u: Programming Bitcoin: Learn How to Program Bitcoin from Scratch
ISBN: 978-83-283-5923-9
ok艂adka: mi臋kka
Data wydania: 2019-09-01
Ksi臋garnia: Helion
Cena ksi膮偶ki: 41,30 z艂 (poprzednio: 59,00 z艂)
Oszcz臋dzasz: 30% (-17,70 z艂)
Osoby kt贸re kupowa艂y "Zrozumie膰 Bitcoina. Programowanie kryptowalut od podstaw", wybiera艂y tak偶e:
- Cisco CCNA 200-301. Kurs video. Administrowanie bezpiecze艅stwem sieci. Cz臋艣膰 3 665,00 z艂, (39,90 z艂 -94%)
- Cisco CCNA 200-301. Kurs video. Administrowanie urz膮dzeniami Cisco. Cz臋艣膰 2 665,00 z艂, (39,90 z艂 -94%)
- Cisco CCNA 200-301. Kurs video. Podstawy sieci komputerowych i konfiguracji. Cz臋艣膰 1 665,00 z艂, (39,90 z艂 -94%)
- Impact of P2P and Free Distribution on Book Sales 427,14 z艂, (29,90 z艂 -93%)
- Cisco CCNP Enterprise 350-401 ENCOR. Kurs video. Programowanie i automatyzacja sieci 443,33 z艂, (39,90 z艂 -91%)
Spis tre艣ci
Zrozumie膰 Bitcoin. Programowanie kryptowalut od podstaw -- spis tre艣ci
- Przedmowa
- Wprowadzenie
- Dla kogo jest przeznaczona ta ksi膮偶ka?
- Co musz臋 umie膰?
- Jak uporz膮dkowany jest materia艂 w tej ksi膮偶ce?
- Przygotowanie 艣rodowiska
- Rozwi膮zania
- Konwencje zastosowane w tej ksi膮偶ce
- Korzystanie z kodu zawartego w tej ksi膮偶ce
- Podzi臋kowania
- Rozdzia艂 1. Cia艂a sko艅czone
- Troch臋 matematyki wy偶szej
- Definicja cia艂a sko艅czonego
- Definiowanie zbior贸w sko艅czonych
- Tworzenie cia艂a sko艅czonego w Pythonie
- 膯wiczenie 1.
- Arytmetyka modulo
- Arytmetyka modulo w Pythonie
- Dodawanie i odejmowanie w ciele sko艅czonym
- 膯wiczenie 2.
- Programowanie dodawania i odejmowania w Pythonie
- 膯wiczenie 3.
- Mno偶enie i pot臋gowanie w ciele sko艅czonym
- 膯wiczenie 4.
- 膯wiczenie 5.
- Programowanie mno偶enia w Pythonie
- 膯wiczenie 6.
- Programowanie pot臋gowania w Pythonie
- 膯wiczenie 7.
- Dzielenie w ciele sko艅czonym
- 膯wiczenie 8.
- 膯wiczenie 9.
- Redefiniowanie pot臋gowania
- Podsumowanie
- Rozdzia艂 2. Krzywe eliptyczne
- Definicja
- Kodowanie krzywych eliptycznych w Pythonie
- 膯wiczenie 1.
- 膯wiczenie 2.
- Dodawanie punkt贸w
- Matematyka dodawania punkt贸w
- Programowanie dodawania punkt贸w
- 膯wiczenie 3.
- Dodawanie punkt贸w, gdy x1 x2
- 膯wiczenie 4.
- Dodawanie punkt贸w, gdy x1 x2
- 膯wiczenie 5.
- Dodawanie punkt贸w, gdy P1 = P2
- 膯wiczenie 6.
- Programowanie dodawania punkt贸w, gdy P1= P2
- 膯wiczenie 7.
- Programowanie jeszcze jednego przypadku
- Podsumowanie
- Rozdzia艂 3. Kryptografia krzywych eliptycznych
- Krzywe eliptyczne nad cia艂em liczb rzeczywistych
- Krzywe eliptyczne nad cia艂ami sko艅czonymi
- 膯wiczenie 1.
- Programowanie krzywych eliptycznych nad cia艂ami sko艅czonymi
- Dodawanie punkt贸w nad cia艂ami sko艅czonymi
- Programowanie dodawania punkt贸w na krzywej nad cia艂ami sko艅czonymi
- 膯wiczenie 2.
- 膯wiczenie 3.
- Mno偶enie skalarne dla krzywych eliptycznych
- 膯wiczenie 4.
- Mno偶enie skalarne druga ods艂ona
- Grupy w matematyce
- Element neutralny
- Zamkni臋to艣膰
- Element odwrotny
- Przemienno艣膰
- 艁膮czno艣膰
- 膯wiczenie 5.
- Programowanie mno偶enia skalarnego
- Definiowanie krzywej dla Bitcoina
- Korzystanie z krzywej secp256k1
- Kryptografia klucza publicznego
- Podpisywanie i weryfikacja
- Wpisywanie celu
- Szczeg贸艂y weryfikacji
- Weryfikacja podpisu
- 膯wiczenie 6.
- Programowanie weryfikacji podpis贸w
- Szczeg贸艂y podpisywania
- Tworzenie podpisu
- 膯wiczenie 7.
- Programowanie podpisywania komunikat贸w
- Podsumowanie
- Rozdzia艂 4. Serializacja
- Nieskompresowany format SEC
- 膯wiczenie 1.
- Skompresowany format SEC
- 膯wiczenie 2.
- Podpisy DER
- 膯wiczenie 3.
- Base58
- Przesy艂anie klucza publicznego
- 膯wiczenie 4.
- Format adresu
- 膯wiczenie 5.
- Format WIF
- 膯wiczenie 6.
- Porz膮dek bajtowy (big- i little-endian) dodatkowe informacje
- 膯wiczenie 7.
- 膯wiczenie 8.
- 膯wiczenie 9.
- Podsumowanie
- Nieskompresowany format SEC
- Rozdzia艂 5. Transakcje
- Sk艂adniki transakcji
- Wersja
- 膯wiczenie 1.
- Wej艣cia
- Przetwarzanie pola ze skryptem
- 膯wiczenie 2.
- Wyj艣cia
- 膯wiczenie 3.
- Czas blokady
- 膯wiczenie 4.
- 膯wiczenie 5.
- Kodowanie transakcji
- Op艂ata transakcyjna
- Obliczanie op艂aty transakcyjnej
- 膯wiczenie 6.
- Podsumowanie
- Rozdzia艂 6. J臋zyk Script
- Zasada dzia艂ania j臋zyka Script
- Jak dzia艂a Script?
- Przyk艂adowe operacje
- Programowanie obs艂ugi kod贸w operacji
- 膯wiczenie 1.
- Przetwarzanie p贸l ze skryptami
- Programowanie analizatora sk艂adniowego i serializatora p贸l skrypt贸w
- Scalanie p贸l ze skryptami
- Programowanie scalania skrypt贸w
- Skrypty standardowe
- p2pk
- Programowanie interpretera skrypt贸w
- Elementy stosu pod lup膮
- 膯wiczenie 2.
- Problemy z p2pk
- Rozwi膮zywanie problem贸w za pomoc膮 p2pkh
- p2pkh
- Skrypty mog膮 by膰 konstruowane dowolnie
- 膯wiczenie 3.
- U偶yteczno艣膰 skrypt贸w
- 膯wiczenie 4.
- Wyzwanie: znalezienie kolizji SHA-1
- Podsumowanie
- Rozdzia艂 7. Tworzenie i walidacja transakcji
- Walidacja transakcji
- Sprawdzanie wydania wej艣膰
- Sprawdzanie sumy wej艣膰 i sumy wyj艣膰
- Sprawdzanie podpisu
- Krok 1.: zerujemy wszystkie skrypty ScriptSig
- Krok 2.: zast臋pujemy ScriptSig podpisywanego wej艣cia poprzednim ScriptPubKey
- Krok 3.: do艂膮czamy typ skr贸tu
- 膯wiczenie 1.
- 膯wiczenie 2.
- Weryfikacja ca艂ej transakcji
- Tworzenie transakcji
- Konstruowanie transakcji
- Tworzenie transakcji
- Podpisywanie transakcji
- 膯wiczenie 3.
- Tworzenie w艂asnych transakcji w testnecie
- 膯wiczenie 4.
- 膯wiczenie 5.
- Podsumowanie
- Walidacja transakcji
- Rozdzia艂 8. Pay-to-script-hash
- Czysty multisig
- Programowanie obs艂ugi OP_CHECKMULTISIG
- 膯wiczenie 1.
- Problemy z czystym multisig
- Pay-to-script-hash (p2sh)
- Programowanie p2sh
- Bardziej skomplikowane skrypty
- Adresy
- 膯wiczenie 2.
- 膯wiczenie 3.
- Weryfikacja podpis贸w p2sh
- Krok 1.: zerujemy wszystkie skrypty ScriptSig
- Krok 2.: zast臋pujemy ScriptSig podpisywanego wej艣cia p2sh skryptem RedeemScript
- Krok 3.: do艂膮czamy typ skr贸tu
- 膯wiczenie 4.
- 膯wiczenie 5.
- Podsumowanie
- Rozdzia艂 9. Bloki
- Transakcje coinbase
- 膯wiczenie 1.
- ScriptSig
- BIP0034
- 膯wiczenie 2.
- Nag艂贸wki blok贸w
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- Wersja
- 膯wiczenie 6.
- 膯wiczenie 7.
- 膯wiczenie 8.
- Poprzedni blok
- Korze艅 drzewa skr贸t贸w
- Znacznik czasu
- Sekwencja bitowa
- Warto艣膰 nonce
- Dow贸d pracy
- W jaki spos贸b g贸rnik generuje nowe skr贸ty?
- Cel
- 膯wiczenie 9.
- Trudno艣膰
- 膯wiczenie 10.
- Sprawdzanie dowodu pracy
- 膯wiczenie 11.
- Zmiana trudno艣ci
- 膯wiczenie 12.
- 膯wiczenie 13.
- Podsumowanie
- Transakcje coinbase
- Rozdzia艂 10. Techniki sieciowe
- Komunikaty sieciowe
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- Interpretowanie tre艣ci komunikatu
- 膯wiczenie 4.
- Uzgadnianie komunikacji w sieci
- 艁膮czenie si臋 z sieci膮
- 膯wiczenie 5.
- Odbieranie nag艂贸wk贸w blok贸w
- 膯wiczenie 6.
- Odpowied藕 z nag艂贸wkami
- Podsumowanie
- Komunikaty sieciowe
- Rozdzia艂 11. Uproszczona weryfikacja p艂atno艣ci
- Motywacja
- Drzewo skr贸t贸w
- Element nadrz臋dny
- 膯wiczenie 1.
- Poziom nadrz臋dny drzewa skr贸t贸w
- 膯wiczenie 2.
- Korze艅 drzewa skr贸t贸w
- 膯wiczenie 3.
- Korze艅 drzewa skr贸t贸w w blokach
- 膯wiczenie 4.
- Korzystanie z drzewa skr贸t贸w
- Blok drzewa skr贸t贸w
- Struktura drzewa skr贸t贸w
- 膯wiczenie 5.
- Programowanie obs艂ugi drzewa skr贸t贸w
- Komunikat sieciowy merkleblock
- 膯wiczenie 6.
- Wykorzystanie flag bitowych i skr贸t贸w
- 膯wiczenie 7.
- Podsumowanie
- Rozdzia艂 12. Filtry Blooma
- Czym jest filtr Blooma?
- 膯wiczenie 1.
- Krok dalej
- Filtry Blooma wed艂ug BIP0037
- 膯wiczenie 2.
- 膯wiczenie 3.
- 艁adowanie filtra Blooma
- 膯wiczenie 4.
- Pobieranie blok贸w drzewa skr贸t贸w
- 膯wiczenie 5.
- Pobieranie interesuj膮cych nas transakcji
- 膯wiczenie 6.
- Podsumowanie
- Czym jest filtr Blooma?
- Rozdzia艂 13. Segwit
- Pay-to-witness-pubkey-hash (p2wpkh)
- Kowalno艣膰 transakcji
- Eliminowanie kowalno艣ci
- Transakcje p2wpkh
- p2sh-p2wpkh
- Programowanie p2wpkh i p2sh-p2wpkh
- Pay-to-witness-script-hash (p2wsh)
- p2sh-p2wsh
- Programowanie p2wsh i p2sh-p2wsh
- Inne usprawnienia
- Podsumowanie
- Pay-to-witness-pubkey-hash (p2wpkh)
- Rozdzia艂 14. Tematy zaawansowane i dalsze kroki
- Proponowane tematy do dalszej nauki
- Portfele
- Hierarchiczne portfele deterministyczne
- Seedy mnemoniczne
- Kana艂y p艂atnicze i sie膰 Lightning
- Portfele
- Spo艂eczno艣膰
- Proponowane dalsze projekty
- Portfel testnetowy
- Eksplorator blok贸w
- Sklep internetowy
- Biblioteka narz臋dzi
- Poszukiwanie pracy
- Podsumowanie
- Proponowane tematy do dalszej nauki
- Dodatek A Rozwi膮zania 膰wicze艅
- Rozdzia艂 1. Cia艂a sko艅czone
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- 膯wiczenie 7.
- 膯wiczenie 8.
- 膯wiczenie 9.
- Rozdzia艂 2. Krzywe eliptyczne
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- 膯wiczenie 7.
- Rozdzia艂 3. Kryptografia krzywych eliptycznych
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- 膯wiczenie 7.
- Rozdzia艂 4. Serializacja
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- 膯wiczenie 7.
- 膯wiczenie 8.
- 膯wiczenie 9.
- Rozdzia艂 5. Transakcje
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- Rozdzia艂 6. J臋zyk Script
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- Rozdzia艂 7. Tworzenie i walidacja transakcji
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- Rozdzia艂 8. Pay-to-script-hash
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- Rozdzia艂 9. Bloki
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- 膯wiczenie 7.
- 膯wiczenie 8.
- 膯wiczenie 9.
- 膯wiczenie 10.
- 膯wiczenie 11.
- 膯wiczenie 12.
- 膯wiczenie 13.
- Rozdzia艂 10. Techniki sieciowe
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- Rozdzia艂 11. Uproszczona weryfikacja p艂atno艣ci
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- 膯wiczenie 7.
- Rozdzia艂 12. Filtry Blooma
- 膯wiczenie 1.
- 膯wiczenie 2.
- 膯wiczenie 3.
- 膯wiczenie 4.
- 膯wiczenie 5.
- 膯wiczenie 6.
- O autorze
- Kolofon
- Rozdzia艂 1. Cia艂a sko艅czone