Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózatot

Hogyan védi a Bitcoint az energia? És mi az a nonce? Ezekre a kérdésekre és még sok másra is választ kapunk!

A bányászat működése lenyűgöző. Amikor elmagyarázom az embereknek, élvezem, ha látom az arcukat, abban a pillanatban, amikor elborul az elméjük. Itt elmagyarázom, de tudd csak, elképzelem az összes arcodat, ahogy az elméd szétrobban!

A hash függvényekkel kell kezdenem. Hash függvények nélkül a Bitcoin nem lenne lehetséges. Hadd magyarázzam el először, hogy mik ezek, nemcsak azért, hogy a bulikon jól hangozzon, hanem azért is, mert alapvető fontosságú a Bitcoin működésének megértéséhez – különösen a bányászathoz, de a tranzakciókhoz is – a motorháztető alatt.

Nem kell értened a Bitcoin működését ahhoz, hogy hasznot húzz belőle, mint ahogy azt sem, hogy hogyan működik a TCP/IP az internet használatához. De folytasd, mert elég érdekes, és megígérem, hogy megkönnyítem a megértést.

Hash funkciók

Kezdjük egy vázlattal, amelyet alább elmagyarázok…

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.
(Grafikus/@jirols_btc)

A bal oldalon a bemenet, a középen a funkció, a jobb oldalon a kimenet található. A bemenet bármilyen adat lehet, amennyiben az digitális. Bármilyen méretű lehet, feltéve, hogy a számítógépe képes kezelni. Az adatok az SHA256 függvénynek kerülnek átadásra. A függvény veszi az adatokat, és kiszámít egy véletlenszerű számot, de speciális tulajdonságokkal (a későbbiekben lesz szó).

Az első Secure Hash Algorithm (SHA) eredetileg az NSA fejlesztette ki és jelenleg sokféle verzió létezik (a Bitcoin SHA256-ot használ). Ez egy utasításkészlet arra vonatkozóan, hogyan lehet összekeverni az adatokat nagyon bonyolult, de meghatározott módon. Az utasítások nem titkosak, és akár kézzel is meg lehet csinálni, de nagyon fárasztó.

Az SHA256 esetében a kimenet egy 256 bites szám (nem véletlen).

A 256 bites szám 256 számjegyből álló bináris számot jelent. A bináris azt jelenti, hogy az érték két szimbólummal van ábrázolva, 0 vagy 1. A bináris számok bármilyen más formátumba konvertálhatók, például decimális számokká, amelyeket ismerünk.

Bár a függvény 256 számjegyű bináris számot ad vissza, az értéket általában hexadecimális formátumban adják meg, 64 számjegyből.

A hexadecimális jelentése azt jelenti, hogy 10 lehetséges szimbólum helyett, mint amilyeneket megszoktunk a decimális (0-tól 9-ig), 16 szimbólumunk van (a tíz, amit megszoktunk, 0-9, plusz az a, b, c, d, e betűk, és f; amelyek értéke 11-15). Példaként, hogy a decimális 15 értékét hexadecimálisan ábrázoljuk, csak „f”-t írunk, és ez ugyanaz az érték. Ha további részletekre van szüksége, egy gyors Google-kereséssel rengeteg információ érhető el az interneten.

Az SHA256 működésének bemutatásához felvehetem az 1-es számot, és végigfuttathatom egy online hash kalkulátor, és ezt a kimenetet kapta (hexadecimális formában):

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

A felső doboz a bemenet, az alsó doboz a kapott kimenet.

Vegye figyelembe, hogy a világ összes számítógépe ugyanazt a kimenetet produkálja, feltéve, hogy a bemenet ugyanaz, és az SHA256 funkciót használják.

A hexadecimális szám kimenete, ha decimálissá konvertálva, a következő (figyeljük meg, hogy több számjegyet vesz igénybe az írás):

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

És binárisra konvertálva ez:

11010111000011010110010011100111111111100110100111111001110000110011101011010111000000001001110111111110101101000111111010101110100011110101101101001001110101010100010001011110001110101001001110000000001111001010010110111011011011110000111010110110100101111010111001101011100110101110011010111001101011100110101110011010111001101011100111

Csak érdeklődésből, itt ugyanaz az érték 64. alap.

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

