Mitä Bitcoin-kaivostyöläiset todella ratkaisevat?

Mitä bitcoin-kaivostyöläiset todella ratkaisevat, kuten kaivostoiminnassa? Luin, että he ratkaisevat hajautuksia, mutta mitä se todella tarkoittaa. Voimmeko nähdä, mitä he ratkaisevat? Voisiko joku antaa esimerkin siitä, mitä bitcoinin kaivoslaite näkee ratkaisevan?

Kommentit

  • Liittyvät aiheet: bitcoin.stackexchange.com/q/148/153
  • Ok, mutta MITÄ tietoja me kaivamme! Kukaan ei tunnu tietävän. Minulle ’ ei välitä kuinka se toimii. Haluan tietää, mistä tiedot ovat peräisin siitä, kuinka vähän kaivostoimintaa puretaan tai salataan.

Vastaa

He yrittävät löytää satunnaisen noncen (vähän satunnaisia tietoja), joka menee lohkoon ja saa lohkon (SHA256) hashista (binäärisenä) ) alkaa tietyllä määrällä 0 ”s. Mitä enemmän nollia, sitä harvempi hash on. Hyvää hash-lopputulosta ei voida ennustaa, joten sinun on yritettävä useita kertoja löytääksesi hyvä ei.

Nollien määrä perustuu siihen, kuinka vaikeaa lohkon löytäminen on. Bitcoinissa se sopeutuu saamaan uusi lohko 10 minuutin välein (keskimäärin, kun otetaan huomioon edellisten lohkojen löytymisnopeus).

Mielenkiintoista: koska hajautusarvot ovat arvaamattomia, sillä ei ole väliä kuinka muutos muuttuu ! Useimmiten se on vain luku, joka laskee ylöspäin 0: sta!

Vastaa

Tässä on erittäin yksinkertaistettu luonnos ongelmasta, mutta sen pitäisi antaa melko hyvä käsitys ongelmasta.

Tiedot:

Tämä on viimeisimmän lohkon (lyhennetty 30 merkkiin) hash:

00000000000001adf44c7d69767585 

Nämä ovat muutamien sisällytystä odottavien kelvollisten tapahtumien hajautusarvo (lyhennetty).

5572eca4dd4 db7d0c0b845 

Ja tämä on yhden juuri luomasi erityisen tapahtuman hash, joka antaa 25BTC (nykyinen palkkio) itsellesi:

916d849af76 

Seuraavan lohkon rakentaminen:

Käytetään nyt bruttoarviointia siitä, miltä uusi lohko saattaa näyttää (todellinen käyttää binaarimuotoa). Se sisältää edellisen lohkon hashin ja näiden kolmen tapahtuman hash:

00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76-- 

Tehkäämme nyt kaivos käsin! Tavoitteenamme on viimeistellä tämä lohko noncella (pala roskaa) siten, että uuden lohkon hash alkaa 13 nollalla (edellisen hash-arvon perusteella näyttää siltä, että 13 nollaa on nykyinen vaikeus!).

Kaivostoiminta (yritetään viimeistellä tämä lohko):

Yritetään kokeilla nonce = 1: llä ja lasketaan hash lauseen (I ”md5-hash-algoritmilla, mutta Bitcoin käyttää kaksinkertaista sha256: ta):

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--1" | md5sum 8b9b994dcf57f8f90194d82e234b72ac 

Ei onnea, hash ei ala nollalla … Yritetään kokeilla nonce = 2

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--2" | md5sum 5b7ce5bcc07a2822f227fcae7792fd90 

Ei onnea …

Jos jatkamme nonce = 16, saamme ensimmäisen johtavan nollamme.

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--16" | md5sum 03b80c7a34b060b33dd8fbbece79cee3 

Jos nonce = 208, saamme kaksi johtavaa nollaa!

> echo "00000000000001adf44c7d69767585--5572eca4dd4-db7d0c0b845-916d849af76--208" | md5sum 0055e55df5758517c9bed0981b52ce4a 

Jatka näin … Jos löydät vihdoin hashin, jolla on 13 etunollaa … olet voittaja! Muut kaivostyöläiset perustavat nyt lohkosi, olet juuri saanut 25BTC.

Mutta sinun on oltava nopeita!

Takaisin vaiheeseen 1…

Jos joku onnistuu rakentamaan lohkon ennen kuin teet, sinun on aloitettava uudesta lohkosta alusta ”s hash (yksi voittajasta).

