Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin

Kako se Bitcoin brani z energijo? In kaj je nonce? Odgovore na ta in druga vprašanja najdete znotraj!

Kako rudarjenje deluje, je fascinantno. Ko to razlagam ljudem, uživam, ko vidim njihov obraz v trenutku, ko se jim raznese. Tukaj bom razložil, toda vedi, vse tvoje obraze si predstavljam, ko ti razbijajo misli!

Začeti moram s funkcijami zgoščevanja. Brez zgoščevalnih funkcij Bitcoin ne bi bil mogoč. Naj najprej razložim, kaj so, ne le zato, da boste na zabavah zveneli kul, ampak tudi zato, ker je temeljnega pomena za razumevanje delovanja Bitcoina – zlasti rudarjenja, pa tudi transakcij – pod pokrovom.

Ni vam treba razumeti, kako deluje Bitcoin, da bi imeli koristi od njega, prav tako vam ni treba razumeti, kako deluje TCP/IP za uporabo interneta. Toda nadaljujte, ker je zelo zanimivo in obljubim, da ga bom olajšal za razumevanje.

Funkcije razpršitve

Začnimo s shemo, ki jo bom razložil spodaj ...

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.
(Grafika/@jirols_btc)

Na levi je vhod, sredina je funkcija, na desni pa izhod. Vhod je lahko kateri koli podatek, le da je digitalen. Lahko je poljubne velikosti, pod pogojem, da to zmore vaš računalnik. Podatki se posredujejo funkciji SHA256. Funkcija vzame podatke in izračuna naključno število, vendar s posebnimi lastnostmi (o katerih bomo govorili pozneje).

Prvi varni algoritem zgoščevanja (SHA) je bil prvotno razvila NSA in zdaj obstaja veliko različnih različic (Bitcoin uporablja SHA256). To je niz navodil, kako pomešati podatke na zelo zapleten, a natančno določen način. Navodila niso skrivnost in se da narediti celo ročno, vendar je zelo dolgočasno.

Za SHA256 je izhod 256-bitno število (ni naključje).

256-bitno število pomeni 256-mestno binarno število. Binarno pomeni, da je vrednost predstavljena z dvema simboloma, bodisi 0 ali 1. Binarna števila je mogoče pretvoriti v katero koli drugo obliko, na primer v decimalna števila, ki jih poznamo.

Čeprav funkcija vrne 256-mestno binarno število, je vrednost običajno izražena v šestnajstiški obliki, dolga 64 števk.

Šestnajstiški pomeni, da imamo namesto 10 možnih simbolov, kot smo jih vajeni z decimalko (0 do 9), imamo 16 simbolov (deset, ki smo jih vajeni, 0-9, plus črke a, b, c, d, e, in f; ki imata vrednosti od 11 do 15). Na primer, da predstavimo vrednost decimalke 15 v šestnajstiški obliki, napišemo samo "f" in je ista vrednost. Na spletu je s hitrim iskanjem v Googlu na voljo veliko informacij, če potrebujete več podrobnosti.

Za prikaz SHA256 v akciji lahko vzamem številko 1 in jo zaženem skozi spletni hash kalkulator, in dobil ta izhod (v šestnajstiški obliki):

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zgornje polje je vhod, spodnje polje je rezultat izhoda.

Upoštevajte, da bodo vsi računalniki na svetu proizvajali enak izhod, pod pogojem, da je vhod enak in se uporablja funkcija SHA256.

Izhod šestnajstiškega števila, če se pretvori v decimalno, je (upoštevajte, da je za zapisovanje potrebnih več števk):

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

In pretvorjeno v binarno je:

11010111000011010110010011100111111111100110100111111001110000110011101011010111000000001001110111111110101101000111111010101110100011110101101101001001110101010100010001011110001110101001001110000000001111001010010110111011011011110000111010110110100101111010111001101011100110101110011010111001101011100110101110011010111001101011100111

Samo zaradi zanimanja, tukaj je enaka vrednost osnova 64.

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