Vegye figyelembe, hogy az SHA256 által visszaadható legkisebb érték nulla, de a LENGTH továbbra is 256 bit. A nullát így ábrázoljuk:

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

És a lehető legnagyobb érték:

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

Tizedesben ez:

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

Hexadecimálisan ez:

FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Megjegyzés: pontosan 64 F van.

A hexadecimális zéró egyszerűen egyetlen nullaként írható fel, de a hash kimenetnél 64 közülük kell betartani a rögzített méretű kimenet követelményét:

0000000000000000000000000000000000000000000000000000000000000000

Íme néhány olyan tény összefoglalása a hash függvényről, amelyeket létfontosságú értékelni:

  • A bemenet nem határozható meg a kimenetből
  • A bemenet bármilyen hosszúságú lehet
  • A kimenet mindig azonos hosszúságú
  • A kimenet mindig azonosan reprodukálódik, ha ugyanazt a bemenetet adja meg.
  • Bármilyen apró változtatás a bemeneten, kiszámíthatatlan és vadul eltérő kimenetet eredményez
  • A kimenet látszólag véletlenszerű, de valójában determinisztikus (azaz kiszámított és reprodukálható)
  • A kimenetet nem lehet megjósolni. Csak kiszámítható, és ehhez mérhető mennyiségű munka kell számítógéppel (és órákat ceruzával és papírral! Ne csináld.)

Most, hogy megértette a hash alapfogalmát, megértheti a Bitcoin bányászat működésének magyarázatát.

De mielőtt továbblépne, azt javaslom, menjen el egy online hash-kalkulátorhoz, játsszon vele egy kicsit, és próbálja ki maga, amit a hash-függvényekről mondtam. Ez tetszik.

Bányászati

Azzal kezdem, hogy bemutatom a munka fogalmát, amelyből származik a „munka bizonyítása” a Bitcoinban.

Nyissa meg az online hash-kalkulátort, és írja be, hogy „50 bitcoint készítek, és kifizetem magamnak ezt az összeget”.

Írja be pontosan, a kis- és nagybetűket megkülönböztetve, beleértve a pontot is. Ezt a kimenetet kell kapnia:

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Most hozzunk létre egy szabályt, amely szerint a fizetési üzenet érvényességéhez a hash-nek egy nullával kell kezdődnie. Ehhez valahogy módosítanunk kell a bemenetet. De, amint azt megtanulta, nem megjósolható, hogy egy adott bemenetnél mi lenne a kimenet. Milyen módosítással biztosíthatjuk a nullával kezdődő hash-t?

Próba-hiba módszerrel kell adatokat hozzáadnunk. De nem akarjuk megváltoztatni a bemeneti üzenet jelentését sem. Tehát hozzunk létre egy „nonce” nevű mezőt (lefoglalt szakaszt), amely értelmetlen értéket fog tartalmazni.

A „nonce” szó a „csak egyszer használt szám” szóból származik, de én nem látom.

Figyelje meg alább, hogy a „Nonce:” extra mezőfejlécként történő hozzáadása hogyan módosítja a hash kimenetet.

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

A kimenet továbbra sem „0”-val kezdődik, szóval tegyünk hozzá egy kis hülyeséget (adtam hozzá egy értelmetlen „x”-et):

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Még mindig nem nullával kezdődik. Kipróbáltam még néhány karaktert, amíg a hash nullával nem kezdődött:

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

tessék. Most, a Bitcoin e látszatváltozatára beállított tetszőleges szabályok szerint a beviteli ablakban lévő szöveg egy érvényes blokk, egyetlen tranzakcióval, amely 50 bitcoint fizet nekem.

Vegye figyelembe, hogy a Bitcoin blokkok lényegében egy főkönyv oldalai. Minden blokk számozott, és új bitcoint hoz létre, valamint felsorolja a felhasználók közötti tranzakciókat. Ez a rekord az, ahol a bitcoin él.

Most egy új szabály. A következő blokkhoz az előző blokk hash-jét kell tartalmaznia. Hozzáteszek egy kis bonyolultságot, és hozzáadok még néhány mezőt, hogy megközelítsem egy igazi Bitcoin blokk tulajdonságait.

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

