Contacte

Criptomonede cu algoritmul sha 256 SHA256 este un algoritm de hashing. Decriptare hash. Videoclip despre funcții criptografice și algoritmi

SHA 256 este un set criptografic de instrucțiuni pentru extragerea criptomonedelor. Cu alte cuvinte, protejează în mod fiabil toate tranzacțiile din rețea și complică extragerea monedelor electronice. Această abreviere înseamnă Secure Hashing Algorithm, ceea ce înseamnă o metodă de hashing extrem de populară și eficientă.

Esența SHA 256 este transformarea informațiilor în valori, numere. Acest lanț are o lungime fixă. Aceasta înseamnă că orice informație pe care o transmiteți în rețea va fi criptată cu valori speciale - identificatori (ID-uri).

La efectuarea tranzacțiilor, algoritmul SHA 256 compară ID-ul cu datele originale, care nu pot fi recuperate, apoi oferă acces la tranzacție. Acest protocol este acum utilizat în minerit de criptomonede precum BTC și BCH.

Istoria apariției

Cum s-a întâmplat ca Bitcoin a început să folosească SHA 256? Totul a început cu algoritmul care a devenit membru al familiei SHA-2, care are o dimensiune a lanțului hash de 224-512 biți.

Ei, la rândul lor, au fost creați pe baza străbunicului lor - SHA-1, al cărui hash avea o lungime de 160 de biți. Tehnologia a apărut în 1995 și a fost destinată utilizării în scopuri civile - adică criptarea informațiilor obișnuite, neimportante pentru stat.

Familia SHA-2, căreia îi aparține SHA 256, a fost dezvoltată de Agenția Națională de Securitate în urmă cu 16 ani - în primăvara anului 2002. Pe baza acestui fapt, putem spune că algoritmul este depășit din punct de vedere moral. Cu toate acestea, este încă unul dintre cei mai puternici algoritmi pentru criptarea tranzacțiilor în rețea.

Parametrii tehnici ai SHA 256

Algoritmul este conceput pentru date împărțite în părți egale de 64 de octeți. SHA 256 asigură că acestea sunt colectate și combinate într-un singur lanț de 256 de biți. Metoda principală pentru această metodă este operația de criptare, care se efectuează în buclă de 64 de ori.

Scurte caracteristici ale instrucțiunilor algoritmice SHA 256:

  • Blocuri de 64 de biți - funcționează cel mai rapid cu blocuri de 32 de biți;
  • lungimea de vârf a lanțului de informații criptate este de 33 de octeți;
  • volumul mesajului digest - 32 de octeți;
  • dimensiunea standardizată a unui cuvânt este de 4 octeți;
  • ciclul de criptare într-o rundă de operare este de 64 de octeți;
  • viteza cu care operează algoritmul este de 140 Mbit/s.

Este de remarcat faptul că acest membru al familiei SHA-2 se bazează pe cadrul descris de Merkle-Damgaard. Aceasta înseamnă că înainte de a împărți informațiile în cuvinte, datele sunt împărțite în blocuri. Procesul întărește criptarea prin amestecarea datelor.

Colectarea informațiilor în sine se realizează în intervalul de la 64 la 80 de repetări. Fiecare buclă ulterioară transformă blocurile create în cuvinte. Rezultatul final, și anume hash-ul, este creat prin însumarea tuturor valorilor inițiale.

Criptomonede cu algoritmul SHA 256

După cum am menționat mai devreme, nu numai Bitcoin are un astfel de set de instrucțiuni, ci și:

  • peercoin, a cărui particularitate este că codul este creat pe baza mingii, dar PoS este folosit pentru a proteja întreaga rețea, iar PoW este responsabil pentru distribuirea monedelor;
  • namecoin este o monedă digitală care acționează ca un mijloc de protecție, confidențialitate și descentralizare; unobtanium - are o inflație extrem de scăzută va dura cel puțin 300 de ani pentru a extrage toate monedele;
  • deutsche eMark este o microrețea germană care este folosită pentru schimbul de active și bani. Procesul în sine are loc fără intermediari; betaCoin - funcționează pe același principiu ca și faimosul BitCoin;
  • jouleCoin - de asemenea bazat pe bunicul Bitcoin, dar oferă o confirmare mai rapidă a tranzacțiilor;
  • steemit nu este nici măcar o criptă separată, ci o întreagă platformă pe blockchain. Sarcina sa principală este de a recompensa publicațiile interesante.

Litecoin folosește și algoritmul SHA 256, dar nu în întregul sistem, ci într-o subrutină. Pentru minerit Litecoin, se folosește protocolul de securitate Scrypt, care crește complexitatea minării și reduce rambursarea ASIC-urilor.

Exploatarea criptomonedelor bazată pe algoritmul SHA 256

Pentru a extrage monede electronice care se bazează pe familia SHA-2, nu este necesar să folosiți instrumente specializate - ASIC. Atât fermele bazate pe CPU, cât și GPU au rezultate bune în minerit. Acesta din urmă este net superior ca viteză față de primul.

Și totuși, ASIC este cea mai bună soluție pentru extragerea criptomonedelor. Avantajele sale sunt într-o oarecare măsură compensate de prețul său semnificativ - aproximativ 100 de mii de ruble, modelele mai puternice chiar depășesc 500.000 Pe măsură ce complexitatea crește, rambursarea scade. Prin urmare, echipamentul nu se justifică întotdeauna, deși oferă o viteză de mining mult mai mare decât fermele pe plăcile video și, mai ales, un procesor.

Miningul GPU este considerat mai mult sau mai puțin profitabil. În general, întreaga fermă va costa aproximativ 1000-2000 USD, plus echipamente suplimentare - în special, sisteme de răcire pentru plăcile video. De asemenea, merită să luați în considerare închirierea spațiilor, plățile de energie electrică și salariile personalului de service.

