Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Cum SHA256 și minerit protejează rețeaua Bitcoin

Cum este apărat Bitcoin prin energie? Și ce este un nonce? Aceste întrebări și multe altele sunt răspunse în interior!

Cum funcționează mineritul este fascinant. Când le explic oamenilor, îmi face plăcere să le văd fața în momentul în care mintea le este uluită. Îți voi explica aici, dar știi, îmi imaginez toate fețele voastre în timp ce mintea vă suflă!

Trebuie să încep cu funcțiile hash. Fără funcții hash, Bitcoin nu ar fi posibil. Permiteți-mi să vă explic mai întâi care sunt acestea, nu numai pentru a putea suna cool la petreceri, ci și pentru că este fundamental pentru a înțelege cum funcționează Bitcoin - în special mineritul, dar și tranzacțiile - sub capotă.

Nu trebuie să înțelegeți cum funcționează Bitcoin pentru a beneficia de el, la fel cum nu trebuie să înțelegeți cum funcționează TCP/IP pentru a utiliza internetul. Dar continuă, pentru că este destul de interesant și îl voi face ușor de înțeles, promit.

Funcții Hash

Să începem cu o schemă pe care o voi explica mai jos...

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.
(Grafic/@jirols_btc)

În stânga este intrarea, centrul este funcția, iar în dreapta este ieșirea. Intrarea poate fi orice date, atâta timp cât este digitală. Poate fi de orice dimensiune, cu condiția ca computerul să se ocupe de el. Datele sunt transmise funcției SHA256. Funcția preia datele și calculează un număr care arată aleatoriu, dar cu proprietăți speciale (discutate mai târziu).

Primul algoritm Secure Hash (SHA) a fost inițial dezvoltat de NSA și există multe versiuni diferite acum (Bitcoin folosește SHA256). Este un set de instrucțiuni despre cum să amestecați datele într-un mod foarte complicat, dar specificat. Instrucțiunile nu sunt un secret și este chiar posibil să o faci manual, dar este foarte obositor.

Pentru SHA256, ieșirea este un număr de 256 de biți (nu o coincidență).

Un număr de 256 de biți înseamnă un număr binar de 256 de cifre. Binar înseamnă că valoarea este reprezentată cu două simboluri, fie 0, fie 1. Numerele binare pot fi convertite în orice alt format, de exemplu numere zecimale, care sunt ceea ce suntem familiarizați.

Deși funcția returnează un număr binar de 256 de cifre, valoarea este de obicei exprimată în format hexazecimal, lungime de 64 de cifre.

Hexazecimal înseamnă că în loc de 10 simboluri posibile, așa cum suntem obișnuiți cu zecimală (de la 0 la 9), avem 16 simboluri (cele zece cu care suntem obișnuiți, 0-9, plus literele a, b, c, d, e, și f; care au valorile de la 11 la 15). De exemplu, pentru a reprezenta valoarea zecimalului 15 în hexazecimal, scriem doar „f” și este aceeași valoare. Există o mulțime de informații disponibile online, cu o căutare rapidă pe Google, dacă aveți nevoie de mai multe detalii.

Pentru a demonstra SHA256 în acțiune, pot lua numărul 1 și îl pot rula printr-un calculator hash online, și am obținut această ieșire (în hexazecimal):

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Caseta de sus este intrarea, caseta de jos este ieșirea rezultată.

Rețineți că toate computerele din lume vor produce aceeași ieșire, cu condiția ca intrarea să fie aceeași și să fie utilizată funcția SHA256.

Ieșirea numărului hexazecimal, dacă este convertit în zecimal, este (observați că este nevoie de mai multe cifre pentru a scrie):

48,635,463,943,209,834,798,109,814,161,294,753,926,839,975,257,569,795,305,637,098,542,720,658,922,315

Și convertit în binar este:

11010111000011010110010011100111111111100110100111111001110000110011101011010111000000001001110111111110101101000111111010101110100011110101101101001001110101010100010001011110001110101001001110000000001111001010010110111011011011110000111010110110100101111010111001101011100110101110011010111001101011100110101110011010111001101011100111

