Ho creato un contratto open source e un front-end Web, Oracle Swap, perché voglio vedere la crittografia tornare alle sue radici off-the-grid. Non posso amministrarlo perché ho troppe impronte digitali per beneficiarne direttamente. OracleSwap è un modello che consente ai programmatori di amministrare facilmente contratti che fanno riferimento a risultati oggettivi: attività liquide o scommesse sportive. Gli utenti creano posizioni di swap lunghe o corte (note anche come CFD) che fanno riferimento a un contratto Oracle univoco che immagazzina i prezzi (il prototipo fa riferimento a ETH / USD, BTC / USD e S & P500). Gli unici utenti in questo contratto sono fornitori di liquidità, investitori e Oracle. La singola superficie di attacco avviene tramite un oracolo cospirante che pubblica un prezzo fraudolento. Contiene diverse innovazioni, inclusi i prezzi di partenza anticipata (come il mercato alla chiusura), l'esposizione di compensazione per i fornitori di liquidità e la capacità e l'incentivo per le parti truffate di azzerare i propri imbroglioni.
Il Libro bianco e l'appendice tecnica lo descrivono in modo più completo, ma voglio spiegare perché un oracolo centralizzato, pseudonimo, è meglio di un oracolo decentralizzato per i contratti intelligenti. Molti leader crittografici premurosi credono che il decentramento sia un prerequisito per qualsiasi dapp sulla blockchain, che definiscono implicare molti agenti e un meccanismo di consenso. Questo è semplicemente errato, un errore di categoria che presume che le parti debbano avere tutte le caratteristiche del tutto. La linea di fondo è che gli oracoli decentralizzati sono inefficienti e distraggono dal meccanismo fondamentale che rende qualsiasi oracolo "senza fiducia".
Dopo la prima crociata (1099), i Cavalieri Templari salvaguardarono i pellegrini nella Gerusalemme appena conquistata e rapidamente svilupparono una prima banca internazionale. Un pellegrino potrebbe depositare denaro o oggetti di valore all'interno di una roccaforte dei Templari e ricevere una lettera ufficiale che descrive ciò che avevano. Quel pellegrino poteva quindi prelevare contanti lungo il percorso per prendersi cura dei propri bisogni. Entro il XII secolo, i depositanti potevano spostare liberamente la loro ricchezza da una proprietà all'altra.
I Templari non erano sotto il controllo di alcun monarca e, peggio ancora, molti dovevano loro denaro. Alla fine, il re Filippo IV di Francia prese una superficie di attacco arrestando centinaia di templari di alto livello, incluso il Gran Maestro, tutti nello stesso giorno in tutta Europa nel 1307. Furono accusati di eresia, la versione medievale del rischio sistematico, una chiara minaccia a tutto ciò che è buono e nobile. Pochi anni dopo molti Templari furono giustiziati e il sistema bancario Templare scomparve [i Templari sconosciuti furono in qualche modo in grado di fuggire con la loro vasta fortuna, che allora non era digitale, ed è un mistero dove andò].
Governi, scambi e istituzioni finanziarie tradizionali hanno sempre combattuto qualsiasi cosa che potesse diminuire il loro potere di mercato. Il decentramento è essenziale per resistere ai loro inevitabili attacchi, in quanto se qualcuno prende il sopravvento su una blockchain esistente, può riapparire attraverso un hard fork. Il valore attuale della vecchia catena creerebbe un esercito disponibile e capace di minatori sostitutivi se la Cina o Craig Wright decidessero di appropriarsi del 51% dei minatori di Ethereum esistenti.
Vitalik Buterin descrive bene questa resilienza nella sua ammirevole valutazione del suo potere limitato:
La cosa con gli sviluppatori è che siamo persone abbastanza fungibili. Uno sviluppatore fallisce e qualcun altro può continuare a svilupparsi. Se qualcuno mi mette una pistola in testa e mi dice di scrivere una patch fork, scriverò sicuramente la patch fork. Scriverò il problema di GitHub, scriverò il codice, lo pubblicherò e farò tutto ciò che dicono. Se lo faccio e pubblico una patch fork rigida per eliminare un sacco di account, quante persone saranno disposte a scaricare l'aggiornamento, installarlo e passare a quell'aggiornamento? Questo si chiama decentralizzazione.
Vitalic Buterin. TechCrunch: Sessioni Blockchain 2018.
Il potenziale di un duro fork in caso di attacco è la protezione primaria contro gli estranei. Ciò dipende dal fatto che il protocollo abbia una serie profonda e impegnata di utenti e sviluppatori che danno la priorità ai principi bitcoin essenziali - trasparenza, immutabilità, pseudonimia, a prova di confisca e accesso senza autorizzazione - e perché il decentramento è fondamentale per la sicurezza crittografica a lungo termine.
Gli attacchi esterni hanno decimato se non distrutto diverse innovazioni finanziarie utili in passato. E-gold, Etherdelta, Intrade e ShapeShift avevano tutti punti di centralizzazione cospicui, che permettevano alle autorità di perseguire, chiudere o costringere a sottomettersi ai protocolli finanziari tradizionali. Uno pseudonimo oracolo che esegue virtualmente script su server remoti in tutto il mondo sarebbe impermeabile a tale interferenza. Questa eredità è ciò che rende Ethereum così prezioso, in quanto le dapps non hanno bisogno dei propri meccanismi di consenso decentralizzato per evitare tali attacchi.
Qualsiasi oracolo che faciliti il trading di derivati o le scommesse sportive è soggetto a regolamentazione nella maggior parte dei paesi sviluppati. Le corporazioni di Dapp sono cospicue superfici di attacco. Nella misura in cui Augur e 0x non competono con le istituzioni tradizionali, le autorità sono sagge vederle semplicemente come insignificanti curiosità. Se questi protocolli diventassero mai competitivi con le istituzioni finanziarie convenzionali - fornendo una posizione futures sul prezzo ETH, per esempio - tutte le tradizionali normative fiat saranno costrette ad applicarle con il pretesto di salvaguardare il pubblico. Maker ed chainlink stanno già flirtando con KYC, perché sanno di non poter monetizzare in modo evidente mercati che alla fine genereranno profitti senza arrendersi a Collettivo Borg.
Satoshi doveva rimanere anonimo nelle prime fasi del bitcoin per evitare che alcuni governi locali lo perseguitassero prima che il bitcoin potesse funzionare senza di lui. Il sistema peer-to-peer bitcoin inizialmente emulato, Tor, è popolato da persone che non pubblicizzano su piattaforme tradizionali, hanno investitori istituzionali o partecipano a conferenze. Dapp vitali dovrebbero seguire questo esempio e concentrarsi meno sulla corporatizzazione e più sullo sviluppo della loro reputazione tra gli attuali appassionati di criptovaluta.
Per i casi che coinvolgono piccole somme di denaro, è difficile per gli individui casuali nei sistemi decentralizzati colludere a spese degli altri partecipanti. I costi di collusione sono troppo elevati, il che elimina l'effetto di troll e singolari piantagrane. Tuttavia, ciò crea un pericoloso senso di compiacimento poiché qualsiasi meccanismo robusto deve incentivare un buon comportamento anche se c'è collusione. Se vogliamo che la blockchain gestisca transazioni reali e significative un giorno, ciò implica casi in cui ci sarebbe abbastanza ETH in gioco per presumere che qualcuno finirà per cospirare per hackerare il sistema.
Satoshi sapeva che la collusione malvagia sarebbe stata possibile con la prova del lavoro, ma non era problematica perché si sarebbe autodistruggente. Nel Libro bianco Bitcoin, Satoshi ha sottolineato come la prova del lavoro ha rimosso la necessità di una terza parte fidata, perché il termine senza fiducia è spesso attribuito a una rete decentralizzata. Con la prova del lavoro, non è impossibile fare una doppia spesa, al contrario della razionalità egoista. In particolare, ha scritto che chiunque abbia la capacità di raddoppiare "dovrebbe trovare più redditizio rispettare le regole ... piuttosto che minare il sistema e la validità della propria ricchezza. '
Per le grandi blockchain come Ethereum e Bitcoin, è necessaria un'attrezzatura mineraria specializzata che è preziosa solo se i minatori seguono la lettera e lo spirito della loro legge. Il capitale distrutto manipolando i blocchi è mille volte maggiore del costo diretto dell'hash-power di un simile attacco. Mentre una manciata di gruppi di mining Bitcoin o Ethereum può effettivamente colludere e controllare il controllo della rete al 51%, non è preoccupante perché non sarebbe nel loro interesse personale progettare una doppia spesa, dato il costo della perdita di entrate future. Ad esempio, nella primavera del 2019, il capo di Binance, Changpeng Zhao, ha suggerito un rollback della blockchain per annullare un recente furto. La comunità dei bitcoin lo prese in giro e si ritrasse rapidamente perché questo non sarebbe stato nell'interesse personale a lungo termine dei minatori o degli scambi di bitcoin. Risparmiare $ 40 milioni significherebbe decimare una blockchain da $ 100 miliardi, rendendola una decisione facile.
Le persone spesso menzionano resistenza alla collusione come principale virtù di decentralizzazione. Un termine migliore sarebbe resistenza alla cospirazione. Un sistema decentralizzato deve generare incentivi adeguati anche se c'è collusione perché la collusione è invariabilmente possibile poiché, in pratica, le grandi blockchain decentralizzate sono controllate da una manciata di squadre (Michels Legge ferrea dell'oligarchia). Ci sono stati diversi casi di collisione blockchain benigna, che se applicata con giudizio e con parsimonia aumenta la resilienza (ad esempio, le vulnerabilità in Bitcoin sono state riparate dietro le quinte a settembre 2018, il noto rollback di Ethereum 2016 in risposta all'hack DAO). Professore di giurisprudenza Angela Walsh evidenziato episodi di collusione benigna come prova Bitcoin ed Ethereum non sono decentralizzati, e quindi dovrebbero essere più regolati dalle istituzioni standard.
Gli avvocati sono appassionati di definizioni tecniche, ma il punto chiave è che i regolatori convenzionali non possono regolare Bitcoin o Ethereum se hanno provato, evidenziando l'essenziale decentralizzazione di questi protocolli. Se la SEC negli Stati Uniti, o la FCA nel Regno Unito, provassero a regolamentare in modo aggressivo Ethereum, troverebbero presto i responsabili delle decisioni al di fuori della loro giurisdizione, allo stesso modo, se Joe Lubin e Vitalik Buterin accettassero di piegare Ethereum in minatori di Facebook biforcerebbero il vecchio la catena e l'etere esistente sarebbero più preziosi su questa nuova catena. Nella misura in cui una tale mossa è probabile, il protocollo è decentralizzato, al sicuro dagli estranei che non amano la sua visione per qualsiasi motivo.
La resistenza alla cospirazione si riduce a tutti gli incentivi, assicurandosi che coloro che eseguono il sistema trovino il funzionamento del sistema come generalmente riconosciuto più prezioso di un imbroglio. Questo stesso incentivo per massimizzare i profitti non solo rende onesti i minatori, ma li protegge anche da se stessi. Mentre le blockchain hanno molte cose in comune, hanno priorità molto diverse. Gli utenti che privilegiano la velocità preferiscono EOS; coloro che privilegiano l'anonimato, Monero; accettazione istituzionale, Ripple. Un quorum di minatori che cospirano per cambiare radicalmente le priorità tradizionali della loro blockchain svaluterà il loro patrimonio alienando la loro base e coloro che condividono la nuova priorità non passeranno, ma piuttosto metteranno in evidenza che la loro blockchain preferita è sempre stata corretta. La competizione tra cryptos impedisce agli addetti ai lavori arroganti di fare troppi danni.
Un monitoraggio rapido e diretto è essenziale per la creazione di un meccanismo compatibile con gli incentivi. Per un oracolo decentralizzato, vari sottogruppi di agenti sono al lavoro su qualsiasi risultato. È difficile trovare una serie concisa di dati, ad esempio, sulla percentuale e sul tipo di mercati Augur dichiarati non validi o su un elenco dei rapporti sugli esiti passati di Chainlink. Mentre esistono tutti i rapporti sugli oracoli (immutabilmente!), Metterli insieme è semplicemente poco pratico per un utente medio. Inoltre, gli errori e i cheat passati vengono ignorati come anomalie, il che riduce il costo dei cheat.
La bolla ICO del 2017 ha incoraggiato tutti gli utenti dello spazio crittografico a emettere token indipendentemente dalle necessità; come un token avrebbe reso un dapp più efficiente era una preoccupazione secondaria per gli investitori desiderosi di investire nel prossimo bitcoin. Anche se una piccola parte del denaro dell'ICO è stata applicata alla ricerca e allo sviluppo, ciò implica centinaia di milioni di dollari di talento e tempo focalizzati sulla creazione di dapps decentralizzati che potrebbero giustificare la loro necessità di token. Tutti avrebbero riconosciuto il valore di un oracolo decentralizzato affidabile, ma non erano in grado di offrirne uno, un fallimento rivelatore. Gli oracoli più popolari oggi sono efficacemente centralizzati, in quanto ChainLink e MakerDAO hanno superfici di attacco cospicue in quanto entrambi sono strettamente controllati da addetti ai lavori. Continueranno ad essere centralizzati in modo efficace perché l'alternativa sarebbe un sistema simile ad Augur che è intollerabilmente inefficiente (contratti lenti, hackerabili, zoppi).
Gli oracoli decentralizzati che dipendono dal valore di mercato dei loro token che incentivano il buon comportamento hanno un cuneo significativo tra quanto gli utenti devono pagare l'oracolo e quanto è necessario per renderlo onesto. Ad esempio, supponiamo che esista un gioco in cui si debba pagare il reporter 1 ETH in modo tale che il vantaggio netto della segnalazione onesta sia maggiore di una truffa che il reporter può implementare. Se solo il 2% dei possessori di token riporta un risultato, ciò implica che dobbiamo pagare 50 ETH all'oracolo collettivamente (1 / 0.02), poiché non abbiamo modo di focalizzare il valore attuale del token sul sottoinsieme dei report dei detentori di token . Si potrebbe costringere il reporter a pubblicare un'obbligazione che andrebbe persa se riferissero in modo disonesto, ma per fare questo lavoro limiterebbe il payoff a livelli banali basati sul capitale del reporter, che ignora in modo inefficiente il valore attuale dell'oracolo e implica anche un lungo ritardo nel pagamento.
Un altro problema con gli oracoli decentralizzati è che generalmente servono una serie diversificata di giochi. Mentre ciò facilita le delusioni della generalità simile ad Amazon, rende i contratti specifici scarsamente allineati con gli incentivi dell'oracolo. La frequenza e le dimensioni del payoff varieranno tra le applicazioni, cosicché una commissione oracolare che incentivi l'onestà in ogni momento sarà troppo costosa per la maggior parte delle applicazioni. Soluzioni efficienti riducono al minimo i parametri contestuali, il che implica che la migliore soluzione generale non sarà ottimale per qualsiasi uso particolare.
Sebbene ci siano costi evidenti per il decentramento all'interno di un oracolo, non ci sono vantaggi se il requisito fondamentale di censura / resistenza agli attacchi è soddisfatto. La saggezza della folla non è rilevante per i contratti su attività liquide come bitcoin o S & P500. Un algoritmo di valutazione della reputazione è inutile perché il rischio più ovvio è una truffa di uscita, che si basa sul comportamento onesto fino alla transazione finale (Bitconnect).
Per allineare lo spazio di profitto dell'oracolo in un modo criptoeconomicamente ottimale, è necessario creare un profitto dell'oracolo in modo tale che il vantaggio di una segnalazione veritiera superi sempre i costi della dichiarazione errata. Avendo l'oracolo sotto il controllo totale, le sue entrate da rapporti veritieri sono massimizzate; essendo inequivocabilmente responsabile e facile da controllare e punire, i suoi costi derivanti da dichiarazioni erronee sono interamente sopportati dall'oracolo; giocando uno specifico gioco ripetuto, il calcolo costi / benefici è coerente ogni settimana; dando a un utente imbrogliato la capacità e l'incentivo a punire un oracolo imbroglione, il payoff degli imbrogli è stato minimizzato. Tutto ciò porta all'efficienza di un oracolo a agente singolo.
Gli errori involontari possono provenire da fonti corrotte o dall'algoritmo che aggrega questi prezzi e pubblica un unico prezzo nel contratto. Spesso commettiamo errori involontari e facciamo affidamento sulla buona volontà e il buon senso di coloro con cui intratteniamo rapporti commerciali per "annullare" quei casi in cui avremmo potuto aggiungere un ulteriore zero a un pagamento. Le carte di credito consentono storni di addebito e se una banca deposita accidentalmente $ 1MM sul tuo conto, sei tenuto a rimborsarlo. Il rovescio della medaglia è che questo processo coinvolge terze parti che applicano la regola secondo cui i grandi errori non intenzionali sono reversibili e ciò implica che hanno diritti sui saldi degli account degli utenti.
In OracleSwap, il contratto Oracle ha due controlli di errore all'interno del codice di solidità. In primo luogo, se i prezzi si spostano di oltre il 50% dal loro valore precedente e, in secondo luogo, se sono esattamente gli stessi del loro valore precedente. Questi vincoli rilevano gli errori più comuni. Al largo della blockchain, tuttavia, è dove il filtro degli errori viene affrontato in modo più efficiente in generale e alla fine dovrebbe essere trasformato in un algoritmo perché altrimenti si introduce una superficie di attacco tramite l'essere umano che verificherebbe un rapporto finale. Pertanto, l'uso di molte persone per ridurre gli errori aggiunge semplicemente la fonte più sottile e pericolosa di prezzi bassi. OracleSwap utilizza un pull automatico di prezzi da diverse fonti indipendenti, in una finestra di un paio di minuti, e prende la mediana. Dato che il contratto è rivolto a investitori a lungo termine, un prezzo mediano di diverse borse avrà un errore standard tollerabile; poiché i feed e gli scambi precisi non sono specificati, ciò impedisce la censura; poiché i prezzi vengono pubblicati in una finestra di 1 ora che preclude il trading, è facile raccogliere e convalidare un prezzo accurato.
Gli oracoli decentralizzati risolvono un problema che non hanno: l'attacco e la resistenza alla censura. Un agente che aggiorna un contratto Oracle ha solo accesso a Internet e pseudonimia per evitare la censura. Detto questo, il modo migliore per creare adeguati incentivi all'oracolo è creare un gioco in cui i payoff per l'onestà e le imbrogli sono ben parametrizzati e gli estranei possono facilmente verificare se un agente si sta comportando onestamente. La semplicità è essenziale per qualsiasi gioco robusto, e ciò implica la rimozione di parti e procedure.
I mercati sono l'ultimo meccanismo decentralizzato. Non è un paradosso che i mercati siano costituiti da agenti centralizzati in quanto è spesso la natura delle cose che le proprietà esistono ai livelli più bassi ma non a quelli più alti. Un mercato decentralizzato ha solo bisogno che i consumatori abbiano sia la scelta che le informazioni e che le imprese possano accedere gratuitamente. I mercati dipendono sempre da individui e società con una reputazione preziosa perché invariabilmente la qualità è difficile da valutare, quindi i consumatori preferiscono venditori con una buona reputazione per evitare di tornare a casa con uova difettose o un'auto con cavi difettosi. Le blockchain sono il miglior dispositivo di responsabilità nella storia, consentendo ai contratti di creare una reputazione preziosa per i loro amministratori rimanendo anonimi e quindi non censurabili.
Una serie di contratti concorrenti è più efficiente degli oracoli generalizzati progettati per contratti non specificati o protocolli commerciali generalizzati progettati per oracoli non specificati. Un semplice contratto legato a un oracolo "all-in" crea una responsabilità chiara e inequivocabile, generando il più forte incentivo per la rendicontazione onesta