Spędziłem kilka godzin na tej stronie generując tysiące kluczy prywatnych, oczywiście nic nie znajdując, ani jednego użytego adresu, nie mówiąc już o jednym z kredytem.
Z kredytem? Takim hipotecznym? W ogóle, słowo "kredyt" przewija się niepotrzebnie w tym tłumaczeniu.
Ile energii by to wymagało? Cóż, całkiem sporo, jak pokazuje ta infografika
Problem w tym, że w praktyce takie klucze nie wymagają sprawdzenia wszystkich kombinacji, których jest nieco mniej niż 2^256. Jeśli dysponujemy kluczem publicznym, wystarczy sprawdzić około 2^128 kluczy, zaś jeśli mamy hash tego klucza, to zwykle wymaga to przejrzenia 2^160 kluczy. Co więcej: na przykład jeśli chcemy mieć dwa różne klucze dające identyczny hash, to już wystarczy 2^80 kluczy, co oznacza, że skoro obecnie na tapecie jest nierozwiązany klucz numer 66, to nie jesteśmy aż tak daleko od sytuacji, w której adresy P2SH na multisigach przestaną być bezpieczne.
myśle ze jedynym zabezpieczeniem jest rozproszenie BTC na dziesiatki, setki czy tysiace portfeli zeby zminimalizowac teoretyczne straty
Nie radzę, z kilku powodów. Po pierwsze, to jest kosztowne, efekt będzie taki, że przesuwanie tych monet zacznie wymagać ogromnych opłat od transakcji. Jeśli masz milion BTC, to owszem, posiadanie 20k różnych adresów z kwotą 50 BTC na każdym jest rozsądne. Natomiast jeśli jesteś przeciętnym użytkownikiem, który ma na przykład 0.01 BTC, to nie warto.
Drugi powód jest taki, że albo masz dostęp do generatora liczb losowych wystarczającej jakości, albo nie masz działającej kryptografii. Jeśli dysponujesz sprzętem, który generuje słabe klucze prywatne, to być może tworzy również słabe klucze przy połączeniach HTTPS? Jeśli użyjesz portfela HD i ze słabego seeda utworzysz wiele słabych kluczy, to nie zwiększysz swojego bezpieczeństwa. Wręcz przeciwnie, przeszukując blockchain, ludzie będą mieli więcej danych, aby powiązać wszystkie adresy i dobrać się do kluczy prywatnych.
pomijam zupełnie jak niebezpieczne i niewygodne jest trzymanie BTC na tak duzej ilosci portfeli, myślałem tylko jak zabezpieczyc BTC przed tym atakiem "brute force" bo chyba mozna go tak nazwac?
Wystarczy mieć jeden silny seed w portfelu HD. Jeśli ktoś myśli, że obecne algorytmy są za słabe, to zamiast myśleć o tym, jak posiekać monety na N części, lepiej skupić się na propozycji soft-forka, który umożliwi przejście z ECDSA na coś silniejszego, co byłoby na przykład odporne na ataki z wykorzystaniem komputerów kwantowych. Omijanie problemu słabych kluczy poprzez zamiatanie sprawy pod dywan na zasadzie "używam 100 adresów zamiast jednego" niczego nie rozwiązuje, lepiej jest mieć jeden silny klucz niż wiele słabych.
Ale zabezpieczeniem byłoby chyba multisig?
Zależy od typu adresu, na przykład Taproot z sygnaturami Schnorra pozwala na zrobienie N-of-N multisig za pomocą jednego klucza, co też pokazuje, że dokładanie kolejnych kluczy wcale nie zwiększa bezpieczeństwa, jedynie zmienia nieco punkt do zaatakowania. Mówiąc w skrócie: gdyby komuś rzeczywiście udało się złamać ECDSA, to nie byłoby tak, że nagle wiele kluczy by cokolwiek zabezpieczyło. Jeśli jeden losowo wygenerowany klucz jest do złamania, to tak naprawdę wszystkie są. Problem w tym, że klucze, które obecnie są łamane, po prostu nie były wystarczająco losowe, tylko na przykład miały powtarzające się 128-bitowe połówki.
Jak dobrze zrozumiałem OP, tu podejrzewany jest błąd portfela, który nie generuje wystarczająco "losowych" kluczy.
Każdy klucz złamany do tej pory taki był. Pomijając przypadki, gdy ktoś dobrał się prosto do klucza prywatnego, bo na przykład ktoś nierozsądnie wysłał na media społecznościowe zdjęcie z kodem QR klucza prywatnego, to naprawdę, nie kojarzę ani jednego przypadku, gdzie ktoś serio złamałby losowy klucz prywatny, na podstawie samego klucza publicznego bądź adresu.