Printre plăcile video, GTX 1080 Ti de la Nvidia funcţionează bine. Produce o viteză de 1400 de operații reușite pe secundă. AMD este puțin în urmă cu plăcile sale de linie Vega - 1200 MH/s. Există și opțiuni mai ieftine precum Radeon 7970, dar viteza sa nu depășește 800 MH/s.

Algoritmul SHA 256, deși vechi, este încă folosit în Bitcoin, criptomoneda numărul 1 din lume. Protocolul este folosit și într-un număr de alte monede alternative promițătoare. SHA256 este înlocuit treptat de Scrypt, dar Bitcoin nu are de gând să treacă la el. În ceea ce privește mineritul, totul este simplu - dacă aveți bani, luați ASIC-uri cu o rată de hash mare. Doriți o soluție mai economică? Apoi construiește o fermă de pe plăcile video AMD sau Nvidia.

  • Traducere

La un moment dat am vrut să-mi dau seama cât de repede este posibil să extrag Bitcoins manual. S-a dovedit că hashingul SHA-256 este folosit pentru minerit și este destul de simplu și poate fi calculat chiar și fără computer. Desigur, procesul este foarte lent și complet nepractic. Dar după ce parcurgeți toți pașii pe hârtie, puteți înțelege bine detaliile modului în care funcționează algoritmul.

O rundă criptografică

Minerit

O parte cheie a întregului sistem de securitate Bitcoin este mineritul. Ideea de bază este că minerii grupează tranzacțiile Bitcoin într-un singur bloc, pe care apoi le trimit un număr incalculabil pentru a găsi o valoare hash foarte rară care se încadrează în condiții speciale. Când se găsește o astfel de valoare, blocul este considerat minat și intră în lanțul de blocuri. Hashing-ul în sine nu servește niciunui scop util în afară de creșterea dificultății de a găsi blocul corect. Astfel, aceasta este una dintre garanțiile că nimeni singur cu vreun set de resurse existente nu va putea prelua controlul asupra întregului sistem. Puteți citi mai multe despre minerit în ultimul meu articol.

Funcția de hashing criptografic primește un bloc de date ca intrare și produce o ieșire mică, dar imprevizibilă. Este conceput astfel încât să nu existe o modalitate rapidă de a obține rezultatul dorit și trebuie să continuați să căutați până când găsiți valoarea potrivită. Bitcoin folosește SHA-256 ca atare funcție. Mai mult, pentru a spori rezistența, SHA-256 este aplicat blocului de două ori și se numește SHA-256 dublu.

În Bitcoin, criteriul pentru ca un hash să fie valid este să aibă un număr suficient de zerouri la început. Găsirea unui astfel de hash este la fel de dificilă ca, de exemplu, găsirea unei mașini sau a unui număr de telefon care se termină cu mai multe zerouri. Dar, desigur, pentru un hash este exponențial mai dificil. În prezent, un hash valid trebuie să conțină aproximativ 17 zerouri la început, care este satisfăcut doar de 1 în 1,4x10 20 . Dacă facem o analogie, atunci găsirea unei astfel de valori este mai dificilă decât găsirea unei anumite particule printre tot nisipul de pe Pământ.

Albastrul blochează amestecarea neliniară a biților pentru a face analiza criptografică mai dificilă. Mai mult, pentru o fiabilitate și mai mare, sunt utilizate diferite funcții de amestecare (dacă puteți găsi o lacună matematică pentru a genera rapid hashuri valide, veți prelua controlul asupra întregului proces de extragere a Bitcoin).

Funcția majoritară (blocul Ma) operează pe biți pe cuvintele A, B și C. Pentru fiecare poziție de bit, returnează 0 dacă majoritatea biților de intrare în acea poziție sunt zero, în caz contrar, returnează 1.

Blocul Σ0 rotește A cu 2 biți, apoi cuvântul original A este rotit cu 13 biți și, în mod similar, cu 22 de biți. Cele trei versiuni deplasate rezultate ale lui A sunt adăugate pe biți modulo 2 ( xor normal, (A ror 2) xor (A ror 13) xor (A ror 22)).

Ch implementează funcția de selecție. La fiecare poziție de bit se verifică un bit din E, dacă este egal cu unu, atunci este scos bitul din F din această poziție, în caz contrar un bit din G. Astfel, biții din F și G sunt amestecați pe baza valorii a lui E.

Σ1 este similar ca structură cu Σ0, dar funcționează cu cuvântul E, iar constantele de deplasare corespunzătoare sunt 6, 11 și 25.

Blocurile roșii efectuează o adăugare de 32 de biți, generând noi valori pentru cuvintele de ieșire A și E. Valoarea W t este generată pe baza datelor de intrare (acest lucru se întâmplă în partea algoritmului care primește și procesează datele hashed). . Este dincolo de domeniul nostru). K t este propria sa constantă pentru fiecare rundă.

În diagrama de mai sus, se observă că doar A și E se schimbă într-o rundă criptografică. Cuvintele rămase nu se schimbă, ci sunt mutate la ieșire - vechiul A se transformă în ieșire B, vechiul B în nou C și așa mai departe. Deși o singură rundă a algoritmului nu schimbă prea mult datele, după 64 de runde, informațiile de intrare vor fi complet criptate.

Minăm manual

În videoclip vă arăt cum puteți parcurge toți pașii descriși cu un pix și hârtie. Am efectuat prima rundă de hashing pentru a mine blocul. Mi-a luat 16 minute și 45 de secunde.


