Jag skapade ett kontrakt med öppen källkod och webbgränssnitt, OracleSwap, eftersom jag vill se krypto flytta tillbaka till sina off-the-grid rötter. Jag kan inte administrera det eftersom jag har för många fingeravtryck på det för att dra direkt nytta av det. OracleSwap är en mall som gör det enkelt för programmerare att administrera kontrakt som refererar till objektiva resultat: likvida tillgångar eller sportvadslagning. Användare skapar långa eller korta swappositioner (aka CFD) som refererar till ett unikt Oracle-kontrakt som lagrar priser (prototypen refererar till ETH/USD, BTC/USD och S&P500). De enda användarna i detta kontrakt är likviditetsleverantörer, investerare och oracle. Den enda attackytan är via ett konspirerande orakel som lägger ut ett bedrägligt pris. Den innehåller flera innovationer, inklusive framåtriktade priser (som marknad vid stängning), nettningsexponering för likviditetsleverantörer och möjligheten och incitamentet för fuskade parter att nollställa sin fuskare.
Vitboken och tekniska bilagan beskriver det mer fullständigt, men jag vill förklara varför ett centraliserat, pseudonymt orakel är bättre än ett decentraliserat orakel för smarta kontrakt. Många tankeväckande kryptoledare tror att decentralisering är en förutsättning för varje dapp på blockkedjan, vilket de definierar som att det innebär många agenter och en konsensusmekanism. Detta är helt enkelt felaktigt, ett kategorifel som antar att delarna måste ha helhetens egenskaper. Summan av kardemumman är att decentraliserade orakel är ineffektiva och distraherar från den grundläggande mekanismen som gör alla orakel "troliga".
Efter det första korståget (1099) skyddade tempelriddarna pilgrimer till det nyerövrade Jerusalem och utvecklade snabbt en tidig internationell bank. En pilgrim kunde sätta in pengar eller värdesaker i ett tempelriddare och få ett officiellt brev som beskrev vad de hade. Den pilgrimen kunde sedan ta ut pengar längs vägen för att ta hand om deras behov. På 12-talet kunde insättare fritt flytta sin förmögenhet från en fastighet till en annan.
Tempelherrarna var inte under någon monarks kontroll, och ännu värre, många var skyldiga dem pengar. Så småningom grep kung Filip IV av Frankrike en attackyta genom att arrestera hundratals topptemplarer, inklusive stormästaren, alla på samma dag över hela Europa 1307. De anklagades för kätteri, den medeltida versionen av systematisk risk, ett tydligt hot mot allt som är gott och ädelt. Några år senare avrättades många tempelriddare och tempelriddarnas banksystem försvann [okända tempelridder kunde på något sätt fly med sin enorma förmögenhet, som då inte var digital, och det är ett mysterium vart det tog vägen].
Regeringar, börser och traditionella finansiella institutioner har alltid bekämpat allt som kan minska deras marknadsmakt. Decentralisering är avgörande för att motstå deras oundvikliga attacker, eftersom om någon tar över en befintlig blockkedja kan den dyka upp igen via en hård gaffel. Nuvärdet av den gamla kedjan skulle skapa en villig och kapabel armé av ersättningsgruvarbetare om Kina eller Craig Wright beslutade sig för att tillägna sig 51 % av befintliga Ethereum-gruvarbetare.
Vitalik Buterin beskriver fint denna motståndskraft i sin beundransvärda bedömning av hans begränsade kraft:
Grejen med utvecklare är att vi är ganska fungibla människor. En utvecklare går ner, och någon annan kan fortsätta utvecklas. Om någon sätter en pistol mot mitt huvud och säger åt mig att skriva en hård gaffellapp, kommer jag definitivt att skriva den hårda gaffellappen. Jag kommer att skriva GitHub-frågan, jag skriver upp koden, jag publicerar den och jag kommer att göra allt de säger. Om jag gör detta och publicerar en hårdgaffelpatch för att radera ett gäng konton, hur många personer kommer att vara villiga att ladda ner uppdateringen, installera den och byta till den uppdateringen? Detta kallas decentralisering.
Vitalik Buterin. TechCrunch: Sessions Blockchain 2018.
Potentialen för en hård gaffel vid en attack är det primära skyddet mot utomstående. Detta beror på att protokollet har en djup och engagerad uppsättning användare och utvecklare som prioriterar viktiga bitcoinprinciper – transparens, oföränderlighet, pseudonymitet, konfiskationssäker och tillståndslös åtkomst – och varför decentralisering är avgörande för långsiktig kryptosäkerhet.
Utomstående attacker har decimerat om inte förstört flera en gång användbara finansiella innovationer. E-gold, Etherdelta, Intrade och ShapeShift hade alla iögonfallande centraliseringspunkter, vilket gjorde det möjligt för myndigheter att åtala, stänga eller tvinga dem att underkasta sig traditionella finansiella protokoll. Ett pseudonymt orakel som kör praktiskt taget skript på fjärrservrar över hela världen skulle vara ogenomträngligt för sådana störningar. Detta arv är det som gör Ethereum så värdefullt, eftersom dapps inte behöver sina egna decentraliserade konsensusmekanismer för att undvika sådana attacker.
Varje orakel som underlättar handel med derivat eller sportvadslagning är föremål för reglering i de flesta utvecklade länder. Dapp-företag är iögonfallande attackytor. I den mån Augur och 0x inte konkurrerar med traditionella institutioner gör myndigheter klokt i att se dem som obetydliga kuriosa helt enkelt. Om dessa protokoll någonsin blir konkurrenskraftiga med konventionella finansinstitut – genom att tillhandahålla en terminsposition på ETH-priset, till exempel – kommer alla traditionella fiat-regler att tvingas på dem under förevändning att skydda allmänheten. Maker och Kedjelänk flirtar redan med KYC, eftersom de vet att de inte på ett påfallande sätt kan tjäna pengar på marknader som i slutändan kommer att generera vinster utan att ge upp till Borg kollektiv.
Satoshi behövde förbli anonym i de tidiga stadierna av bitcoin för att undvika att några lokala myndigheter åtala honom innan bitcoin kunde fungera utan honom. Peer-to-peer-systemet som bitcoin initialt emulerade, Tor, är befolkat av människor som inte annonserar på traditionella plattformar, har institutionella investerare eller talar på konferenser. Livskraftiga dapps bör följa detta exempel och fokusera mindre på bolagisering och mer på att utveckla sitt rykte bland nuvarande kryptoentusiaster.
För ärenden som rör små summor är det svårt för slumpmässiga individer i decentraliserade system att samverka på andra deltagares bekostnad. Kostnaderna för samverkan är för höga, vilket eliminerar effekten av troll och enastående bråkmakare. Ändå skapar detta en farlig känsla av självbelåtenhet eftersom alla robusta mekanismer måste framkalla gott beteende även om det finns maskopi. Om vi vill att blockkedjan ska hantera verkliga, betydande transaktioner en dag, innebär detta fall där det skulle finnas tillräckligt med ETH på spel för att anta att någon så småningom kommer att konspirera för att hacka systemet.
Satoshi visste att skadlig samverkan skulle vara möjlig med bevis på arbete, bara inte problematiskt eftersom det skulle vara självförstörande. I den Bitcoin vitbokSatoshi betonade hur proof-of-work tog bort behovet av en pålitlig tredje part, varför termen trustless ofta tillskrivs ett decentraliserat nätverk. Med proof-of-work är det inte omöjligt att dubbelt spendera, bara tvärtemot egenintresserad rationalitet. Specifikt skrev han att alla med förmågan att dubbla spendera "borde finna det mer lönsamt att följa reglerna … än att undergräva systemet och giltigheten av sin egen rikedom. '
För de stora blockkedjorna som Ethereum och Bitcoin behöver man specialiserad gruvutrustning som bara är värdefull om gruvarbetare följer bokstaven och andan i sin lag. Kapitalet som förstörs genom att manipulera block är tusen gånger större än den direkta hash-kraftkostnaden för en sådan attack. Medan en handfull Bitcoin- eller Ethereum-gruvgrupper effektivt kan samverka och kontrollera 51 % nätverkskontroll, är det inte oroande eftersom det inte skulle ligga i deras egenintresse att konstruera en dubbelutgift med tanke på kostnaden för att förlora framtida intäkter. Till exempel, våren 2019, föreslog chefen för Binance, Changpeng Zhao, en blockchain-återställning för att ångra en nyligen genomförd stöld. Bitcoin-gemenskapen hånade honom och han drog snabbt tillbaka eftersom detta inte skulle ligga i bitcoingruvarbetarnas eller börsernas långsiktiga egenintresse. Att spara 40 miljoner dollar skulle decimera en blockkedja på 100 miljarder dollar, vilket gör detta till ett enkelt beslut.
Folk nämner ofta kollusionsmotstånd som en primär decentraliseringsdygd. En bättre term vore konspirationsmotstånd. Ett decentraliserat system måste generera lämpliga incitament även om det finns maskopi eftersom samverkan alltid är möjligt eftersom, i praktiken, stora decentraliserade blockkedjor kontrolleras av en handfull team (Michels' Oligarkins järnlag). Det har förekommit flera fall av godartad blockkedjekollision, som när den tillämpas klokt och sparsamt ökar motståndskraften (t.ex. lappades sårbarheter i Bitcoin bakom kulisserna i september 2018, den ökända Ethereum 2016-återställningen som svar på DAO-hacket). Juridikprofessor Angela Walsh markerad episoder av godartad maskopi som bevis Bitcoin och Ethereum är inte decentraliserade och bör därför regleras mer av standardinstitutionerna.
Advokater är angelägna om tekniska definitioner, men nyckelpunkten är att de konventionella tillsynsmyndigheterna inte kan reglera Bitcoin eller Ethereum om de försökte, vilket lyfter fram den väsentliga decentraliseringen av dessa protokoll. Om SEC i USA, eller FCA i Storbritannien, försökte aggressivt reglera Ethereum skulle de hitta beslutsfattarna snart utanför deras jurisdiktion. På samma sätt, om Joe Lubin och Vitalik Buterin gick med på att vika Ethereum till Facebook skulle gruvarbetare splittra det gamla kedjan och den befintliga Ether skulle vara mer värdefull på denna nya kedja. I den mån ett sådant drag är troligt är protokollet decentraliserat, säkert från utomstående som av någon anledning inte gillar dess vision.
Konspirationsmotstånd beror allt på incitament, att se till att de som kör systemet tycker att det är mer värdefullt att köra systemet som allmänt sett är mer värdefullt än fusk. Samma vinstmaximerande incitament håller inte bara gruvarbetare ärliga, utan det skyddar dem också från sig själva. Även om blockkedjor har många saker gemensamt har de väldigt olika prioriteringar. Användare som prioriterar hastighet föredrar EOS; de som prioriterar anonymitet, Monero; institutionell acceptans, Ripple. Ett kvorum av gruvarbetare som konspirerar för att radikalt ändra sin blockchains traditionella prioriteringar kommer att devalvera sin tillgång genom att alienera sin bas, och de som delar den nya prioriteringen kommer inte att byta över, utan snarare betona att deras favoritblockchain har haft rätt hela tiden. Konkurrens mellan kryptor förhindrar hubristiska insiders från att göra för mycket skada.
Snabb och okomplicerad övervakning är avgörande för att skapa en incitamentskompatibel mekanism. För ett decentraliserat orakel är olika undergrupper av agenter i arbete med alla resultat. Det är svårt att hitta en kortfattad uppsättning data om till exempel procentandelen och typen av Augur-marknader som förklarats ogiltiga, eller en lista över Chainlinks tidigare resultatrapporter. Även om all orakelrapportering existerar (oföränderligt!), är det helt enkelt opraktiskt för en genomsnittlig användare att sätta ihop detta. Vidare avfärdas tidigare fel och fusk som anomalier, vilket sänker kostnaderna för fusk.
2017 års ICO-bubbla uppmuntrade alla i kryptorymden att utfärda tokens oavsett behov; hur en token skulle göra en dapp mer effektiv var en sekundär oro för investerare som var ivriga att investera i nästa bitcoin. Även om en liten del av ICO-pengar användes för forskning och utveckling, innebär det hundratals miljoner dollar av talang och tid fokuserad på att skapa decentraliserade dapps som kan motivera deras behov av tokens. Alla skulle alla ha insett värdet av ett pålitligt decentraliserat orakel, men de kunde inte leverera ett, ett talande misslyckande. De mest populära oraklen idag är effektivt centraliserade, eftersom ChainLink och MakerDAO har iögonfallande attackytor eftersom de båda är hårt kontrollerade av insiders. De kommer att fortsätta att vara effektivt centraliserade eftersom alternativet skulle vara ett Augur-liknande system som är oacceptabelt ineffektivt (långsamma, hackbara, lama kontrakt).
Decentraliserade orakel som är beroende av marknadsvärdet på deras tokens som inciterar till gott beteende har en betydande kil mellan hur mycket användare måste betala oraklet och hur mycket som behövs för att hålla det ärligt. Anta till exempel att det finns ett spel så att man måste betala reportern 1 ETH så att nettovinsten av att rapportera ärligt är större än en bluff som reportern kan genomföra. Om endast 2 % av tokeninnehavarna rapporterar om ett resultat, innebär detta att vi måste betala 50 ETH till oraklet kollektivt (1/0.02), eftersom vi inte har något sätt att fokusera nuvärdet av token på delmängden av tokeninnehavares rapportering . Man skulle kunna tvinga reportern att lägga ut en obligation som skulle gå förlorad om de rapporterade oärligt, men för att få detta att fungera skulle det begränsa utbetalningen på triviala nivåer baserat på reporterkapitalet, vilket ineffektivt ignorerar oraklets nuvärde och också innebär en långvarig försenad betalning.
Ett annat problem med decentraliserade orakel är att de i allmänhet tjänar en mängd olika spel. Även om detta underlättar vanföreställningar om Amazon-liknande generalitet, gör det att specifika kontrakt är dåligt anpassade till orakelincitament. Frekvensen och storleken på utbetalningen kommer att variera mellan olika applikationer så att en orakelavgift som uppmuntrar ärlighet hela tiden blir för dyr för de flesta applikationer. Effektiva lösningar minimerar kontextuella parametrar, vilket innebär att den bästa generella lösningen kommer att vara suboptimal för en viss användning.
Även om det finns uppenbara kostnader för decentralisering inom ett orakel, finns det inga fördelar om det grundläggande kravet på censur/attackmotstånd är uppfyllt. Publikens visdom är inte relevant för kontrakt på likvida tillgångar som bitcoin eller S&P500. En algoritm för ryktesvärdering är meningslös eftersom den mest uppenbara risken är en exit-bedrägeri, som förlitar sig på att uppträda ärligt fram till den slutliga transaktionen (Bitconnect).
För att anpassa oraklets utdelningsutrymme på ett kryptoekonomiskt optimalt sätt måste man skapa en orakelutdelning så att fördelen med sanningsenlig rapportering alltid uppväger kostnaderna för felrapportering. Genom att ha oraklet i total kontroll maximeras dess intäkter från sanningsenlig rapportering; genom att vara otvetydigt ansvarig och lätt att granska och straffa, bärs dess kostnader från felaktig rapportering helt av oraklet; genom att spela ett specifikt upprepat spel blir kostnads-/nyttoberäkningen konsekvent varje vecka; genom att ge en lurad användare möjligheten och incitamentet att straffa ett fuskande orakel, minimeras fuskutdelningen. Dessa leder alla till effektiviteten hos ett orakel med en enda agent.
Oavsiktliga fel kan komma från korrupta källor eller algoritmen som aggregerar dessa priser och lägger upp ett enda pris i kontraktet. Vi gör ofta oavsiktliga misstag och förlitar oss på goodwill och sunt förnuft hos dem vi gör affärer med för att "ångra" de fall där vi kan ha lagt till en extra nolla till en betalning. Kreditkort tillåter återkrav, och om en bank av misstag sätter in 1 MM på ditt konto är du skyldig att betala tillbaka det. Nackdelen är att denna process involverar tredje parter som upprätthåller regeln att stora oavsiktliga misstag är reversibla, och detta innebär att de har rättigheter över användarkontosaldon.
I OracleSwap har själva Oracle-kontraktet två felkontroller inom solidity-koden. För det första, om priserna rör sig med mer än 50 % från deras tidigare värde, och för det andra, om de är exakt samma som deras tidigare värde. Dessa begränsningar fångar de vanligaste felen. Utanför blockkedjan är dock felfiltrering mer effektivt åtgärdat i allmänhet, och i slutändan bör det göras till en algoritm eftersom man annars introducerar en attackyta via människan som skulle verifiera en slutrapport. Att använda många människor för att reducera fel bidrar alltså bara till den mer subtila och farliga källan till dåliga priser. OracleSwap använder en automatisk dragning av priser från flera oberoende källor, under ett par-minutersfönster, och tar medianen. Eftersom kontraktet riktar sig till långsiktiga investerare, kommer ett medianpris från flera börser att ha ett acceptabelt standardfel; eftersom de exakta flödena och utbytena är ospecificerade, förhindrar detta censur; eftersom priserna publiceras under en 1-timmesperiod som utesluter handel, är det lätt att samla in och validera ett korrekt pris.
Att decentralisera orakel löser ett problem de inte har: attack- och censurmotstånd. En agent som uppdaterar ett orakelkontrakt behöver bara tillgång till internet och pseudonymitet för att undvika censur. Med tanke på det är det bästa sättet att skapa ordentliga orakelincitament att skapa ett spel där vinsterna för ärlighet och fusk är väl parametriserade och utomstående enkelt kan verifiera om en agent beter sig ärligt. Enkelhet är avgörande för alla robusta spel, och detta innebär att man tar bort partier och procedurer.
Marknader är den ultimata decentraliserade mekanismen. Det är ingen paradox att marknader består av centraliserade agenter då det ofta är sakens natur att fastigheter finns på lägre nivåer men inte högre. En decentraliserad marknad behöver bara konsumenterna ha både valmöjligheter och information, och att företagen har fritt inträde. Marknader har alltid varit beroende av individer och företag med värdefullt rykte eftersom kvalitet alltid är svårt att bedöma, så konsumenter föredrar säljare med gott rykte för att undvika att gå hem med dåliga ägg eller en bil med dåliga ledningar. Blockkedjor är historiens bästa ansvarsenhet, vilket gör att kontrakt kan skapa värdefullt rykte för sina administratörer samtidigt som de förblir anonyma och därmed ocensurerbara.
En uppsättning konkurrerande kontrakt är effektivare än generaliserade orakel utformade för ospecificerade kontrakt, eller generaliserade handelsprotokoll utformade för ospecificerade orakel. Ett enkelt kontrakt kopplat till ett orakel som är "allt-in" skapar tydlig och otvetydig ansvarsskyldighet, vilket genererar det starkaste incitamentet för ärlig rapportering