Satoshi Nakamoto „Bitcoin Whitepaper“: išsamus ir paprastas peržiūra

Kai aš pirmą kartą perskaičiau originalų bitkoino dokumentą, kurį išleido Satoshi Nakamoto (2008), jis išaiškino daugybę pagrindinių klausimų, kuriuos turėjau dėl kriptovaliutos ir apskritai „blockchain“. Šis dokumentas, kaip patvirtins daugelis gerai skaitomų „blockchain“ ir šifravimo profesionalų, yra puikus pradinis taškas tiems, kurie nori sužinoti daugiau apie šią technologiją.

Šio įrašo tikslas yra apžvelgti jus laikraštyje ir padaryti jį kuo virškinamesnį visiems, kurie yra nauji šioje srityje. Sieksiu supaprastinti kai kurias dalis, išlaikant turinio tikslumą.

Nesėdėkime ir nardykime teisingai.?

PDF: „Bitcoin“: „Peer-to-peer“ elektroninė pinigų sistema.

Prieš pradedant ...

„Blockchain“ yra didžioji knyga arba duomenų bazė. Jį paskirsto ir prižiūri daugybė mazgų (kompiuterių), priešingai nei valdo viena institucija ar šalis. Kriptovaliutų, tokių kaip „Bitcoin“, technologijos tikslas yra sudaryti sąlygas susitarti (sutarimui) dėl duomenų bazėje esančių duomenų pagrįstumo ir duomenų, kurie turi būti pridėti prie duomenų bazės? Šiuo atveju duomenys daugiausia susiję su internetinių operacijų duomenimis, kurie lemia skaitmeninio turto, pvz., Kriptovaliutų ar žetonų, nuosavybės teisę.

Visa paskirstyta knyga yra nuolat atnaujinama ir patikrinama, o visi tinklo dalyviai susitaria dėl jos galiojimo. Nedelsdami pasinerti į techninę veiklą, „blockchain“ protokolai, tokie kaip vienas, kuris yra „Bitcoin“ pagrindas, leidžia pasiekti šį susitarimą ir patvirtinti nereikalaujant trečiosios šalies tarpininko, pavyzdžiui, banko?

Anksčiau tokia partija buvo reikalinga norint patikrinti pinigų nuosavybę (ty ar šis asmuo gali išleisti šiuos pinigus). Vakarėlis taip pat įsitikino, kad mokėjimas internetu buvo išleistas tik vieną kartą. (ty tie konkretūs pinigai nenaudojami kitam sandoriui). Pastarasis klausimas vadinamas dvigubų išlaidų problema .

Tai visada buvo pagrindinė sandorio dėl skaitmeninio turto problema. Galima nukopijuoti kodą, kuris sudaro turtą, ir naudoti jį daugybei operacijų.

Pavadinimas „blockchain“ kilęs iš duomenų saugojimo būdo. Duomenys renkami blokais? kurie pridedami prie anksčiau patvirtintų blokų grandinės ⛓️. Pateikdami tai kaip įžangą, leiskime tiesiai į ją ir pasinerkime į vis garsėjantį baltraštį.

Santrauka

Baltojo dokumento santrauka yra gana gilus statymo dešinėje ir yra maža darbo santrauka. Nesijaudinkite, jei tai iš pradžių eina per galvą? ‍. Mes jau aptarėme daugumą to, ką turite žinoti, ir pridėsime tai kitame skyriuje.

Vienintelis išsinešimas turėtų būti tai, kad dokumente siūloma bendraamžių elektroninių pinigų sistema. Sistema leidžia mums tiesiogiai mokėti internetu. Nereikia, kad bankas išspręstų nuosavybės ir dvigubo išlaidų problemas. ? →? →? ‍ ir ❌?

„Vien tik„ peer-to-peer “elektroninių grynųjų versija leistų mokėjimus internetu tiesiogiai siųsti iš vienos šalies į kitą, nepraleidžiant finansų įstaigos.“

Įvadas