Upoštevajte, da je najmanjša možna vrednost, ki bi jo lahko vrnil SHA256, nič, vendar je LENGTH še vedno 256 bitov. Takole je predstavljena nič:

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

In največja možna vrednost je:

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

V decimalni obliki je to:

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

V šestnajstiški obliki je to:

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Upoštevajte, da je natanko 64 F.

Nič v šestnajstiškem zapisu je mogoče preprosto zapisati kot eno samo ničlo, toda pri izhodu zgoščenega razpršilnika jih je 64, da se izpolnijo zahteve po izhodu s fiksno velikostjo:

0000000000000000000000000000000000000000000000000000000000000000

Tukaj je povzetek nekaterih dejstev o hash funkciji, ki jih je pomembno ceniti:

  • Vnosa ni mogoče določiti iz izhoda
  • Vnos je lahko poljubno dolg
  • Izhod je vedno enake dolžine
  • Izhod bo vedno reproduciran enako, če zagotovite enak vhod.
  • Vsaka sprememba vnosa, ne glede na to, kako majhna je, bo povzročila nepredvidljiv in divje drugačen izhod
  • Izhod je na videz naključen, vendar je dejansko determinističen (kar pomeni, da je izračunan in ponovljiv)
  • Rezultata ni mogoče predvideti. To je mogoče samo izračunati in to zahteva merljivo količino dela z računalnikom (in ure s svinčnikom in papirjem! Ne počnite tega.)

Zdaj, ko razumete osnovni koncept zgoščene vrednosti, lahko razumete razlago, kako deluje rudarjenje bitcoinov.

Preden pa nadaljujete, vam priporočam, da greste do spletnega hash kalkulatorja in se malo poigrate z njim ter sami preizkusite, kaj sem rekel o hash funkcijah. Ta mi je všeč.

Rudarstvo

Začel bom s prikazom koncepta dela, od koder izvira "dokaz o delu" v Bitcoinu.

Pojdite na spletni hash kalkulator in vnesite "Ustvarjam 50 bitcoinov in si plačam ta znesek."

Vnesite natančno, občutljivo na velike in male črke, vključno s piko. Dobiti bi morali ta izhod:

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zdaj pa ustvarimo pravilo, ki pravi, da je to plačilno sporočilo veljavno, da potrebujemo zgoščevanje, da se začne z eno ničlo. Da bi to naredili, moramo nekako spremeniti vnos. Toda, kot ste se naučili, ni predvidljivo, kakšen bi bil izhod za dani vhod. Kakšno spremembo lahko naredimo, da zagotovimo zgoščevanje, ki se začne z nič?

Podatke moramo dodati s poskusi in napakami. Vendar tudi ne želimo spreminjati pomena vhodnega sporočila. Ustvarimo torej polje (dodeljen razdelek), imenovano »nonce«, ki bo vsebovalo nesmiselno vrednost.

Beseda »Nonce« naj bi izhajala iz »številke, uporabljene samo enkrat«, vendar je ne vidim.

Spodaj bodite pozorni, kako samo dodajanje »Nonce:« kot dodatnega naslova polja spremeni izhod zgoščevanja.

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Izhod se še vedno ne začne z "0", zato dodajmo nekaj neumnosti (dodal sem nesmiseln "x"):

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Še vedno se ne začne z ničlo. Poskusil sem še nekaj znakov, dokler se hash ne začne z ničlo:

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

No pa gremo. Glede na poljubna pravila, ki sem jih določil za to navidezno različico Bitcoina, je besedilo v oknu za vnos veljaven blok z eno transakcijo, ki mi plača 50 bitcoinov.

Upoštevajte, da so bloki Bitcoin v bistvu strani glavne knjige. Vsak blok je oštevilčen in ustvari nov bitcoin, skupaj s seznamom transakcij med uporabniki. Ta zapis je kraj, kjer bitcoin živi.