Permiteți-mi să explic puțin ce se întâmplă: am notat cuvintele de la A la H în formă hexazecimală, iar sub fiecare am făcut o traducere în formă binară. Rezultatul blocului Ma este sub cuvântul C, iar valorile lui A după deplasări și ieșirea Σ0 însăși apar deasupra liniei cu A. Funcția de selectare apare sub G și, în final, versiunile deplasate corespunzătoare ale lui E și ale valoarea după blocul Σ1 treceți deasupra liniei cu E. În colțul din dreapta jos a efectuat o adunare, al cărei rezultat este implicat atât în ​​calculul noului A, cât și al noului E (primele trei blocuri de însumare roșii). În dreapta sus am calculat noua valoare a lui A, iar în mijloc este calculul noii valori a lui E. Toți acești pași au fost discutați mai sus și pot fi urmăriți cu ușurință în diagramă.

Pe lângă runda prezentată în videoclip, am mai efectuat una - ultima a 64-a rundă de hashing pentru un anumit bloc Bitcoin. În fotografie, valoarea hash este evidențiată cu galben. Numărul de zerouri confirmă că este un hash Bitcoin valid. Rețineți că zerourile sunt situate la sfârșitul hashului și nu la început, așa cum am scris mai devreme. Motivul este că Bitcoin inversează pur și simplu octeții primiți de SHA-256.


Ultima rundă de SHA-256, în urma căreia este vizibil un bloc Bitcoin extras cu succes

Ce înseamnă toate acestea pentru proiectarea minerilor hardware?

Fiecare pas din SHA-256 pare foarte simplu în logica digitală - operații simple pe biți și sume pe 32 de biți (dacă ați studiat vreodată proiectarea circuitelor, probabil v-ați imaginat deja cum ar putea arăta în hardware). Prin urmare, ASIC-urile implementează SHA-256 foarte eficient, plasând sute de unități de execuție rotunde SHA-256 în paralel. Fotografia de mai jos arată un cip minier care poate calcula 2-3 miliarde de hashe-uri pe secundă. Puteți vedea mai multe fotografii pe Zeptobars.


O fotografie de siliciu a cipului Bitfury ASIC, care poate extrage Bitcoin cu 2-3 gigahash-uri pe secundă. Poza de la Zeptobars. (CC BY 3.0)

Spre deosebire de Bitcoin, Litecoin, Dogecoin și alte sisteme alternative similare de monede folosesc algoritmul de hashing scrypt, care este în mod inerent dificil de implementat în hardware. Acest algoritm stochează 1024 de valori hash diferite în memorie în timpul execuției și le combină la ieșire pentru a obține rezultatul final. Prin urmare, este nevoie de mult mai multă memorie și circuite pentru a calcula hashurile scrypt în comparație cu hashurile SHA-256. Impactul schimbării algoritmului de hashing este clar vizibil atunci când se compară hardware-ul de minerit corespunzător - versiunile pentru scrypt (Litecoin și altele) sunt de mii de ori mai lente decât versiunile pentru SHA-256 (Bitcoin).

Concluzie

SHA-256 a fost dintr-o dată atât de simplu încât ar putea fi calculat chiar și manual (algoritmul de curbă eliptică folosit pentru a semna o tranzacție Bitcoin ar fi mult mai dureros, deoarece implică o grămadă de înmulțiri de numere de 32 de octeți). Calcularea unei runde de SHA-256 mi-a luat 16 minute și 45 de secunde. Cu această performanță, hashingul unui întreg bloc Bitcoin (128 de runde) va dura 1,49 zile, adică obținem o rată de hashing de 0,67 hashe-uri pe zi (de fapt, desigur, procesul s-ar grăbi odată cu practica). Prin comparație, generația actuală de mineri Bitcoin produce mai multe terahash-uri pe secundă, ceea ce este de aproximativ un miliard de ori mai rapid decât mine. Cred că este clar că extragerea manuală a Bitcoin nu este foarte practică.

Un cititor de la reddit a întrebat despre cheltuiala mea de energie Deoarece nu depun niciun efort fizic serios, putem presupune că rata metabolică va fi de 1500 de kilocalorii pe zi, atunci constatăm că hashingul manual necesită aproape 10 megajouli pe consumul de energie pentru un miner de fier este de 1000 de magehash pe joule. Astfel, sunt mai puțin eficient de 10^16 ori (10 cvadrilioane). Costul gogoșilor este de 23 de cenți 15 cenți pe kilowatt-oră, ceea ce este de 6,7 ori mai ieftin decât gogoșile. În consecință, costul energiei în termeni de haș, pentru mine, ca miner uman, este de 67 de cvadrilioane de ori mai mare nici macar sa tinem cont de costul hartiei si pixurilor!

De ce a fost creat SHA - 256?

SHA 256 - prescurtare pentru Secure Hashing Algorithm - este popular criptografic algoritm de hashing dezvoltat de Agenția Națională de Securitate - Agenția de Securitate Națională a SUA. Sarcina lui SHA - 256 este de a face anumite valori cu o lungime fixă ​​dintr-un set aleatoriu de date care va servi identificator aceste date.

Valoarea rezultată este comparată cu duplicatele datelor originale, care nu pot fi extrase. Principalul domeniu de aplicare al algoritmului este utilizarea în diverse aplicații sau servicii legate de securitatea informațiilor, unde funcția a devenit larg răspândită răspândirea. De asemenea, este folosit ca tehnologie pentru extragerea criptomonedelor.

Acest algoritm aparține grupului de algoritmi de criptare SHA - 2, care, la rândul lor, sunt dezvoltați pe baza algoritmului SHA - 1, creat pentru prima dată în 1995 pentru utilizare în scopuri civile. SHA-2 în sine a fost dezvoltat de Agenția de Securitate Națională a SUA în primăvara anului 2002. În trei ani, NSA a emis un brevet pentru utilizarea tehnologiei SHA în proiecte civile.