Kommentit

  • Myös esimerkkisi on käsitteellisesti oikeaan suuntaan, mutta todellinen menestys on kun otsikon sha256-hash on pienempi kuin kohde. Esimerkkikohde: 00000000000001ae00000000000000 on suurempi kuin 00000000000001adf44c7d69767585 < – tämä olisi kelvollinen hash .
  • @Reonarudo, ei tarkalleen, tämä on hyvin yksinkertaistettu luonnos siitä, mitä todella tehdään. Tapahtumat tehdään skripteillä, jotka tehdään usein osoitteista, löydät lisätietoja Bitcoin-wikistä.
  • Tämä kuulostaa pohjimmiltaan mukavalta (yksinkertaistetulta) yhteenvedolta, mutta missä vaiheessa bitcoin-verkko hyväksyy tämän seuraavana kelvollisena lohkona ja mitä tapahtuu (epätodennäköisessä) tapahtumassa, jossa kaksi eri kaivostyöläistä onnistui lähettämään kelvollisen lohkon melkein samanaikaisesti?
  • Vau, hieno vastaus! Siellä ’ uudelleen pari asiaa, joita en silti voinut ’ saada kuitenkin pääni ympärille: Anna ’ s sanovat, että ’ olet etsinyt ratkaisua 6 minuutin ajan, ja tulee uusi tapahtuma. 1) mitä tapahtuu nyt? jos minun on aloitettava alusta, niin kuulostaa siltä, että kaikkien on aloitettava alusta. Kuinka sitten lohkoketju takaa lohkon löytämisen ~ 10 minuutissa? 2) Kuinka tuo tapahtuma minulle kuitenkin tulee?3) Entä jos löydän ratkaisun tälle lohkolle ja sitten minulle tulee uusi tapahtuma joltakin muulta solmulta, joka hyväksyi sen juuri sulkemalleni lohkolle?
  • 1) Kyllä, kaikki aloittavat alusta, jos rakennat vanhan lohkon päällä ’ on pieni mahdollisuus, että lohkosi ovat osa pidempää ketjua, ja muu verkko jättää ne huomioimatta. Ei ole takeita siitä, että lohko löydetään 10 minuutissa, se ’ on vain keskimääräinen tilastollinen tulos. 2) Mikä kauppa? Lohkot lähettää kuka tahansa, joka kaivaa ne ja välittää muut solmut. 3) Mikään ei pakota sinua sisällyttämään kaikkia vireillä olevia tapahtumia, mutta mitä enemmän tapahtumia sisällytät, sitä enemmän maksuja voit kerätä.

Vastaa

Seuraava on kuvaus globaalista, tilastollisesta uhkapelistä, jota pelataan noin 10 minuutin välein. Pelin aikaväliä ohjaa -vaikeus , joka kertoo kuinka monta ”hajautusta” tarvitaan välein.

Toisin sanoen difficulty ja target määrittelevät ”talon kertoimet” mahdollisuuttasi vastaan saada voittanut SHA-hajautus. nonce on naarmuuntumisalue.

Jokainen hash kuluttaa sähköä ja tuottaa lämpöä, mikä vaatii lisäjäähdytystä.

Näin tehdään jokaisella hashilla:

Vaihe 1

Korkealla tasolla kaivosohjelmisto ottaa luettelon aktiivisista tapahtumista ja ryhmitelee ne sitten niin kutsuttuun ”lohkoon”.

Tai tarkemmin sanottuna: Kaivosohjelmisto peittää kaikki tapahtumat yhteenvetonäkymään nimeltä ”merkle root” ja hajauttaa sen, joka edustaa tapahtumia.

Vaihe 2

Sitten kaivosohjelmisto muuntaa tämän binaarimuodoksi, jota kutsutaan Lohkon otsikko , joka viittaa myös edellisiin lohkoihin (joita kutsutaan myös ketjuiksi).

Field Purpose Updated when... Size (Bytes) Version Block version number You upgrade the software and 4 it specifies a new version hashPrevBlock 256-bit hash of the previous A new block comes in 32 block header hashMerkleRoot 256-bit hash based on all A transaction is accepted 32 the transactions in the block Time Current timestamp as seconds Every few seconds 4 since 1970-01-01T00:00 UTC Bits Current target in compact format The difficulty is adjusted 4 Nonce 32-bit number (starts at 0) A hash is tried (increments) 4 

Vaihe 3:

Kaivoslaitteisto muuttaa pienen osan tästä lohkosta nimeltä ”nonce” .

Vaihe 4:

Lohkon otsikko on hajautettu ja verrattuna tavoitteeseen ikään kuin se olisi yksinkertaisesti suuri määrä, kuten 10 000 000> 7 000 000 (todelliset luvut) ovat paljon suurempia ja kuusikulmioina). Kohde pakataan ja tallennetaan jokaiseen lohkoon bitteiksi kutsuttuun kenttään.