Zdaj novo pravilo. Za naslednji blok je treba vključiti zgoščeno vrednost prejšnjega bloka. Dodal bom malo zapletenosti in dodal še nekaj polj, da se približam temu, kar ima pravi blok Bitcoin.

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Hash se začne z "f" in ne "0", zato bom moral poskusiti nekaj vrednosti v polju nonce:

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Tokrat sem imel večjo srečo in sem že po štirih poskusih našel primernega nonce. Spomnimo se, da je za prvi blok trajalo 22 poskusov. Tukaj je nekaj naključnosti, vendar na splošno ni preveč težko najti veljavnega hasha, če je vse, kar poskušamo dobiti, ena nič. Za prvo zgoščeno številko je 16 možnih vrednosti, tako da imam možnost 1 proti 16, da bo kakršna koli sprememba vnosnega polja povzročila, da bo prva zgoščena številka »0«.

Upoštevajte, da so polja Bitcoina takšna, vendar je več podrobnosti, ki jih nisem dodal. To je samo ponazoritev točke, ne pa nujno podrobno, kako natančno izgleda blok Bitcoin.

Naslednji blok bom dodal časovno polje, saj ga potrebujem, da razložim naslednjo »prilagoditev težavnosti«:

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Zgoraj je blok številka tri. Vključuje hash prejšnjega bloka, zdaj pa sem začel vključevati tudi čas. Nonce, ki sem ga našel, je uspešno začel zgoščevanje z ničlo (še naprej sem vnašal »1«, dokler ni bil dosežen cilj zgoščevanja).

Zdaj je dovolj, da lahko začnem razlagati nekaj zanimivih konceptov o verigi blokov Bitcoin in rudarjenju.

Zmaga v bloku

Postopek rudarjenja je konkurenčen. Kdor prvi ustvari veljaven blok, si plača določeno nagrado za blok. Rudar, ki ustvari isto številko bloka nekoliko kasneje, ne dobi ničesar - ta blok je zavrnjen. Razlaga, zakaj je tako, bo zdaj povzročila preveliko preusmeritev, zato bom to razložil v dodatku.

Ko je blok tri najden in oddan vsem (vsem vozliščem Bitcoin), vsi rudarji prenehajo delati na tem, kar bi bila njihova različica bloka tri. Začnejo graditi na vrhu tega uspešnega bloka tri (s potegom njegove zgoščene vrednosti bloka naprej v nov blok) in začnejo delati na iskanju primernega nonce za blok štiri. Zmagovalec objavi rezultat in nato vsi začnejo delati na bloku pet itd.

Z vsakim blokom se ustvarijo novi bitcoini, ki skupaj predstavljajo celotno ponudbo do sedaj. Če je rudarjev veliko, bi morali statistično pričakovati, da se bodo bloki proizvajali hitreje, zato bo bitcoin hitreje ustvarjen. Težava, kajne?

Satoshi Nakamoto, ki je iskal omejeno ponudbo bitcoinov s predvidljivo izdajo skozi čas, je razmišljal o tej težavi in ​​uvedel negativno povratno zanko, da bi ohranil proizvodnjo blokov v povprečnih 10-minutnih intervalih. kako Poglejte, če se lahko zamislite. Za trenutek se ustavite in premislite – poglejte, ali lahko pridete do enake genialne rešitve, in berite naprej, ko obupate.

VOZLIŠČA: Omenil sem "veljavne" bloke. Pa kaj? Kdo preverja? Bitcoin vozlišča so. Vozlišče Bitcoin do zdaj hrani kopijo verige blokov in sledi naboru pravil, da preveri, ali so novi bloki znotraj pravil, in zavrne tiste, ki niso. Kje so pravila? V kodi. Računalnik, ki prenese kodo Bitcoin, je vozlišče.

Prilagoditev težavnosti

Povprečni čas za ustvarjanje novih blokov Bitcoin izračuna vsako vozlišče vsakih 2016 blokov (zato je potrebno polje za čas). To je del protokola in pravil, ki jih upoštevajo vozlišča. Uporabi se formula za prilagajanje števila ničel, s katerimi se mora začeti vsak zgoščen blok, da je veljaven.

Natančno, ni prilagojeno število ničel, ampak ciljna vrednost, pod katero mora biti zgoščenka, vendar je razmišljanje o vodilnih ničlah lažje razložiti.

