Ništa nije uzeto u obzir: Pogled na Nothing na stupnju ranjivosti u kriptovalutama

presstab, Core Developer, Pivx

Sažetak – U pitanju je napad protiv svih Proof of Stake sustava. Iako argument ima neke zanimljive komponente, to bi trebao biti viđen kao nešto od vrlo malo brige za Dokaz o ulozi temelji cryptocurrency. Široka raspodjela moći snage, kao i široka raspodjela poštenih čvorova, lako će spriječiti bilo kakav napad napada od nečega što je u pitanju.
1 UVOD

Ništa u igri nije rutinski argument koji se pokreće protiv svih dokaznih sustava dokazivanja uloga. Iako argument ima neke zanimljive komponente za njega, to bi trebao biti viđen kao nešto od vrlo malo brige za Dokaz o ulozi temelji cryptocurrency.
Ništa u raspravi argument je opisan Etherium wiki [1]:
Međutim, ovaj algoritam ima jedan važan nedostatak: postoji “ništa za kockanje”. U slučaju vilice, da li je vilica slučajna ili zlonamjerni pokušaj prepisivanja povijesti i preokrenuti transakciju, optimalna strategija svakog rudara je na minama na svakom lancu, tako da rudar dobije svoju nagradu, bez obzira koju vilicu osvaja. Dakle, uz pretpostavku velikog broja ekonomski zainteresiranih rudara, napadač može biti u mogućnosti poslati transakciju u zamjenu za neko digitalno dobro (obično drugu kriptoznu valutu), primiti dobro, a zatim započeti vilicu blok-lanca iz jednog bloka iza transakcije i umjesto toga poslati novac za sebe, pa čak i sa 1% ukupnog udjela, napadačeva vilica će pobijediti jer su svi drugi rudari na oba.
Bit argumenta je u osnovi da je potrebno uložiti vrlo malo sredstava za ulog, ako postoje konkurentske vilice, to je u interesu stakla da se uloži na obje vilice. Istina je da zahtijeva vrlo malo resursa za ulog, zapravo je jedan od primarnih motivacija za koje je dokazan Dokaz o ulozi [2]. Nije istina da zahtijevanje minimalne potrošnje resursa za stvaranje udjela znači da “ništa nije u igri”.
2 SLUČAJ I SLUČAJNA ŠIRA S NATJECANJEM BLOKOVA NATJECANJA
Razmotrite slučaj u kojem se pojavljuje slučajna vilica mreže, problemi razmnožavanja mreže uzrokuju skupinu vršnjaka, Peer Group 1 (PG1), kako bi vidjeli određeni blok prije nego što skupina Peer Group 2 (PG2) ugleda blok. PG2 zatim prima drugačiji blok i prihvaća ga kao sljedeći blok, uzrokujući neusklađenost blok-lanca barem 1 blok na vrhu lanca (također poznat kao najbolji blok).
Argument ništa u igri neće inzistirati na tome da je u interesu PG2 čvora za udio na PG2 i PG1 lancu. PG2 će htjeti zaraditi svoj ulog, koliko god oni mogu i ako će lanac PG2 biti poništen niz cestu, onda bi mogli izgubiti dragocjeno vrijeme na PG2 umjesto da se staking na PG1.
Problem s ovom linijom razmišljanja je da je slučaj I scenarij obično kratko živio i automatizirano riješen softverom novčića u roku od nekoliko minuta. Svaki novac softver je malo drugačiji, ali tipični novac će imati radni i potpuno funkcionalan postupak kako bi utvrdio koji lanac je najbolji lanac i siroče nevažećih blokova. Sve dok PG1 i PG2 imaju jedan čvor koji komuniciraju s drugom skupinom čvorova, blokovi će se širiti i za obje skupine, a lanac koji ima najviše posla bit će odabran kao glavni lanac, alternativni lanac će biti siroče.
Najviše dokaza o kovanicama uloga koriste se za određivanje lanca valjanog lanca, što obično znači kombinaciju razine težine i broja blokova na lancu. Ako je staklo iz PG2 odlučilo provesti sate, ako ne i dane za stvaranje nekog promijenjenog koda koji će se izvoditi na oba lanca i udjela na oba lanca, to bi po definiciji značilo veliki gubitak resursa za to staklo jer bi trebalo samo nekoliko sekundi za nepromijenjeni softver za novčiće kako bi upozorio staklo u kojem se lanac treba smatrati glavnim lancem. Ako je staker povezan s oba lanca (kako bi se uložio na oba) onda bi to bilo apsolutno gubitak uloga na pogrešnom lancu (u ovom slučaju lanca PG2) umjesto da se fokusira na glavni lanac.
3 SLUČAJ II MALICIJU AKTIVNOSTI POŠALJUJU UDOVNICU NA TREĆU STRANU I ZAKLJUČU LUCI
Zlonamjerni glumac koji se zove hacker1337 šalje 1000 funstake novčića (FSC) u transakciju (tx1) na treću stranu novčanog ex promjena, ezex. Jednom kada je ezex priznao da račun računa hacker1337 sadrži 1.000 kovanica (obično zahtijevaju određenu količinu blokova dodanih blockchainu nakon dodavanja transakcije), hacker1337 koristi svoju veliku količinu FSC fondova i stoga snazi ​​snage kako bi stvorio alternativnu vilicu koja se pojavljuje blok prije nego se tx1 doda lancu. hacker1337 dodaje različitu transakciju (tx2) na zupčani lanac koji šalje te kovanice na sebe umjesto na ezex. Ako haker1337 uspješno dobije zupčani lanac da bude prihvaćen kao glavni lanac, ezex je dao kovanice hakera koji ne pripadaju tom računu.

