Fac o prezentare pe Bitcoins și căutam câteva calcule pentru a face oamenii să se simtă în siguranță cu privire la criptarea cheii private. Vă rugăm să răspundeți mai întâi, cât timp are octeți cheia privată, apoi câte combinații de numere va conține și apoi care este cel mai rapid computer sau rețea de supercalculatoare și cât timp ar dura pentru a sparge o cheie privată folosind acel computer. Cred că rezultatul ar fi foarte educativ pe baza propriilor calcule. Vă mulțumim.
Comentarii
- Acest răspuns despre Security Stack Exchange este relevant: security.stackexchange .com / a / 25392/4647
- Vă rugăm să explicați acest lucru atunci. directory.io Acești oameni susțin că au toate cheile private … Cred că ‘ nu ne spune adevărul
- Ei spun adevărul. În același mod, oricine poate genera cifrele Pi are toate literaturile care vor fi scrise vreodată.
- coindesk.com/bitcoin-protocol- hack-joke
Răspuns
cât timp în octeți este cheia privată
32 octeți sau 256 biți
apoi câte combinații de numere va conține
Există 2 ^ 256 chei private diferite. Aceasta este „puțin mai mare decât un 1 urmat de 77 de zerouri.
care este cel mai rapid computer sau rețea de supercalculatoare
La vârful său în jurul lunii august 2011, rețeaua Bitcoin verifica 15 bilioane de sha256 hash pe secundă. (Vezi http://bitcoin.sipa.be/ )
cât timp ar dura pentru a sparge o cheie privată folosind acel computer
Dacă presupunem că este nevoie de același timp pentru a rula o operație ECDSA cât este nevoie pentru a verifica un hash sha256 (durează mult mai mult) și vom folosi o optimizare care ne permite să avem nevoie doar de 2 ^ 128 operațiuni ECDSA, atunci timpul necesar poate fi calculat:
>>> pow(2,128) / (15 * pow(2,40)) / 3600 / 24 / 365.25 / 1e9 / 1e9 0.6537992112229596
Este „0,65 miliarde miliarde de ani.
Că” este o estimare foarte conservatoare pentru timpul necesar pentru a sparge o singură adresă Bitcoin.
Edit: s-a subliniat că computerele tind să devină exponențial mai rapide în timp, conform Legea lui Moore . Presupunând că viteza de calcul se dublează în fiecare an (legea lui Moore spune 2 ani, dar vom greși din partea precauției), apoi în 59 de ani va dura doar 1,13 ani. Deci monedele dvs. sunt sigure pentru următorii 60 de ani, fără o schimbare a algoritmilor utilizați pentru a proteja blockchain-ul. Cu toate acestea, m-aș aștepta ca algoritmii să fie schimbați cu mult înainte de a fi posibil să se rupă protecția pe care o oferă.
Comentarii
- Legea lui Moore ‘ ar reduce probabil acest număr puțin, dar nu suficient pentru a conta. Atâta timp cât răspunsul este o formă de ” mai lungă decât ar fi nevoie pentru a extrage monedele stocate la adresa respectivă ” ar trebui să fim în siguranță 🙂
- Contează, deoarece oamenii merită să știe cât de siguri sunt banii lor.
- Că ‘ presupune că Moore poate continua încă 6 decenii. Pe de altă parte, poate că QC este mainstream până atunci.
- Răspuns excelent. Demn de remarcat faptul că puterea cumulativă a rețelei Bitcoin ‘ este acum de aproape 10 ori mai mare decât valoarea de când a fost scris acest răspuns. Deci, ‘ s ” numai ” ~ 653 milioane de ani în valoare de calcul.
Răspuns
O cheie privată Bitcoin este un număr aleatoriu de 256 de biți. Cu toate acestea, cheia publică dezvăluie unele informații despre cheia privată. Cei mai cunoscuți algoritmi pentru spargerea ECDSA necesită operațiuni O (sqrt (n)). Asta înseamnă că ar fi necesare 2 ^ 128 de operațiuni pentru a rupe un cont Bitcoin.
Cea mai mare cheie ECDSA ruptă până în prezent de tipul pe care îl folosește Bitcoin a avut o lungime de 112 biți. Un cont Bitcoin este de peste 4.000 miliarde de ori mai greu de rupt.
Singurul risc realist ar fi calculul cuantic.
Comentarii
- De asemenea, trebuie remarcat faptul că chiar și calculul cuantic se așteaptă să reducă timpul de la pow (2, N) la pow (2, N / 2), care, deși este semnificativ, nu îl sparge larg. Consultați en.wikipedia.org/wiki/Key_size
- @GaryRowe Sunteți ‘ greșit . Reducerea la jumătate a lungimii cheii se aplică tastelor simetrice. Majoritatea cifrelor asimetrice (inclusiv ECDSA care este utilizat pentru bitcoint) pot fi sparte în timp polinomial cu un computer cuantic datorită algoritmului Shor ‘.Pentru a cita articolul din Wikipedia ” Consensul general este că acești algoritmi de cheie publică sunt nesiguri la orice dimensiune de cheie, dacă computerele cuantice suficient de mari sunt capabile să ruleze Shor Algoritmul / div> devine disponibil. „. Deși există scheme de semnare cuantice, acestea ‘ probabil ar umbla blockchain-ul mult .
- @CodeInChaos Puncte bune toate – îmi pare rău să fi introdus confuzie.
- Atacul O (sqrt (n)) este atacul zilei de naștere, care este posibil în fiecare schemă de cifrare. La ce ” informații despre cheia privată ” la care se referă cheia publică vă referiți?
- @dionyziz I ‘ Nu vorbesc despre atacul zilei de naștere, ‘ vorbesc despre inversarea unei chei publice ECDSA pentru a obține cheia privată corespunzătoare. ” informația despre cheia privată ” pe care o dezvăluie cheia publică este punctul corespunzător acelei chei private înmulțite cu generatorul. Aceasta permite utilizarea algoritmilor logaritmi discreti, cum ar fi mare pas, mic pas .
Răspuns
O cheie privată Bitcoin (cheia ECC) este un număr întreg între unul și aproximativ 10 ^ 77. Este posibil să nu pară prea multă selecție, dar în scopuri practice este în esență infinită. Dacă ați putea procesa un trilion de chei private pe secundă, ar fi nevoie de mai mult de un milion de ori vârsta universului pentru a le număra pe toate. mai rău, doar enumerarea acestor chei ar consuma mai mult decât energia totală rezultată de soare timp de 32 de ani. Acest spațiu vast de chei joacă un rol fundamental în securizarea rețelei Bitcoin.
Comentarii
- Chuck Norris a numărat până la infinit, de două ori.
- Chuck Norris i-a spus lui Satoshi Nakomoto ce să facă.
Răspuns
2 ^ 256 = 1.1×10 ^ 77 = numărul de combinații de taste
2 ^ 128 = 3.4×10 ^ 38 = numărul mediu de presupuneri necesare
Conform acestui site: http://en.wikipedia.org/wiki/TOP500 , cel mai rapid supercomputer este computerul K care are 10,51 petaflops.
Un petaflop are 10 ^ 15 FLOPS, instrumente în virgulă mobilă funcții pe secundă.
Deocamdată bine, dar trebuie să știu câte FLOPS sunt necesare pe presupunere?
[Voi risca o presupunere:]
Între 1.000 și 10.000 FLOPS (sau echivalenți întregi) pe estimare.
10.51×10 ^ 15 operații / secundă / 1000 până la 10000 operațiuni / estimare) = 10.51×10 ^ 12 până la 10.51×10 ^ 11 estimare / secundă.
3.4×10 ^ 38 ghici / crack / 10.51×10 ^ 12 ghici / secundă = 3.2×10 ^ 25 secunde.
3.2×10 ^ 25 secunde / 60 secunde / minut / 60 minute / oră / 24 ore / zi / 365,25 zile / an = 1,01×10 ^ 18 ani
1,01×10 ^ 18 ani / 1×10 ^ 9 / 1×10 ^ 9 = 1,014-10,014 miliarde miliarde de ani.
Deci, computerele din rețeaua Bitcoin sunt de două ori mai rapide decât cel mai mare computer de laborator.
Comentarii
- Sunt necesare exact 0 FLOP-uri pentru încercați o combinație, deoarece FLOP este o operație în virgulă mobilă, iar matematica EC necesită doar operații întregi.
- Nu a existat niciodată un computer la care să fi lucrat care să nu poată ‘ t face întregul ma a. Așadar, aș presupune că și computerul sud-coreean K o poate face.
- Da, dar proporția dintre viteza întregului și operațiile în virgulă mobilă diferă semnificativ între hardware. Având în vedere o anumită distribuție a tipurilor de hardware care constituie puterea minieră a Bitcoin ‘, puteți oferi o estimare, dar răspunsul la întrebarea ” câte FLOPS sunt necesare per presupunere „, răspunsul este cu siguranță 0.
- numărul de combinații de taste = 2 ^ 256; numărul mediu de presupuneri necesare = 2 ^ 256/2 = 2 ^ 256 * 2 ^ -1 = 2 ^ 255, nimeni nu a observat? Ei bine, nu schimbă miliardul (de miliarde) de ani necesari ..
Răspuns
Există un vanitygen
utilitar (consultați versiunea exploitagency care este furcă îmbunătățită a versiunea samr7 „s ) care vă poate oferi estimări cât durează găsirea cheii private pentru modelul dat (consultați: vg_output_timing_console()
). Unele cazuri speciale (cum ar fi caracterele repetate) sunt mai dificile decât celelalte.
Greul de a găsi o adresă de vanitate depinde de structura sa exactă (litere de întâmpinare și numere) și cât de probabilă o astfel de ieșire este dată de algoritmii implicați, care pot consta din mai mulți pivoti în care dificultatea se schimbă brusc. wiki bitcoin
Iată tabelul care poate poate fi găsit la pagina bitcoin wiki care oferă estimări pentru crăparea cheilor private pentru modelele de adresă date:
Tabelul de mai jos arată modul în care o vanitate din ce în ce mai complexă afectează dificultatea și timpul mediu necesar pentru a găsi o potrivire numai pentru vanitatea respectivă, darămite adresa, pentru o mașină capabilă să caute 1 milion de chei pe secundă.
Folosind vanitygen s-ar putea să credeți că veți putea găsi cheia privată pentru o anumită adresă. În practică, acest lucru este considerat imposibil.
Exemplu practic
Să creăm următoarele unspendable
adresa bitcoin :
$ unspendable.py 23456789A123456789A12345678 mainnet: 123456789A123456789A12345678Yr8Dxi
Apoi folosind vanitygen
pot calcula performanța pe mașina mea (> 240 Kkey / s):
$ vanitygen -q -k -o/dev/null 1 [241.29 Kkey/s][total 2880199][Found 11618]
Notă: Mai sus a fost testat pe MacBook Pro (2,3 GHz Intel Core i7, 16 GB 1600 MHz DDR3).
Mai mult, poate calcula timpul estimat atunci când caută modele specifice, de ex.
-
pentru a găsi primele 5 caractere din 26-35 (câteva secunde):
$ vanitygen -q -k -o/dev/null 12345 [698.17 Kkey/s][total 8192][Prob 0.2%][50% in 4.5s]
-
6 prime caractere din 26-35 (câteva minute):
$ vanitygen -q -k -o/dev/null 123456 [701.39 Kkey/s][total 51712][Prob 0.0%][50% in 4.3min]
-
7 caractere din 26-35 (câteva ore):
$ vanitygen -q -k -o/dev/null 1234567 [471.87 Kkey/s][total 8192][Prob 0.0%][50% in 6.3h]
-
8 caractere din 26-35 (câteva săptămâni):
$ vanitygen -q -k -o/dev/null 12345678 [658.82 Kkey/s][total 2548480][Prob 0.0%][50% in 10.8d]
-
9 caractere t de 26-35 (câțiva ani):
$ vanitygen -q -k -o/dev/null 123456789 [572.50 Kkey/s][total 1631744][Prob 0.0%][50% in 2.0y]
-
10 caractere din 26-35 (un secol):
$ vanitygen -q -k -o/dev/null 123456789A [630.48 Kkey/s][total 118528][Prob 0.0%][50% in 104.2y]
-
11 caractere din 26-35 (câteva milenii)
$ vanitygen -q -k -o/dev/null 123456789A1 [579.78 Kkey/s][total 17348352][Prob 0.0%][50% in 6571.6y]
-
12 caractere din 26-35 (sute de milenii):
vanitygen -q -k -o/dev/null 123456789A12 [751.61 Kkey/s][total 6720512][Prob 0.0%][50% in 294013.9y]
-
13 caractere din 26-35 (mii de milenii, câteva milioane de ani):
$ vanitygen -q -k -o/dev/null 123456789A123 [666.93 Kkey/s][total 3886080][Prob 0.0%][50% in 1.921802e+07y]
-
14 caractere din 26- 35 (miliarde de ani):
$ vanitygen -q -k -o/dev/null 123456789A1234 [817.44 Kkey/s][total 3994880][Prob 0.0%][50% in 9.094109e+08y]
-
15 caractere din 26-35 (50 miliarde de ani):
$ vanitygen -q -k -o/dev/null 123456789A12345 [784.31 Kkey/s][total 4633856][Prob 0.0%][50% in 5.497420e+10y]
-
… 28 de caractere ( decilion de ani dacă „sunteți norocoși)
$ vanitygen -q -k -o/dev/null 123456789A123456789A12345678 [910.34 Kkey/s][total 2723072][Prob 0.0%][50% in 3.981113e+33y]
Merită să menționăm că adresa generată mai sus are 34 de octeți, dar primul caracter este doar identificatorul de rețea (pentru bitcoin este de obicei 1
sau 3
), iar ultimii 4 octeți este doar o sumă de control. Pentru mai multe detalii despre adresă, consultați această pagină wiki bitcoin .
Tarife căutare cheie
Sigur rata de căutare a tastelor poate fi crescută utilizând un GPU mai bun sau mai multe procesoare (vezi: -t
), dar totuși, estimările pot fi imense.
De exemplu, iată tabelul ratelor de căutare la pagina wiki bitcoin :
Iată câteva rapoarte de la utilizatori pentru diferite GPU-uri:
- i7 8700K – ~ 3Mkey / c
- GTX 980TI (v1.42) – ~ 73Mh
- GTX 1050ti – ~ 23 Mkey / c
- GTX 1070 – ~ 50Mhkey / s
- GTX 1080ti – ~ 108 Mkey / c
Sursă: Lista GPU-urilor acceptate (GH-46) .
Răspuns
Singurul risc realist ar fi calculul cuantic.
Sau descoperirea unei erori sau erori în algoritmii software BTC. Apoi cracarea ar putea fi o chestiune de câteva secunde, în funcție de tipul defectului.
Comentarii
- Bună ziua și bine ați venit la StackExchange. Sunteți sigur că nu ‘ ați dorit să faceți din acesta un comentariu la un alt răspuns, mai degrabă decât un răspuns autonom?
- @ThePiachu, mulțumesc . După cum știți, utilizatorii noi nu pot posta comentarii, ci doar răspunsuri. Moderatorul este binevenit să remedieze acest lucru. (Pot doar să comentez propriile mele răspunsuri)
- Oh, tu ești moderator. Tocmai am observat. 🙂
Răspuns
Cel mai rapid computer este 150 Petraflops FPC pe secundă nu 10 … Încercați și țineți pasul cu vremurile (NV Link și Volta HCP Cards pe procesoarele de alimentare IBM) … puteți citi sau viziona mai multe pe site-ul web al echipei verzi sau la conferințele din 2015 pe canalul U. Deoarece răspunsul general pare să se bazeze pe 10 Petraflops ca cel mai rapid computer din lume …Ar trebui să puteți vedea cu claritate cât de repede se poate schimba FPC pe secundă, Departamentul Energiei planifică un sistem 300P bazat deja pe aceeași tehnologie.
Ideea este că oamenii tăi bitcoin care îți spun cât de sigur este bazat pe 10P au deja matematica de bază greșită de 15-30 de ori, deoarece evident nu știu atât de mult cât cred. Îmbunătățirile sunt nu depinde nici de Legea lui Moore, progresele recente și limitările actuale au legătură cu o Lege cu totul diferită, ceea ce NV Link a rezolvat cât de bine a putut și a îmbunătățit atât de bine timpul de calcul, acesta este doar exemplul de astăzi al modului în care teoria unui miliard de miliarde de ani este deja greșită cu un factor de 15-30 și va continua să se înșele în fiecare an la o rată mult mai mare decât presupun ei. În 30 de ani sau mai puțin, bitcoinul la nivelul actual al acestuia va fi ușor spart de oricine are de cheltuit între 40 și 50.000 de dolari (în bani de azi) sau poate folosi orice număr de supercomputere universitare sau corporative.
Oricine crede de fapt că tehnologia veche de 50 de ani va păstra ceva securizat digital 50 de ani mai târziu, sincer nu este genul de persoană în care ar trebui să fii atenționându-se oricum la orice atenție … Asta înseamnă că Bitcoin este periculos astăzi? Nu cu adevărat, dar dacă aceiași oameni sunt responsabili de securitatea acestuia în 30 de ani, sunt aceiași oameni fără idee care sunt aici chiar acum.
Comentarii
- NVLink este o tehnologie care permite comunicarea mai rapidă și mai eficientă din punct de vedere energetic între nodurile dintr-un supercomputer. Niciunul dintre acestea nu este cu adevărat o problemă dacă ‘ construiți un distribuitor de chei distribuit.