Bitcoin

Nikt nie wie. niektórzy mówią, ponieważ są przerażeni przez alternatywę ...

Bitcoin Nikt nie wie. niektórzy mówią, ponieważ są przerażeni przez alternatywę ...

Biblical Series III: God and the Hierarchy of Authority (Lipiec 2019).

Anonim

Duży zderzacz bitcoinów (LBC) próbuje przełamać adresy Bitcoin poprzez brutalny atak sił. W ciągu kilku ostatnich tygodni projekt zapowiedział swój pierwszy sukces. Czy Bitcoin nie jest już bezpieczny? Czy ich rdzeń kryptograficzny jest zepsuty? Rico, szef LBC, wyjaśnia szczegółowo, co się dzieje.

Kim jesteś i dlaczego masz domenę zwaną cryptoguru. org?

Jestem doświadczonym informatykiem. Wynająłem kryptoguru domeny. org i trochę infrastruktury sprzętowej dla niewielkiej ilości bitcoin. Podobała mi się nazwa domeny i na szczęście właściciel jej nie potrzebował.

Rozwijasz i utrzymujesz duży zderzacz bitcoinów (LBC), projekt, w którym próbujesz znaleźć kolizje adresów bitcoinowych. Jak doszedłeś do tej idei - i co chcesz udowodnić?

W lipcu 2016 roku natknąłem się na katalog strony. io, która mówi, że zawiera każdy klucz prywatny każdego adresu bitcoin. Myślałem, że to zabawny pomysł; wiadomość brzmiała mniej więcej tak: "Czy znajdę klucz do moich adresów w katalogu? Tak, ale nikt nigdy go nie znajdzie. Ponieważ … matematyka. "Przypomniało mi to podobne przypadki w informatyce, tak, że pełna liczba pi musi zawierać kod każdej książki Szekspira.

Więc zacząłem kopać głębiej i odkryłem, że niektórzy ludzie próbują skrobać katalog. io i wyszukaj adresy za pomocą środków. Myślałem, że można to zrobić lepiej. Po pierwsze, tak jak w grę z myślą, ale po pewnym czasie zdałem sobie sprawę, że nie trzeba przeszukiwać całej przestrzeni 256-bitowej, ale tylko 160-bitowej. Potem pomyślałem: "Dobra, spróbujmy. "

Wszystko, co chcę udowodnić, to to, że wielu ludzi może się mylić, kiedy mówią, że coś jest niemożliwe. Wszyscy wiemy, że tak się dzieje i myślę, że może się to również zdarzyć w tym przypadku. Ponieważ wszyscy zawsze mówili, że to niemożliwe, nikt tak naprawdę nie próbował. Po prostu chcę wziąć tę nieprzetestowaną ścieżkę.

Jeśli dobrze się zrozumie, LBC jest atakiem Brute Force na dowolny możliwy adres Bitcoin. Czy możesz dokładniej wyjaśnić, co robisz?

Zacznijmy od tego, jak tworzone są adresy; bierzesz klucz prywatny, który jest losowym ciągiem znaków o określonej długości; począwszy od tego użyjesz współrzędnych krzywej eliptycznej do wygenerowania klucza publicznego. Następnie mieszkasz klucz publiczny z SHA256, a po kolejnej rundzie RIPEMD160 masz hash160, w zasadzie adres Bitcoin. Aby było lepiej czytelne, zakodowuj go za pomocą Base58, a tutaj mamy popularny adres Bitcoin (1 coś …).

Klient dużego zderzacza bitcoinów (LBC) zna wszystkie adresy hash160, które zawierają więcej niż zero bitcoinów.Po prostu zwiększa klucze prywatne - interesuje nas tylko 2¹⁶⁰ - i wykorzystujemy je do obliczenia wspomnianego hash160. Następnie porównuje go z adresami zawierającymi bitcoiny.

Jaka jest szansa na znalezienie adresu z funduszami?

Istnieje wiele ekstrapolacji, ale im bardziej na to patrzysz, tym więcej nieznanych zmiennych znajdziesz. W pewnym momencie wygląda jak formuła Drake'a, która ma na celu oszacowanie liczby inteligentnych gatunków w Drodze Mlecznej i musisz przyznać; nic nie wiesz na pewno.

Ale spróbujmy na przykład; nie ma więcej niż 2160 możliwych adresów - nie 2256, jak wielu uważa. A 2160 są możliwe tylko wtedy, gdy RIPEMD160 jest surdytywny, co oznacza, że ​​obejmuje cały zakres możliwości. Mamy nadzieję, że tak, ale nie wiem na pewno.