În 2012, Institutul Național de Standarde și Tehnologie a creat o versiune actualizată a algoritmului: SHA - 3. În timp, noul algoritm va înlocui atât algoritmul principal actual SHA - 2, cât și SHA - 1, deja învechit, dar încă folosit.

Hash-sum nu este o tehnologie de criptare a datelor în sensul clasic, ceea ce face imposibilă decriptarea datelor în direcția opusă. Aceasta este criptare unidirecțională pentru orice cantitate de date. Toți algoritmii SHA se bazează pe metoda Merkle-Damgaard: datele sunt împărțite în grupuri uniforme, fiecare trecând printr-o funcție de compresie unidirecțională. Ca urmare, lungimea datelor este redusă.

Această metodă are două avantaje semnificative:

  • viteză de criptare rapidă și decriptare aproape imposibilă fără chei;
  • risc minim de coliziuni (imagini identice).

Unde mai este folosit?

În fiecare zi, fiecare utilizator de internet, știind sau nu, folosește SHA-256: certificatul de securitate SSL care protejează fiecare site web include algoritmul SHA-256. Acest lucru este necesar pentru a stabili și a autentifica o conexiune sigură la site.

Avantajele SHA - 256

SHA - 256 - cel mai mult uzual algoritm de minerit printre toate celelalte. S-a dovedit a fi rezistent la hack-uri (cu rare excepții) și un algoritm eficient atât pentru sarcinile miniere, cât și pentru alte scopuri.

Contra SHA - 256

Principalul dezavantaj al lui SHA-256 este controlabilitate mineri: cei cu cea mai mare putere de calcul primesc cea mai mare parte a criptomonedei, ceea ce elimină una dintre fundamental principiile criptomonedelor - descentralizare.

După ce marii investitori au început să investească în putere de calcul pentru minerit industrial Bitcoin, dificultatea extragerii a crescut exponențial și a început să necesite o putere de calcul excepțională. Acest dezavantaj a fost corectat în alte protocoale, mai moderne și „personalizate” pentru utilizare în minerit de criptomonede, precum Scrypt. În ciuda faptului că astăzi SHA-256 ocupă o mare parte a pieței criptomonedei, își va slăbi influența în favoarea unor protocoale mai sigure și mai avansate.

După un timp Algoritmii SHA-1 nu mai oferă nivelul necesar de fiabilitate din cauza apariției probabile a coliziunilor. SHA-256, ca și SHA-512, sunt mai protejate de acest defect, dar probabilitatea de apariție este încă prezentă.

Utilizare în criptomonede

Exploatare pe SHA - 256

Exploatarea cu SHA-256, ca și în cazul oricărui alt algoritm, este un proces de rezolvare a unor complexe criptografic o sarcină care este generată de un program de mining pe baza datelor din blocurile anterioare.

Există trei moduri de a extrage folosind funcția SHA-256:

  • CPU (unitate centrală de procesare);
  • GPU (unitate de procesare grafică);
  • de specialitate procesor: ASIC.

În minerit, cantitatea de hash este utilizată ca identificator al blocurilor existente și pentru crearea unora noi pe baza celor anterioare. Procesul de extragere este afișat în interfață ca „acceptat f33ae3bc9...”. Unde f33ae3bc9 este un hash - sumă, parte a datelor, destinat pentru decriptare. Blocul principal constă dintr-un număr mare de sume hash similare.

Adică, mineritul cu algoritmul SHA-256 este non-stop selectarea valorii hash corecte, enumerarea numerelor pentru a crea un bloc nou. Cu cât puterea ta de calcul este mai mare, cu atât este mai mare șansa de a obține blocul corect: viteza de căutare a diferitelor sume hash depinde de putere.

Datorită faptului că Bitcoin este construit pe algoritmul SHA-256, pt competitiv Exploatarea pe el necesită o putere de calcul extrem de mare. Acest lucru se datorează faptului că, pentru minerit Bitcoin, producția de „ASIC” - circuit integrat specific aplicației, adică, a fost stabilită de mult timp. e. circuit integrat cu scop special. ASIC-urile vă permit să extrageți Bitcoin și alte criptomonede folosind algoritmul SHA-256 mult mai rapid, mai eficient și mai ieftin.

Ce criptomonede folosesc algoritmul SHA - 256

SHA-256 este un algoritm clasic pentru criptomonede: principala criptomonedă, Bitcoin, este construită pe el. În consecință, acest algoritm este utilizat în fork-urile Bitcoin: Bitcoin Cash, Gold, Diamond.

Pe lângă acestea, SHA - 256 este utilizat și în:

  • Steemit;
  • DigiByte;
  • PeerCoin;
  • NameCoin;
  • TeckCoin;
  • Ocoin;
  • Zetacoin;
  • EmerCoin.

De asemenea, algoritmul SHA-256 este folosit ca subrutină în criptomoneda Litecoin, iar algoritmul principal pentru minerit acolo este Scrypt.

Funcția de hashing SHA 256 a stat la baza primei criptomonede din lume - Bitcoin și multe altcoins. Știați că a fost creat cu mult înainte de apariția criptomonedelor și a fost destinat unor scopuri complet diferite? Astăzi ne vom uita la istoria algoritmului, principiul funcționării acestuia, problemele actuale și ce criptomonede folosesc SHA256.

Poveste

Numele algoritmului SHA 256 este un acronim pentru Secure Hashing Algorithm. Așa a numit-o dezvoltatorul - Agenția de Securitate Națională a SUA. Algoritmul este o funcție de hashing. Aceasta înseamnă că intrarea sa este un volum de date de lungime arbitrară, iar rezultatul este un set de caractere de lungime fixă, numit hash.

