Zastanawiałeś się kiedyś, dlaczego portfel BTC innej osoby nie może wygenerować tego samego adresu co twój? Albo dlaczego ktoś nie może wygenerować tej samej frazy seed co ty? W końcu to tylko kilka słów! W tym wątku analizujemy liczby, badając, jak dobrze bitcoin chroni twoje bogactwo. 🧵⬇️
Istnieją 3 główne narzędzia, które protokół bitcoin używa do ochrony twojego majątku, które warto zrozumieć: Entropia, funkcje haszujące i kryptografia asymetryczna. Każde z nich jest szeroko stosowane w świecie bezpieczeństwa cyfrowego, nawet poza bitcoinem. Krótko wyjaśnijmy każde z nich.
Pierwsze: Entropia. To elegancka, zwięzła nazwa dla "nieprzewidywalnej losowości." Jeśli wybierzesz bardzo dużą liczbę losowo, w nieprzewidywalny sposób, to żaden komputer nie będzie miał szansy jej odgadnąć (o ile liczba jest wystarczająco duża!). Wtedy będziesz miał bezpieczny sekret.
Jak duża liczba jest wystarczająco duża? NIST zaleca 2^112 (czyli 112 bitów) lub więcej dla skutecznego bezpieczeństwa. Dla porównania, cała sieć wydobywcza bitcoina obecnie dokonuje około 2^79 prób co 10 minut. Ale 2^112 jest ponad 8 miliardów razy większe niż to!
Ponadto, fraza nasienna składająca się z 12 słów reprezentuje jeszcze większą entropię: 2^128. (Każde słowo reprezentuje 11 bitów. 11*12 = 132, minus 4 bity na sumę kontrolną.) 2^128 jest około 65 000 razy silniejsza niż zalecenie NIST!
Aby ktoś mógł odgadnąć konkretną frazę seed, musiałby pożyczyć wszystkie globalne maszyny do wydobywania bitcoinów i zgadywać przez około 10,7 miliarda lat. Teoretycznie jest to możliwe, ale nierozsądne jest myślenie, że kiedykolwiek się to stanie, jeśli będą przestrzegane najlepsze praktyki.
Drugi: Funkcje skrótu. Funkcje skrótu są niesamowite, ponieważ możesz wprowadzić dowolne dane (nazywane preimage) i otrzymasz unikalną liczbę między 0 a górnym limitem funkcji (SHA-256 jest szczególnie znany, z zakresem do 2^256). Możesz wprowadzić słowo, stronę, książkę.
Te funkcje są jednostronne. Możesz łatwo znaleźć wynik na podstawie wejścia. Jednak jeśli masz tylko wynik, nie możesz znaleźć wejścia bez zgadywania. Nawet wyniki z podobnych wejść z drobnymi zmianami (jak wielka litera) wyglądają zupełnie inaczej i losowo:
Dlatego wynik haszowania ma podobne właściwości do entropii. Ktoś, kto szuka preobrazu, który prowadzi do określonego wyniku haszowania, musiałby próbować zgadywać, zgadywać i jeszcze raz zgadywać. Dopóki zajmie to 2^112 prób lub więcej, jest to niewykonalne, a preobraz jest bezpieczny.
Bitcoin używa SHA-256, aby pomóc uczynić transakcje nieodwracalnymi, a także SHA-256 lub RIPEMD-160, aby chronić większość typów adresów. Aby jeden portfel wygenerował ten sam adres co inny, musiałby wykonać co najmniej 2^160 prób, co zapewnia więcej niż wystarczające bezpieczeństwo.
W końcu: kryptografia asymetryczna. Znana również jako kryptografia klucza publicznego, lub w wielu kontekstach kryptografia krzywych eliptycznych (ECC). W bitcoinie ECC jest używana, aby klucz prywatny mógł wygenerować klucz publiczny, a także podpisy zatwierdzające transakcje.
Jeśli klucz publiczny jest wystarczająco dużą liczbą, ponownie zajmie to niesamowitą ilość prób, aby znaleźć powiązany klucz prywatny. Klucze Bitcoin są liczbami w przestrzeni 2^256. Matematyka działa w ten sposób, że bezpieczeństwo wynosi w rzeczywistości połowę bitów, więc 2^128, co jest bezpieczne.
Ostatecznie wszyscy prowadzący normalne operacje w gospodarce bitcoinowej są chronieni przez standardy bezpieczeństwa, które wykraczają daleko poza zalecenia NIST i typowe hasła do bankowości internetowej. Poniższy wykres pomaga zobrazować sytuację.
595