Da bi taj napad bio uspješan, moraju biti ispunjeni sljedeći uvjeti:

  1. hacker1337 ima veliku količinu FSC-a.
  2. hacker1337 ima jedan od najvećih kapaciteta za spajanje među vlasnicima FSC-a.
  3. hacker1337 će dobiti više od pokretanja ovog na licu nego od posljedica pad vrijednosti FSC-a koji će se vjerojatno dogoditi kada se zna da je ranjiv na napade.

Uvjet 1 je pomalo očit. Staking zahtijeva držanje FSC-a. Kako bi se mogao uspoređivati ​​na način koji bi mogao stvoriti gore spomenutu vilicu, hacker1337 mora imati veliku količinu FSC-a.

Stanje 2 je možda najvažniji uvjet koji mora biti ispunjen. Ne samo da hacker1337 mora imati veliko držanje FSC-a, već također mora prevesti kao jedan od najviših kapaciteta za spajanje svih stackera FSC-a. Kao što je spomenuto u I. slučaju, glavni lanac određuje lanac koji ima najviše posla. hacker1337 će morati imati toliko snage da će moći vratiti se natrag u vrijeme i ulog puno brže nego što se dogodilo na valjanom lancu (što brže ulaze blokovi, to će veći posao biti). hacker1337 mora stoga nekako imati sposobnost da nadoknadi ostatak nositelja FSC-a na određeno vrijeme koji će omogućiti da zupčanik zaobilazi glavni lanac u količini posla.
Stanje 3 također je vrlo važno uzeti u obzir. Ako haker1337 prevare ezex, a zatim zadrži FSC nakon toga, haker1337 je u suštini prodao svoje fondove FSC-a po tržišnoj stopi, a potom će vjerojatno ostati udjeli FSC-a koji su se smanjili zbog tržišnih reakcija uslijed javne percepcije FSC-a ranjiva na napade dvostrukog provoda. Također je vjerojatno da će adresa hackera1337 biti uvrštena na crnu listu i stvoriti situaciju u kojoj bi bilo teško zaraditi u ostatku vrijednosti udjela hackera1337.
Da bi napad stvarno radio, hacker1337 bi želio poslati tx2 na drugu razmjenu stvarajući situaciju u kojoj hacker1337 u osnovi daje dva puta vrijednost izvornih FSC fondova. Zapravo, zašto ne rekurzivno oblikovati ovaj napad na sve poznate trgovce, razmjenu, član zajednice itd? Napravite rezultat koji daje tisuću vilice i tisuće dvostrukih trošenja, a veliku količinu lažnih zarada za hacker1337.
Do sada II. Slučaj nije imao nikakve veze s problemom u kojem nema problema. Zapravo gotovo uopće nema nikakve veze s dokazom o ulozi, a više je problem koji utječe na sve vrste sustava dokazivanja. Na primjer, u slučaju scenarije II, zamijenite pretpostavku da je FSC dokaz o ulozi kovanice i pretpostavimo da je dokaz o radu. Postoje tri istaknuta stanja koja moraju biti zadovoljena za napad Proba uloga, za isti napad, ali pokrenut na mreži Provjera rada samo uvjet 2 mora biti zadovoljen. Jedino što hacker1337 treba je imati jedan od najvećih rudarskih kapaciteta među FSC rudarima.
Čak i ako hacker1337 uspije ispuniti uvjet 2 (za bilo kakvu potvrdu o udjelu ili dokazivanju sustava na radu), ipak je vrlo malo vjerojatno da će jednostavno imati veliku sposobnost u određenom sustavu dokazivanja rezultirati sposobnošću stvaranja valjanog lanca. U gotovo svakom slučaju morati imati još jedan subcondition dodao:
1. hacker1337 uspješno sprečava druge važne sudionike u sustavu dokazivanja FSC da sudjeluju u provjeri lanca tijekom napada razdoblja.
Malo je vjerojatno da bi hacker1337 mogao stvoriti lanac koji bi mogao nadoknaditi i nadmašiti glavni lanac, da se uvjet 2 mora obaviti zajedno s sprečavanjem drugih čestih čvorova da se glavni lanac sve više i više teško približi , Tako se i napad tipa DoS treba pokrenuti kako bi hacker1337 omogućio stvaranje lanca koji će nadmašiti glavni lanac.
Ovo je točka II. Slučaja, gdje ništa u pitanju zapravo ne bi napravilo jasnu razliku između Dokaz o radu i Dokaz o ulozi.
2. Budući da je FSC dokaz o ulozi stakla, svi glavni sudionici i vlasnici udjela su mijenjali svoj softver za lisnicu na svaku lančanu vilicu koja se javlja.
Ako su ispunjeni uvjeti 2, tada se ne mora ispuniti uvjet 1. U ovom slučaju, da, ovo bi moglo biti vrlo problematično. hacker1337-ov alternativni lanac odmah bi imao potporu svih čvorova jer ti čvorovi podržavaju sve moguće vilice, jer, kako folklor ide, oni nemaju ništa u igri (osim za cijelu vrijednost svojih zaliha naravno, ali iz nekog razloga to se smatra ništa). Budući da će alternativni lanac imati podršku podrške robustan kapacitet za praćenje hakera i podrške pohlepanih čvorova koji se slože na oba lanca, vjerojatno će lanac koji haker1337 skočiti postat će glavni lanac.

