Peatükid
1. peatükk - plokiahel 101
Sisukord
Mis on plokiahel?
Plokiahel on eri tüüpi andmebaas. Võite olla kuulnud ka hajusraamatu tehnoloogiast (või DLT) – enamikel juhtudel viitavad nad samale asjale.
Plokiahelal on teatud ainulaadsed omadused. Andmete lisamise kohta kehtivad reeglid ja kui andmed on salvestatud, siis on neid praktiliselt võimatu muuta või kustutada.
Andmed lisatakse aja jooksul struktuuridesse, mida kutsutakse plokkideks. Iga plokk on ehitatud eelmise peale ja sisaldab teavet, mis viitab eelmisele. Vaadates kõige uuemat plokki, saame kontrollida, kas see on loodud pärast eelmist. Nii et kui liigume "ahelas" edasi, jõuame oma esimese plokini, mida nimetatakse genesis block-iks.
Võrdlemiseks oletame, et teil on kahe veeruga arvutustabel. Esimese rea esimesse lahtrisse sisestate kõik andmed, mida soovite hoida.
Esimese lahtri andmed teisendatakse kahetäheliseks identifikaatoriks, mida seejärel kasutatakse järgmise sisendi osana. Selles näites tuleb teise rea (defKP) järgmise lahtri täitmiseks kasutada kahetähelist identifikaatorit KP. See tähendab, et kui muudate esimesi sisendandmeid (abcAA), saate igas järgmises lahtris erineva tähtede kombinatsiooni.
Andmebaas, kus iga kirje on lingitud eelmisega.
Vaadates praegu 4. rida, on meie kõige uuem identifikaator TH. Kas mäletate, et me ütlesime, et te ei saa tagasi minna ja kirjeid eemaldada või kustutada? Seda seetõttu, et kõigil oleks lihtne öelda, et see on tehtud, ja nad lihtsalt ignoreeriksid teie muutmiskatset.
Oletame, et muudate andmeid kõige esimeses lahtris – saate erineva identifikaatori, mis tähendaks, et teie teises plokis oleksid teistsugused andmed, mis tekitaks 2. ritta erineva identifikaatori jne. TH on sisuliselt kogu sellele eelneva teabe tulemus.
Kuidas on plokid seotud?
See, mida me eespool meie kahetäheliste identifikaatoritega arutasime, on lihtsustatud analoogia selle kohta, kuidas plokiahel kasutab räsifunktsioone. Räsimine on liim, mis hoiab plokke koos. See sisaldab mis tahes suurusega andmete võtmist ja nende edastamist matemaatilise funktsiooni abil, et saada väljund (räsi), mis on alati sama pikk.
Plokiahelates kasutatavad räsid on huvitavad selle poolest, et tõenäosus, et leiate kaks täpselt sama väljundiga andmeid, on astronoomiliselt väike. Nagu ülaltoodud identifikaatorid, annab sisendandmete iga väike muudatus täiesti erineva väljundi.
Illustreerime Bitcoinis laialdaselt kasutatava funktsiooni SHA256-ga. Nagu näete, piisab väljundi täielikuks muutmiseks isegi tähtede suurtähtedeks muutmisest.
Tegelikult pole teada ühtegi SHA256 konflikti (st kaks erinevat sisendit, mis annavad meile sama väljundi) ja see on plokiahelate kontekstis uskumatult väärtuslik. See tähendab, et iga plokk osutab eelmisele, lisades selle räsi, ja kõik katsed vanemaid plokke redigeerida tulevad kohe ilmsiks.
Iga plokk sisaldab eelmise sõrmejälge.
Plokiahelad ja detsentraliseerimine
Oleme selgitanud plokiahela põhistruktuuri. Kuid kui kuulete inimesi rääkimas plokiahela tehnoloogiast, ei räägi nad tõenäoliselt ainult andmebaasist endast, vaid ökosüsteemidest, mis on plokiahelas üles ehitatud.
Plokiahelad on eraldiseisvate andmestruktuuridena tõeliselt kasulikud ainult niširakendustes. Asjad muutuvad huvitavaks siis, kui kasutame neid võõraste vahenditena omavaheliseks kooskõlastamiseks. Plokiahel võib toimida koos teiste tehnoloogiate ja mõne mänguteooriaga hajusraamatuna, mida keegi ei kontrolli.
See tähendab, et kellelgi pole õigust väljaspool süsteemi reeglite kirjeid redigeerida (reeglitest lähemalt peagi). Võib väita, et arvestusraamat kuulub samaaegselt kõigile: osalejad jõuavad kokkuleppele, kuidas see igal ajahetkel välja näeb.
Bütsantsi kindrali probleem
Tõeline väljakutse, mis on ülalkirjeldatud süsteemi takistuseks, nimetatakse Bütsantsi kindralite probleemiks. See loodi 1980ndatel ja kirjeldab dilemmat, milles isoleeritud osalejad peavad oma tegevuse koordineerimiseks suhtlema. Konkreetne dilemma hõlmab käputäit armee kindraleid, kes on linna ümber piiranud, otsustades, kas seda rünnata. Kindralid saavad suhelda ainult käskjala kaudu.
Igaüks peab otsustama, kas rünnata või taganeda. Pole vahet, kas nad ründavad või taganevad, kuni kõik kindralid on ühise otsusega nõus. Kui nad otsustavad rünnata, on nad edukad ainult siis, kui nad seda kõik koos samal ajal teevad. Kuidas tagada, et nad saavad sellega hakkama?
Muidugi, nad saaksid käskjala kaudu suhelda. Aga mis saab siis, kui käskjala sõnum, mis ütleb: "me ründame koidikul", asendatakse sõnumiga "me ründame täna õhtul"? Mis siis, kui üks kindralitest on pahatahtlik ja eksitab teisi tahtlikult, et tagada nende lüüasaamine?
Kõik kindralid on rünnates edukad (vasakul). Kui mõned taganevad, samal ajal kui teised ründavad, saavad nad lüüa (paremal).
Vajame strateegiat, mille abil on võimalik jõuda konsensuseni, isegi kui osalejad muutuvad pahatahtlikuks või sõnumeid takistatakse. Andmebaasi mitte korras hoidmine pole elu ja surma küsimus nagu linna ründamine ilma abivägedeta, kuid sama põhimõte kehtib. Kui pole kedagi, kes plokiahelat jälgiks ja kasutajatele “õiget” teavet annaks, peavad kasutajad saama omavahel suhelda.
Ühe (või mitme) kasutaja võimaliku tõrke ületamiseks tuleb plokiahela mehhanismid hoolikalt kavandada, et need oleksid sellistele tagasilöökidele vastupidavad. Süsteemi, mis suudab seda saavutada, nimetatakse Bütsantsi tõrkele vastupidavaks. Nagu varsti näeme, kasutatakse kindlate reeglite jõustamiseks konsensuse algoritme.
Miks on vaja plokiahelaid detsentraliseerida?
Muidugi võite plokiahelat ise hallata. Kuid saate andmebaasi, mis on paremate alternatiividega võrreldes kohmakas. Selle tegelikku potentsiaali saab ära kasutada detsentraliseeritud keskkonnas, st keskkonnas, kus kõik kasutajad on võrdsed. Nii ei saa plokiahelat kustutada ega pahatahtlikult üle võtta. See on ainus tõe allikas, mida igaüks võib näha.
Mis on peer-to-peer võrk?
Peer-to-peer (P2P) võrk on meie kasutajate kiht (või meie eelmises näites kindralid). Administraatorit pole, nii et ui nad soovivad teise kasutajaga teavet vahetada, siis keskserverisse helistamise asemel saadab kasutaja selle otse teistele.
Vaadake allolevat graafikut. Vasakul peab A oma sõnumi suunama läbi serveri, et see jõuaks F-ile. Paremal pool on nad aga ühendatud ilma vahendajata.
Tsentraliseeritud võrk (vasakul) vs detsentraliseeritud võrk (paremal).
Tavaliselt hoiab server kogu kasutajate vajatavat teavet. Kui avate Binance'i akadeemia, siis palute selle serveritelt kõik artikleid. Kui veebilehe ühendus serveriga katkeb, ei saa te neid näha. Kui aga laadisite kogu sisu alla, saate selle oma arvutisse salvestada ilma Binance'i akadeemiale päringuid tegemata.
Sisuliselt teeb seda iga partner plokiahelaga: kogu andmebaas salvestatakse tema arvutisse. Kui keegi võrgust lahkub, pääsevad ülejäänud kasutajad endiselt plokiahelale ligi ja saavad omavahel teavet jagada. Kui ahelasse lisatakse uus plokk, levivad andmed üle võrgu, et igaüks saaks oma arvestusraamatu koopiat värskendada.
Seda tüüpi võrkude põhjalikumaks selgituseks vaadake kindlasti artiklit Peer-to-peer võrkude tutvustus.
Mis on plokiaheal sõlmed?
Sõlmed on lihtsalt need, mida me nimetame võrku ühendatud masinateks – need salvestavad plokiahela koopiaid ja jagavad teavet teiste masinatega. Kasutajad ei pea neid protsesse käsitsi haldama. Üldiselt peavad nad vaid plokiahela tarkvara alla laadima ja käivitama ning ülejäänu eest hoolitsetakse automaatselt.
Ülaltoodu kirjeldab, mis on sõlm selle kõige puhtamas tähenduses, kuid definitsioon võib hõlmata ka teisi kasutajaid, kes suhtlevad võrguga mis tahes viisil. Lihtne rahakotirakendus on näiteks krüptoraha puhul teie telefonis nn kerge sõlm.
Avalikud vs privaatsed plokiahelad
Nagu võib-olla teate, pani Bitcoin aluse plokiahelatööstusele, et kasvada selliseks, nagu see praegu on. Alates sellest, kui Bitcoin end õigustatud finantsvarana tõestama hakkas, on arendajad mõelnud selle aluseks oleva tehnoloogia potentsiaalile teistes valdkondades. See tõi kaasa plokiahela uurimise lugematel juhtudel väljaspool finantseerimisvõimalusi.
Me nimetame Bitcoini avalikuks plokiahelaks. See tähendab, et sellelt saab tehinguid vaadata igaüks ning liitumiseks piisab vaid internetiühendusest ja vajalikust tarkvarast. Kuna osalemiseks muid nõudeid ei ole, võime nimetada seda loavabaks keskkonnaks.
Seevastu on olemas teist tüüpi plokiahelaid, mida nimetatakse privaatseteks plokiahelateks. Need süsteemid kehtestavad reeglid selle kohta, kes saavad plokiahelat näha ja sellega suhelda. Seetõttu nimetame neid lubadega keskkondadeks. Kuigi privaatsed plokiahelad võivad alguses tunduda üleliigsed, on neil siiski mõned olulised rakendused – peamiselt ettevõtte seadetes.
Selle kohta lisateabe saamiseks vaadake artiklit Avalikud, privaatsed ja konsortsiumi plokiahelad – mis vahe neil on?
Kas soovid alustada krüptorahaga? Osta Bitcoini Binance'ist!
Kuidas tehingud toimivad?
Kui Alice soovib Bobile pangaülekandega maksta, teavitab ta sellest oma panka. Oletame, et lihtsuse huvides kasutavad mõlemad pooled sama panka. Pank kontrollib enne andmebaasi värskendamist, kas Alice'il on tehingu tegemiseks raha (nt -50 dollarit Alice'ile, +50 dollarit Bobile).
See ei ole väga palju erinev plokiahelas toimuvast. Lõppude lõpuks on see ka andmebaas. Peamine erinevus seisneb selles, et ükski osapool ei kontrolli ega värskenda seldosid. Kõik sõlmed peavad seda tegema.
Kui Alice soovib Bobile viis Bitcoini saata, saadab ta võrku sellekohase sõnumi. Seda ei lisata kohe plokiahelasse – sõlmed näevad seda, kuid tehingu kinnitamiseks tuleb teha veel toiminguid. Vaata artiklit Kuidas plokiahelasse plokke lisatakse?
Kui see tehing on plokiahelasse lisatud, näevad kõik sõlmed, et see on tehtud. Nad värskendavad selle kajastamiseks oma plokiahela koopiat. Alice ei saa neid samu viit ühikut Carolile saata (seega topeltkulu), sest võrk teab, et ta on need juba varasemas tehingus kulutanud.
Kasutajanimed ja paroolid puuduvad – raha omandiõiguse tõendamiseks kasutatakse avaliku võtmega krüptograafiat. Raha saamiseks peab Bob genereerima privaatse võtme. See on lihtsalt väga pikk juhuslik arv, mida oleks peaaegu võimatu ära arvata, isegi kui arvajate käsutuses on sadu aastaid. Kuid kui ta ütleb kellelegi oma privaatse võtme, saavad nad tõestada, et raha kuulub talle (ja ta saab seda kulutada). Seetõttu on oluline, et ta seda saladuses hoiaks.
Bob saab aga teha oma privaatsest võtmest avaliku võtme. Seejärel saab ta avaliku võtme kellelegi anda, sest neil on peaaegu võimatu seda privaatse võtme saamiseks pöördprojekteerida. Enamikul juhtudel teeb ta avaliku aadressi saamiseks avaliku võtmega mõne muu toimingu (nt räsimine).
Ta annab Alice'ile avaliku aadressi, et ta teaks, kuhu raha saata. Alice loob tehingu, milles öeldakse, et maksa need vahendid sellele avalikule aadressile. Seejärel loob ta oma privaatset võtit kasutades digitaalallkirja, et tõestada võrgule, et ta ei ürita kulutada raha, mis pole tema oma. Igaüks võib võtta Alice'i allkirjastatud sõnumi ja võrrelda seda tema avaliku võtmega ning öelda kindlalt, et tal on õigus see raha Bobile saata.
Kuidas teha Bitcoiniga tehinguid
Et illustreerida, kuidas Bitcoiniga tehinguid teha, kujutame ette kahte erinevat stsenaariumi. Esimene seisneb selles, et võtad Binance'ist Bitcoine välja, ja teises saadad raha oma TrustWalletist oma Electrumi rahakotti.
Kuidas Bitcoine Binance'ist välja võtta
1. Logi sisse oma Binance’i kontole. Kui sul pole veel Bitcoine, siis vaata meie Bitcoini juhendit selle kohta, kuidas neid osta.
2. Hõljuta kursorit rahakoti kohal ja vali spot-rahakott.
3. KlõpsaWithdraw vasakpoolsel külgribal nuppu Väljamakse.
4. Valige münt, mida soovid välja võtta – antud juhul BTC.
5. Kopeeri aadress, millele soovid oma Bitcoine välja võtta ja kleebi see saaja BTC aadressi väljale.
6. Määra summa, mida soovid välja võtta.
7. Klõpsa nuppu Esita.
8. Saad peagi kinnitava meili. Kontrolli hoolikalt, kas aadress on õige. Kui on, kinnita meilis olev tehing.
9. Oota, kuni su tehing plokiahelas lõpuni viiakse. Selle olekut saad jälgida vahekaardil Sisse- ja väljamaksete ajalugu või kasutades plokiuurijat.
Kuidas saata Bitcoine Trust Walletist Electrumi
Selles näites saadame mõned Bitcoinid Trust Walletist Electrumi.
1. Ava rakendus Trust Wallet.
2. Puuduta oma Bitcoini kontot.
3. Puuduta nuppu Saada.
4. Ava oma Electrumi rahakott.
5. Klõpsa Electrumis vahekaarti Võta vastu ja kopeeri aadress.
Teise võimalusena võid minna tagasi Trust Walletisse ja puudutada QR-koodi skannimiseks ikooni [–], mis osutab sinu Electrumi aadressile.
6. Kleebi oma Bitcoini aadress Trust Walleti Saaja aadressi väljale.
7. Täpsusta kogust.
8. Kui kõik tundub olevat õige, kinnita tehing.
9. Valmis! Oota, kuni su tehing plokiahelas kinnitatakse. Selle olekut saad jälgida, kopeerides oma aadressi plokiuurijasse.
Kas soovid alustada krüptorahaga? Osta Bitcoini Binance'ist!
Kes leiutas plokiahela tehnoloogia?
Plokiahela tehnoloogia sai ametlikuks 2009. aastal Bitcoini – esimese ja kõige populaarsema plokiahela – väljaandmisega. Selle varjunimega looja Satoshi Nakamoto sai aga inspiratsiooni varasematest tehnoloogiatest ja ettepanekutest.
Plokiahelad kasutavad palju räsifunktsioone ja krüptograafiat, mis olid olemas aastakümneid enne Bitcoini väljaandmist. Huvitaval kombel võis plokiahela ülesehitust jälgida 1990. aastate algusest, kuigi seda kasutati ainult dokumentidele ajatemplite panekuks, et neid hiljem muuta ei saaks.
Selle teema kohta leiab artiklist Plokiahela ajalugu.
Plokiahela tehnoloogia plussid ja miinused
Õigesti projekteeritud plokiahelad lahendavad probleemi, mis vaevab huvirühmi paljudes tööstusharudes, alates rahandusest kuni põllumajanduseni. Hajutatud võrgul on traditsioonilise klient-serveri mudeli ees palju eeliseid, kuid sellega kaasnevad ka mõned kompromissid.
Plussid
Üks Bitcoini valges raamatus märgitud vahetutest eelistest on see, et makseid saab edastada ilma vahendajat kaasamata. Hilisemates plokiahelates on seda veelgi rohkem arendatud, võimaldades kasutajatel saata igasugust teavet. Osapoolte eemaldamine tähendab, et kaasatud kasutajate risk on väiksem ja selle tulemusena on tasud madalamad, kuna ükski vahendaja ei võta oma osa.
Nagu varem mainisime, on ka avalik plokiahela võrk loavaba – sisenemisel pole takistusi, kuna keegi ei juhi seda. Kui potentsiaalne kasutaja loob Interneti-ühenduse, saab ta suhelda teiste võrgus olevate kasutajatega.
Paljud väidavad, et plokiahelate kõige olulisem kvaliteedinäitaja on see, et neil on kõrge tsensuurikindlus. Tsentraliseeritud teenuse kahjustamiseks ei pea pahatahtlik tegutseja tegema muud, kui sihtima serverit. Kuid peer-to-peer võrgus toimib iga sõlm omaette serverina.
Bitcoini laadses süsteemis on üle 10 000 nähtava sõlme, mis on üle maailma laiali, mistõttu on isegi hästi varustatud ründaja puhul peaaegu võimatu võrku ohustada. Tuleb märkida, et on ka palju peidetud sõlmi, mis pole laiemale võrgule nähtavad.
Need on mõned üldised eelised. Plokiahelate jaoks on palju konkreetseid kasutusvaldkondi, nagu näete artiklis Milleks plokiahelat kasutatakse?
Miinused
Plokiahelad ei ole iga probleemi jaoks nagu hõbekuulid. Optimeerituna eelmises osas toodud eeliste jaoks, jääb neil teistes valdkondades puudu. Plokiahelate massilisele kasutusele võtu kõige ilmsem takistus on see, et need ei skaleeru eriti hästi.
See kehtib mis tahes hajutatud võrgu puhul. Kuna kõik osalejad peavad jääma sünkrooni, ei saa uut teavet väga kiiresti lisada, kuna sõlmed ei suuda sellega sammu pidada. Seetõttu kipuvad arendajad tahtlikult piirama kiirust, millega plokiahelat värskendada saab, et tagada süsteemi detsentraliseeritus.
Kui liiga palju inimesi üritab tehinguid teha, siis võrgu kasutajate jaoks võib see tähendada pikkasid ooteperioode. Plokid mahutavad kindla hulga andmeid ja neid ei lisata ahelasse kohe. Kui tehinguid on rohkem kui plokki mahub, peavad kõik täiendavad tehingud ootama järgmist plokki.
Detsentraliseeritud plokiahela süsteemide teine võimalik puudus on see, et neid ei saa kergesti uuendada. Kui lood oma tarkvara, saad oma soovi järgi uusi funktsioone lisada. Sa ei pea muudatuste tegemiseks teistega koostööd tegema ega luba küsima.
Potentsiaalselt miljonite kasutajatega keskkonnas on muudatuste tegemine tunduvalt keerulisem. Võid mõnda sõlme tarkvara parameetrit muuta, kuid lõpuks eraldatakse sind võrgust. Kui muudetud tarkvara ei ühildu teiste sõlmedega, tunnevad nad selle ära ja keelduvad sinu sõlmega suhtlemast.
Oletame, et soovid muuta reeglit selle kohta, kui suured plokid võivad olla (1 MB kuni 2 MB). Võid proovida saata seda plokki sõlmedesse, millega oled ühendatud, kuid neil on reegel, mis ütleb: "Ära aktsepteeri plokke, mille suurus on üle 1 MB". Kui nad saavad midagi suuremat, ei lisa nad seda oma plokiahela koopiasse.
Ainus viis muutustega edasi minna, on panna enamik ökosüsteemist neid vastu võtma. Suuremate plokiahelate puhul võib enne muudatuste kooskõlastamist intensiivset arutelu kesta foorumites kuid või isegi aastaid. Selle kohta lisateabe saamiseks vaata artiklit Tugevad kahvlid ja nõrgad kahvlid.
2. peatükk. Kuidas plokiahel töötab?
Sisukord
Kuidas plokiahelasse plokke lisatakse?
Oleme siiani palju käsitlenud. Teame, et sõlmed on omavahel ühendatud ja et nad salvestavad plokiahela koopiaid. Nad edastavad üksteisele teavet tehingute ja uute plokkide kohta. Oleme juba arutanud, mis on sõlmed, kuid võite küsida: kuidas lisatakse plokiahelasse uusi plokke?
Pole olemas ühte allikat, mis annaks kasutajatele teada, mida teha. Kuna kõigil sõlmedel on võrdne võimsus, peab olema õiglaselt otsustav mehhanism, kes saab plokiahelasse plokke lisada. Vajame süsteemi, mis muudab kasutajatele petmise kulukaks, kuid premeerib neid ausa tegutsemise eest. Iga mõistlik kasutaja soovib tegutseda viisil, mis on talle majanduslikult kasulik.
Kuna võrk on loavaba, peab plokkide loomine olema kõigile juurdepääsetav. Protokollid tagavad seda sageli, nõudes kasutajalt "oma naha mängu" panemist – nad peavad oma rahaga riskima. See võimaldab neil osaleda ploki loomises ja kui nad loovad kehtiva ploki, makstakse neile preemia.
Kui nad aga üritavad petta, saab ülejäänud võrk sellest teada. Mis iganes summa nad on sisse pannud, läheb kaotsi. Nimetame neid mehhanisme konsensuse algoritmideks, kuna need võimaldavad võrgus osalejatel jõuda üksmeelele, milline plokk tuleks järgmisena lisada.
Kaevandamine (töötõendus)
Kaevandamine on kõige sagedamini kasutatav konsensuse algoritm. Kaevandamisel kasutatakse töötõenduse (PoW) algoritmi. See tähendab, et kasutajad ohverdavad arvutusvõimsust, et proovida lahendada protokolli poolt püstitatud mõistatust.
Mõistatus nõuab kasutajatelt tehingute ja muu plokis sisalduva teabe räsimist. Kuid selleks, et räsi loetaks kehtivaks, peab selle number langema alla teatud arvu. Kuna antud väljundit pole võimalik ennustada, peavad kaevandajad jätkama veidi muudetud andmete räsimist, kuni nad leiavad kehtiva lahenduse.
Ilmselgelt on andmete korduv räsimine arvutuslikult kulukas. Töötõenduse plokiahelate puhul on kasutajate panus kaevandusarvutitesse investeeritud raha ja nende toiteks kasutatav elekter. Nad teevad seda lootuses saada plokitasu.
Kas mäletad, kuidas me varem mainisime, et räsi on praktiliselt võimatu tagasi pöörata, kuid seda on lihtne kontrollida? Kui kaevandaja saadab ülejäänud võrku uue ploki, kasutavad kõik teised sõlmed seda räsifunktsiooni sisendina. Nad peavad selle lihtsalt üks kord käivitama, et kontrollida, kas plokk on plokiahela reeglite kohaselt kehtiv. Kui see ei ole, ei saa kaevandaja tasu ja nad on elektrit asjata raisanud.
Esimene töötõenduse plokiahel oli Bitcoin. Paljud teised plokiahelad on alates selle loomisest võtnud kasutusele töötõenduse mehhanismi.
Töötõenduse plussid
Proovitud ja testitud – siiani on töötõendus kõige küpsem konsensusalgoritm ja see on tekitanud sadade miljardite dollarite suuruses väärtust.
Loavaba – kõik võivad kaevandusvõistlusega liituda või lihtsalt valideerimissõlme käivitada.
Detsentraliseerimine – kaevandajad võistlevad üksteisega plokkide tootmisel, mis tähendab, et räsivõimsust ei kontrolli kunagi ainult üks osapool.
Töötõenduse miinused
Raiskav – kaevandamine tarbib tohutult palju elektrit.
Üha suuremad turuletuleku takistused – protokollid muudavad kaevandamismõistatuse keerukust, mida rohkem kaevandajaid liitub võrguga. Kasutajad peavad konkurentsis püsimiseks investeerima parematesse seadmetesse. Kõrge hind võib paljud kaevandajad eemale jätta.
51% rünnakud – kuigi kaevandamine soodustab detsentraliseerimist, on võimalus, et üks kaevandaja omandab suurema osa räsivõimsusest. Kui neil see on, võivad nad teoreetiliselt tehinguid tühistada ja õõnestada plokiahela turvalisust.
Panustamine (panusetõendus)
Töötõenduse süsteemides motiveerib sind ausalt tegutsema raha, mille oled maksnud kaevandamisarvutite ja elektri eest. Kui sa plokke õigesti ei kaevanda, ei saa sa oma investeeringult tulu.
Panusetõendiga (PoS) väliskulusid ei lisandu. Kaevandajate asemel on validaatorid, kes pakuvad välja (või "sepistavad") plokke. Nad võivad uute plokkide loomiseks kasutada tavalist arvutit, kuid nad peavad selle privileegi nimel panustama olulise osa oma vahenditest. Panustamine toimub vastavalt iga protokolli reeglitele eelnevalt määratletud koguse plokiahela natiivse krüptorahaga.
Erinevatel rakendustel on erinevad variatsioonid, kuid kui valideerija on oma üksused panustanud, saab neid protokolli järgmise ploki väljakuulutamiseks juhuslikult valida. Õigesti tehes saavad nad preemia. Teise võimaluse puhul võib valideerijaid olla mitu, kes nõustuvad järgmise ploki osas ning preemia jagatakse proportsionaalselt vastavalt igale panusele.
Puhtad PoS-i plokiahelad on vähem levinud kui DPoS-i (Delegeeritud panuse tõendus) ahelad, mille puhul on vaja, et kasutajad hääletaksid sõlmede (tunnistajate) poolt, et valideerida kogu võrgu plokid.
Ethereum, juhtiv nutikate lepingute plokiahel, läheb peagi üle panuse tõendusele, kui minnakse üle ETH 2.0-le.
Panusetõenduse plussid
Keskkonnasõbralik – PoS-i süsiniku jalajälg on murdosa PoW kaevandamise omast. Panustamine võtab ära vajaduse ressursimahukate räsitoimingute järele.
Kiiremad tehingud – mõned PoS-i pooldajad väidavad, et kuna pole vaja kulutada täiendavat arvutusvõimsust protokolliga seatud suvalistele mõistatustele, siis see võib suurendada tehingute läbilaskevõimet.
Panustamise preemiad ja intress – selle asemel, et minna kaevandajate juurde, makstakse võrgu turvalisuse eest tasu otse tokenite omanikele. Mõnel juhul võimaldab PoS kasutajatel teenida tasuta krüptoraha või intresside näol passiivset sissetulekut, lihtsalt oma raha panustamise eest.
Panusetõendus miinused
Suhteliselt testimata – PoS-protokolle tuleb veel ulatuslikult testida. Selle rakendamisel või krüptoökonoomikas võib olla avastamata nõrku kohti.
Plutokraatia – on mure, et PoS julgustab ökosüsteemi „rikas saagu rikkamaks”, kuna suure panusega valideerijad teenivad tavaliselt rohkem preemiaid.
Kaalul pole midagi probleem – PoW-s saavad kasutajad "panustada" ainult ühele aheleale – nad kaevandavad selle ahela peal, mis nende arvates kõige tõenäolisemalt edukas on. Tugeva kahvli ajal ei saa nad sama räsi võimsusega mitmele ahelale panustada. Kuid PoS-i validaatorid võivad aga töötada väikeste lisakuludega mitme ahelaga, mis võib põhjustada majanduslikke probleeme.
Muud konsensuse algoritmid
Kõige levinumad konsensusalgoritmid on töötõendus ja panuse tõendus, kuid on ka palju teisi. Mõned neist on hübriidid, mis ühendavad mõlema süsteemi elemente, samas kui teised on hoopis erinevad meetodid.
Me ei käsitle neid siin, kuid kui oled huvitatud, siis vaata järgmisi artikleid:
Kas plokiahela tehinguid saab tagasi võtta?
Plokiahelad on oma ülesehituselt väga tugevad andmebaasid. Nende loomupärased omadused muudavad plokiahela andmete eemaldamise või muutmise pärast nende salvestamist äärmiselt keeruliseks. Bitcoini ja muude suurte võrkude puhul on see peaaegu võimatu. Seega, kui viid plokiahelas läbi tehingut, on kõige parem pidada seda igaveseks kivisse raiutuks.
Siiski on olemas palju erinevaid plokiahela rakendusi ja nende kõige olulisem erinevus seisneb selles, kuidas nad võrgus konsensusele jõuavad. See tähendab, et mõnes rakenduses võib suhteliselt väike osalejate rühm koguda võrgus piisavalt jõudu, et tehinguid tõhusalt tagasi võtta. See puudutab eriti altcoine, mis kasutavad väikeseid võrke (väikese kaevandamise konkurentsi tõttu väikesed räsimäärad).
Miks on plokiahela skaleeritavus?
Plokiahela skaleeritavust kasutatakse tavaliselt katusterminina, mis viitab plokiahela süsteemi võimele rahuldada kasvavat nõudlust. Kuigi plokiahelatel on soovitud omadused (nt detsentraliseerimine, tsensuurikindlus, muutumatus), on neil ka hind.
Erinevalt detsentraliseeritud süsteemidest võib tsentraliseeritud andmebaas töötada tunduvalt suurema kiiruse ja läbilaskevõimega. See on arusaadav, kuna võrguga sünkroonimiseks pole vaja tuhandeid üle maailma laiali hajutatud sõlmpunkte iga kord, kui selle sisu muudetakse. Kuid see ei kehti plokiahelate kohta. Seetõttu on skaleeritavus olnud plokiahela arendajate seas juba aastaid väga vaieldav teema.
Mõningate plokiahelate jõudluse puuduste leevendamiseks on välja pakutud või rakendatud mitmeid erinevaid lahendusi. Praegusel hetkel aga selget parimat lähenemisviisi pole. Tõenäoliselt tuleb katsetada paljusid erinevaid lahendusi, kuni skaleeritavuse probleemile leitakse vastuseid.
Skaleeritavusega seoses on laiemas plaanis üks põhimõtteline küsimus: kas peaksime parandama plokiahela enda jõudlust (ahelasisene skaleerimine) või peaksime lubama tehingute sooritamist peamist plokiahelat paisutamata (ahelaväline skaleerimine)?
Mõlemal võib olla selgeid eeliseid. Ahelasisesed skaleerimislahendused võivad olla tehingute mahu vähendamine või isegi andmete plokkidena salvestamise optimeerimine. Teisest küljest hõlmavad ahelavälised lahendused tehingute eraldamist peamisest plokiahelast ja lisamist sinna alles hiljem. Mõnda silmapaistvamat ahelavälist lahendust nimetatakse külgahelateks ja maksekanaliteks.
Kui soovite sellesse teemasse sügavamalt sukelduda, lugege artiklit Plokiahela sklaeeritavus - külgahelad ja maksekanalid.
Miks peab plokiahelaid skaleerima?
Kui plokiahelasüsteemid peavad konkureerima oma tsentraliseeritud kolleegidega, peavad need olema vähemalt sama tõhusad . Kuid realistlikult peavad nad tõenäoliselt veelgi paremini toimima, et motiveerida arendajaid ja kasutajaid plokiahelapõhistele platvormidele ja rakendustele üle minema.
See tähendab, et võrreldes tsentraliseeritud süsteemidega peab plokiahelate kasutamine olema nii arendajatele kui ka kasutajatele kiirem, odavam ja lihtsam. Seda pole lihtne saavutada, kui säilitada samal ajal plokiahelate määratlevad omadused, mida oleme varem arutanud.
Mis on plokiahel kahvel?
Nagu iga tarkvara puhul, vajavad plokiahelad probleemide lahendamiseks, uute reeglite lisamiseks või vanade eemaldamiseks uuendusi. Kuna enamik plokiahela tarkvara on avatud lähtekoodiga, võib igaüks teoreetiliselt pakkuda välja uusi värskendusi võrku haldavasse tarkvarasse lisamiseks.
Pidage meeles, et plokiahelad on hajutatud võrgud. Kui tarkvara on uuendatud, peavad tuhanded sõlmed, mis on laiali üle maailma, suutma suhelda ja uut versiooni rakendada. Mis saab aga siis, kui osalejad ei jõua kokkuleppele, millist uuendust rakendada? Tavaliselt ei ole organisatsiooni, millel oleks otsuse vastuvõtmiseks väljakujunenud otsustusvoogu. See viib meid nõrkade ja tugevate kahvlite juurde.
Nõrgad kahvlid
Kui on olemas üldine kokkulepe, kuidas uuendus peaks välja nägema, siis on see suhteliselt lihtne. Sellise stsenaariumi korral värskendatakse tarkvara tagasiühilduva muudatusega, mis tähendab, et värskendatud sõlmed saavad endiselt suhelda sõlmedega, mis ei ole värskendatud. Tegelikkuses eeldatakse aga, et peaaegu kõiki sõlmi aja jooksul uuendatakse. Seda kutsutakse nõrgaks kahvliks.
Tugevad kahvlid
Tugev kahvel on keerulisem. Pärast rakendamist uued reeglid vanadega ei ühildu. Seega, kui sõlm, mis kasutab uusi reegleid, proovib suhelda sõlmega, mis käitab vanu reegleid, ei saa nad suhelda. Selle tulemusena jaguneb plokiahel kaheks – ühes töötab vana tarkvara, teises rakenduvad uued reeglid.
Pärast tugevat kahvlit on sisuliselt kaks erinevat võrku, mis töötavad paralleelselt kahte erinevat protokolli. Tasub mainida, et hargnemise ajal kloonitakse plokiahela algüksuse saldod vanast võrgust. Seega, kui sul oli hargnemise ajal vana ahela saldo, on sul ka uues ahelas saldo.
Selle kohta lisateabe saamiseks vaata artiklit Tugevad kahvlid ja nõrgad kahvlid.
3. peatükk - Milleks plokiahelat kasutatakse?
Sisukord
Plokiahela tehnoloogiat saab kasutada paljudel juhtudel. Vaatleme neist mõningaid.
Plokiahel tarneahelatele
Tõhusad tarneahelad on paljude edukate ettevõtete tugisambaks ja tegelevad kaupade käitlemisega tarnijalt tarbijani. Teatud tööstusharudes on mitmete sidusrühmade koordineerimine osutunud traditsiooniliselt keeruliseks. Kuid plokiahela tehnoloogia võib paljudes tööstusharudes võimaldada läbipaistvuse uut taset. Koostalitlusvõimeline tarneahela ökosüsteem, mis pöörleb muutumatu andmebaasi ümber, on just see, mida paljud tööstused vajavad, et muutuda tugevamaks ja usaldusväärsemaks.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: tarneahel.
Plokiahel ja mängutööstus
Mängutööstusest on saanud üks maailma suurimaid meelelahutustööstusi ja see võib plokiahela tehnoloogiast palju kasu saada. Tavaliselt kipuvad mängijad olema mänguarendajate meelevallas. Enamikes võrgumängudes on mängijad sunnitud arvestama arendajate serveriruumiga ja järgima nende pidevalt muutuvaid reegleid. Seoses sellega võib plokiahel aidata detsentraliseerida võrgumängude omandiõigust, haldamist ja hooldust.
Suurim probleem võib aga olla see, et mängimisega seotud kaubad ei saa eksisteerida väljaspool mänge, välistades tõelise omandiõiguse ja järelturu võimalused. Plokiahelal põhineva lähenemisviisi kasutamisel võivad mängud muutuda pikemas perspektiivis jätkusuutlikumaks ja krüptokogumisobjektidena välja antud mängusisesed esemed võivad koguda reaalset väärtust.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: mängimine.
Plokiahel tervishoiule
Iga tervishoiusüsteemi jaoks on meditsiiniliste andmete usaldusväärne säilitamine ülioluline ja tsentraliseeritud serveritele tuginemine jätab tundliku teabe haavatavasse kohta. Plokiahela tehnoloogia läbipaistvus ja turvalisus muudavad selle meditsiiniliste dokumentide salvestamiseks ideaalseks platvormiks.
Patsiendid saavad krüptograafiliselt oma andmeid plokiahelas kaitstes säilitada oma privaatsuse, samal ajal kui nad saavad jagada oma meditsiiniteavet mis tahes tervishoiuasutusega. Kui kõik praegu killustunud tervishoiusüsteemi osalised saaksid kasutada turvalist globaalset andmebaasi, oleks info liikumine nende vahel palju kiirem.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: tervishoid.
Plokiahela rahaülekanne
Rahvusvaheline raha saatmine on traditsioonilise pangandusega tülikas. Peamiselt keerukate vahendajate võrgustiku tõttu muudavad tasud ja arveldusajad traditsiooniliste pankade kasutamise kiireloomuliste tehingute tegemiseks nii kulukaks, kui ka ebausaldusväärseks.
Krüptorahad ja plokiahelad kõrvaldavad selle vahendajate ökosüsteemi ning võimaldavad odavaid ja kiireid ülekandeid üle maailma. Kuigi plokiahelad ohverdavad mõne soovitud omaduse nimel kahtlemata jõudlust, kasutavad mitmed projektid seda tehnoloogiat, et võimaldada odavaid, peaaegu koheseid tehinguid.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: rahaülekanne.
Kas soovid alustada krüptorahaga? Osta Bitcoini Binance'ist!
Plokiahel ja digitaalne identiteet
Internetis identiteedi turvaline haldamine vajab hädasti kiiret lahendust. Erakordselt palju meie isikuandmeid salvestatakse tsentraliseeritud serveritesse ja neid analüüsitakse masinõppe algoritmide abil ilma meie teadmata või nõusolekuta.
Plokiahela tehnoloogia võimaldab kasutajatel kasutada oma andmete omandiõigust ja avaldada teavet valikuliselt kolmandatele osapooltele ainult siis, kui see on vajalik. Seda tüüpi krüptograafiline maagia võib võimaldada sujuvamat veebikogemust ilma privaatsust ohverdamata.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: digitaalne identiteet.
Plokiahel ja asjade internet (IoT)
Internetti ühendatakse erakordselt palju füüsilisi seadmeid ja see arv ainult suureneb. Mõned arvavad, et plokiahela tehnoloogia võib nende seadmete vahelist suhtlust ja koostööd oluliselt suurendada. Automatiseeritud masinatevahelised (M2M) mikromaksed võivad luua uue majanduse, mis tugineb turvalisele ja suure läbilaskevõimega andmebaasilahendusele.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: asjade internet (IoT).
Plokiahel juhtimiseks
Hajutatud võrgud saavad arvutikoodi kujul määratleda ja jõustada oma reguleerimise vorme. Pole midagi üllatavat, et plokiahelal võib olla võimalus eristada erinevaid juhtimisprotsesse kohalikul, riiklikul või isegi rahvusvahelisel tasandil.
Veelgi enam, see võib lahendada ühe suurima probleemi, millega avatud lähtekoodiga arenduskeskkonnad praegu silmitsi seisavad – usaldusväärse rahastamismehhanismi puudumine. Plokiahela juhtimine tagab, et kõik osalejad saavad olla otsuste tegemisel kaasatud, ning see annab läbipaistva ülevaate, milliseid poliitikaid rakendatakse.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: juhtimine.
Plokiahel heategevuseks
Heategevusorganisatsioone takistavad sageli piirangud, kuidas nad saavad raha vastu võtta. Veelgi masendavam on see, et annetatud raha lõppsihtkohta jõudmist võib olla raske jälgida, mis kahtlemata pärsib paljusid neid organisatsioone toetamast.
"Krüpto-filantroopia" puudutab plokiahela tehnoloogia kasutamist nendest piirangutest möödahiilimiseks. Tuginedes tehnoloogiale omastele omadustele tagada suurem läbipaistvus, globaalne osalus ja väiksemad kulud, püüab arenev valdkond heategevuse mõju maksimeerida. Üks selline organisatsioon on Blockchain Charity Foundation.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: heategevus.
Plokiahel spekuleerimiseks
Kahtlemata on plokiahela tehnoloogia üks populaarsemaid kasutusviise spekuleerimine. Sujuvad ülekanded börside vahel, mittehallatavad kauplemislahendused ja tuletisinstrumentide kasvav ökosüsteem muudavad selle ideaalseks mänguväljaks igat tüüpi spekulantidele.
Oma olemuslike omaduste tõttu on plokiahel suurepärane instrument neile, kes on valmis võtma riski sellises tärkavas varaklassis osalemisega. Mõned isegi arvavad, et kui tehnoloogia ja seda ümbritsev regulatsioon küpseks saab, võivad globaalsed spekulatiivsed turud olla kõik plokiahelas tokeniseeritud.
Kui soovid selle kohta rohkem lugeda, siis vaata artiklit Plokiahela kasutusvaldkonnad: prognoositurud.
Ühisrahastamine plokiahela abil
Veebipõhised ühisrahastusplatvormid on juba peaaegu kümme aastat pannud aluse kasutajatevahelisele majandusele. Nende saitide edu näitab, et ühisrahastatud tootearenduse vastu on tõeline huvi. Kuna need platvormid tegutsevad aga fondide halduritena, võivad nad võtta märkimisväärse osa rahadest teenustasudeks. Lisaks on neil igaühel oma reeglid, mis hõlbustavad erinevate osalejate vahelist kokkulepet.
Plokiahela tehnoloogia ja täpsemalt nutikad lepingud võiksid võimaldada turvalisemat, automatiseeritud ühisrahastamist, kus lepingute tingimused on määratletud arvutikoodis.
Teine plokiahelat kasutava ühisrahastuse rakendus on müntide esialgne pakkumine (ICO) ja esialgsed vahetuspakkumised (IEO). Sellise tokenite müügi puhul koguvad investorid raha lootuses, et võrk on tulevikus edukas ja nad saavad oma investeeringult tulu.
Plokiahelad ja hajutatud failisüsteemid
Võrreldes tavapäraste tsentraliseeritud alternatiividega on failide salvestuse levitamisel Internetis palju eeliseid. Suur osa pilves talletatavatest andmetest tugineb tsentraliseeritud serveritele ja teenusepakkujatele, mis kipuvad olema rünnakute ning andmete kadumise suhtes haavatavamad. Mõnel juhul võivad kasutajad tsentraliseeritud serverite tsensuuri tõttu seista silmitsi juurdepääsetavuse probleemidega.
Kasutaja vaatenurgast toimivad plokiahela failide salvestuslahendused nagu teised pilvesalvestuslahendused – saad faile üles laadida, talletada ja neile juurde pääseda. Taustal toimuv on aga hoopis teistsugune.
Kui laadid faili üles plokiahela salvestusruumi, levitatakse ja kopeeritakse see mitmesse sõlme. Mõnel juhul salvestab iga sõlm faili erineva osa. Nad ei saa osaliste andmetega palju teha, kuid saad hiljem igalt sõlmelt küsida teatud osa, et saaksid need kombineerida, et kogu fail kokku panna.
Salvestusruum pärineb osalejatelt, kes pakuvad võrgule oma salvestusruumi ja läbilaskevõimet. Tavaliselt on need osalejad majanduslikult motiveeritud neid ressursse pakkuma ning neid karistatakse finantsiliselt, kui nad ei järgi reegleid või ei suuda faile salvestada ja teenindada.
Seda tüüpi võrku võiks pidada Bitcoiniga sarnaseks. Sel juhul ei ole võrgu peamine eesmärk rahalise väärtuse ülekandmise toetamine, vaid tsensuurikindla detsentraliseeritud failide salvestamise võimaldamine.
Teised avatud lähtekoodiga protokollid, nagu InterPlanetary File System (IPFS), sillutavad juba teed sellele uuele, püsivamale ja hajutatud veebile. Kuigi IPFS on protokoll ja kasutajatevaheline võrk, pole see päris plokiahel. Kuid see rakendab turvalisuse ja tõhususe suurendamiseks mõningaid plokiahela tehnoloogia põhimõtteid.