A hash „f” betűvel kezdődik, nem „0”-val, ezért meg kell próbálnom néhány értéket a nonce mezőben:

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Ezúttal szerencsésebb voltam, és mindössze négy próbálkozás után találtam megfelelő nonce-t. Emlékezzünk vissza, hogy az első blokkhoz 22 próbálkozás kellett. Van itt némi véletlenszerűség, de általában nem túl nehéz érvényes hash-t találni, ha csak egy nullát próbálunk elérni. Az első hash számjegynek 16 lehetséges értéke van, így 1 a 16-hoz az esélyem, hogy a beviteli mezőben végrehajtott bármilyen módosítás azt eredményezi, hogy az első hash számjegy „0” lesz.

Vegye figyelembe, hogy a Bitcoin mezői ilyenek, de vannak további részletek, amelyeket nem adtam hozzá. Ez csak egy szempont illusztrálására szolgál, nem feltétlenül annak részletezésére, hogy pontosan hogyan is néz ki egy Bitcoin blokk.

A következő blokkhoz hozzáadok egy időmezőt, mivel szükségem van a „nehézségi beállítás” magyarázatához:

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Fent a harmadik blokk található. Tartalmazza az előző blokk hash-ét, és most elkezdtem beleírni az időt is. A sikeresen megtalált nonce a hash-t nullával kezdte (csak egy „1”-et írtam, amíg el nem értek a hash-célt).

Most van itt elég ahhoz, hogy elkezdhessek elmagyarázni néhány érdekes fogalmat a Bitcoin blokkláncáról és a bányászatról.

Egy blokk megnyerése

A bányászati ​​folyamat versenyképes. Aki először állít le érvényes blokkot, az kifizet magának egy meghatározott blokkjutalmat. Az a bányász, aki egy kicsit később állítja elő ugyanazt a blokkszámot, nem kap semmit – a blokk elutasításra kerül. Ennek elmagyarázása túl sok elterelést fog okozni, ezért a mellékletben kifejtem.

Miután a harmadik blokkot megtalálták és mindenkinek (az összes Bitcoin-csomópontnak) sugározták, az összes bányász abbahagyja a harmadik blokk verziójának kidolgozását. Elkezdenek építeni a sikeres hármas blokkra (a blokk hash-ét egy új blokkba húzva), és elkezdenek dolgozni egy megfelelő nonce megtalálásán a negyedik blokkhoz. A nyertes közzéteszi az eredményt, majd mindenki nekiáll az ötödik blokknak stb.

Minden blokkkal új bitcoin jön létre, és együttesen alkotja az eddigi teljes kínálatot. Ha sok a bányász, akkor statisztikailag arra kell számítanunk, hogy a blokkok gyorsabban fognak előállni, és ezért gyorsabban jön létre a bitcoin. Probléma, igaz?

Korlátozott bitcoinkészletet keresve előre kiszámítható kibocsátással, Satoshi Nakamoto gondolt erre a problémára, és negatív visszacsatolási hurkot vezetett be, hogy a blokkgyártást átlagosan 10 perces időközönként tartsa. Hogyan? Hátha kitalál egy módot. Álljon meg egy pillanatra, és gondolkodjon el – nézze meg, sikerül-e ugyanazt a zseniális megoldást kitalálnia, és olvasson tovább, ha feladja.

NODES: „Érvényes” blokkokat említek. És akkor mi van? Ki ellenőrzi? A Bitcoin csomópontok. A Bitcoin csomópontok megőrzik a blokklánc másolatát, és egy sor szabályt követnek annak ellenőrzésére, hogy az új blokkok a szabályokon belül vannak-e, és elutasítsa azokat, amelyek nem. Hol vannak a szabályok? A kódban. A Bitcoin kódot letöltő számítógép egy csomópont.

A nehézségi kiigazítás

Az új Bitcoin blokkok létrehozásának átlagos idejét minden csomópont 2016-os blokkonként kiszámítja (ezért van szükség az időmezőre). Ez a csomópontok által követett protokoll és szabályok része. A rendszer egy képletet alkalmaz a nullák számának beállítására, amelyekkel minden blokk-kivonatnak kell kezdődnie ahhoz, hogy érvényes legyen.

Szigorúan nem a nullák számát kell módosítani, hanem egy célértéket, amely alatt a hash-nek kell lennie, de a kezdő nullákra gondolni egyszerűbb megmagyarázni.