Doar din interes, aici este aceeași valoare în baza 64.

1w1k5/5p+cM61wCd/rR+ro9bSdVEXjqTgDylu28OtpY=

Rețineți că cea mai mică valoare posibilă pe care SHA256 ar putea fi returnată este zero, dar LUNGIMEA este încă de 256 de biți. Iată cum este reprezentat zero:

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Și cea mai mare valoare posibilă este:

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

În zecimală, asta este:

115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,935

În hexazecimal, este:

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Rețineți că există exact 64 de F.

Zero în hexazecimal poate fi scris pur și simplu ca un singur zero, dar pentru ieșirea hash, sunt 64 dintre ele pentru a respecta cerința unei ieșiri cu dimensiune fixă:

0000000000000000000000000000000000000000000000000000000000000000

Iată un rezumat al unor fapte despre funcția hash care sunt esențiale de apreciat:

  • Intrarea nu poate fi determinată de la ieșire
  • Intrarea poate avea orice lungime
  • Ieșirea are întotdeauna aceeași lungime
  • Ieșirea va fi întotdeauna reprodusă identic dacă furnizați aceeași intrare.
  • Orice modificare a intrării, indiferent cât de mică, va provoca o ieșire imprevizibilă și extrem de diferită
  • Ieșirea este aparent aleatorie, dar este de fapt deterministă (adică este calculată și reproductibilă)
  • Ieșirea nu poate fi prevăzută. Poate fi doar calculat și acest lucru necesită o cantitate măsurabilă de muncă de către un computer (și ore cu creion și hârtie! Nu o faceți.)

Acum că înțelegeți conceptul de bază despre ce este un hash, puteți înțelege explicația cum funcționează mineritul Bitcoin.

Dar înainte de a trece mai departe, vă recomand să mergeți la un calculator hash online și să vă jucați puțin cu el și să testați singur ceea ce am spus despre funcțiile hash. Imi place aceasta.

Minerit

Voi începe prin a demonstra un concept de muncă, de unde provine „dovada muncii” în Bitcoin.

Accesați calculatorul hash online și tastați „Creez 50 de bitcoini și îmi plătesc această sumă”.

Introduceți-l exact, diferențiat cu majuscule și minuscule, inclusiv punct. Ar trebui să obțineți această ieșire:

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Acum, să creăm o regulă care spune pentru ca acest mesaj de plată să fie valid, avem nevoie de hash să înceapă cu un zero. Pentru a face asta, trebuie să schimbăm cumva intrarea. Dar, după cum ați învățat, nu este previzibil care ar fi rezultatul pentru o anumită intrare. Ce modificare putem face pentru a asigura un hash care începe cu zero?

Trebuie să adăugăm date folosind încercare și eroare. Dar nici nu vrem să schimbăm sensul mesajului de intrare. Deci, haideți să creăm un câmp (o secțiune alocată) numit „nonce” care va conține o valoare de nonsens.

Cuvântul „Nonce” ar trebui să fie derivat din „număr folosit doar o dată”, dar nu îl văd.

Observați mai jos cum doar adăugarea „Nonce:” ca titlu suplimentar de câmp modifică rezultatul hash.

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Ieșirea încă nu începe cu un „0”, așa că haideți să adăugăm niște prostii (am adăugat un „x” fără sens):

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Tot nu începe cu zero. Am mai încercat câteva caractere până când hashul a început cu zero:

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Iată-ne. Acum, conform regulilor arbitrare pe care le-am stabilit pentru această versiune pretinsă a Bitcoin, textul din fereastra de introducere este un bloc valid cu o singură tranzacție care îmi plătește 50 bitcoin.

Rețineți că blocurile Bitcoin sunt în esență pagini ale unui registru. Fiecare bloc este numerotat și creează noi bitcoin, împreună cu listarea tranzacțiilor dintre utilizatori. Această înregistrare este locul în care locuiește bitcoin.