„Prekyba internetu beveik visiškai priklausė nuo finansų įstaigų, kurios tarnauja kaip patikimos trečiosios šalys tvarkydami elektroninius mokėjimus.

Tuo metu, kai buvo rašomas „Bitcoin“ dokumentas, finansinės institucijos buvo būtinos norint patikrinti nuosavybės teisę ir pašalinti dvigubo išlaidų problemą. Tai kartu su poreikiu, kad sandoriai būtų grįžtami (finansų įstaigos turi spręsti tarpininkavimo ginčus), padidina su sandoriu susijusias išlaidas. Tai reiškia, kad yra minimalus sandorio dydis, reikalingas šioms finansinėms institucijoms vykdyti. Jų mokestis turi padengti sandorio išlaidas bent jau kitaip, tai neturi prasmės. Jei anksčiau nebuvo aišku: bankams tikrai patinka užsidirbti pinigų?

„... minimalaus praktinio sandorio dydžio apribojimas ir mažų atsitiktinių sandorių galimybės nutraukimas“.

Tai pašalina galimybę rinktis daugybę teoriškai egzistuojančių, bet praktiškai neįmanomų sandorių galimybių. Nuostabi programa, kurios neįmanoma pasiekti dėl tokio minimalaus operacijos dydžio, yra internetinio turinio naudojimas mikroelementais, nesvarbu, ar tai yra interneto straipsniai, vaizdo įrašai, muzika ir kt. Užuot turėję mokėti mėnesio abonementą, kuris gali ir neapsimokėti, atsižvelgiant į vartotojo naudojimą, mikro operacijos leistų vartotojui atlikti neįtikėtinai mažus automatinius mokėjimus, kai turinys vartojamas.

Tai radikaliai pakeistų interneto naudojimo būdą. Mokėjimas už vidutinius straipsnius už žodį, „YouTube“ vaizdo įrašus per sekundę, „Spotify“ muziką per minutę ar net interneto pralaidumo už megabaitą suvartojimą.

Kitas galimas taikymas būtų mokėjimų mokėjimas tiesiogiai tarp daiktų interneto įrenginių. Paprastas pavyzdys čia galėtų būti stovintis automobilis, už minutę sumokantis už automobilio stovėjimo vietą. Yra begalė mikrovartojimo / sandorių programų, kurių daugelis tik dar labiau išryškės ateityje. Tai tiesiog neįmanoma, jei mums reikia trečiosios šalies tarpininko.

„Esant galimybei pasikeisti, pasitikėjimo poreikis plinta. Prekybininkai turi būti atsargūs savo klientams ir stengtis, kad jie gautų daugiau informacijos, nei jiems prireiktų. “

Kita priežastis, kodėl pasitikėjimo poreikis nėra idealus atliekant operacijas internetu, yra ta, kad norint gauti minėtą pasitikėjimą reikia rinkti asmeninę informaciją, nesvarbu, ar tai būtų bankai, ar prekybininkai, per kuriuos atliekami mokėjimai. Ši organizacija saugo šią informaciją (dažnai viename serveryje), suteikdama joms galimybę kontroliuoti asmens duomenis ir padaryti duomenis linkusius į nutekėjimą ar įsilaužimą?

Per pastarąjį dešimtmetį įvyko neįtikėtini duomenų įsilaužimai - pagalvokime apie „Yahoo“ ir „Equifax“ - jie kasdien tampa vis svarbesni. Tai, ką siekia „Bitcoin“, yra tam tikru būdu pakartoti asmeninių operacijų paprastumą internetinėje aplinkoje.

Jei Andy paduoda Brendai 10 USD kupiūrą?, Brenda neturi nieko žinoti apie Andy (pvz., Asmeninės informacijos, kredito balų, grynosios vertės ir pan.). Vienintelis dalykas, kurį ji turi žinoti, yra tai, kad 10 USD iš Andy turėjimo tapo jos žinioje ir kad 10 USD stebuklingai nepasikartojo (? →? ‍ → ??), o Andy turi dar vieną (tikslią) kopiją, kurią išleisti .