Laajennettu kohde näyttää tältä:

 Target 0000000000000083ef00000000000000000000000000000000000000000000000 

Ja Tavoitteena on varmistaa, että lohkon SHA256-hash on pienempi kuin tämä arvo. Alla olevassa esimerkissä ”83ee” on pienempi kuin ”83ef

Tämän käsitteen yksinkertaistamiseksi voit pallostaa kohde laskemalla etunollat (kuten toinen vastaus tässä selittää). Tässä on esimerkki:

Tässä on esimerkkilohko tapahtumista, joita voit tarkastella BlockChain.infolla. Katso oikeasta yläkulmasta. tämän hash-sivuston verkkosivulta:

 Hash 0000000000000083ee9371ddff055eed7f02348e4eda36c741a2fc62c85bc5cf 

Tämä edellinen hajautus on peräisin tästä päivästä ja siinä on 14 etunollaa. Verrataan sitä 3 vuotta sitten tarvittavaan -lohkoon 100 , jossa on 8 etunollaa.

 Hash 00000000a8ed5e960dccdf309f2ee2132badcc9247755c32a4b7081422d51899 

Yhteenveto

Joten päivän lopussa kaikki kaivostyöläiset on:

  1. Ota lohkon otsikko syötteeksi
  2. Muuta Nonce
  3. Testaa, onko lohkon otsikko hash on pienempi kuin kohde. Jos se on, voitat.
  4. Siirry vaiheeseen 2 (tai siirry vaiheeseen 1, jos joku muu voitti lohkon)

Haluatko nähdä, mitä Bitcoin-QT tekee, kun se löytää lohkon? … Lähetin sen tänne. . Tämän viestin tiedot auttaa sinua ymmärtämään mitä tapahtui.

Kommentit

  • Ei ’ t ole kaukana (32 bittiä) liian pieni, jotta löydettäisiin hash, jonka on aloitettava 14 etunollalla (14×4 = 56 bittiä)? Tällaisen hashin löytäminen vaatisi keskimäärin 2 ^ 56/2 yritystä ja 32-bittisellä ei Vain 2 ^ 32 yritystä on mahdollista, ennen kuin kaikki mahdolliset arvot on käytetty loppuun. Muokkaa: ajan muuttuessa joka sekunti, luulen, että tämä pätee vain, jos hash-nopeus ylittää 4 GH / s (mikä mielestäni tapahtuukin …)
  • Yup, you ’ uudelleen, … lohkon otsikon URL-osoitteesta: Whenever Nonce overflows (which it does frequently), the extraNonce portion of the generation transaction is incremented, which changes the Merkle root.

Vastaa

Kaivostoiminta tarjoaa tavan päästä yksimielisyyteen siitä, miltä transaktiokirjan tulisi näyttää, ja tietää, ettei kukaan huijaa.

Se on kaivostoiminnan ei-tekninen määritelmä .

Kaksinkertaisen kulutuksen ”viranomainen” on lohkoketju. Lohkoketju koostuu lohkoketjun kaikkien lohkojen historiasta sekä seuraavasta tapahtumalohkosta. Palkkiotuki on tällä hetkellä 25 BTC osapuolelle, joka lähettää seuraavan lohkon. Mutta hei … haluaisit sen 25 BTC: n (arvo tällä hetkellä noin 825 dollaria) samoin kuin minä, kuten kaikki muutkin. Joten miten teet sen niin, että en voi ”huijata ja vaatia lohkoa itse?

No, laitat järjestelmän, jossa sinun ja minun täytyy kilpailla. Tätä työn todiste tekee – se tekee siitä niin, että kun haen palkintoa, on helppo todistaa, että olen todella tehnyt siihen liittyvän työn. Joten minulla on 2% mahdollisuus ratkaista lohko, minun on laitettava 2% kaivostyöstä. Minulla ei ole mitään tapaa laittaa alle 2% kaikesta työstä ja silti ratkaista lohkot vähintään 2% ajasta (keskimäärin).

Näin ollen, kun tapahtumalohko toimitetaan, kaikki vertaisarvioijat varmistavat, ettei kaksoiskuluja ollut, että oikean määrän tukea haettiin ja että toimittaja kuluttaa todellakin ratkaisuun tarvittavan työn. Näiden kolmen säännön avulla ei tarvitse keskusviranomainen, joka hallinnoi prosessia tai pystyy hallitsemaan lopputulosta.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *