Zrozumiec_Bitcoin_Programowanie_kryptowalut_od_podstaw_zrobit.pdf
(
2455 KB
)
Pobierz
Tytuł oryginału: Programming Bitcoin: Learn How to Program Bitcoin from Scratch
Tłumaczenie: Krzysztof Konatowicz
ISBN: 978-83-283-5923-9
© 2019 Helion SA
Authorized Polish translation of the English edition of Programming Bitcoin ISBN 9781492031499
© 2019 Jimmy Song
This translation is published and sold by permission of O’Reilly Media, Inc., which owns
or controls all rights to publish and sell the same.
Polish edition copyright © 2019 by HELION SA.
All 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 kompletne
i 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 SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/zrobit
Moż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
Przedmowa ......................................................................................................................... 11
Wprowadzenie .................................................................................................................... 13
Rozdział 1. Ciała skończone .................................................................................................. 23
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
23
24
25
25
26
26
28
29
30
30
31
31
32
32
32
33
33
33
33
35
35
36
37
3
Kup książkę
Poleć książkę
Rozdział 2. Krzywe eliptyczne ............................................................................................... 39
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 x
1
≠ x
2
Ćwiczenie 4.
Dodawanie punktów, gdy x
1
≠ x
2
Ćwiczenie 5.
Dodawanie punktów, gdy P
1
= P
2
Ćwiczenie 6.
Programowanie dodawania punktów, gdy P
1
= P
2
Ćwiczenie 7.
Programowanie jeszcze jednego przypadku
Podsumowanie
39
44
45
45
45
49
51
52
52
54
54
54
54
55
56
56
56
57
Rozdział 3. Kryptografia krzywych eliptycznych .................................................................... 59
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
59
60
61
62
63
64
64
65
65
67
67
68
68
69
70
70
70
70
72
4
Spis treści
Poleć książkę
Kup książkę
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
74
75
76
77
78
79
81
81
82
82
83
84
84
86
Rozdział 4. Serializacja ......................................................................................................... 87
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
87
89
89
92
92
94
94
94
96
96
97
97
98
98
98
98
99
99
Rozdział 5. Transakcje .........................................................................................................101
Składniki transakcji
Wersja
Ćwiczenie 1.
Wejścia
Przetwarzanie pola ze skryptem
Ćwiczenie 2.
Spis treści
Kup książkę
101
103
104
104
108
108
5
Poleć książkę
Plik z chomika:
Faficzek-10
Inne pliki z tego folderu:
Bitcoin_Ilustrowany_przewodnik_bitilp.pdf
(8261 KB)
Bitcoin_dla_zaawansowanych_Programowanie_z_uzyciem_otwartego_lancucha_blokow_Wydanie_II_bitzaa.pdf
(697 KB)
Bitcoin_Wirtualna_waluta_internetu_bitcoi.pdf
(2338 KB)
Blockchain_Fundament_nowej_gospodarki_blofun.pdf
(1624 KB)
Bitcoin_Zloto_XXI_wieku_bitzlo.pdf
(610 KB)
Inne foldery tego chomika:
Administracja
Afryka
After Effects
Agile - Programowanie
AJAX
Zgłoś jeśli
naruszono regulamin