Una dintre caracteristicile cheie ale funcțiilor de hash hash este ireversibilitatea. Putem obține hash-ul trecând datele originale prin funcție, dar cunoscând hash-ul, nu vom putea obține datele originale. Datorită acestei proprietăți, funcția a devenit larg răspândită în diverse servicii și aplicații în care este necesară protecția datelor. În fiecare zi folosim algoritmul SHA 256 când vizităm site-uri de pe Internet. Include un certificat de securitate SSL, care este necesar pentru a stabili o conexiune sigură la site.


Algoritmul face parte din familia SHA-2, dezvoltată pe baza SHA-1, care a apărut în 1995. De la începuturile sale, sha256 a fost testat pe larg pentru rezistența sa folosind criptoanaliza. Criptanaliza testează rezistența funcțiilor hash la două tipuri principale de atacuri:
  • Găsirea coliziunilor - detectarea hashurilor identice cu diferiți parametri de intrare. Rata de succes a acestui atac compromite securitatea semnăturii digitale folosind algoritmul actual.
  • Găsirea unei imagini prealabile este capacitatea de a decripta mesajul original folosind hash-ul său. Acest atac compromite securitatea stocării hash-urilor parolelor de autentificare.

Analiza a fost testată pentru prima dată în 2003, dar atunci nu au fost găsite vulnerabilități. Odată cu trecerea timpului, puterea de calcul s-a dezvoltat. În 2008, au fost găsite coliziuni pentru iterațiile SHA-512 și SHA-256. În septembrie același an, a fost dezvoltată o metodă de creare a coliziunilor pentru 31 de iterații ale lui SHA256 și 27 de iterații ale lui SHA-512.

Evident, a sosit momentul să dezvoltăm o nouă funcție criptorezistentă. În 2012, NSA a inventat SHA-3. Treptat, algoritmul actualizat va înlocui predecesorii săi mai puțin rezistenți la criptografie.

Exploatare pe SHA 256

Legea SUA permite utilizarea SHA și a funcțiilor hash similare ca parte a altor protocoale și algoritmi în anumite aplicații federale de securitate a informațiilor non-secrete. SHA-2 poate fi folosit de organizații private și comerciale.

Nu este de mirare că a fost folosit în criptomonede. Minerii colectează toate tranzacțiile într-un bloc și apoi încep să-l hashing. Când se găsește o valoare hash care se potrivește cu regulile sistemului, blocul este considerat gata pentru a fi atașat la sfârșitul blockchain-ului. Noul bloc va fi găsit de cineva care poate calcula valorile hash foarte rapid. Viteza de calcul depinde de puterea echipamentului. Trei tipuri de echipamente pot fi folosite pentru a extrage Bitcoin:

  • CPU (unitate centrală de procesare);
  • GPU (placi video);
  • ASIC (Application Specific Device).

Rețeaua Bitcoin este concepută în așa fel încât fiecare bloc nou trebuie găsit o dată la 10 minute. Numărul de participanți la rețea este în continuă schimbare, dar timpul trebuie să rămână constant. Pentru a asigura timpi de rezidență egali, sistemul ajustează dificultatea de calcul în funcție de numărul de mineri. Criptomonedele au câștigat popularitate în ultima perioadă, iar numărul de mineri a crescut foarte mult. Pentru a preveni găsirea prea rapidă a blocurilor, a crescut și complexitatea calculelor.


Bitcoin a început să fie extras pe procesoare. Apoi, când puterea lor a devenit insuficientă, au trecut la plăcile video. În curând plăcile video nu au mai putut face față. Apoi au fost inventate ASIC-urile - dispozitive speciale concepute pentru calcule folosind algoritmul sha 256. Un ASIC este mult mai puternic și mai eficient din punct de vedere energetic decât mai multe plăci video.

Minerii întreprinzători creează ferme uriașe din ASIC. Pe lângă costul ridicat al echipamentului în sine, o astfel de fermă primește în fiecare lună facturi de energie electrică de câteva zeci de mii de dolari. Acum, mineritul Bitcoin are sens doar în astfel de ferme industriale, un computer de acasă sau chiar o fermă cu mai multe plăci video nu va putea concura cu ele și nici măcar să recupereze electricitatea.

Cu toate acestea, acest lucru este ușor de calculat. Există calculatoare pentru a calcula profitabilitatea mineritului pe sha256. De exemplu, https://www.coinwarz.com/miningprofitability/sha-256. Introduceți hashrate-ul echipamentului dvs. (puterea de calcul), consumul de energie și costul acestuia în formular, serviciul vă va calcula profitul.

Altcoins SHA-256

Să ne uităm la lista și lista de criptomonede care funcționează pe sha 256.

Bitcoin Cash (BCH)

Separat de acesta la 1 august 2017. Dimensiunea blocului în Bitcoin clasic este de 1 MB. Rețeaua a crescut atât de mult încât toate tranzacțiile nu se mai pot încadra într-un bloc. Acest lucru a dus la formarea de cozi de tranzacții și la creșterea taxelor pentru efectuarea plăților. Comunitatea a decis să introducă un nou protocol, conform căruia blocul a crescut la 2 MB, unele informații au început să fie stocate în afara blockchain-ului, iar intervalul de timp pentru recalcularea complexității a fost redus de la două săptămâni la o zi.

Namecoin (NMC)

Este un sistem de stocare și transmitere a combinațiilor nume-valoare bazat pe tehnologia Bitcoin. Cea mai faimoasă aplicație a sa a fost sistemul de distribuție a numelor de domeniu, care este independent de ICANN și, prin urmare, face imposibilă repunerea în posesie a domeniului. Namecoin a fost lansat în 2011, rulează pe software-ul de minerit Bitcoin transmis către serverul pe care rulează Namecoin.

DigiByte (DGB)