Acum o nouă regulă. Pentru blocul următor trebuie inclus hash-ul blocului anterior. Voi adăuga puțină complexitate și voi adăuga câteva câmpuri pentru a aborda ceea ce are un bloc Bitcoin real.

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Hashul începe cu un „f” nu „0”, așa că va trebui să încerc câteva valori în câmpul nonce:

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

De data aceasta am fost mai norocos și am găsit un nonce potrivit după doar patru încercări. Amintiți-vă că pentru primul bloc a fost nevoie de 22 de încercări. Există o oarecare aleatorie aici, dar, în general, nu este prea dificil să găsim un hash valid dacă tot ceea ce încercăm să obținem este unul zero. Există 16 valori posibile pentru prima cifră hash, așa că am o șansă de 1 din 16 ca orice modificare pe care o fac câmpului de introducere să aibă ca rezultat ca prima cifră hash să fie „0”.

Rețineți că câmpurile Bitcoin sunt așa, dar există mai multe detalii pe care nu le-am adăugat. Acesta este doar pentru a ilustra un punct, nu neapărat pentru a detalia exact cum arată un bloc Bitcoin.

Voi adăuga un câmp de timp la următorul bloc, deoarece am nevoie de acesta pentru a explica „ajustarea dificultății” în continuare:

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Mai sus este blocul numărul trei. Include hash-ul blocului anterior și acum am început să includ și timpul. Nonce pe care l-am găsit cu succes a făcut ca hashul să înceapă cu zero (am continuat să scriu „1” până când ținta hash a fost atinsă).

Sunt destule aici acum încât pot începe să explic câteva concepte interesante despre blockchain-ul Bitcoin și minerit.

Câștigând un bloc

Procesul de minerit este competitiv. Oricine produce mai întâi un bloc valid poate plăti singur o recompensă de bloc stabilită. Un miner care produce același număr de bloc puțin mai târziu nu primește nimic - acel bloc este respins. Explicarea de ce va provoca o diversiune prea mare acum, așa că o voi explica în anexă.

După ce blocul trei este găsit și difuzat tuturor (toate nodurile Bitcoin), toți minerii nu mai lucrează la ceea ce ar fi fost versiunea lor a blocului trei. Ei încep să construiască peste acel bloc de succes trei (trăgând hash-ul blocului înainte într-un nou bloc) și încep să lucreze la găsirea unui nonce potrivit pentru blocul patru. Câștigătorul publică rezultatul și apoi toată lumea începe să lucreze la blocul cinci etc.

Cu fiecare bloc, se creează noi bitcoin și alcătuiesc în mod colectiv oferta totală de până acum. Dacă există mulți mineri, atunci statistic ar trebui să ne așteptăm ca blocurile să fie produse mai repede și, prin urmare, bitcoinul va fi creat mai repede. Problemă, nu?

Căutând o aprovizionare limitată de bitcoin cu o emisiune previzibilă în timp, Satoshi Nakamoto s-a gândit la această problemă și a introdus o buclă de feedback negativ pentru a menține producția de bloc la intervale de 10 minute în medie. Cum? Vezi dacă te poți gândi la o cale. Faceți o pauză și gândiți-vă - vedeți dacă puteți găsi aceeași soluție genială și citiți mai departe când renunțați.

NODE: Menționez blocuri „valide”. Şi ce dacă? Cine verifică? Nodurile Bitcoin sunt. Un nod Bitcoin păstrează o copie a blockchain-ului până acum și urmează un set de reguli pentru a verifica dacă blocurile noi se încadrează în reguli și le respinge pe cele care nu sunt. Unde sunt regulile? În cod. Un computer care descarcă codul Bitcoin este un nod.

Reglarea Dificultății

Timpul mediu pentru a crea noi blocuri Bitcoin este calculat de fiecare nod la fiecare bloc din 2016 (de aceea este necesar câmpul de timp). Aceasta face parte din protocolul și regulile pe care le urmează nodurile. Se aplică o formulă pentru a ajusta numărul de zerouri cu care fiecare bloc hash trebuie să înceapă pentru a fi valid.

Strict, nu numărul de zerouri este ajustat, ci o valoare țintă pe care hash-ul trebuie să fie sub, dar gândirea la zerouri de început este mai simplu de explicat.