"Šiame straipsnyje mes siūlome dvigubų išlaidų problemos sprendimą, naudojant lygiaverčio paskirstyto laiko žymos serverį, kad būtų sukurtas chronologinės operacijų eilės skaičiavimo įrodymas."

Kad tai būtų įmanoma, asmuo (ar žmonės, ar daiktas) vardu Satoshi Nakamoto pateikia elektroninę mokėjimo sistemą, kurioje naudojamas kriptografinis įrodymas? tai leidžia jos nariams pasiekti susitarimą (sutarimą) nereikalaujant trečiosios šalies tarpininko.

2. Sandoriai

„Kiekvienas savininkas monetą perduoda kitam, skaitmeniniu būdu pasirašydamas ankstesnės operacijos maišos ir viešojo rakto“.

„Bitcoin“ pasaulyje tie, kurie turi „Bitcoins“, turi vadinamąją „piniginę“. Tai šiek tiek panaši į klasikinę piniginę, nes ji „laiko“ jūsų „Bitcoin“. Susieta su pinigine yra viešasis raktas . Tai yra adresas, kuriuo galima siųsti Bitcoin, kaip ir kažkas turi el. Pašto adresą ar banko sąskaitos numerį.

Be to, yra dar vienas (LABAI svarbus) raktas, susietas su pinigine, vadinamu asmeniniu raktu , kuris veikia kaip slaptažodis. Pasirašymas naudojant šį asmeninį raktą yra vienintelis būdas, kaip kažkas gali įrodyti savo piniginės nuosavybę, ir tai leidžia jiems nusiųsti „Bitcoins“ į tą piniginę. Prarasite šį raktą (ir priklausomai nuo piniginės tipo, jūsų pradinių žodžių), jūs prarasite savo BTC?

Atkreipkite dėmesį, kad užsakymas iš tikrųjų vyksta taip:

  • Kai piniginė yra nustatyta, ta piniginė sukuria atsitiktinį privatų raktą.
  • Iš to privataus rakto (naudojant elipsės kreivės skaitmeninio parašo algoritmą) sugeneruojamas viešasis raktas (atkreipkite dėmesį, kad to neįmanoma konvertuoti atgal į privatųjį raktą; tai yra vienpusis algoritmas).
  • Iš to viešojo rakto (ką aptarsime skyriuje Privatumas) sugeneruojamas piniginės adresas.

Nuosavas „Bitcoins“ nereiškia, kad piniginėje iš tikrųjų sėdi monetos. „Bitcoin“ nėra jūsų turima kodo dalis, kuri kažkur saugoma. Su pinigine susietos BTC vertė (pavadinkime ją ABC123) yra pagrįsta tuo, kiek blokų grandinėje atliekamų operacijų sako „Adresas PAVYZDYS890 ... siunčia x BTC kiekį adresu ABC123“, taip pat kiek sako „Adresas ABC123 ... siunčia x BTC suma 453 PAVYZDŽIUI adresas “.

Kitaip tariant, „Bitcoin“ blokų grandinėje saugoma neįtikėtinai daug duomenų, nurodančių, kas kokiu adresu kiek atsiuntė? Šie duomenys (kas siunčia, kokia suma, kas gauna) yra saugomi atskirose operacijose. „Bitcoin“ nuosavybės teisė apskaičiuojama atsižvelgiant į visas operacijas, kurios įeina į adresą, ir į tuos, kurie išeina.

Dabar, jei adresas ABC123 nori išleisti iš kito adreso gautą BTC, jis turi įrodyti, kad tai leidžiama, pasirašydamas operaciją naudodamas savo privatųjį raktą ? teisingas privatus raktas - galima rasti ankstesnėje operacijoje, kuri buvo paprašyta). Sugeneruojama nauja operacija, išsiunčiamas BTC ir mes pradedame iš naujo. K EEP omenyje, kad tai yra supaprastinta versija; kai kuri informacija bus pridėta vėliau.

Pagrindinis išsinešimas: Bitkoinai nėra tikros monetos, jie yra tik sandorių derinys, įrodantis, kad turite išleisti BTC. Asmeniniai raktai naudojami sandoriams pasirašyti ir nuosavybės teise patvirtinti.