O criptomonedă lansată în 2013 cu scopul de a îmbunătăți performanța Bitcoin și Litecoin. Diferențele DigiByte:

  • Volatilitatea scăzută se realizează datorită numărului mare de monede emise (până la 21 de miliarde), ceea ce asigură costul redus al acestora și ușurința de utilizare în calcule;
  • Tranzacții rapide prin dublarea dimensiunii blocului la fiecare doi ani;
  • Comisioane mici sau fără comisioane;
  • Procesul de extragere este împărțit în cinci algoritmi care vă permit să extrageți monede independent unul de celălalt. Puteți folosi ASIC-uri pentru SHA-256 și Scrypt, plăci video pentru Groestl și Skein și un procesor pentru Qubit.

Algoritmul SHA 256 este cel mai comun dintre criptomonede. Acest lucru a fost cauzat de popularitatea și succesul Bitcoin și de dorința dezvoltatorilor de altcoin de a crea monede similare. Creșterea complexității computaționale i-a determinat pe mineri să caute modalități de a extrage mai eficient, ceea ce a dus la apariția ASIC-urilor.


Criptarea Bitcoin se bazează pe SHA-256, un algoritm special care face parte din codul programului. Sarcina sa este de a converti datele de intrare într-un set specific de caractere (în reprezentare alfabetică și numerică) și de a proteja informațiile. Astfel de acțiuni se numesc hashing. Care sunt subtilitățile acestui algoritm? De ce este necesar și cum funcționează? Care sunt avantajele și dezavantajele? Vom lua în considerare acestea și o serie de alte puncte în detaliu.

Ce algoritm de criptare are Bitcoin și unde este folosit?

Când discutăm despre criptomonedă, despre caracteristicile funcționării și extragerii acesteia, participanții la rețeaua cripto în mod inevitabil dau peste o definiție atât de răspândită precum algoritmul de criptare Bitcoin. Din ziua în care BTC a fost dezvoltat și până astăzi (13 august 2018), a fost folosit SHA-256, care este necesar pentru a rezolva următoarele probleme în rețeaua Bitcoin:

  1. Formarea adreselor BTC (utilizate pentru tranzacții).
  2. Exploatare (dovada muncii).
  3. Atingerea gradului necesar de securitate și anonimat.
  4. Pentru semnătura digitală și recunoașterea acesteia.
Algoritmul SHA-256 este relevant nu numai pentru Bitcoin, ci și pentru alte monede, și anume Bitcoin Cash, Mazacoin, Peercoin, Namecoin și alte criptomonede. În plus, SHA-2 (baza SHA-256) este folosit pentru a crea multe protocoale menite să protejeze datele de pe Internet, și anume SSL, TSL și altele.

Algoritmul de hashing Bitcoin este necesar pentru a controla informațiile prin analiza și identificarea în timp util a inexactităților. Odată ce datele au fost procesate și convertite într-un hash, este imposibil să obțineți informațiile înapoi. Dacă luați un fișier BTC deja criptat, faceți din nou calculele și asigurați-vă că parametrii hash sunt identici, puteți fi sigur că nu există modificări la informațiile originale. Dacă datele diferă, aceasta indică un hack de sistem.

Algoritm de criptare Bitcoin - cum funcționează în cuvinte simple


SHA-2 se bazează pe cadrul creat de Merkle și Damgaard. Particularitatea funcției hash utilizată în criptografie este abordarea non-standard a formării acesteia. Datele primite sunt împărțite în blocuri de dimensiuni identice, după care elementele create sunt convertite în numere hexazecimale. Cu ei se fac calculele ulterior. O funcție hash este aplicată valorii rezultate, iar rezultatul procesării este suma hash care apare în rezultat. Este un set de caractere prezentate în afișaj alfabetic și numeric. În esență, acesta este un haș.

Următorul bloc este construit după principiul descris mai sus. În acest caz, un nou proces este lansat după crearea elementului anterior. Dacă se fac modificări la datele originale, hash-ul se modifică. În cazul în care parametrii funcției hash identici apar brusc în blocuri diferite, apare o situație de conflict în funcționarea algoritmului. Când apare o astfel de discrepanță, întregul lanț blockchain este pus sub semnul întrebării.

Astfel, o funcție hash este utilizată pentru a crea o semnătură digitală. Dacă apare situația discutată mai sus, există o mare probabilitate de falsificare a semnăturii. Pentru a calcula astfel de defecțiuni (coliziuni), se folosește o tehnică specială care implică căutarea prin date, ceea ce crește puterea funcției hash.

Corectitudinea criptării Bitcoin este controlată de patru cerințe:

  1. Când modificați datele primite, cantitatea de hash rămâne aceeași.
  2. În timpul hashingului, se obține o sumă hash individuală (setul de caractere trebuie să fie unic).
  3. Crearea cheilor folosind hashing este extrem de complicată.
  4. Hashe-urile sunt ireversibile. Aceasta înseamnă că lucrul cu datele de intrare este permisă fără posibilitatea de a efectua acțiuni inverse.

Cum se aplică acest lucru în Bitcoin?

Sarcina nodurilor rețelei de criptomonede este să găsească unul în numeroase tranzacții care să i se potrivească din toate punctele de vedere. La evaluarea opțiunilor, atenția inițială este acordată mărimii comisionului (apropo, din acest motiv, tranzacțiile cu un comision mai mare sunt finalizate mai repede). În continuare, se verifică operațiunea, se studiază datele de intrare și de ieșire și se clarifică originalitatea semnăturii digitale.