Dacă blocurile sunt produse prea repede, atunci ținta hash este ajustată conform regulilor predefinite pe care toate nodurile le urmează în mod identic (este în codul lor).

Păstrând totul simplu pentru exemplul meu, să presupunem că alți oameni concurează cu mine, blocurile se întâmplă prea repede, iar acum al patrulea bloc are nevoie de două zerouri în loc de unul, conform unui calcul imaginar.

O să-mi ia ceva mai mult să obțin două zerouri, dar ne imaginăm că sunt mulți alți oameni care concurează cu mine, așa că timpul total necesar oricui pentru a găsi un bloc este păstrat la o țintă.

Iată următorul bloc:

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Observați ora. Au trecut mai bine de 10 minute de la blocul precedent (tocmai am făcut timpul pentru a demonstra). Ținta de 10 minute este probabilistică; nu se știe niciodată exact când va fi găsit următorul bloc.

Am încurcat pe tastatură un minut până au apărut două zerouri. Acest lucru a fost exponențial mai greu decât găsirea unui singur zero. Șansa de a găsi două zerouri la rând este 1 din 162, sau o șansă de 1 la 256.

Dacă mai mulți oameni s-ar alătura la minerit și la competiția pentru noul bitcoin, atunci în cele din urmă vor fi necesare trei zerouri.

Tocmai am căutat ultimul bloc Bitcoin real, care conține hash-ul blocului anterior. Hash-ul a fost:

000000000000000000084d31772619ee08e21b232f755a506bc5d09f3f1a43a1

Sunt 19 zerouri! Există un 1 din 1619 șansa de a găsi un astfel de bloc la fiecare încercare. Minerii Bitcoin fac multe, multe încercări pe secundă, colectiv în toată lumea.

Numărul de încercări pe secundă este cunoscut sub numele de „rată de hash”. În prezent, rata de hash estimată la nivel mondial este de puțin sub 200 de milioane de terahash-uri pe secundă (un terahash este un trilion de hash-uri). Cu atâtea încercări pe secundă, un bloc cu un hash care începe cu 19 zerouri este găsit la fiecare 10 minute.

În viitor, pe măsură ce mai mulți mineri se vor alătura, rata de hash va crește, blocurile vor fi găsite mai repede, iar dificultatea Bitcoin se va ajusta pentru a necesita 20 de zerouri, ceea ce va împinge producția de blocuri înapoi la aproximativ 10 minute.

Înjumătățirea

Când a început Bitcoin, s-au produs 50 de bitcoin cu fiecare bloc. Regulile blockchain-ului Bitcoin specifică că după fiecare 210,000 de blocuri recompensa va fi redusă la jumătate. Acest moment este cunoscut sub numele de „înjumătățire” și are loc aproximativ la fiecare patru ani. Înjumătățirea, combinată cu ajustarea dificultății păstrând blocurile la intervale de 10 minute, înseamnă că în jurul anului 2140, recompensa blocului va fi de 0.00000001, sau 1 satoshi, cea mai mică unitate a unui bitcoin, și nu mai poate fi înjumătățită. Exploatarea nu se va opri, dar recompensa blocului va fi zero. Din acel moment, nu va mai fi creat niciun bitcoin nou, iar numărul de bitcoin este calculabil matematic și suficient de aproape de 21 de milioane de monede. Acesta este modul în care se cunoaște oferta totală - este setată în mod programatic.

Chiar și cu recompensa de bloc la zero, minerii vor fi în continuare stimulați să lucreze în continuare pentru a câștiga taxe de tranzacție.

Cum se reduce exact recompensa de bloc la jumătate? Este în codul deținut de noduri. Ei știu să respingă orice bloc nou după 210,000 în care un miner își plătește singur peste 25 de bitcoin. Și apoi să respingă orice blocuri după 420,000 în care un miner își plătește singur peste 12.5 bitcoin și așa mai departe.

Taxele de tranzacție

Până acum am arătat doar blocuri imaginare cu o singură tranzacție - tranzacția în care minerul primește o recompensă. Aceasta se numește „tranzacție coinbase”.