Kako bi se ispunio uvjet 2, bitno je da većini zainteresiranih strana ima neku vrstu koristi za automatsko objavljivanje udjela svakoj vilici koja se javlja. Slučaj I pokazuje da nema razloga za poštene čvorove da se ulože na druge vilice s manje posla. Budući da nema razloga za poštene čvorove da se automatski ulože na sve vilice, ništa u igri za slučaj II zapravo ne završava ovdje.
Možda se u ovom trenutku može tvrditi da argument ovdje ne završava, jer što ako postoji samo nekoliko dodatnih glavnih nositelja udjela koji su modificirali softver koji je pokrenuo za ulog na svakom viljuškaru? U ovom slučaju, argument opet nije dokaz o dokazu Stake, to je isti temeljni dokazni sustav koji zlonamjerni glumac (ili u ovom slučaju skupini) ima dovoljno dokazne moći da napiše drugi lanac koji ima više posla. I opet, za ovaj argument, samo uvjet 2 mora biti zadovoljen za dokaz o radu, ali Dokaz o ulozi ima dodatnih 2 uvjeta koji moraju biti ispunjeni.
S bilo kojim sustavom dokazivanja, slučaj II se može potpuno izbjeći tako da ima raznovrsno držanje sposobnosti da dokaže dokaz. Za dokaz o radu idealno je imati raznovrsne rudarske bazene koji se lako drže jedni drugima u kontroli i čine ga vrlo nevjerojatnim za slučaj II biti izvedivo.
Za Dokaz o ulozi idealan je za kovanice, pa stoga moć da se distribuira preko mnogih čvorova koji će se lako držati jedan drugom u kontroli i čine ga vrlo nevjerojatno za slučaj II biti izvedivo.

ZAKLJUČAK
Za oba slučaja vilice s poštenim čvorovima i slučajevima vilica s zlonamjernim glumcima, u stvari postoji “nešto na kocki”. Za posebne argumente predstavljene protiv Dokaz o ulozi, može se reći da dokaz o ulozi zapravo može imati više robustan poticaj svojim vršnjacima i nositeljima dokaza da ostanu na glavnom lancu nego Provo o radu sustava. Što vrijedi više, cijela osoba posjeduje novčiće za dokaz o ulozi rudara ili nekoliko minuta potrošnje električne energije za rudare Dokaza o radu?
REFERENCES
[1] Etherium Wiki, https://github.com/ethereum/wiki/wiki/Problems
[2] S. King, S. Nadal, “PPCoin: Peer­toPeer Crypto­Currency with Proof­of­Stake,” 2012. https://peercoin.net/assets/paper/peer­ coin­paper.pdf