Autor:
fillipponeOriginalna Tema:
There are 2^256 private keys out there: how big is that number?
Juče, dok sam istraživao Bitcoin, naišao sam na poznatu stranicu keys.lol
https://keys.lol(Upozorenje: ovo je prava vremenska crna rupa!)
U suštini, ovo je sajt koji nasumično generiše 128 privatnih ključeva na svakoj stranici, a zatim proverava stanje na povezanim adresama (sa kompresijom i bez kompresije) na blockchainu, prikazujući moguće pozitivne bilanse ili prethodne transakcije.
Vau!
Ako na stranicama koje stvara ovaj klijent pronađete pozitivan iznos, zapravo ste vlasnik privatnih ključeva, pa ste legitimni vlasnik tog salda, i ništa vas ne sprečava da ga prebacite na svoj novčanik.
Proveo sam nekoliko sati na tom sajtu, generišući hiljade privatnih ključeva, ali naravno nisam pronašao ništa, ni jednu iskorišćenu adresu, a kamoli onu sa balansom.
Onda sam počeo da razmišljam kako bih mogao malo da unapredim proces, i razgovarajući sa nekim korisnicima ovde na forumu, pomislio sam da bismo mogli da napravimo skriptu koja generiše nasumične privatne ključeve, zatim da pitam svoj vlastiti Bitcoin čvor za stanje na toj adresi i, ako postoji, prenesem bilo koji iznos na svoj novčanik. Rad u lokalnom okruženju trebalo bi da ubrza proces, pomislio sam.
Bio sam svestan da su šanse da nešto pronađem vrlo male, ali želeo sam da probam, jer bi traženje stanja i pronalaženje ničega moglo da me uveri da niko ne može da uradi isto sa mojim bitcoinima koji su smešteni u mom offline novčaniku.
Dok sam čekao da @babo podeli svoju skriptu, pomislio sam "Fillippone je samo delić u igri života"... zašto niko ranije nije razmišljao o ovome?
Ponovo sam se zavukao u zečiju jazbinu i brzo otkrio Large Bitcoin Collider.
https://lbc.cryptoguru.org/aboutVau, ovo je ozbiljan projekat.
U suštini, hiljade distribuiranih servera generišu i proveravaju 26 triliona (!!!) privatnih ključeva na dnevnom nivou.
Tokom prve tri godine, uspeli su da pronađu 7 privatnih ključeva. To je mnogo! Mislio sam da su šanse mnogo manje, ali verovatno postoji neki bug u nekim novčanicima koji koristi generator nasumičnih brojeva sa slabijim algoritmom za kreiranje ključeva . (Dalje istraživanje je potrebno!)
Hajde da brzo pregledamo nekoliko brojeva:
Broj privatnih ključeva koji su teoretski mogući: 2^256 ili otprilike 10^77
Broj bitcoin adresa: 2^160
Broj privatnih ključeva koje je pretraživao Bitcoin collider: 2^160
Broj atoma u univerzumu: 10^78 do 10^82
Broj od
korišćenih Bitcoin adresa: 18,000,000
Broj privatnih ključeva koji su STVARNO mogući je malo manji od 2^256, kao što je navedeno
ovdeHajde da izračunamo nekoliko primera.
- Pretpostavimo da imamo milijardu aktivnih adresa, svaka sa pozitivnim stanjem: znamo da je ovo otprilike 10^3 puta više od stvarnog broja.
Verovatno je broj atoma u univerzumu 10^3 puta veći od broja adresa, pa je fer reći da je pronalaženje privatnog ključa sa pozitivnim stanjem otprilike isto kao pronalaženje jednog od tih atoma raspršenih po celom vidljivom svemiru.
Koliko bi bila velika milijarda atoma? Prema ovom odgovoru na Quori, manja je od jedne bakterije E. coli. Dakle, zamislite da uzmete ovu bakteriju, usitnite je na atomskom nivou, rasporedite je po celom univerzumu i pokušate da pronađete jedan od tih atoma. Prilično teško, zar ne? - Drugi primer je iz ovog članka.. Zamislimo da želimo da skeniramo sve privatne ključeve u potrazi za pozitivnim stanjem i pretpostavimo da svaki stanovnik planete ima brzinu skeniranja milijardu puta veću od dva puta trenutne računarske snage Bitcoin mreže, dakle:
* 10 milijardi ljudi;
* pomnoženo sa milijardom;
* pomnoženo sa dva puta računarskom snagom Bitcoina, oko 100 hiljada terahaša u sekundi;
dobijamo: 1,000,000,000,0001,000,000,000100,000100,0000,000,000 = 10^1010^910^510^12 = 10^36
Jednostavno, zaokružili smo
'115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336' na 10^77, i dobili da bi, kada bismo proveravali svaki privatni ključ u potrazi za pozitivnim stanjem, trebalo 10^77/10^36 = 10^41 sekundi, koliko bi to godina bilo?
Pošto postoji oko 31,557,600 sekundi u godini, to odgovara otprilike 10^41/31,557,600 = 31^33 godina, što je otprilike 10^23 puta starost svemira (trenutno procenjena na 13,82 milijarde godina), drugim rečima:
100,000,000,000,000,000,000,000, tj. oko 100 milijardi milijardi puta starost svemira.
- Ovaj video o tome koliko je SHA 256 algoritam siguran.
https://youtu.be/S9JGmA5_unY
- Svi prethodni primeri nisu uzeli u obzir energiju koja je uključena u takve proračune. Naravno, sve te vrlo moćne mašine bi morale biti napajane nekom vrstom energije. Koliko bi energije bilo potrebno? Pa, puno, prema ovoj infografici:

Link na Reddit-u
Ostali primeri o tome koliko bi bilo potrebno da nasumično pogodite privatni ključ:
Dodatni izvori:
Ostali veliki brojevi:
Ovo su samo neki primeri, ako imate dodatne resurse ili komentare, slobodno ih postavite ispod i ja ću ih dodati na listu!