Blockchain

[Mirror] Ett bevis på insatsens designfilosofi

Vitalik Buterin via Vitalik Buterins blogg

Detta är en spegel av inlägget kl https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51

System som Ethereum (och Bitcoin, och NXT, och Bitshares, etc) är en fundamentalt ny klass av kryptoekonomiska organismer - decentraliserade, jurisdiktionslösa enheter som existerar helt och hållet i cyberrymden, upprätthållna av en kombination av kryptografi, ekonomi och social konsensus. De är ungefär som BitTorrent, men de är inte heller som BitTorrent, eftersom BitTorrent inte har något begrepp om tillstånd - en distinktion som visar sig vara avgörande. De beskrivs ibland som decentraliserade autonoma företag, men de är inte heller helt företag — du kan inte hårdga Microsoft. De är ungefär som programvaruprojekt med öppen källkod, men de är inte riktigt det heller - du kan dela en blockkedja, men inte riktigt lika lätt som du kan punga OpenOffice.

Dessa kryptoekonomiska nätverk finns i många varianter - ASIC-baserad PoW, GPU-baserad PoW, naiv PoS, delegerad PoS, förhoppningsvis snart Casper PoS - och var och en av dessa smaker kommer oundvikligen med sin egen underliggande filosofi. Ett välkänt exempel är den maximalistiska visionen om bevis på arbete, där "den" korrekta blockkedjan, singular, definieras som den kedja som gruvarbetare har bränt den största mängden ekonomiskt kapital för att skapa. Ursprungligen en regel för val av gaffel i protokollet, har denna mekanism i många fall upphöjts till en helig grundsats — se denna Twitter-diskussion mellan mig själv och Chris DeRose för ett exempel på någon som på allvar försöker försvara idén i ren form, även inför hash-algoritm-förändrande protokoll hårda gafflar. Bitshares delegerat bevis på insats presenterar en annan sammanhängande filosofi, där allt återigen flödar från en enda grundsats, men en som kan beskrivas ännu enklare: aktieägarna röstar.

Var och en av dessa filosofier; Nakamoto-konsensus, social konsensus, aktieägarröstningskonsensus, leder till sin egen uppsättning slutsatser och leder till ett värdesystem som är ganska vettigt när det ses på sina egna villkor - även om de säkert kan kritiseras när de jämförs mot varandra. Caspers konsensus har också en filosofisk grund, även om en som hittills inte har varit lika kortfattad.

Jag själv, Vlad, Dominic, Jae och andra har alla sina egna åsikter om varför bevis för insatsprotokoll finns och hur man utformar dem, men här tänker jag förklara var jag personligen kommer ifrån.