Če se bloki proizvajajo prehitro, se cilj zgoščevanja prilagodi v skladu z vnaprej določenimi pravili, ki jim vsa vozlišča sledijo identično (to je v njihovi kodi).

Poenostavljeno za moj primer, recimo, da drugi tekmujejo z mano, bloki se dogajajo prehitro, zdaj pa četrti blok po namišljenem izračunu potrebuje dve ničli namesto ene.

Potreboval bom nekaj več časa, da dobim dve ničli, vendar si predstavljamo, da je veliko drugih ljudi, ki tekmujejo z mano, tako da je skupni čas, ki je potreben, da kdorkoli najde blok, omejen na cilj.

Tukaj je naslednji blok:

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Upoštevajte čas. Od prejšnjega bloka je minilo več kot 10 minut (pravkar sem izkoristil čas za demonstracijo). 10-minutni cilj je verjetnostni; nikoli se natančno ne ve, kdaj bo najden naslednji blok.

Minuto sem motil po tipkovnici, dokler se nista prikazali dve ničli. To je bilo eksponentno težje kot najti eno samo ničlo. Možnost, da najdeš dve ničli v vrsti, je 1 proti 162, ali možnost 1 proti 256.

Če bi se več ljudi pridružilo rudarjenju in tekmovanju za nove bitcoine, bodo na koncu potrebne tri ničle.

Pravkar sem poiskal zadnji pravi blok Bitcoin, ki vsebuje zgoščeno vrednost prejšnjega bloka. Razpršitev je bila:

000000000000000000084d31772619ee08e21b232f755a506bc5d09f3f1a43a1

To je 19 ničel! Obstaja 1 od 1619 možnost najti takšen blok pri vsakem poskusu. Bitcoin rudarji naredijo veliko, veliko poskusov na sekundo, skupaj po vsem svetu.

Število poskusov na sekundo je znano kot "razpršitev". Trenutno je ocenjena svetovna stopnja zgoščevanja nekaj manj kot 200 milijonov terahash na sekundo (en terahash je bilijon hash). Pri toliko poskusih na sekundo se blok z razpršitvijo, ki se začne z 19 ničlami, najde približno vsakih 10 minut.

V prihodnosti, ko se bo pridružilo več rudarjev, se bo stopnja zgoščevanja povečala, bloki bodo najdeni hitreje in težavnost Bitcoina se bo prilagodila tako, da bo zahtevala 20 ničel, kar bo proizvodnjo blokov znižalo nazaj na približno 10 minut.

Polovica

Ko se je Bitcoin prvič začel, je bilo z vsakim blokom proizvedenih 50 bitcoinov. Pravila verige blokov Bitcoin določajo, da se po vsakih 210,000 blokih nagrada prepolovi. Ta trenutek je znan kot "razpolovitev" in se zgodi približno vsaka štiri leta. Razpolovitev v kombinaciji s prilagoditvijo težavnosti, ki ohranja bloke v 10-minutnih intervalih, pomeni, da bo okoli leta 2140 nagrada za blok znašala 0.00000001 ali 1 satoshi, najmanjša enota bitcoina, in je ni več mogoče prepoloviti. Rudarjenje se ne bo ustavilo, vendar bo nagrada za blok enaka nič. Od tega trenutka naprej ne bo več ustvarjen nov bitcoin, število bitcoinov pa je matematično izračunljivo in je dovolj blizu 21 milijonom kovancev. Tako je znana skupna ponudba — ta je programsko nastavljena.

Tudi z nagrado za blok na nič, bodo rudarji še vedno spodbujeni, da nadaljujejo z delom, da bi zaslužili provizije za transakcije.

Kako natančno se nagrada za blok prepolovi? To je v kodi, ki jo hranijo vozlišča. Znajo zavrniti vsak nov blok po 210,000, kjer si rudar plača več kot 25 bitcoinov. In nato zavrniti vse bloke po 420,000, kjer si rudar plača več kot 12.5 bitcoina itd.

Transakcijske provizije

Doslej sem prikazal samo namišljene bloke z eno samo transakcijo – transakcijo, pri kateri rudar prejme nagrado. To se imenuje "transakcija coinbase".