Imediat ce lucrarea avută în vedere este finalizată, următorul element al lanțului (blocul) Bitcoin este creat cu o anumită dimensiune (pentru criptomoneda în cauză - 1 megaoctet). Nodurile rezultate constau din versiunea, timpul de formare, două hash-uri (bloc trecut și tranzacții primite), precum și parametri suplimentari care asigură unicitatea (biți și nonce). În complex, blocul creat este hash de mai multe ori, rezultând formarea unui hash cap, care acționează ca o ieșire pentru elementul „vechi” al lanțului și ca o intrare pentru cel nou.

Să presupunem că setul hash conține un anumit număr „0” (de exemplu, nonce este 17). Este extrem de dificil să selectați o astfel de valoare folosind doar enumerarea valorilor. Acesta este aspectul care asigură fiabilitatea informațiilor din rețeaua blockchain și protecția acesteia de hacking. Pentru a crea un hash, este necesară o putere enormă, fără de care este imposibil să găsiți setul necesar de caractere. Odată ce această lucrare este finalizată și parametrul este găsit, acesta este trimis la elementele rețelei cripto cu blocul nou creat și hash-ul găsit cu 17 „0s”. În continuare, toți participanții din rețeaua Bitcoin verifică hash-ul, combinând setul de caractere cu informațiile din bloc. Dacă nu există nicio coliziune, apare un nou element în lanțul blockchain.

Când a apărut algoritmul de criptare Bitcoin - un scurt istoric


Termenul „SHA” este o abreviere a trei cuvinte: „Secure Hashing Algorithm”. Bitcoin folosește SHA-256, iar „baza” funcției hash menționate este SHA-2, care include mulți algoritmi cripto (inclusiv 256).

Creatorii SHA-2 sunt NSA al Statelor Unite, o agenție specială care se ocupă de problemele de securitate națională ale țării. După dezvoltarea și testarea algoritmului, acesta a fost lansat publicului în 2002. Noul SHA-2 a inclus și prima funcție hash SHA-1 (creată cu 7 ani mai devreme - în 1995). De la introducerea lui SHA-2, au fost lansate multe variante ale algoritmului, dintre care una a fost folosită de Satoshi Nakamoto la crearea Bitcoin în 2009.

Scopul dezvoltatorilor a fost să lanseze un algoritm care să asigure formarea unei valori specifice de o anumită lungime dintr-un set aleatoriu de caractere. Au reusit. În viitor, parametrul rezultat va fi utilizat pentru a identifica (verifica) informațiile. Scopul inițial al SHA-2 este de a proteja datele pe diverse servicii, iar astăzi (în 2018) SHA-256 este cunoscut în primul rând ca un algoritm utilizat în minerit de monede.

În 2012, sistemul a fost îmbunătățit și a apărut o versiune actualizată a funcției hash - SHA-3. Se crede că, în timp, noua dezvoltare va înlocui algoritmii anteriori, ceea ce va îmbunătăți gradul de securitate deja ridicat.

Caracteristicile algoritmului de criptare Bitcoin


Esența lui SHA-256 este simplă. Mesajul inițial după adăugarea este împărțit în blocuri, iar fiecare dintre ele are 16 cuvinte. Elementele rezultate trec prin cicluri speciale care implică 64 sau 80 de etape. La fiecare dintre ele sunt convertite două cuvinte, iar opțiunea de transformare este formată din cuvintele rămase. Parametrii rezultați sunt însumați pentru a forma un hash.

În timpul funcționării algoritmului, sunt utilizate 6 comenzi:

  • „xor” - elimină „OR”.
  • „shr” - mută indicatorul cu numărul necesar de biți la dreapta cu o anumită frecvență.
  • „putrezește” - mută indicatorul cu numărul necesar de biți la dreapta (fără a utiliza un anumit ciclu).
  • „II” - o conexiune de elemente care sunt de natură liniară.
  • "si si".
  • „+” - urmărire.
Caracteristicile protocolului:
  1. Limita superioară pentru durata mesajului este de 33 B.
  2. Parametrul de viteză maximă este de 139 MiB/s.
  3. Dimensiunea cuvântului - 4 B.
  4. Numărul de repetări într-un ciclu este de 64.
  5. Dimensiunea elementului bloc este de 64 B.
  6. Codul hash total este 32 B.

Algoritm de criptare Bitcoin în minerit


Când se efectuează calcule în minerit, corectitudinea codului hash rezultat este determinată de numărul de zerouri de la începutul liniei. De exemplu, dacă acest parametru este 17, probabilitatea de a găsi un astfel de număr este extrem de mică și este undeva în jurul valorii de 1:1,4*10 până la a 20-a putere. Nu este surprinzător faptul că exploatarea Bitcoin necesită utilizarea de echipamente puternice și costuri mari de energie. În același timp, optimizarea căutării pentru hash-ul necesar este imposibilă, deoarece după primirea unui bloc de informații, la ieșire apare un număr aleatoriu.

Dificultatea extragerii unei monede virtuale este de a găsi hash-ul necesar și de a forma următorul bloc. Pentru a atinge acest obiectiv, se utilizează enumerarea standard a valorilor, care necesită echipamente de înaltă performanță. După cum am menționat, căutarea nu este pentru un simplu hash, ci pentru o valoare cu un număr mare de „0” în față.

Exploatarea criptomonedelor folosind SHA-256 este un set de măsuri menite să rezolve o anumită problemă cripto. În cazul Bitcoin, următoarele echipamente sunt folosite pentru minerit:

  1. De la apariția BTC în 2009, precum și până la jumătatea anului 2010, utilizarea unei unități centrale de procesare (CPU) a fost relevantă.
  2. Până la jumătatea anului 2011, minerii foloseau computere cu plăci video (GPU).
  3. Până la începutul lui 2013, FGPA-urile au fost populare, la fel și fermele GPU.
  4. În 2014, au apărut ASIC-urile. Au eclipsat echipamentele existente în performanță. În ciuda acestui fapt, până la începutul anului 2017, minerii au folosit fermele GPU și au lucrat în bazine, dar până la sfârșitul lui 2017 și până în prezent, doar -minerii sunt relevanți. Utilizarea altor echipamente este neprofitabilă.