Obecnie mamy 15 milionów adresów z funduszami (223. 8). Zakładając, że te adresy są równomiernie rozłożone na możliwej przestrzeni, to JEDNA w 2136. Finansowane są 2 adresy. Jeśli założysz, że jesteśmy w stanie przeszukać 236. 2 adresów na sekundę, potrzebujemy 2100 sekund na znalezienie takiego adresu. Jest to 40, 196, 936, 841, 331 miliardów lat.

W takiej sytuacji jest mało prawdopodobne, że kiedykolwiek znajdziesz adres z funduszami. Jednak już założyliśmy trzy.

Według Twojej witryny, obecnie generujesz 587 megakietów na sekundę. To dużo. Jakiego sprzętu używasz w LBC?

W chwili pisania odpowiedzi puli osiąga 1196. 22 MKeys / s (ponownie czytając moją własną odpowiedź, 1238. 53 MKeys / s). Większość to procesor, ale także niektóre GPU. Pytanie o sprzęt jest jednak mniej interesujące i istotne, podobnie jak kwestia oprogramowania.

Opowiedziałem o ludziach, którzy użyli skryptu do analizy katalogu. io strona po stronie. Potrzebowali 20-30 sekund na jedną stronę. Ponieważ masz 128 kluczy na każdej stronie i 256 adresów, zaczęli generować sześć kluczy na sekundę. Próbowałem poprawić tę stawkę. Przy odrobinie eksperymentowania udało mi się bardzo zwiększyć kluczową stawkę.

Najpierw użyłem vanitygen, który umożliwił mi zrobienie 100 kluczy na sekundę. Potem wziąłem źródła z katalogu. lub i przeanalizował je bezpośrednio, co spowodowało, że moja stawka wyniosła 13 000 kluczy / s. Wtedy pomyślałem, dlaczego warto użyć base58, gdy hash160 wystarczy - 40 000 kluczy / s. Po tym, jak Ryan Castellucci powiedział mi, że jego Brainflayer jest znacznie szybszy, wypróbowałem go i, tak; 520 000 kluczy / s.

Potem zacząłem kopać głębiej. Studiowałem SHA256 i RIPEMD160 i uczyłem się C ponownie. Powoli przebudowałem Brainflayera na HRD-Core i osiągnąłem prędkość 720 000 kluczy / s. W tej chwili miałem już najszybszą dostępną implementację procesora RIPEMD160. Ale nie było wystarczająco szybko. Więc wziąłem kod secp256k1 i próbowałem go użyć do GPU. Ponieważ wcześniej nikt nie napisał na ten temat aplikacji GPU, opracowałem ją samodzielnie. To było dalekie od doskonałości, ale zabrało mnie do 2. 2 milionów kluczy / s.

Ale to się nie kończy; użytkownik "arulbero" na bitcointalk zrobił kilka sugestii, w jaki sposób mógłbyś poprawić arytmetyczną krzywą eliptyczną i pracował nad własną biblioteką.W międzyczasie opracowałem operację GPU, a 25 marca 2017 r. Odrzuciłem bibliotekę libsecp256k1 i zintegrowałem arytmetyczną arulboro z EC.

Wynik, właśnie teraz; 5. 5 milionów kluczy na sekundę i rdzeń procesora. Dzięki puli LBC każdy może spędzić swój sprzęt i czas, ponieważ wyszukiwanie może zostać całkowicie sparaliżowane. Szacuję więc, że w tej chwili bierze udział kilkaset rdzeni procesorów.

Po tej samej stronie przeczytałem, że prawdopodobieństwo znalezienia kolizji w ciągu następnych 24 godzin wynosi około 0.000000-coś. Czy to oznacza, że ​​nie znajdziesz kolizji na następne 1 000 lat?

Może znasz historię stawu i lilii wodnych:

Dzień pierwszy: Jedna lilia wodna.

Dzień drugi: dwie lilie wodne.

Dzień trzeci: Cztery lilie wodne. I tak dalej.

Po 27 dniach połowa morza pokryta jest liliami wodnymi. Ile jeszcze dni potrzeba na pokrycie całego morza?

Mówisz 0. 0000000-coś. Rzućmy okiem na liczby:

0. 000000000000000000 45 procent (17. 9. 2016)

0. 00000000000000 200548 procent (23. 9. 2016)

0. 0000000000 2801022860 procent (28. 3. 2017)

0. 000000000 16406321697 procent (04. 4. 2017)

Wydaje mi się, że każdy powinien mieć możliwość decydowania o tym, jeśli musimy pomyśleć o okresie 1 000 lat.

Niedawno odkryłeś swoje pierwsze kolizje z adresami zmian. Byłeś zaskoczony?

Zaskoczyło mnie 50 procent!