Ha a blokkokat túl gyorsan állítják elő, akkor a hash-célt előre meghatározott szabályok szerint állítják be, amelyeket minden csomópont ugyanúgy követ (a kódjukban van).

Az én példámnál leegyszerűsítve, tegyük fel, hogy mások versenyeznek velem, a blokkok túl gyorsan történnek, és most a negyedik blokkhoz egy képzeletbeli számítás szerint két nulla kell egy helyett.

Kicsit tovább tart, amíg két nullát kapok, de úgy képzeljük, hogy sok más ember is versenyez velem, így a blokk megtalálásához szükséges teljes idő a célponthoz tart.

Íme a következő blokk:

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Vedd észre az időt. Több mint 10 perc telt el az előző blokk óta (csak a demonstrációra szántam az időt). A 10 perces cél valószínűségi; soha nem tudni, hogy pontosan mikor találják meg a következő blokkot.

Egy percig vacakoltam a billentyűzeten, mígnem megjelent két nulla. Ez hatványozottan nehezebb volt, mint egyetlen nullát találni. Annak az esélye, hogy egymás után két nullát találunk, 1 a 16-hoz2, vagy 1 a 256-hoz esély.

Ha többen csatlakoznának az új bitcoinért folytatott bányászathoz és versenyhez, akkor végül három nullára lesz szükség.

Most néztem meg az utolsó valódi Bitcoin blokkot, ami az előző blokk hash-jét tartalmazza. A hash ez volt:

000000000000000000084d31772619ee08e21b232f755a506bc5d09f3f1a43a1

Ez 19 nulla! 1 a 16-hoz van19 esélyt találni egy ilyen blokkot minden próbálkozással. A bitcoinbányászok sok-sok kísérletet tesznek másodpercenként, együttesen szerte a világon.

A másodpercenkénti próbálkozások számát „hash rate”-nek nevezik. Jelenleg a világ becsült hash-aránya valamivel kevesebb, mint 200 millió terahash másodpercenként (egy terahash egy billió hash). Ennyi próbálkozással másodpercenként körülbelül 19 percenként találunk egy blokkot 10 nullával kezdődő hash-sel.

A jövőben, ahogy egyre több bányász csatlakozik, a hash arány nőni fog, a blokkokat gyorsabban találják meg, és a Bitcoin nehézségei 20 nullához igazodnak, ami visszaszorítja a blokkgyártást körülbelül 10 percre.

A Felezés

Amikor a Bitcoin először elindult, minden blokkkal 50 bitcoint termeltek. A Bitcoin blokklánc szabályai előírják, hogy minden 210,000 10 blokk után a jutalom felére csökken. Ezt a pillanatot „felezésnek” nevezik, és nagyjából négyévente történik meg. A felezés, kombinálva a blokkok 2140 perces időközönkénti megtartásával, azt jelenti, hogy 0.00000001 körül a blokkjutalom 1, vagyis 21 satoshi lesz, a bitcoin legkisebb egysége, és már nem lehet felezni. A bányászat nem áll le, de a blokk jutalom nulla lesz. Ettől a pillanattól kezdve nem jön létre új bitcoin, és a bitcoinok száma matematikailag kiszámítható, és elég közel van a XNUMX millió érméhez. Így ismert a teljes kínálat – programozottan van beállítva.

Még akkor is, ha a blokk jutalom nulla, a bányászokat továbbra is arra ösztönzik, hogy folytassák a munkát, hogy tranzakciós díjakat szerezzenek.

Pontosan hogyan csökken a blokkjutalom felére? A csomópontok által tárolt kódban van. Tudják, hogy vissza kell utasítani minden új blokkot 210,000 25 után, amikor egy bányász 420,000 bitcoint fizet magának. Aztán visszautasítani minden blokkot 12.5 XNUMX után, amikor egy bányász XNUMX bitcoint fizet magának, és így tovább.

tranzakciós díjak

Eddig csak képzeletbeli blokkokat mutattam be egyetlen tranzakcióval – azzal a tranzakcióval, amelyben a bányász jutalmat kap. Ezt nevezik „érmealap-tranzakciónak”.

Nem a Conbase cégről nevezték el, mármint a Coinbase-ről. A cég a coinbase tranzakcióról nevezte el magát, nem pedig fordítva. Ne keveredj össze.