Dispozitivele menționate sunt folosite pentru a selecta funcția hash de interes și pentru a genera una nouă. Cu cât este mai mare hashrate (puterea de calcul) a dispozitivului, cu atât datele sunt sortate mai rapid și cu atât este mai puțin timp pentru a găsi o soluție.

Odată cu creșterea concurenței și eliberarea de mineri mai productivi, și crește, parametrul căruia se schimbă la fiecare 2 săptămâni.

Punctele slabe și punctele forte ale algoritmului de hashing Bitcoin


Mai sus ne-am uitat la ce este algoritmul de hashing Bitcoin și care sunt caracteristicile acestuia. Acesta este SHA-256, care este considerat cel mai comun algoritm cu un nivel ridicat de fiabilitate și un principiu de funcționare relativ simplu. Este foarte rezistent la hacking și vă permite să extrageți monede pe orice echipament (în funcție de parametrii de dificultate).

În ciuda unui număr de calități pozitive, algoritmul de hashing Bitcoin are o serie de puncte slabe:

  1. Control de către participanții la minerit BTC. Același principiu funcționează aici ca și în societățile pe acțiuni (SA), când participanții la companie dețin un anumit număr de acțiuni. Cu cât puterea este concentrată în mâinile minerii de rețele criptografice, cu atât este mai puternic impactul acestora asupra întregului sistem. În plus, datorită complexității tot mai mari a mineritului în 2018, există o tendință vizibilă ca mineritul să treacă din mâinile minerilor privați la controlul marilor organizații implicate în crearea de echipamente pentru extragerea monedelor virtuale. Pentru a primi Bitcoins, un miner privat trebuie să cheltuiască sume mari pentru achiziționarea de ASIC, să se conecteze la unul dintre pool-uri și să plătească pentru electricitate. Dacă zgârciți cu echipamente, producția își pierde profitabilitatea.
  2. O consecință a situației discutate mai sus este faptul că partea „leului” a Bitcoins este concentrată în mâinile proprietarilor marilor companii miniere. Dacă ținem cont de faptul că nu tot Bitcoinul primit se pune în vânzare, astfel de organizații se transformă în investitori și custozi de monede. Ca urmare, numărul de monede în circulație scade. În plus, acumularea de criptomonede vă permite să influențați descentralizarea, precum și cursul de schimb al BTC în timpul procesului de tranzacționare.
  3. Din cauza deficiențelor existente, algoritmul SHA-256 devine treptat un lucru din trecut, iar proiecte mai avansate îi iau locul. De exemplu, Scrypt, Ethash, Blake-256, Equihash și alții câștigă popularitate. Noii algoritmi au niveluri de protecție și securitate mai bune, ceea ce i-a forțat pe creatorii multor criptomonede să abandoneze SHA-256 învechit în favoarea unor tehnologii mai avansate.
  4. În ciuda corectării principalelor erori identificate de dezvoltatori, unele vulnerabilități nu au putut fi înlăturate (în 2008, s-au găsit coliziuni pentru 22 de iterații). De aceea, dezvoltarea SHA a continuat, iar cea de-a doua versiune a fost înlocuită cu SHA-3.
În 2009, am fost forțat să folosesc SHA-256, deoarece în timpul creării criptomonedei, guvernele de stat au adoptat acest protocol. La acea vreme, era folosit în mod activ pentru protecția datelor în unele programe guvernamentale și era folosit și în sectorul comercial. S-a dovedit că protocolul a fost creat pentru a rezolva anumite probleme, dar în realitate este solicitat într-un mod complet diferit.

Pentru claritate, să tabulăm caracteristicile pozitive și negative ale algoritmului de criptare Bitcoin.

AvantajeDefecte
Răspândit (inclusiv în sectorul criptomonedei). Protocolul SHA este utilizat în mod activ în viața de zi cu zi pentru a proteja informațiile.Pierderea descentralizării. Puterea este concentrată în mâinile companiilor miniere.
Protecție sigură împotriva efracției.Iterația SHA are o structură simplă, ceea ce a dus la o creștere a complexității mineritului în timp. Începând cu august 2018, numai ASIC-urile cu performanță ridicată pot fi folosite pentru extragerea de Bitcoins.
Comoditate în materie de monede miniere, versatilitate în alegerea echipamentelor pentru minerit.Apar algoritmi noi care au o structură mai avansată.
În a doua versiune (SHA-2), creatorii au reușit să elimine o serie de deficiențe care au afectat negativ fiabilitatea sistemului.În ciuda lucrului activ la bug-uri, multe deficiențe nu au fost eliminate. Nu este surprinzător, dezvoltatorii au creat o nouă versiune a SHA-3.
Protocolul a fost adoptat la nivel legislativ în Statele Unite.

Astăzi aproape că nu este folosit în dezvoltarea de noi criptomonede. Cel mai izbitor exemplu de monedă care încă folosește SHA-256 este Bitcoin Cash, o furcă a Bitcoin care a apărut în august 2017. Dar în situația cu această monedă, utilizarea SHA este mai mult o necesitate decât o alegere a creatorilor. În ceea ce privește Bitcoin în sine, utilizarea acestui protocol de serie se datorează lipsei de alternative de la Satoshi Nakamoto.

Astăzi, în 2018, se vorbește mult despre îmbunătățirea acestui algoritm și efectuarea de modificări în rețeaua de criptomonede, dar până acum astfel de intenții nu au găsit implementare fizică și rămân doar sub formă de propuneri.

Videoclip despre funcții criptografice și algoritmi:



Ți-a plăcut articolul? Împărtășește-l