„Žinoma, problema yra ta, kad gavėjas negali patikrinti, ar vienas iš savininkų neišleido monetos dvigubai.“ „Vienintelis būdas patvirtinti, kad nėra sandorio, yra žinoti apie visus sandorius.“

Operacijos nebuvimas patvirtinamas transliuojant kiekvieną operaciją į visą tinklą? ir sukurti bendrą visų ankstesnių operacijų istoriją (chronologiškai).

3. Laiko žymos serveris

„Laiko žymos serveris veikia paimdamas daiktų bloko maišos žymėjimą laiko žyme ir plačiai paskelbdamas maišos…“

Idėja yra surinkti operacijas, kurios buvo viešai transliuojamos į blokus, jas pažymėti laiko žymėmis (pridėti laiko vertę?), Pridėti keletą svarbesnių duomenų (mes tai darysime vėliau) ir tada paleisti juos per SHA256 maišos algoritmą ⏩ .

Iš esmės tai paverčia bloką ir jo duomenis į simbolių eilutę, kuri gali būti naudojama norint unikaliai identifikuoti tą bloką (tik ta duomenų kombinacija jums suteiks tą maišos vertę). Kiekvienas naujas blokas (prieš pridėdamas ir paleisdamas per SHA256) dabar gali remtis ankstesnio grandinės maišu grandinėje, sukurdamas blokų grandinę chronologine tvarka. Tokiu būdu visi gali pamatyti, kurie blokai (ir jų operacijos) vyko praeityje ir kokia tvarka.

Ši blokų grandinė, susieta per jų maišos vertę, yra tikroji blokų grandinė („blokinė grandinė“ dažnai naudojama norint nurodyti visus protokolus ir sistemas, tačiau iš tikrųjų tai yra pati blokų grandinė; tikroji duomenų bazė).

4. Darbo įrodymas ir 5. tinklas

Gerai. Atrodo puiku! Vis dėlto, kaip mes galime įsitikinti, kad prie grandinės pridėti duomenys yra teisingi? Ar gali kas nors tiesiog pridėti blokus su neegzistuojančiomis operacijomis? ?

„Norėdami įdiegti paskirstytą laiko žymos serverį lygiaverčiu pagrindu, turėsime naudoti darbo įrodymo sistemą ...“

Reikalinga sistema, reikalaujanti atlikti tam tikrą darbą, kad būtų galima pridėti ar pasiūlyti naują bloką į blokų grandinę. Kaip ir liūdnai pagarsėjęs CAPTCHA internete, taip ir siekiama sukurti barjerą, kuriame tampa sunkiau (ir neįmanoma) šlamšti sistemą (arba „Bitcoins“ atveju siūlyti melagingus duomenis). Bitcoin tai daro taip.

Pirmiau minėjau, kad operacijos yra transliuojamos visame tinkle. Šiuo metu jie dar nėra įtraukti į grandinę. Kalnakasiai (tie, kurie ketina atlikti „darbą“, kad pridėtų bloką prie grandinės) atliks anksčiau minėtą maišymą. Jie renka šias operacijas ir įtraukia į bloką (kaip Merkle Root, aptarsime tai vėliau) kartu su minėtu laiko žyma, ankstesnio bloko maiša ir kai kuriais kitais svarbiais duomenimis, tokiais kaip bloko aukštis (koks bloko numeris grandinėje) ir daugiau.

Surinkę visus šiuos duomenis bloke, jie juos paleidžia per SHA256 maišos algoritmą. Vėlgi, tai iš esmės yra tai, kad visi tie duomenys paverčiami simbolių eilute, kuri unikaliai identifikuoja tą bloką ir jo duomenis. Pakeiskite mažą dalyką bloko duomenyse ir pasikeis visas maišas (tam nėra žinomo modelio, tačiau jis nėra atsitiktinis; pakeiskite jį atgal ir gausite lygiai tą patį maišos variantą).

