Turinys
- „Blockchain“ supratimas
- Dvigubų išlaidų sprendimas
- Darbo ir „kasybos“ įrodymas
Vienas pagrindinių kriptovaliutų kūrėjų rūpesčių yra dvigubų išlaidų klausimas. Tai reiškia, kad asmuo ne kartą išleidžia tos kriptovaliutos balansą, faktiškai sukurdamas skirtumą tarp išlaidų įrašo ir turimos kriptovaliutos sumos, taip pat kaip ji paskirstoma.
Dviejų išlaidų klausimas yra problema, kurios grynieji pinigai neturi; Jei už sumuštinį sumokate 10 USD sąskaitą, ją pervedę sumuštinio gamintojui, negalite apsisukti ir išleisti tos pačios 10 USD kitur. Tačiau operacija, naudojant skaitmeninę valiutą, tokią kaip bitcoin, vykdoma visiškai skaitmeniniu būdu. Tai reiškia, kad įmanoma nukopijuoti išsamią operacijos informaciją ir ją perduoti taip, kad vienas savininkas tą patį BTC galėtų išleisti kelis kartus. Žemiau išnagrinėsime, kaip kriptovaliutų kūrėjai užtikrino, kad dvigubos išlaidos negali įvykti.
Pagrindiniai išvežamieji daiktai
- Techninė problema, iškylanti dėl skaitmeninės valiutos sąvokos, yra galimybė kažkam kopijuoti skaitmeninius pinigus ir išleisti juos tuo pačiu metu dviejose ar daugiau vietų. Ši „dvigubo išlaidų“ problema yra užkertama kriptovaliutų, tokių kaip „Bitcoin“, pagrindu. naudojant konsensuso mechanizmą, vadinamą darbo įrodymu (PoW). Šią veiklą vykdo decentralizuotas „kalnakasių“ tinklas, kuris ne tik užtikrina ankstesnių operacijų ištikimybę „blockchain“ knygoje, bet ir nustato bei užkerta kelią dviguboms išlaidoms..
„Blockchain“ supratimas
„Grandinės grandinė“, kuria grindžiama tokia skaitmeninė valiuta kaip „bitcoin“, nesugeba užkirsti kelio dviguboms išlaidoms. Atvirkščiai, visos skirtingos operacijos, susijusios su kriptovaliuta, yra skelbiamos „blockchain“, kur jos yra atskirai tikrinamos ir saugomos patvirtinimo procesu. Bitcoin ir daugelio kitų kriptovaliutų atveju tokiu būdu patvirtintos operacijos tampa negrįžtamos; jie yra paskelbiami viešai ir yra nuolat saugomi.
„Bitcoin“ buvo pirmoji pagrindinė skaitmeninė valiuta, išsprendusi dvigubų išlaidų problemą. Tai ji padarė įgyvendindama šį patvirtinimo mechanizmą ir palaikydama bendrą, universalią knygų knygą. Tokiu būdu „bitcoin blockchain“ išsaugo įrašus apie laiko žymes pažymėtus sandorius, grįžusius prie kriptovaliutos įkūrimo 2009 m.
„Bitcoin“ požiūriu „blokas“ yra visam laikui įrašytų duomenų failas. Visos paskutinės operacijos yra surašomos į blokus, panašiai kaip akcijų biržoje esanti knyga. Informacija iš blokų pridedama prie knygos kas kelias minutes; visi tinklo mazgai išlaiko „blockchain“ knygos kopiją. Vartotojai gali naršyti „bitcoin“ grandinėje ir peržiūrėti operacijas tik pagal kiekį. Informacija apie pirkėjo ir pardavėjo tapatybes atliekant bet kokius sandorius yra saugoma aukšto lygio šifravimu, kuris taip pat apsaugo knygą nuo išorinių šaltinių klastojimo. Atnaujinus „blockchain“ knygą, taip pat yra ir visos „bitcoin“ piniginės.
Dvigubų išlaidų sprendimas
Įsivaizduokite, kad turite 1 BTC ir bandote jį išleisti du kartus per dvi atskiras operacijas. Galite pabandyti tai padaryti siųsdami tą patį BTC dviem atskirais „bitcoin“ piniginės adresais. Tada abi šios operacijos pateks į nepatvirtintų operacijų sąrašą. Pirmoji operacija bus patvirtinta naudojant patvirtinimo mechanizmą, o tada patikrinta į sekančią bloką. Tačiau patvirtinant antrąją operaciją ji bus pripažinta negaliojančia ir nebus patikrinta. Jei abi operacijos ištraukiamos iš baseino patvirtinti vienu metu, operacija, turinti daugiausiai patvirtinimų, bus įtraukta į „blockchain“, o kita bus atmesta.
Nors tai iš tikrųjų sprendžia dvigubų išlaidų klausimą, tačiau ne be problemų. Pvz., Numatytas antrojo (nepavykusio) sandorio gavėjas nedalyvautų pačios operacijos žlugimo procese, ir vis dėlto tas asmuo negautų jo numatyto bitcoino. Daugelis prekybininkų laukia bent 6 operacijos patvirtinimų (tai reiškia, kad po atitinkamos operacijos „blockchain“ buvo pridėta 6 vėlesni sandorių blokai). Šiuo metu prekybininkas gali saugiai manyti, kad sandoris galioja.
Yra ir kitų šios sistemos pažeidžiamumų, kurie gali leisti įvykdyti dvigubo išpuolio išpuolius. Pavyzdžiui, jei užpuolikas kažkokiu būdu sugeba valdyti mažiausiai 51% tinklo galios, jis arba ji gali įsipareigoti dvigubai daugiau išlaidų. Jei užpuolikas kažkokiu būdu sugebėtų suvaldyti šią daug skaičiavimo galią, jis ar ji galėtų pakeisti operacijas ir sukurti atskirą, privačią „grandinę“. Tačiau spartus bitcoin augimas iš tikrųjų užtikrino, kad tokio tipo išpuoliai yra neįmanomi. (Norėdami daugiau sužinoti, saugokitės šių penkių „Bitcoin“ sukčiavimo būdų)
Paaiškintas darbo ir „kasybos“ įrodymas
Dabar įsigykime šiek tiek daugiau techninių. Tai, kaip vartotojai nustato klastojimą, pavyzdžiui, bandymą dvigubai praleisti pinigus, yra maišos, ilgos skaičių eilutės, kurios yra darbo įrodymas (PoW). Įdėkite duotą duomenų rinkinį naudodami maišos funkciją („bitcoin“ naudoja SHA-256), ir ji sugeneruos tik vieną maišos funkciją. Tačiau dėl „lavinos efekto“ net ir nedidelis bet kurios originalių duomenų dalies pakeitimas duos visiškai neatpažįstamą maišos įspūdį. Nepriklausomai nuo pradinio duomenų rinkinio dydžio, maišos, kurias sukuria tam tikra funkcija, bus tokio paties ilgio. Maišos yra vienpusė funkcija: jos negalima naudoti originaliems duomenims gauti, tik norint patikrinti, ar maišos generavimo duomenys atitinka pirminius duomenis.
Sukurti bet kokį maišalą bitkoinų operacijų rinkiniui šiuolaikiniam kompiuteriui būtų nereikšminga, todėl norint paversti procesą „darbu“, bitcoin tinklas nustato tam tikrą „sunkumų“ lygį. Šis nustatymas sureguliuojamas taip, kad naujas blokas būtų „išminuotas“ - įtrauktas į „blockchain“ generuojant tinkamą maišos būdą - maždaug kas 10 minučių. Nustatyti sunkumus įmanoma nustatant maišos „taikinį“: kuo žemesnis taikinys, tuo mažesnis galiojančių maišos rinkinių rinkinys, tuo sunkiau jį generuoti. Praktiškai tai reiškia maišos procesą, kuris prasideda ilgomis nulio eilutėmis: pavyzdžiui, bloko # 429818 maišos sritis yra 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Tame bloke yra 2 012 operacijų, susijusių su šiek tiek daugiau nei 1000 bitcoin, taip pat ankstesnio bloko antraštė. Jei vartotojas pakeis vieną operacijos sumą 0, 0001 bitcoin, gauta maišos bus neatpažįstama, o tinklas atmes sukčiavimą.
Kadangi duotas duomenų rinkinys gali generuoti tik vieną maišos būdą, kaip kalnakasiai įsitikina, kad generuoja maišos žymą žemiau tikslo? Jie keičia įvestį pridedant sveiką skaičių, vadinamą nonce („skaičius naudojamas vieną kartą“). Kai tik rasta tinkama maišos, ji perduodama į tinklą, o blokas pridedamas prie „blockchain“.
Kasyba yra konkurencinis procesas, tačiau tai daugiau loterija, o ne varžybos. Vidutiniškai kas nors per dešimt minučių sugeneruoja priimtiną darbo įrodymą, bet kas tai bus, spėja kas nors. Kalnakasiai telkiasi kartu, kad padidintų savo galimybes gauti kasybos blokų, o tai sukuria mokesčius už sandorius ir ribotą laiką atlygį už naujai sukurtus bitkoinus.
Įrodžius darbą, labai sunku pakeisti bet kurį „grandinės“ aspektą, nes toks pakeitimas pareikalautų visų kitų sekančių blokų perkasimo. Tai taip pat apsunkina vartotojo ar vartotojų grupės monopolizavimą tinklo skaičiavimo galiai, nes mašinos ir galia, reikalingi maišos funkcijoms atlikti, yra brangūs.