Jak to możliwe, że wydarzyło się to wielokrotnie? Czy coś było wyjątkowego z adresami, jakby zostały wykonane z niską entropią?

Nikt nie wie. Niektórzy mówią tak, ponieważ alternatywa ich przeraża. Inni wątpili, że kolizje były prawdziwe i twierdzili, że je sfabrykowaliśmy. Mogę zagwarantować wszystkim, że znaleźliśmy prawdziwe kolizje. Jeśli to była zła entropia, czy nie - po prostu nie wiemy do tej pory.

Na adresach, na które się natknąłeś, były tylko bardzo małe fundusze. Co zrobisz, jeśli znajdziesz klucze do portfeli od powiedz BitStamp?

Ile bitcoinów jest na nich? [Śmieje się]

Poważnie; standardowo przelewamy środki na inny adres i publikujemy go. "Prawowity właściciel" może poprosić o zwrot środków przez sześć miesięcy, pokazując inny klucz. Mamy naszą kolizję; mają swoje bitcoiny. Wszyscy są szczęśliwi.

Znalazłeś kilka "trofeów" z tak zwanej "Transakcji łamigłówek". " O co w tym wszystkim chodzi?

Ryan Castellucci opowiedział mi o Transakcji łamigłówek. Wygląda na to, że ktoś zbudował kanarek 33BTC, aby sprawdzić, jak bezpieczne są adresy Bitcoin P2PKH. Przechowywał dla każdej entropii bitów prywatnych kluczy 0. 001 bitcoin. Aż do numeru 50 wszystkie adresy zostały wyczerpane do 2015 roku. Dlatego nigdy nie powinieneś używać kluczy z 50-bitowym bitem. Niedawno znaleźliśmy numer 51.

Jest zdjęcie ze słońcem, a poniżej możesz przeczytać, że "Nawet jeśli pokryjesz całe słońce Perfect Microchips i spalisz całą energię słońca, nie będziesz w stanie osiągnąć Bruteforce Adres Bitcoin. "Czy to właśnie marketing?

Tak. Patos tego zdjęcia wywarł na mnie wielki wpływ, kiedy widzę go po raz pierwszy. Ale utrzymując to w perspektywie, liczby po prostu się nie liczą.

Bitcoin jest bezpieczny - obecnie nawet bym powiedział; mocno bezpieczny - ale nie tak solidny, jak sugeruje ten obraz.

Czy możliwe jest odcedzenie adresów bitcoinowych za pomocą klastra superkomputerów? Czy byłoby możliwe zbudowanie Bitcoina wydobywczego ASIC przez Finding Collisions?

Jeśli masz klucze prywatne, nie potrzebujesz nawet kalkulatora do drenażu adresów Bitcoin. Czy klaster superkomputerów może znaleźć klucze prywatne? Tak. Czy możesz użyć ASIC, aby zrobić to, co obecnie robimy z procesorem i GPU? Tak. Kiedy osiągnę granice tego, co można zrobić z GPU, spróbuję z FPGA.

Czasami jestem zaskoczony, jak wiele jest podobieństw z ewolucją wydobywania bitcoinów. Ale przechodzimy przez to szybciej.

Czy komputer kwantowy może znaleźć kolizje?

Prawdopodobnie, ale nie chcę spekulować. Po prostu: Wcześniej, tak jak w komputerach kwantowych, widzę technologię, która może szybciej atakować adresy P2PKH / P2PSH. Ale to wystarczy. Nie otrzymasz ode mnie więcej szczegółów.

Jak użytkownik może chronić się przed kolizjami? Czy istnieje metoda na zmniejszenie ich prawdopodobieństwa?

Niestety, (domniemane) poprawne implementacje SHA256 i RIPEMD160 są powodem, dla którego muszę odpowiedzieć na to pytanie z "nie. "

Były dyskusje na temat metody ochrony adresów P2PKH przed LBC; można to zrobić za pomocą klucza prywatnego z zakresu 2159 + rand (2158) - dla tego klucza prawdopodobieństwo kolizji z innymi kluczami jest najniższe w pierwszym 160bit. LBC będzie potrzebować więcej czasu, aby "spojrzeć tutaj. "

To, co mówisz, jest jakoś niepokojące. Czy radziłbyś przechowywać duże wartości w Bitcoin?

Tak, jestem właścicielem bitcoina, a LBC go nie zmienia. To, czego osobiście nie zrobiłbym, to przechowywać duże sumy bitcoinów na jednym adresie. W ten sposób podejmujesz ryzyko, niezależnie od LBC. Nie ufałbym łańcuszkowi 160 zer i jedynek z kwotą 100 milionów dolarów.

Popularne Wiadomości