Pažiūrėkite, kaip maiša keičiasi, kai prie simbolių eilutės pridedu skaičių „1“.

„Bitcoin“ blokų grandinė nereikalauja tik maišos; ji nori maišos, kuri prasideda (rašymo metu) septyniolika 0?

Pvz.: 000000000000000006fb217d70740a895ce4966e2826325e31061bc433d7b186

Kaip kalnakasiai gauna tą maišą? Jie turi pridėti prie bloko duomenų skaičių, vadinamą „nonce“ (jie prideda jį taip pat, kaip aš pridėjau „1“). Niekas nežino, kokio skaičiaus reikia norint rasti teisingą maišos variantą? ‍. Vienintelis būdas jį rasti yra bandymai ir klaidos: spėjimas.

"... mes įgyvendiname darbo įrodymą, padidindami bloką nonce, kol bus nustatyta vertė, suteikianti bloko maišos reikiamą nulį bitų."

Šis procesas, atspėdamas tinkamą teisingumą, vadinamas „kasyba“'️. Kalnakasiai, turintys didžiausius procesoriaus išteklius (didžiausią skaičiavimo galią), turi didžiausią šansą pirmieji rasti tą teisingą sprendimą.

Kol daugiau nei 51% procesoriaus galios yra sąžiningų mazgų rankose, kenkėjiškam kalnakasiui bus neįmanoma nuolat laimėti kasybos proceso ir pridėti grandinėje melagingų duomenų. Ilgiausia grandinė visada yra grandinė, kuri laikoma teisinga grandine.

„... sunkumų darbe įrodymą lemia slenkamasis vidurkis, nukreiptas į vidutinį blokų skaičių per valandą. Jei jie generuojami greitai, sunkumai didėja “.

Šis naujos bloko įtraukimas į blokų grandinę vyksta maždaug kas 10 minučių. Tai stabiliai palaiko protokolas, pakoreguojantis kasybos sunkumus (0-ųjų pradžios skaičius) - dar vadinamas „sunkumų bomba“? - atitinkamai laikui bėgant skaičiavimo galia auga.

6. Paskata

Kodėl kalnakasiai turėtų dėti visas pastangas ir mokėti daug pinigų, kad gautų skaičiavimo galią?

Susitarus dėl bloko, bloko pradžioje pridedama papildoma operacija (dažnai vadinama „monetų bazės sandoriu“), kuri naujai sukurtą BTC priskiria laimėjusio kalnakasio piniginės adresu, apdovanodama juos už įdėtą darbą ir suteikdama būdas paskirstyti monetas į apyvartą? Be to, kiekviena bloko operacija turi mažą - bent jau tokio tikslo - sandorio mokestį, susietą su laimėjusiu kalnakasiu.

„Kai į apyvartą pateks iš anksto nustatytas monetų skaičius, paskata gali pereiti tik nuo sandorio mokesčių ir būti visiškai nemokama“.

Mes praleisime 7 dalį (Disko vietos atkūrimas) ir 8 dalį (Supaprastintas mokėjimo patikrinimas) ir pabaigoje trumpai aptarsime šiuos skyrius. Nors jie yra svarbi Bitcoin veikimo dalis, norint suprasti popieriaus esmę, jie yra mažiau tokie.

9. Vertės sujungimas ir padalijimas

„Norint, kad vertė būtų padalinta ir sujungta, operacijose yra keli įvestys ir išvestys. Paprastai bus arba vienas įvestis iš didesnio ankstesnio sandorio, arba keli įvestys, sujungiantys mažesnes sumas, ir daugiausia du išėjimai: vienas mokėjimui ir vienas, jei pakeitimas grąžinamas siuntėjui, jei toks yra “.

Tai, ką mes jau palietėme šiek tiek anksčiau, yra tai, kaip sudaromos operacijos ir kaip apskaičiuojama adreso vertė.

