Molte persone che usano le criptovalute da un po’ di tempo hanno subito qualche tipo di perdita su un exchange, comprese le tue perdite negli hack di Gox e Bitfinex. Mai nella storia i ladri hanno portato via una taglia così grande con così tanta facilità!

I token crittografici sono unici in quanto esistono solo nel cyberspazio e non possono essere facilmente recuperati una volta rubati (anche se l'imminente sistema nervoso blockchain sulla catena DFINITY potrebbe fare qualcosa al riguardo), rendendoli estremamente vulnerabili ad altri hacker e ai furti interni. .

Cioè, a meno che non riusciamo a creare scambi veramente decentralizzati in cui non dobbiamo trasferire token e denaro agli intermediari.

Uno scambio così completamente decentralizzato e a prova di manomissione dovrebbe anche ridurre significativamente le commissioni di transazione, il che rappresenta un passo cruciale nella continua maturazione del nostro settore, ma finora questo obiettivo è stato irraggiungibile.

Tuttavia, in questo articolo spiegherò come alcune delle ultime innovazioni nel campo della crittografia hanno reso possibili le idee di oggi.

Questo articolo spiegherà come creare uno scambio di token decentralizzato (per un pacchetto pronto all'uso come immagine Docker) da uno smart contract scritto in Solidity e un'interfaccia utente Dapp scritta in HTML/Js (del tipo che puoi creare utilizzando Truffle ) Ambiente di sviluppo, incluso l'IDE Cloud9, nonché Truffle e altri strumenti, controlla instant-dapp-ide).

Anche se dovranno essere creati alcuni client software speciali per applicare la crittografia, non avremo bisogno di sidechain, canali statali, centri di consenso speciali o qualsiasi altra cosa che non esista già o che presenti gravi difetti di per sé.

Non serve nulla se non ciò che è già disponibile oggi!

Pertanto, tratteremo come creare uno scambio cripto-cripto su Ethereum (o eventualmente DFINITY) che consentirà di scambiare BTC/ETH e altre coppie di valute in modo sicuro ed economico.

Passaggio 1: logica del contratto intelligente

I contratti intelligenti di Ethereum ci forniscono già i mezzi per eseguire la logica di due transazioni d'asta consecutive (come GDAX, Bitfinex, Kraken o Poloniex) sul computer blockchain.

La velocità delle reti odierne presenta sfide pratiche in termini di esperienza dell'utente, poiché il mercato può essere riorganizzato entro pochi minuti dall'invio di un nuovo ordine e dall'apparente esecuzione di un'operazione, ma le soluzioni stanno già iniziando.

Il Threshold Relay ridurrà la definitività a pochi secondi (oltre 50 volte più velocemente oggi rispetto a Ethereum) e anche il team Casper sta lavorando a una soluzione, quindi probabilmente avremo un po' di tempo.

La vera sfida è che i token che creiamo nei contratti intelligenti non possono essere collegati in modo affidabile a preziosi token nativi su altre catene. Ad esempio, non possiamo creare token XBT in uno smart contract Ethereum connesso a Bitcoin in modo trustless, che possiamo poi scambiare con Ethereum nativo.

Nota tecnica di alto livello: ecco un esempio di due codici di scambio consecutivi in ​​stile asta in Solidity per chi fosse interessato (questo è stato in realtà il mio primo contratto Solidity, scritto quando il linguaggio era disponibile per la prima volta).

Ci sono diverse considerazioni progettuali che è necessario considerare, come la necessità di affrontare il problema dello "sniping" dell'HFT da parte degli arbitraggisti che osservano le variazioni di prezzo nelle transazioni rapidamente concentrate. Ci sono anche buone ragioni per prendere in considerazione l’utilizzo di altri modelli di scambio, come le aste batch a prezzo unitario. Queste considerazioni meritano di essere ripubblicate se il tempo lo permetterà.

Passaggio 2: crack della firma della soglia

Per semplicità, di seguito discuteremo solo la questione dell’hosting di Bitcoin sugli scambi ospitati da Ethereum, sebbene in realtà la tecnologia sia ugualmente applicabile all’hosting di qualsiasi token crittografico nativo da una catena di transazioni autorizzate utilizzando le firme ECDSA.

Il nostro requisito è che un gran numero di parti indipendenti controllino collettivamente un indirizzo Bitcoin standard in modo che gli utenti possano inviare Bitcoin lì, ma Bitcoin può essere trasferito solo dopo un accordo tra un certo rapporto soglia di queste parti.

Ad esempio, supponiamo che il nostro scambio avrà 50 "guardiani" tratti da individui e aziende noti e indipendenti nel settore delle criptovalute.

Devono controllare un indirizzo Bitcoin dove gli utenti possono inviare Bitcoin in cambio di token XBT ospitati su uno scambio Ethereum e devono essere in grado di distribuire Bitcoin da quell'indirizzo a coloro che riscattano i token XBT.

Tradizionalmente, in crittografia, tale funzionalità viene creata utilizzando "firme di soglia".

Nota tecnica di alto livello: la rete Bitcoin trasmette solo transazioni "multisig" locali per un massimo di 3 partecipanti, il pagamento per hash dello script riduce parte del carico ma limita comunque i partecipanti a 15.

Ora possiamo tracciare un limite per gli impazienti: sebbene le transazioni Bitcoin ed Ethereum siano firmate utilizzando firme ECDSA standard e nessuna delle due supporti nativamente le firme di soglia, alcuni ricercatori innovativi hanno recentemente dimostrato un modo per sfruttare le firme ECDSA standard utilizzate da Bitcoin ed Ethereum e può produrre firme di soglia compatibili con le versioni precedenti.

Cioè, i nostri tutori possono creare firme di soglia per indirizzi che saranno accettati dalla rete Bitcoin come firme ECDSA standard per sbloccare UTXO!

Puoi trovare il documento che descrive come farlo qui:

• https: //eprint.iacr.org/2016/013.pdf

• https://www.cs.princeton.edu/~stevenag/threshold_sigs.pdf

Per essere chiari, questi schemi di firma di soglia non sono gli stessi del sistema BLS ottimizzato che utilizziamo in DFINITY Threshold Relay, che può combinare l'output di centinaia di firmatari per creare una firma di soglia deterministica unica in millisecondi.

In effetti, questo sistema è così inefficiente che combinare l'output della firma del nostro tutore richiede molto tempo e la sua CPU si surriscalda, ma questo non è un problema.

È perfettamente accettabile addebitare una modesta commissione di prelievo per coprire i costi di calcolo e richiedere che i prelievi dal nostro scambio finanziario basato su Ethereum richiedano del tempo per essere elaborati. Dopotutto, molte persone sarebbero felici di scambiare i propri fondi in modo sicuro per comodità!

L'applicazione di questa tecnologia ci consentirà di decentralizzare la fiducia tra un certo numero di guardiani, consentendo loro sia di ricevere Bitcoin in cambio di distribuzioni XBT, sia di distribuire Bitcoin quando riscattano token XBT, agendo così in modo trustless e sicuro per ancorare Bitcoin a Gettone XBT.

Naturalmente dobbiamo tenere conto del fatto che alcuni guardiani potrebbero perdere le chiavi della firma o essere investiti dal metaforico autobus, ma la firma della soglia ci consente di risolvere questo problema. Possiamo semplicemente richiedere l'output di soli 35 dei 50 guardiani per creare una nuova firma.

Passaggio 3: premi Guardian

Abbiamo bisogno di un programma di incentivi per i tutori perché vogliamo coinvolgere e promuovere individui e aziende affidabili che non scompariranno o non saranno collusi.

Il modo più semplice è dare loro una piccola commissione di negoziazione su tutti i prelievi effettuati dallo scambio.

Fase 4: governance

Le transazioni finanziarie decentralizzate richiedono un proprio sistema di gestione in quanto devono essere eletti tutori, aggiornamenti software per i contratti intelligenti adottati, ecc. Pertanto, progetteremo lo switch come una DAO (Organizzazione Autonoma Decentralizzata).

Se questi sistemi diventeranno disponibili in tempo, potremmo persino ottenere sistemi nervosi di governance più avanzati dalla tecnologia del sistema nervoso blockchain di DFINITY (il team di DFINITY spera molto che BNS venga riproposto in questo modo).

All’interno del sistema di governance, ci saranno possessori di token con “diritti di voto” che condivideranno proporzionalmente le magre commissioni addebitate per le transazioni. Il contratto intelligente prevede regolari “concorsi di bellezza” in cui i potenziali tutori possono candidarsi per posizioni, che alla fine vengono assegnate dagli elettori.

Nota tecnica di alto livello: un utente malintenzionato può tentare di acquistare tutti i token di voto, quindi sostituire i guardiani con i propri burattini (di solito un attacco DAO 51%) e rubare i fondi depositati.

Per questo motivo, dopo il voto, il contratto deve uscire dal guardiano solo dopo un certo ritardo, il che può dare ai detentori di criptovaluta abbastanza tempo per ritirare in sicurezza i propri fondi in caso di attacco del genere. Ciò vale anche per l'adozione degli aggiornamenti software.

Passaggio 5: impostazioni di crittografia della soglia

Una volta impostato il set di guardiani, è necessario impostare il proprio schema di firma della soglia. Ciò significa che è necessario eseguire una sorta di processo o protocollo per garantire che, al termine, ciascuno dei nostri 50 tutori disponga di una "condivisione di chiavi" privata utilizzata per produrre collettivamente una firma di soglia che può essere utilizzata come un'unica autorizzazione per ECDSA Semplice ECDSA firma. La rete distribuisce Bitcoin dagli indirizzi di deposito.

Come accennato in precedenza, gli schemi di firma a soglia citati sono in realtà hack che creano firme retrocompatibili con le normali firme ECDSA attualmente utilizzate dalle reti Bitcoin ed Ethereum. Ciò significa che la configurazione è più impegnativa rispetto allo schema di firma della soglia BLS utilizzato da DFINITY Threshold Relay.

L'approccio più semplice sarebbe quello di eseguire una configurazione affidabile in una cerimonia sicura, come ha fatto recentemente la rete Z-Cash, e far sì che ciascun tutore segnali allo smart contract dell'exchange che è soddisfatto del risultato.

Sebbene il processo di configurazione attendibile sarà molto più semplice da implementare rispetto a quello utilizzato da Z-Cash, molte persone desiderano implementare una configurazione distribuita trustless, soprattutto perché è più semplice da ripetere quando è necessario ruotare il tutore. Questo sarà composto da due parti.

Il primo prevede la distribuzione delle chiavi ordinarie tra i guardiani e può essere fatto in modo molto semplice applicando ad esempio IPFS come un registro che aggrega e condivide i messaggi coinvolti in un protocollo di generazione di chiavi distribuite.

La seconda parte (resa necessaria dalle tecniche di crittografia omomorfica utilizzate nell'hacking) prevede la distribuzione delle chiavi condivise di Paillier. Se vuoi che il tuo switch sia operativo rapidamente, quest'ultima parte richiede un'attenta analisi dei costi di implementazione!

Passaggio 6: software client Guardian

Abbiamo dovuto creare uno speciale "software client guardiano" che monitora i contratti intelligenti dell'exchange e collabora regolarmente per firmare transazioni Bitcoin quando un utente desidera riscattare XBT.

Passaggio 7: crowdfunding

Il crowdfunding dovrebbe essere fatto per raccogliere fondi per la ricerca e lo sviluppo, e potrebbero esserci incentivi per essere i primi a spostare i fondi lì (magari bloccati lì esclusivamente per un periodo di tempo) per aiutare a guidare la liquidità.

Tieni presente che potremmo semplicemente iniziare con un sistema di governance e quindi consentirgli di assegnare fondi agli sviluppatori per completare le transazioni.

Una volta iniziata la negoziazione, dovremmo aspettarci che il volume aumenti rapidamente! I costi di base coinvolti nel trading decentralizzato sono ordini di grandezza inferiori rispetto al trading centralizzato gestito dalle società, e ciò si rifletterà nelle commissioni di transazione.

Inoltre, il sistema decentralizzato descritto è anche più resistente agli hacker e agli attacchi e puoi aspettarti di depositare e scambiare in sicurezza grandi quantità di criptovalute su tale scambio.

Incrociamo le dita: qualcuno lo costruisce!

Nota finale: a prima vista, gli scambi finanziari decentralizzati sembrano rendere possibile il trading da criptovaluta a criptovaluta. Nel breve termine questo potrebbe essere vero. Ma chi è interessato dovrebbe dare un’occhiata al sistema PHI attualmente in fase di sviluppo da parte dei ricercatori associati a String Labs a Palo Alto.

Ciò imita il funzionamento del sistema bancario commerciale e crea una “criptovaluta” decentralizzata garantita da garanzie sui prestiti.

Una volta che avremo il token su Ethereum e sulla catena DFINITY (e si spera entro due anni), sarà possibile archiviare il token su uno scambio decentralizzato dove il valore del token è uguale al valore di una valuta fiat simile.

Contenuti IC che ti interessano

Progresso tecnologico |. Informazioni sul progetto |

Raccogli e segui il canale IC Binance

Rimani aggiornato con le informazioni più recenti