Ni poimenovano po podjetju Conbase, mislim Coinbase. Družba se je poimenovala po transakciji coinbase, ne obratno. Naj vas ne zmede.

Poleg transakcije coinbase obstajajo transakcije ljudi, ki plačujejo drug drugemu. Tukaj je namišljen primer:

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Tokrat se nisem obremenjeval z iskanjem pravega razpršilnika (pravzaprav je to pravi hash, ki je bil zabeležen v bloku 200,001). Nonce sem si izmislil samo za zabavo, a opazite, da je lahko tam vdelano sporočilo.

Satoshis je slavno vključil besede "Kancler na robu druge pomoči bankam" v prvi blok Bitcoin (The Genesis Block) po časopisnem naslovu za ta dan.

Kako SHA256 in rudarjenje ščitita omrežje Bitcoin PlatoBlockchain Data Intelligence. Navpično iskanje. Ai.

Bistvo je, da je vključenih 132 transakcij (niso vse prikazane). Poglejte transakcijo št. 132 – 2.3 bitcoin z naslova plača 2.1 bitcoin na drug naslov in prav tako na drugi naslov znesek 0.1 bitcoin (s pikami sem skrajšal dolžino naslova).

Torej vir 2.3 bitcoina plača skupno 2.2 bitcoina (2.2 + 0.1 = 2.2). Ali manjka 0.1 bitcoina? Ne, razliko zahteva rudar, kot bom pojasnil.

Rudar si lahko izplača 25 bitcoinov kot nagrado za blok (ker je minilo 210,000 blokov, zato je bila nagrada prepolovljena s 50 na 25). Toda če pogledate, je transakcija coinbase 27.33880022. Dodatnih 2.33880022 bitcoinov prihaja iz drugih 132 transakcij v bloku – vsi vhodi bodo nekoliko večji od skupnega izhoda. Tako lahko rudar zahteva ta "zapuščeni" bitcoin kot plačilo sebi. Te veljajo za transakcijske provizije, plačane rudarju.

Prostor bloka je omejen. Ko je bil Bitcoin nov, so lahko uporabniki pošiljali transakcije brez provizije, rudarji pa so transakcijo vključili v blok. Zdaj pa je več uporabnikov in ker je vstop v naslednji blok konkurenčen, uporabniki v transakcijo vključijo provizijo, da bi rudarja spodbudili, da izbere njihovo transakcijo namesto transakcij drugih.

Torej, ko se nagrada za blok vztrajno znižuje, prepolovi se vsaka štiri leta in na koncu na nič, rudarji še vedno prejemajo plačilo na ta način.

Nekateri menijo, da nekega dne nagrada rudarjem ne bo zadostovala in bo povzročila propad Bitcoina. Ta pomislek je bil temeljito ovržen in tukaj ga ne bom ponavljal.

Ali je mogoče blok ponovno napisati?

To je zelo malo verjetno in vredno je razumeti, zakaj. Nato boste razumeli, zakaj so transakcije z bitcoini nespremenljive (nespremenljive).

Prej sem pojasnil, da je hash prejšnjega bloka vključen v trenutni blok. To pomeni, da vsako urejanje transakcij v starem bloku spremeni hash tega urejenega bloka. Toda ta hash je zabeležen v naslednjem bloku, kar pomeni, da je treba posodobiti tudi naslednji blok. Če pa spremenite razpršitev, zapisano v tem naslednjem bloku, se mora spremeniti njeno razpršitev itd.

Upoštevajte, da vsakič, ko se zgoščena vrednost spremeni, izgubite vse te ljubke ničle in ostal bo samo naključni zgoščen zgoščeni delež — in morate znova opraviti vse delo, da dobite ničle nazaj. Če to storite za blok, ki ste ga poskušali urediti, morate nato ponoviti delo za naslednji blok in naslednjega vse do najnovejšega bloka. Ne morete se preprosto ustaviti pri starem bloku, saj so pravila Bitcoina takšna, da je najdaljša veriga blokov pravi Bitcoin rekord. Če se vrnete nazaj in uredite blok pred 10 bloki, nimate več najdaljše verige. Dodati morate še 10 blokov in nato še malo več, ker se je prava veriga verjetno nekoliko podaljšala, ko ste ustvarjali teh 10 blokov. Tekmovati moraš, da prehitiš pravo verigo. Če je uspešna, potem nova različica postane prava različica.