Nu poartă numele companiei, Conbase, mă refer la Coinbase. Compania și-a dat numele după tranzacția coinbase, nu invers. Nu te confuzi.

Pe lângă tranzacția coinbase, există tranzacții cu persoane care plătesc reciproc. Iată un exemplu imaginat:

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Nu m-am obosit să găsesc un hash real de data aceasta (este de fapt hashul real raportat în blocul 200,001). Tocmai am inventat pentru distracție, dar observ că un mesaj poate fi încorporat acolo.

Satoshis a inclus în primul bloc Bitcoin (The Genesis Block), cuvintele „Cancelar în pragul celui de-al doilea salvare pentru bănci”, după titlul ziarului pentru ziua respectivă.

Cum SHA256 și minerit protejează rețeaua Bitcoin PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Ideea aici este că sunt incluse 132 de tranzacții (nu toate sunt afișate). Uită-te la tranzacția #132 – 2.3 bitcoin de la o adresă plătesc 2.1 bitcoin la o altă adresă și, de asemenea, la o a doua adresă suma de 0.1 bitcoin (am folosit puncte pentru a scurta lungimea adresei).

Deci o sursă de 2.3 bitcoin plătește un total de 2.2 bitcoin (2.2 + 0.1 = 2.2). Lipsește 0.1 bitcoin? Nu, diferența este revendicată de miner, așa cum voi explica.

Minerului i se permite să plătească singur 25 de bitcoin ca recompensă de bloc (pentru că au trecut 210,000 de blocuri, astfel încât recompensa a fost redusă la jumătate de la 50 la 25). Dar dacă te uiți, tranzacția coinbase este 27.33880022. Cei 2.33880022 bitcoin în plus provin din celelalte 132 de tranzacții din bloc – intrările vor fi toate puțin mai mari decât totalul ieșirilor. Așa că minerul poate revendica acest bitcoin „abandonat” drept plată pentru el însuși. Acestea sunt considerate taxe de tranzacție plătite minerului.

Spațiul de bloc este limitat. Când Bitcoin era nou, utilizatorii puteau trimite tranzacții fără taxă, iar minerii includeau tranzacția în bloc. Dar acum sunt mai mulți utilizatori și, deoarece accesul în următorul bloc este competitiv, utilizatorii includ o taxă în tranzacție pentru a-l atrage pe miner să-și aleagă tranzacția în locul celorlalți.

Așadar, atunci când recompensa de bloc scade constant, înjumătățindu-se la fiecare patru ani și, în cele din urmă, la zero, minerii sunt încă plătiți în acest fel.

Unii au sugerat că într-o zi recompensa pentru mineri nu va fi suficientă și va face ca Bitcoin să eșueze. Această îngrijorare a fost complet demontată și nu o voi repeta aici.

Poate fi rescris un bloc?

Acest lucru este extrem de puțin probabil și merită să înțelegeți de ce. Veți aprecia apoi de ce tranzacțiile Bitcoin sunt imuabile (neschimbabile).

Am explicat mai devreme că hash-ul blocului anterior este inclus în blocul curent. Aceasta înseamnă că orice editare a tranzacțiilor dintr-un bloc vechi modifică hash-ul blocului editat. Dar acel hash este înregistrat în următorul bloc, așa că înseamnă că și următorul bloc trebuie actualizat. Dar dacă modificați hash-ul înregistrat în acel bloc următor, atunci hash-ul său trebuie să se schimbe și așa mai departe.

Rețineți că de fiecare dată când se schimbă un hash, pierzi toate aceste zerouri minunate și vei rămâne doar cu un hash cu aspect aleatoriu - și trebuie să faci toată munca din nou pentru a recupera zerourile. Dacă faceți asta pentru blocul pe care ați încercat să îl editați, atunci trebuie să reluați lucrul pentru următorul bloc și următorul până la cel mai recent bloc. Nu te poți opri pur și simplu la vechiul bloc, deoarece regulile Bitcoin sunt de așa natură încât cel mai lung lanț de blocuri este adevăratul record Bitcoin. Dacă vă întoarceți și editați un bloc cu 10 blocuri în urmă, nu mai aveți cel mai lung lanț. Trebuie să adăugați încă 10 blocuri și apoi puțin mai mult pentru că pe măsură ce creați acele 10 blocuri, lanțul real a devenit probabil puțin mai lung. Trebuie să alergi pentru a depăși lanțul adevărat. Dacă are succes, atunci noua versiune devine versiunea reală.