BTC vertė, esanti adrese, iš esmės yra visų galimų jo įvesties operacijų (ty visų neišleistų operacijų, nukreiptų į tą adresą , vertė ) suma. Kai adreso savininkas nori išleisti savo BTC, jis negali tiesiog paimti tiksliai tokios sumos ir išsiųsti. Norėdami tai padaryti, jie turi naudoti visas įvesties operacijas (pvz., Kaip jums reikia mokėti už visą dolerio kupiūrą ir negalite jos suskaidyti į dalis, kad galėtumėte atsiskaityti). Taigi, ką tai reiškia praktine prasme?

Andy grįžo? bet dabar jis turi pinigine su 0.5BTC. Ši vertė gaunama iš trijų neišleistų operacijų rezultatų (UTXO) (arba būsimų įvesties operacijų; funkcija UTXO yra nuoroda į įvesties operaciją naujam sandoriui):

a) 0.15BTC

b) 0.27BTC

c) 0.08BTC

Andy nori išsiųsti 0.38BTC į Brenda (pasisekė Brenda ...?). Kai jis sugeneruos šią operaciją, „Bitcoin“ protokolas ims reikiamus duomenis, kurie kartu yra lygūs arba didesni už (≥) mokėjimą „Brenda“, ir naudos juos kaip vientisus du išvesties sandorius.

Mūsų pavyzdyje įvesties operacijos a ir b yra naudojamos (0,15 + 0,27 = 0,42), kad būtų sukurta 0,38 BTC mokėjimo išvesties operacija „Brenda“, taip pat kita išvesties operacija paties Andy adresu, kuri grąžina pokyčius (0,42–0,38 = 0,04). Abi šios išvesties operacijos gali veikti kaip naujos įvesties operacijos būsimiems adreso savininkų mokėjimams.

Pastaba: Taip pat taikomas kalnakasio / sandorio mokestis, kuris yra pašalinamas iš lygties. Taigi, grąžinamas pakeitimas yra šiek tiek mažesnis.

Pagrindinis išsinešimas : išvesties operacijoms reikalingos visos įvesties operacijos, kurios kartu yra bent jau lygios arba didesnės už išvesties vertę. Bet koks perviršis (sąnaudos - (mokėjimas + kalnakasių mokestis)) grąžinamas kaip pakeitimas ir gali būti naudojamas kaip nauja įvesties operacija.

10. Privatumas

Mes jau anksčiau aptarėme piniginių, viešųjų raktų ir privačių raktų egzistavimą ir naudojimą. Tais atvejais, kai trečioji šalis saugo mūsų informaciją (pvz., Bankas), privatumas gaunamas ribojant prieigą prie tos informacijos tvarkant leidimus ir apsaugant serverius, kuriuose ji saugoma.

Tačiau, kaip minėta anksčiau, tai suteikia vieną nesėkmės ir atakos tašką, todėl jis yra linkęs prarasti ir įsilaužti. Taigi, kaip „Bitcoin“ teikia privatumą, jei visos operacijos yra atvirai transliuojamos visame tinkle? ?

„Būtinybė viešai paskelbti visas operacijas neleidžia naudoti šio metodo, tačiau privatumą vis tiek galima išsaugoti nutraukus informacijos srautą kitoje vietoje: laikant viešuosius raktus anoniminiais.“

Čia siekiama išsaugoti viešojo rakto anonimiškumą? ️. Kol žmonės negali susieti viešojo rakto su konkrečiu asmeniu, nėra galimybės atskleisti jo tapatybės.

Šiuo metu protokole naudojamas būdas tai padaryti yra generuoti piniginės adresus, o piniginėje galima laikyti kelis adresus. Užuot parodžius viešus raktus operacijos duomenyse, naudojami piniginės adresai. Kaip viešieji raktai kuriami remiantis asmeniniais raktais, naudojant vienpusį algoritmą, tas pats daroma norint sukurti piniginės adresą iš viešojo rakto (naudojant SHA256, po kurio seka RIPEMD160). Tai, kas mums lieka (paleidus ją per BASE58CHECK, kad būtų lengviau įskaityti), yra piniginės adresas, naudojamas operacijos duomenyse.

„Kaip papildoma užkarda, kiekvienai operacijai turėtų būti naudojama nauja raktų pora, kad jie nebūtų susieti su bendru savininku.“