Ponavljanje celotnega svetovnega kolektivnega zgoščevanja od urejenega bloka do zadnjega bloka je ovira za urejanje Bitcoina. Energija je bila porabljena za ustvarjanje teh zgoščenih vrednosti z vsemi tistimi neverjetnimi ničlami ​​in to porabo energije je treba ponoviti za urejanje Bitcoina. Zato energija, ki se uporablja za rudarjenje bitcoinov, ni »zapravljena«; tam je, da zaščiti Bitcoin pred urejanji, da naredi glavno knjigo nespremenljivo, ne da bi bilo treba zaupati osrednjemu organu.

Kaj se zgodi, če dva rudarja hkrati najdeta blok?

To se dejansko zgodi vsake toliko časa in se vedno razvrsti na naslednji način:

Vsako vozlišče bo najprej prejelo enega od novih skoraj sočasnih blokov in ga bo sprejelo in zavrnilo tistega, ki bo prispel le nekaj trenutkov pozneje. Posledica tega je razcep omrežja, vendar je začasen.

Za ponazoritev poimenujmo enega od blokov modro, drugega pa rdeče (nimajo barve, le potrpite z mano).

Rudarji nato delajo na naslednjem bloku, vendar bo prišlo do razdelitve glede tega, iz katerega bloka bodo razširili verigo.

Recimo, da je zmagovalni rudar našel blok z modro verigo. Novi blok bodo poslali v vsa vozlišča in vidna bo najdaljša veriga. Vozlišča, ki so sprejela rdečo verigo, jo bodo nato spustila in sprejela modro verigo.

Vsi rudarji, ki so delali na rdeči verigi, se bodo ustavili in bodo zdaj delali na daljši verigi, to je modra veriga. Rdeča veriga je mrtva.

Dodatek

Zakaj je blok drugouvrščenega rudarja neveljaven

Recimo, da je blok 700,000 pravkar izkopal MINER-A. Trideset sekund pozneje je MINER-B ustvaril tudi drugačno različico bloka 700,000. Ko MINER-B odda to alternativo, jo bo vsako vozlišče zavrnilo, ker je že videlo in sprejelo blok MINER-A. Še več, v teh 30 sekundah recimo, da je MINER-C našel blok 700,001. Glede na to, da konkurenčni 700,000. blok MINER-B ne podaljšuje trenutne verige (ki je do 700,001), je iz tega razloga tudi zavrnjen.

Še bolj zanimivo je, da če bi MINER-B delal na bloku 700,001 namesto na konkurenčni različici 700,000, bi imeli prav toliko možnosti za rudarjenje veljavnega bloka 700,001, kot bi morali končno najti nadomestni blok 700,000. Takoj, ko kateri koli rudar zagleda nov blok, naj svoj trud usmeri na naslednji blok.

Če pa je Miner-B našel blok 700,000 eno sekundo po tem, ko je to storil MINER-A, potem je možno, da nekatera vozlišča najprej vidijo blok MINER-A, medtem ko druga najprej vidijo blok MINER-B, odvisno od geografske lokacije in internetne hitrosti. V tem primeru obstaja začasna vilica in nekateri rudarji si bodo prizadevali razširiti eno različico, medtem ko bodo drugi rudarji delali na razširitvi druge. Kot je bilo že pojasnjeno z uporabo deskriptorjev »modra veriga« in »rdeča veriga«, se bo sčasoma ena od različic razširila še naprej pred drugo in soglasno postala veljavna različica.

To je gostujoča objava Armana The Parmana. Izražena mnenja so povsem njihova in ne odražajo nujno mnenj BTC Inc oz Bitcoin Magazine.

Časovni žig:

Več od Bitcoin Magazine