Repetarea efortului de hashing colectiv al întregii lumi de la blocul editat la cel mai recent bloc este bariera în calea editării Bitcoin. Energia a fost cheltuită pentru a crea acele hashe-uri cu toate acele zerouri improbabile și acea cheltuială de energie trebuie repetată pentru a edita Bitcoin. Acesta este motivul pentru care energia folosită pentru mine Bitcoin nu este „irosită”; este acolo pentru a apăra Bitcoin de modificări, pentru a face registrul imuabil fără a fi nevoie să aveți încredere într-o autoritate centrală.

Ce se întâmplă dacă doi mineri găsesc un bloc în același timp?

Acest lucru se întâmplă de fapt din când în când și întotdeauna se rezolvă după cum urmează:

Fiecare nod va primi mai întâi unul dintre noile blocuri aproape simultane și îl va accepta pe cel și îl va respinge pe cel care va sosi câteva momente mai târziu. Acest lucru duce la o scindare a rețelei, dar este temporară.

Pentru a ilustra, să numim unul dintre blocuri albastru și celălalt roșu (nu au culoare, doar suportați-mă).

Minerii lucrează apoi la următorul bloc, dar va exista o împărțire în ceea ce privește blocul din care extind lanțul.

Să presupunem că minerul câștigător a găsit un bloc folosind lanțul albastru. Ei vor trimite noul bloc către toate nodurile și cel mai lung lanț va fi evident. Nodurile care au acceptat lanțul roșu îl vor lăsa apoi și vor adopta lanțul albastru.

Toți minerii care lucrau la lanțul roșu se vor opri și acum vor lucra pe lanțul mai lung, care este lanțul albastru. Lanțul roșu este mort.

Apendice

De ce blocul unui miner pe locul doi este invalid

Să presupunem că blocul 700,000 tocmai a fost extras de MINER-A. Treizeci de secunde mai târziu, MINER-B a creat și o versiune diferită a blocului 700,000. Când MINER-B difuzează această alternativă, fiecare nod o va respinge deoarece a văzut și a acceptat deja blocul de către MINER-A. Mai mult, în acele 30 de secunde, să spunem că MINER-C a găsit blocul 700,001. Având în vedere că blocul 700,000 concurent al lui MINER-B nu extinde lanțul actual (care este până la 700,001), este de asemenea respins din acest motiv.

Even more interesting is that if MINER-B had been working on block 700,001 instead of a competing version of 700,000, they would have had just as much chance of mining a valid block 700,001 as they would have to finally find an alternate block 700,000. So as soon as any miner sees a new block, they should set their effort on the next block.

Dacă, totuși, Miner-B a găsit blocul 700,000 la o secundă după ce a făcut-o MINER-A, atunci este posibil ca unele noduri să vadă mai întâi blocul lui MINER-A, în timp ce altele să vadă mai întâi blocul lui MINER-B, în funcție de locațiile geografice și de viteza internetului. În acest caz, există o furcă temporară, iar unii mineri vor lucra pentru a extinde o versiune, în timp ce alți mineri vor lucra pentru a extinde cealaltă. După cum sa explicat mai devreme folosind descriptorii „lanț albastru” și „lanț roșu”, în cele din urmă una dintre versiuni se va extinde mai mult înaintea celeilalte și va deveni versiunea valabilă în unanimitate.

Aceasta este o postare pentru oaspeți de Arman The Parman. Opiniile exprimate sunt în întregime proprii și nu reflectă neapărat cele ale BTC Inc sau Revista Bitcoin.

Timestamp-ul:

Mai mult de la Revista Bitcoin