Az érmebázis-tranzakción kívül vannak olyan tranzakciók is, ahol az emberek fizetnek egymásnak. Íme egy elképzelt példa:

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Ezúttal nem foglalkoztam azzal, hogy valódi hash-t találjak (ez valójában a 200,001 XNUMX-es blokkban jelentett valódi hash). Az a nonce, amit csak szórakozásból készítettem, de észre, hogy egy üzenet beágyazható.

Satoshi híresen beépítette a következő szavakat: „Chancellor on Brink of Second Bailout for Banks” az első Bitcoin blokkban (The Genesis Block), az aznapi újság címe után.

Hogyan védi az SHA256 és a bányászat a Bitcoin hálózat PlatoBlockchain adatintelligenciáját. Függőleges keresés. Ai.

Itt az a lényeg, hogy 132 tranzakció van benne (nem mindegyik látható). Nézd meg a 132-es tranzakciót – egy címről érkező 2.3 bitcoin 2.1 bitcoint fizet egy másik címre, egy másik címre pedig 0.1 bitcoint (pontokat használtam a cím hosszának lerövidítésére).

Tehát egy 2.3 bitcoin forrás összesen 2.2 bitcoint fizet (2.2 + 0.1 = 2.2). 0.1 bitcoin hiányzik? Nem, a különbséget a bányász állítja, ahogy elmagyarázom.

A bányász 25 bitcoint fizethet magának blokkjutalomként (mivel 210,000 50 blokk telt el, így a jutalom 25-ről 27.33880022-re csökkent). De ha megnézed, a coinbase tranzakció 2.33880022. Az extra 132 bitcoin a blokk többi XNUMX tranzakciójából származik – a bemenetek mindegyike valamivel nagyobb lesz, mint a kimenetek összege. Így a bányász ezt az „elhagyott” bitcoint követelheti fizetésként saját magának. Ezek a bányásznak fizetett tranzakciós díjak.

A blokk területe korlátozott. Amikor a Bitcoin új volt, a felhasználók díjmentesen küldhettek tranzakciókat, és a bányászok a tranzakciót belefoglalták a blokkba. De most több a felhasználó, és mivel a következő blokkba jutás versenyképes, a felhasználók díjat számítanak fel a tranzakcióban, hogy rávegyék a bányászt, hogy válassza ki a saját tranzakcióját mások helyett.

Tehát amikor a blokkjutalom folyamatosan csökken, négyévente felére csökken, végül nullára, a bányászok továbbra is így kapják a fizetést.

Egyesek azt sugallják, hogy egy napon a bányászok jutalma nem lesz elég, és a Bitcoin kudarcát okozza. Ezt az aggodalmat alaposan megcáfolták, és nem ismétlem meg itt.

Újraírható egy blokk?

Ez rendkívül valószínűtlen, és érdemes megérteni, miért. Akkor érteni fogod, hogy a Bitcoin-tranzakciók miért változhatatlanok (változhatatlanok).

Korábban elmagyaráztam, hogy az előző blokk hash-je benne van az aktuális blokkban. Ez azt jelenti, hogy egy régi blokkban lévő tranzakciók bármilyen szerkesztése megváltoztatja a szerkesztett blokk hash-ét. De ez a hash rögzítésre kerül a következő blokkban, tehát ez azt jelenti, hogy a következő blokkot is frissíteni kell. De ha megváltoztatja a következő blokkban rögzített hash-t, akkor a hash-ét meg kell változtatni, és így tovább.

Ne feledje, hogy amikor egy hash megváltozik, elveszíti ezeket a szép nullákat, és csak egy véletlenszerű kivonat marad – és minden munkát újra meg kell tennie, hogy visszaszerezze a nullákat. Ha ezt teszi a szerkeszteni próbált blokknál, akkor újra el kell végeznie a munkát a következő blokkhoz, és a következőhöz egészen a legutóbbi blokkig. Nem lehet egyszerűen megállni a régi blokknál, mert a Bitcoin szabályai olyanok, hogy a leghosszabb blokklánc az igazi Bitcoin rekord. Ha visszamész és szerkeszt egy blokkot 10 blokkkal ezelőtt, akkor már nem lesz a leghosszabb lánc. Hozzá kell adnod még 10 blokkot, majd még egy kicsit, mert ahogy létrehoztad ezt a 10 blokkot, az igazi lánc valószínűleg egy kicsit hosszabb lett. Versenyezni kell, hogy megelőzd az igazi láncot. Ha sikeres, akkor az új verzió lesz az igazi.