Nesigilinant į daug detalių, iš vieno privataus rakto galima sugeneruoti kelis adresus, įdiegiant skaitiklį ir pridedant didėjančią vertę, kad būtų sukurti subprivatūs raktai (kurie gali būti naudojami kuriant viešuosius raktus, kuriuos savo ruožtu galima naudoti generuoti piniginės adresus). Tokiu būdu vienas privatus raktas gali suteikti prieigą prie piniginės, kurios operacijos vyksta keliais adresais ir iš jų (tai vadinama deterministine pinigine).

Daugelis „Bitcoin“ programinės įrangos ir paslaugų tvarko šį automatinį piniginės adresų kūrimą vykdant operaciją, todėl beveik neįmanoma atskleisti viešai transliuojamos operacijos tapatybės.

Trumpai eisime per likusius balto popieriaus gabalėlius ir tada suvyniosime.

7. Disko vietos susigrąžinimas

„Kai paskutinė monetos operacija bus palaidota po pakankamai blokų, išleistos operacijos prieš jas bus atmestos, kad būtų sutaupyta vietos diske.“

Kai sandoris palaidotas pakankamai blokuose, o tai reiškia, kad sistema jį kruopščiai patvirtino, nebūtinai reikia laikyti visus operacijos duomenis bloke. Tai įmanoma nepažeidžiant maišos įtraukiant tik Merkle šaknį iš visų operacijų į bloko maišų, o ne atskirų operacijų duomenis. Norėdami gauti daugiau informacijos apie „Merkle Trees?“, Apsilankykite Vikipedijoje.

Trumpai tariant, visos operacijos yra maišomos, o tie maišos yra suporuojamos, prieš jas vėl maišant, ir taip toliau, kol pasieksite visų operacijų pirminį maišos pavadinimą, vadinamą Merkle šaknimi.

8. Supaprastintas mokėjimo patikrinimas

Norėdamas patikrinti mokėjimą, vartotojas turi sugebėti susieti operaciją tik su vieta grandinėje, pateikdamas užklausą apie ilgiausią blokų grandinę ir traukdamas Merkle filialą, kuriame yra sandoris. Jei tas vartotojas gali tai padaryti, jis gali pasitikėti, kad operacija buvo galiojanti, atsižvelgiant į tai, kad tinklas ją įtraukė ir joje buvo sukurti kiti blokai.

11. Skaičiavimai

Tai pasineria į matematinį pagrindą, kodėl tinklas bus saugus, kai daugiau nei pusę tinklo sudarys sąžiningi mazgai.

Iš esmės, kol sąžiningų mazgų yra daugiau nei kenkėjiškų mazgų, grandinei augant, užpuolikui tampa vis sunkiau generuoti pakaitinę grandinę, kuri leistų atsiimti atliktus mokėjimus. Kuo daugiau blokų bus pridėta prie tam tikros operacijos, tuo mažesnė tikimybė, kad užpuolikas gali pasivyti alternatyvią grandinę.

Štai kodėl kalbėdami apie (blokinius) patvirtinimus dažnai matome skaičių 6, kuris iš esmės nurodo 6 blokus, kurie pridedami po to, kai buvo įtraukta operacija, ir veikia kaip visa patvirtinimo riba.

padaryta

Štai mes! ? Mes apėmėme beveik visą originalų „Bitcoin“ dokumentą. Šis dokumentas veikė kaip „blockchain“ technologijų, kurias matome šiandien, genezė. Geriau suvokdami jo turinį, tikrai padėsite suprasti dabartinę pramonės ekosistemą.

Labai tikiuosi, kad šis straipsnis jums padėjo. Jei taip, plojimai būtų labai dėkingi ir leiskite man sužinoti žemiau esančiame komentarų skyriuje, kokios jūsų mintys apie kūrinį. Labai norėčiau išgirsti, ką tu galvoji. Visi pasiūlymai, pataisymai ar atsiliepimai yra labai dėkingi.

Viskas kas geriausia,

Valentijn | @vvdhout