Pred kratkim je prišlo do manjšega spora med frakcijama Core in Unlimited skupnosti Bitcoin, spor, ki predstavlja morda že petdesetič razpravo o isti temi, vendar je kljub temu zanimiv, ker poudarja zelo subtilno filozofsko točko o tem, kako verige blokov delo.
ViaBTC, rudarski bazen, ki daje prednost Unlimitedu, tweeted »hashpower is law«, običajna točka pogovorov za stran Unlimited, ki verjame, da imajo rudarji in bi morali imeti zelo veliko vlogo pri upravljanju Bitcoina, pri čemer je običajen argument za to, da so rudarji tista kategorija uporabnikov, ima veliko in nelikvidno finančno spodbudo za uspeh Bitcoina. Greg Maxwell (s strani Core) odgovorila da "varnost bitcoina deluje natanko zato, ker hash power NI zakon".
Osnovni argument je, da imajo rudarji le omejeno vlogo v sistemu Bitcoin, da zagotovijo vrstni red transakcij, in NE bi smeli imeti pooblastila za določanje česar koli drugega, vključno z omejitvami velikosti blokov in drugimi pravili veljavnosti blokov. Te omejitve uveljavljajo polna vozlišča, ki jih upravljajo uporabniki – če rudarji začnejo proizvajati bloke v skladu z nizom pravil, ki se razlikujejo od pravil, ki jih uveljavljajo vozlišča uporabnikov, bodo vozlišča uporabnikov preprosto zavrnila bloke, ne glede na to, ali je 10 % ali 60 %. % ali 99 % hashpowerja je za njimi. Na to Unlimited pogosto odgovori z nekaj takega: »če je 90 % hashpowerja za novo verigo, ki poveča omejitev bloka, in je stara veriga z 10 % hashpowerja zdaj desetkrat počasnejša pet mesecev, dokler se težave ne prilagodijo, ali bi res ne posodobite svoje stranke, da sprejme novo verigo?«
Veliko ljudi pogosto trdijo proti uporaba javnih verig blokov za aplikacije, ki vključujejo sredstva iz resničnega sveta ali karkoli s tveganjem nasprotne stranke. Kritike so bodisi popolne, češ da nima smisla izvajati takšnih primerov uporabe na javnih verigah blokov, ali delne, češ da so morda prednosti shranjevanja datum na javni verigi, the poslovna logika je treba izvesti izven verige.
Običajno uporabljen argument je, da v takšnih aplikacijah točke zaupanja že obstajajo – obstaja nekdo, ki ima v lasti fizična sredstva, ki podpirajo dovoljena sredstva v verigi, in ta nekdo se lahko vedno odloči pobegniti s sredstvi ali biti prisiljen zamrzniti jih vlada ali banka, zato je upravljanje digitalnih predstavitev teh sredstev v verigi blokov enako kot plačilo za armirana jeklena vrata za svojo hišo, ko je okno odprto. Namesto tega bi morali takšni sistemi uporabljati zasebne verige ali celo tradicionalne rešitve, ki temeljijo na strežnikih, morda z dodajanjem bitov in delov kriptografije za izboljšanje revidabilnosti in s tem prihraniti pri neučinkovitosti in stroških postavitve vsega v verigo blokov.
Zgornji argumenti so napačni v svojih čistih oblikah in so napačni na podoben način. Medtem ko je teoretično možno za rudarje, da preklopijo 99 % svoje hashpower v verigo z novimi pravili (za primer, ko je to nesporno slabo, predpostavimo, da povečujejo nagrado za blok) in celo spawn-camp staro verigo, da postane trajno neuporabna, prav tako pa je teoretično možno, da centralizirani upravitelj valute, zavarovane s premoženjem, preneha spoštovati en digitalni žeton, naredi nov digitalni žeton z enakim stanjem kot stari žeton, razen z enim določenim računom stanje znižano na nič, in začnite spoštovati nov žeton v praksi obe stvari je precej težko narediti.
V prvem primeru se bodo morali uporabniki zavedati, da je z obstoječo verigo nekaj narobe, se strinjati, da gredo v novo verigo, v kateri rudarji zdaj rudarijo, in prenesti programsko opremo, ki sprejema nova pravila. V drugem primeru se bodo vsi odjemalci in aplikacije, ki so odvisni od izvirnega digitalnega žetona, pokvarili, uporabniki bodo morali posodobiti svoje odjemalce, da bodo preklopili na nov digitalni žeton, in pametne pogodbe brez zmožnosti pogleda v zunanji svet in ugotovitve, da potrebo po posodobitvi se bo popolnoma pokvaril. Sredi vsega tega lahko nasprotniki zamenjave ustvarijo kampanjo strahu, negotovosti in dvoma, s katero poskušajo prepričati ljudi, da morda kljub vsemu ne bi smeli posodobiti svojih strank ali posodobiti svoje stranke na Tretji nabor pravil (npr. spreminjanje dokazila o delu), zaradi česar je izvajanje prehoda še težje.
Zato lahko rečemo, da v obeh primerih, čeprav teoretično obstajajo centralizirane ali kvazicentralizirane stranke, ki bi lahko izsilile prehod iz stanja A v stanje B, kjer je stanje B uporabnikom neprijetno, vendar je prednost pred centraliziranimi strankami, to zahteva prebijati težko koordinacijsko težavo. Težave z usklajevanjem so povsod v družbi in so pogosto slaba stvar – čeprav bi bilo za večino ljudi bolje, če bi se angleški jezik znebil svojega zelo zapletenega in nepravilnega sistema črkovanja in naredil fonetičnega, ali če bi Združene države prešle na metriko, ali če bi lahko takoj znižati vse cene in plače za deset odstotkov v primeru recesije, v praksi to zahteva, da se vsi dogovorijo o zamenjavi hkrati, kar je pogosto zelo zelo težko.
Z aplikacijami blockchain pa delamo nekaj drugega: težave s koordinacijo izkoriščamo sebi v prid, pri čemer uporablja trenje, ki ga povzročajo težave pri usklajevanju, kot zaščito pred zlorabami centraliziranih akterjev. Gradimo lahko sisteme, ki imajo lastnost X, in lahko zagotovimo, da bodo ohranili lastnost X do visoke stopnje, ker bi sprememba pravil iz X v ne-X zahtevala, da se cel kup ljudi strinja s posodobitvijo svoje programske opreme hkrati . Tudi če obstaja akter, ki bi lahko izsilil spremembo, bi bilo to težko narediti. To je vrsta varnosti, ki jo pridobite s preverjanjem soglasnih pravil verige blokov na strani odjemalca.
Upoštevajte, da je ta vrsta varnosti odvisna predvsem od decentralizacije uporabnikov. Tudi če je na svetu samo en rudar, še vedno obstaja razlika med kriptovaluto, ki jo rudari ta rudar, in centraliziranim sistemom, podobnim PayPalu. V slednjem primeru lahko operater poljubno spreminja pravila, ljudem zamrzne denar, ponudi slabe storitve, zviša honorarje ali počne kup drugih stvari, težave pri koordinaciji pa gredo operaterju v prid, saj imajo takšni sistemi znatne omrežne učinke, zato bi se moralo zelo veliko uporabnikov hkrati strinjati s prehodom na boljši sistem. V prvem primeru veljavnost na strani odjemalca pomeni, da so številni poskusi zlorabe, v katere bi se rudar morda želel vključiti, privzeto zavrnjeni, problem usklajevanja pa zdaj deluje v korist uporabnikov.
Upoštevajte, da zgornji argumenti NE veljajo, sami, nakazujejo, da je slaba ideja, da so rudarji glavni akterji, ki usklajujejo in odločajo o velikosti bloka (ali v primeru Ethereuma, o omejitvi plina). Prav lahko se zgodi, da v posebnem primeru velikosti bloka/omejitve plina, je »vlada s strani usklajenih rudarjev z usklajenimi spodbudami« optimalen pristop za odločanje o tem posameznem parametru politike, morda zato, ker je tveganje, da bodo rudarji zlorabili svojo moč, nižje od tveganja, da se bo katera koli izbrana trda omejitev izkazala za skrajno neprimerno za tržne razmere. desetletje po postavitvi meje. Vendar pa ni nič nerazumnega, če trdimo, da je vlada s strani rudarjev najboljši način za odločanje o enem parametru politike, in hkrati trdimo, da za druge parametre (npr. nagrada za blok), se želimo zanašati na validacijo na strani odjemalca, da zagotovimo, da so rudarji omejeni. To je bistvo inženiringa decentraliziranih institucij: gre za strateško uporabo koordinacijskih težav za zagotovitev, da sistemi še naprej izpolnjujejo določene želene lastnosti.
Zgornji argumenti prav tako ne pomenijo, da je vedno optimalno poskušati vse postaviti v verigo blokov, tudi za storitve, ki zahtevajo zaupanje. Na splošno je mogoče doseči vsaj nekaj dobička z izvajanjem več poslovne logike v verigi blokov, vendar so pogosto veliko manjši od izgub pri učinkovitosti ali zasebnosti. In to ok; blockchain ni najboljše orodje za vsako nalogo. Kakšni so zgornji argumenti do vendar pomeni, da če gradite aplikacijo, ki temelji na verigi blokov in vsebuje veliko centraliziranih komponent zaradi nujnosti, potem lahko bistveno povečate zmanjšanje zaupanja tako, da uporabnikom omogočite dostop do vaše aplikacije prek običajnega odjemalca verige blokov ( npr. v primeru Ethereuma je to lahko Mist, Parity, Metamask ali Status), namesto da bi jim omogočili uporabo spletnega vmesnika, ki ga osebno nadzorujete.
Teoretično so prednosti validacije na strani uporabnika optimizirane, če dobesedno vsak uporabnik zažene neodvisno »idealno polno vozlišče« – vozlišče, ki sprejme vse bloke, ki sledijo pravilom protokola, s katerimi so se vsi strinjali pri ustvarjanju sistema, in zavrne vse bloke, ki ne. V praksi pa to vključuje zahtevo vsakemu uporabniku, da obdela vsako transakcijo, ki jo izvajajo vsi v omrežju, kar je očitno nevzdržno, zlasti če upoštevamo hitro rast uporabnikov pametnih telefonov v državah v razvoju.
Tukaj sta dva izhoda. Prvi je, da se lahko tega zavedamo, medtem ko je optimalna z vidika zgornjih argumentov, da vsi vodijo polno vozlišče, zagotovo ni obvezna. Verjetno bo katera koli večja veriga blokov, ki deluje s polno zmogljivostjo, že dosegla točko, ko »običajnim ljudem« ne bo smiselno porabiti petine prostora na trdem disku za zagon polnega vozlišča, zato so preostali uporabniki hobisti in podjetja. Dokler jih je precej veliko in prihajajo iz različnih okolij, bo težava usklajevanja, da bi te uporabnike spravili v dogovarjanje, še vedno zelo težka.
Drugič, lahko se zanesemo tehnologija odjemalca močne svetlobe.
V sistemih blockchain sta na splošno možni dve ravni »lahkih odjemalcev«. Prvi, šibkejši, lahki odjemalec preprosto prepriča uporabnika z določeno stopnjo ekonomskega zagotovila, da je v verigi, ki jo podpira večina omrežja. To je mogoče storiti veliko ceneje kot preverjanje celotne verige, saj je vse, kar morajo stranke storiti, v shemah dokazila o delu preveriti nonces ali v shemah dokazil o vložkih preveriti podpisana potrdila, ki navajajo »bodisi je korenski hash stanja tisto, kar jaz rečem je, lahko pa to potrdilo objavite v glavni verigi, da izbrišete velik znesek mojega denarja. Ko lahki odjemalec preveri korensko zgoščeno vrednost, lahko uporabi drevesa Merkle za preverjanje katerega koli specifičnega podatka, ki bi ga morda želel preveriti.
Poglejte, to je drevo Merkle!
Druga raven je lahki odjemalec, ki "skoraj v celoti preverja". Tovrstna stranka ne poskuša le slediti verigi, ki ji sledi večina; namesto tega poskuša slediti samo verigam, ki upoštevajo vsa pravila. To dosežemo s kombinacijo strategij; najpreprosteje je razložiti, da lahko lahki odjemalec sodeluje s specializiranimi vozlišči (zasluga Gavinu Woodu, da se je domislil imena "fishermen"), katerih namen je iskanje blokov, ki so neveljavni, in ustvarjanje "dokazov goljufij", kratkih sporočil, ki v bistvu reči: "Poglej! Ta blok ima napako tukaj!« Lahki odjemalci lahko nato preverijo ta določen del bloka in preverijo, ali je dejansko neveljaven.
Če se ugotovi, da je blok neveljaven, se zavrže; če lažji odjemalec nekaj minut ne sliši nobenih dokazov o prevari za dani blok, potem domneva, da je blok verjetno zakonit. Tam je malo večja kompleksnost sodeluje pri obravnavi primera, kjer težava niso podatki, ki so slabo, temveč podatki, ki so manjka, vendar se je na splošno mogoče precej približati ulovu vseh možnih načinov, kako lahko rudarji ali validatorji kršijo pravila protokola.
Upoštevajte, da lahko lahki odjemalec učinkovito potrdi nabor aplikacijskih pravil, morajo biti ta pravila izvedena znotraj soglasja – to pomeni, da morajo biti del protokola ali del mehanizma, ki se izvaja znotraj protokola ( kot pametna pogodba). To je ključni argument v prid uporabi verige blokov tako za shranjevanje podatkov kot za izvajanje poslovne logike, v nasprotju s samo shranjevanjem podatkov.
Te tehnike lahkih odjemalcev so nepopolne, saj se zanašajo na predpostavke o omrežni povezljivosti in številu drugih lahkih odjemalcev in ribičev, ki so v omrežju. Vendar za njih pravzaprav ni ključno, da delajo 100 % časa za 100 % validatorjev. Nasprotno, vse, kar želimo, je ustvariti razmere, v katerih bo vsak poskus sovražnega kartela rudarjev/validatorjev, da potisne neveljavne bloke brez soglasja uporabnika, povzročil veliko glavobolov za veliko ljudi in na koncu zahteval, da vsi posodobijo svojo programsko opremo, če želite nadaljevati sinhronizacijo z neveljavno verigo. Dokler je temu zadoščeno, smo dosegli cilj varnosti z usklajevalnimi trenji.
vir: https://vitalik.eth.limo/general/2017/05/08/coordination_problems.html
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- PlatoData.Network Vertical Generative Ai. Opolnomočite se. Dostopite tukaj.
- PlatoAiStream. Web3 Intelligence. Razširjeno znanje. Dostopite tukaj.
- PlatoESG. Ogljik, CleanTech, Energija, Okolje, sončna energija, Ravnanje z odpadki. Dostopite tukaj.
- PlatoHealth. Obveščanje o biotehnologiji in kliničnih preskušanjih. Dostopite tukaj.
- BlockOffsets. Posodobitev okoljskega offset lastništva. Dostopite tukaj.
- vir: Platonova podatkovna inteligenca.