Jag fortsätter med att lista observationer och sedan slutsatser direkt.

  • Kryptografi är verkligen speciellt på 21-talet eftersom kryptografi är ett av de mycket få områden där motståndskonflikter fortsätter att starkt gynna försvararen. Slott är mycket lättare att förstöra än att bygga, öar är försvarbara men kan fortfarande attackeras, men en genomsnittlig persons ECC-nycklar är tillräckligt säkra för att motstå även aktörer på statlig nivå. Cypherpunks filosofi handlar i grunden om att utnyttja denna värdefulla asymmetri för att skapa en värld som bättre bevarar individens autonomi, och kryptoekonomi är i viss mån en förlängning av det, förutom att den här gången skyddar säkerheten och livligheten hos komplexa system för koordination och samarbete, snarare. än bara integriteten och sekretessen för privata meddelanden. System som anser sig vara ideologiska arvtagare till cypherpunk-andan bör behålla denna grundläggande egenskap, och vara mycket dyrare att förstöra eller störa än de är att använda och underhålla.
  • "Cyferpunkandan" handlar inte bara om idealism; att göra system som är lättare att försvara än de är att attackera är också helt enkelt ljudteknik.
  • På medellång till lång tidsskala är människor ganska bra på konsensus. Även om en motståndare hade tillgång till obegränsad hashkraft och kom ut med en attack på 51 % av någon större blockchain som återställde till och med historiens sista månad, är det mycket svårare att övertyga samhället om att denna kedja är legitim än att bara köra ifrån huvudkedjans hashpower. . De skulle behöva undergräva blockupptäckare, alla betrodda medlemmar i samhället, New York Times, archive.org och många andra källor på internet; Sammantaget är det ungefär lika svårt att övertyga världen om att den nya attackkedjan är den som kom först under det informationstekniktäta 21-talet som att övertyga världen om att de amerikanska månlandningarna aldrig hände. Dessa sociala hänsyn är det som i slutändan skyddar blockkedjan på lång sikt, oavsett om blockkedjans community medger det eller inte (anteckna det Bitcoin Core erkänner detta sociala skikts företräde).
  • Men en blockkedja som skyddas av enbart social konsensus skulle vara alldeles för ineffektiv och långsam, och för lätt för att meningsskiljaktigheter ska fortsätta utan slut (men trots alla svårigheter, det har hänt); därav, ekonomisk konsensus spelar en oerhört viktig roll för att skydda livlighet och säkerhetsegenskaper på kort sikt.
  • Eftersom bevis på arbetssäkerhet bara kan komma från blockbelöningar (i Dominic Williams termer, det saknar två av de tre E), och incitament till gruvarbetare kan bara komma från risken att de förlorar sina framtida blockbelöningar, bevis på arbete fungerar nödvändigtvis på en logik av massiv makt som stimuleras till existens av massiva belöningar. Återhämtning från attacker i PoW är mycket svår: första gången det händer, kan du hårt gaffel för att ändra PoW och därigenom göra angriparens ASIC:er värdelösa, men andra gången har du inte längre det alternativet, och så kan angriparen attackera igen och igen. Därför måste storleken på gruvnätverket vara så stor att attacker är otänkbara. Angripare av storlek mindre än X avskräcks från att dyka upp genom att nätverket ständigt spenderar X varje dag. Jag förkastar denna logik eftersom (i) den dödar träd, och (ii) den misslyckas med att inse cypherpunk-andan — kostnaden för attack och kostnad för försvar är i förhållandet 1:1, så det finns ingen försvarares fördel.
  • Bevis på insats bryter denna symmetri genom att inte förlita sig på belöningar för säkerhet, utan snarare påföljder. Validatorer sätter pengar (”insättningar”) på spel, belönas något för att kompensera dem för att de låser in sitt kapital och underhåller noder och vidtar extra försiktighetsåtgärder för att säkerställa deras privata nyckelsäkerhet, men huvuddelen av kostnaden för att återställa transaktioner kommer från påföljder som är hundratals eller tusentals gånger större än belöningarna som de fick under tiden. "En meningsfilosofin" om bevis på insats är alltså inte "säkerhet kommer från att bränna energi", utan snarare "säkerhet kommer från att sätta upp ekonomiskt värde med förlust". Ett givet block eller tillstånd har $X-säkerhet om du kan bevisa att uppnåendet av en lika stor finaliseringsnivå för ett konfliktblock eller tillstånd inte kan uppnås om inte skadliga noder är medskyldiga i ett försök att få switchen att betala straffavgifter till ett värde av $X i protokollet.
  • Teoretiskt sett kan en majoritetssamverkan av validerare ta över ett bevis på insatskedjan och börja agera illvilligt. Men (i) genom smart protokolldesign kan deras förmåga att tjäna extra vinster genom sådan manipulation begränsas så mycket som möjligt, och ännu viktigare (ii) om de försöker förhindra nya validerare från att gå med, eller utföra 51 % attacker, då gemenskapen kan helt enkelt koordinera en hård gaffel och ta bort de kränkande validatorernas insättningar. En framgångsrik attack kan kosta 50 miljoner dollar, men processen att städa upp konsekvenserna kommer inte att bli det den där mycket mer betungande än geth/paritetskonsensusfel 2016.11.25. Två dagar senare är blockkedjan och communityn tillbaka på rätt spår, angripare är 50 miljoner dollar fattigare och resten av samhället är sannolikt rikare eftersom attacken kommer att ha fått värdet på token att försvinna up på grund av den efterföljande försörjningskrisen. Det är attack/försvarsasymmetri för dig.
  • Ovanstående ska inte uppfattas som att oplanerade hårdgafflar kommer att bli en vanlig företeelse; om så önskas, kostnaden för en enda 51% attack på bevis på insats kan säkert sättas till lika hög som kostnaden för en permanenta 51 % attack mot bevis på arbete, och den rena kostnaden och ineffektiviteten av en attack bör säkerställa att den nästan aldrig görs i praktiken.
  • Ekonomi är inte allt. Enskilda skådespelare kan vara motiverade av extraprotokollmotiv, de kan bli hackade, de kan bli kidnappade, eller så kan de helt enkelt bli fulla och besluta sig för att förstöra blockkedjan en dag och åt helvete med kostnaden. Dessutom, på den ljusa sidan, Individers moraliska tålamod och kommunikationsineffektivitet kommer ofta att höja kostnaden för en attack till nivåer som är mycket högre än det nominella protokolldefinierade värdet vid förlust. Detta är en fördel som vi inte kan lita på, men samtidigt är det en fördel som vi inte i onödan ska kasta bort.
  • Därför är de bästa protokollen protokoll som fungerar bra under en mängd olika modeller och antaganden — ekonomisk rationalitet med samordnat val, ekonomisk rationalitet med individuellt val, enkel feltolerans, bysantinsk feltolerans (helst både adaptiva och icke-adaptiva motståndsvarianter). Ariely/Kahneman-inspirerade beteendeekonomiska modeller ("vi fuskar alla bara lite") och helst vilken annan modell som helst som är realistisk och praktisk att resonera kring. Det är viktigt att ha båda försvarsskikten: ekonomiska incitament för att avskräcka centraliserade karteller från att agera asocialt, och anticentraliseringsincitament för att avskräcka karteller från att bildas i första hand.
  • Konsensusprotokoll som fungerar så snabbt som möjligt har risker och bör närma sig mycket försiktigt om alls, för om Möjligheten att vara väldigt snabb är knuten till incitament för att göra det kommer kombinationen att belöna mycket höga och systemriskinducerande nivåer av centralisering på nätverksnivå (t.ex. alla validerare som körs från samma värdleverantör). Konsensusprotokoll som inte bryr sig så mycket om hur snabbt en validator skickar ett meddelande, så länge de gör det inom något acceptabelt långt tidsintervall (t.ex. 4–8 sekunder, eftersom vi empiriskt vet att latensen i ethereum vanligtvis är ~500ms- 1s) inte har dessa farhågor. En möjlig mellanväg är att skapa protokoll som kan fungera väldigt snabbt, men där mekanik som liknar Ethereums farbrormekanism säkerställer att den marginella belöningen för en nod som ökar dess grad av nätverksanslutning bortom någon lättillgänglig punkt är ganska låg.

Härifrån finns det förstås många detaljer och många sätt att divergera på detaljerna, men ovanstående är de kärnprinciper som åtminstone min version av Casper bygger på. Härifrån kan vi säkert diskutera kompromisser mellan konkurrerande värderingar. Ger vi ETH en årlig emissionstakt på 1 % och får en kostnad på 50 miljoner dollar för att tvinga fram en hårdgaffel för avhjälpande, eller en årlig emission på noll och får en kostnad på 5 miljoner dollar för att tvinga fram en hårdgaffel för avhjälpande? När ökar vi ett protokolls säkerhet under den ekonomiska modellen i utbyte mot att minska dess säkerhet under en feltoleransmodell? Bryr vi oss mer om att ha en förutsägbar säkerhetsnivå eller en förutsägbar emissionsnivå? Dessa är alla frågor för ett annat inlägg, och de olika sätten att genomföra de olika avvägningarna mellan dessa värden är frågor för ännu fler inlägg. Men vi kommer till det 🙂