A Bitcoin szerkesztésének gátja az egész világ kollektív kivonatolási erőfeszítéseinek megismétlése a szerkesztett blokktól a legújabb blokkig. Az energiát arra fordították, hogy létrehozzák azokat a hash-eket, amelyekben a valószínűtlen nullák szerepelnek, és ezt az energiaráfordítást meg kell ismételni a Bitcoin szerkesztéséhez. Ez az oka annak, hogy a Bitcoin bányászatához felhasznált energia nem „pazarolt” el; azért van, hogy megvédje a Bitcoint a szerkesztésektől, hogy a főkönyvet megváltoztathatatlanná tegye anélkül, hogy megbíznia kellene egy központi hatóságban.

Mi történik, ha két bányász egyszerre talál egy blokkot?

Valójában ez időnként megtörténik, és mindig a következőképpen rendeződik:

Minden csomópont először megkapja az új, majdnem egyidejű blokkok valamelyikét, és elfogadja azt, és elutasítja a pillanatokkal később érkezőt. Ez a hálózat felosztását eredményezi, de ez ideiglenes.

Szemléltetésképpen nevezzük az egyik blokkot kéknek, a másikat pirosnak (nincs színük, csak viseljetek el).

A bányászok ezután a következő blokkon dolgoznak, de megoszlik, hogy melyik blokktól húzzák ki a láncot.

Tegyük fel, hogy a győztes bányász a kék lánc segítségével talált egy blokkot. Elküldik az új blokkot az összes csomópontnak, és a leghosszabb lánc látható lesz. Azok a csomópontok, amelyek elfogadták a piros láncot, eldobják, és átveszik a kék láncot.

Minden bányász, aki a piros láncon dolgozott, leáll, és most a hosszabb láncon fog dolgozni, ami a kék lánc. A piros lánc meghalt.

Függelék

Miért érvénytelen a második helyezett bányászblokk?

Tegyük fel, hogy a MINER-A éppen most bányászta ki a 700,000 700,000-es blokkot. Harminc másodperccel később a MINER-B a 30 700,001-es blokk egy másik változatát is elkészítette. Amikor a MINER-B sugározza ezt az alternatívát, minden csomópont el fogja utasítani, mert már látta és elfogadta a MINER-A blokkot. Ráadásul ebben a 700,000 másodpercben tegyük fel, hogy a MINER-C 700,001 XNUMX blokkot talált. Tekintettel arra, hogy a MINER-B versengő XNUMX XNUMX. blokkja nem terjeszti ki a jelenlegi láncot (ami XNUMX XNUMX-ig terjed), ezért szintén elutasításra került.

Még érdekesebb, hogy ha a MINER-B a 700,001 700,000-es versengő verzió helyett a 700,001 700,000-es blokkon dolgozott volna, akkora esélyük lett volna egy érvényes XNUMX XNUMX-es blokkot bányászni, mint amennyivel végre egy alternatív XNUMX XNUMX-es blokkot kellett volna találniuk. Tehát amint bármely bányász új blokkot lát, a következő blokkra kell tennie erőfeszítéseit.

Ha azonban a Miner-B a MINER-A után egy másodperccel talált 700,000 XNUMX blokkot, akkor lehetséges, hogy egyes csomópontok a MINER-A blokkját látják először, míg mások a MINER-B blokkot először, a földrajzi helyektől és az internet sebességétől függően. Ebben az esetben van egy ideiglenes elágazás, és egyes bányászok az egyik verzió meghosszabbításán, míg mások a másik verzió meghosszabbításán dolgoznak. Amint azt korábban a „kék lánc” és a „piros lánc” leírók használatával kifejtettük, végül az egyik verzió tovább fog terjedni a másik előtt, és egyhangúlag az érvényes verzióvá válik.

Ez Arman The Parman vendégbejegyzése. A kifejtett vélemények teljes mértékben saját véleményük, és nem feltétlenül tükrözik a BTC Inc. vagy a Bitcoin Magazine.

Időbélyeg:

Még több Bitcoin Magazine