Town Crier vs DECO: quale oraculu aduprà in u blockchain?

Oghje, solu i pigri ùn anu micca scrittu annantu à a tecnulugia di blockchain, criptu di monete è quantu hè cool. Ma questu articulu ùn elogiarà micca sta tecnulugia; parlemu di e so mancanze è di i modi per eliminà.

Town Crier vs DECO: quale oraculu aduprà in u blockchain?

Mentre travagliava in unu di i prughjetti in Altirix Systems, u compitu hè ghjuntu di cunfirmazione sicura, resistente à a censura di dati da una fonte esterna à u blockchain. Era necessariu di cunfirmà i cambiamenti in i registri di u terzu sistema è, basatu annantu à questi cambiamenti, eseguisce una o una altra branche in a logica di u cuntrattu intelligente. U compitu à u primu sguardu hè abbastanza triviale, ma quandu a cundizione finanziaria di una di e partiti chì participanu à u prucessu dipende da u risultatu di a so implementazione, appariscenu esigenze supplementari. Prima di tuttu, questu hè una fiducia cumpleta in un tali mecanismu di validazione. Ma prima cosa prima.

U prublema hè chì u blockchain stessu hè una entità autonoma, chjusa, cusì i cuntratti intelligenti in u blockchain ùn sanu nunda di u mondu esternu. À u listessu tempu, i termini di i cuntratti intelligenti sò spessu ligati à l'infurmazioni nantu à e cose reali (ritardu di volu, tassi di scambiu, etc.). Per i cuntratti intelligenti per travaglià bè, l'infurmazioni ricevuti da fora di u blockchain deve esse affidabile è verificatu. Stu prublema hè risolta usendu oraculi cum'è Town Crier è DECO. Questi oraculi permettenu un cuntrattu intelligente nantu à a reta di blockchain per cunfidà l'infurmazioni da un servitore web di fiducia; pudemu dì chì questi sò fornituri di informazioni affidabili.

Oraculi

Immaginate chì un cuntrattu intelligente trasferisce 0.001 btc à a vostra billetera bitcoin se u vostru club di football preferitu vince a Copa Russa. In l'eventu di una vera vittoria, u cuntrattu intelligente hà bisognu di trasfiriri l'infurmazioni nantu à quale club hà vintu, è una quantità di prublemi nascenu quì: induve uttene sta informazione, cumu si trasferisce in modu sicuru à u cuntrattu intelligente è cumu per assicurà chì l'infurmazioni. ricivutu in u cuntrattu intelligenti hè validu veramente coincide cù a realità?

Quandu si tratta di a fonte di l'infurmazioni, ponu esse 2 scenarii: cunnetta un cuntrattu intelligente à un situ web di fiducia induve l'infurmazioni nantu à i risultati di u partitu sò cintrali guardati, è a seconda opzione hè di cunnette parechji siti à una volta è dopu selezziunate l'infurmazioni da a maiò parte di e fonti. chì furnisce i stessi dati. Per verificà a correttezza di l'infurmazioni, l'oraculi sò usati, per esempiu Oraclize, chì usa TLSNotary (TLS Notary Modification to Prove the Authenticity of Data). Ma ci hè abbastanza infurmazione nant'à Google nantu à Oraclize, è ci sò parechji articuli nantu à Habré.Oghje parraraghju di l'oraculi chì utilizanu un accostu pocu sfarente per trasmette l'infurmazioni: Town Crier è DECO. L'articulu furnisce una descrizzione di i principii di u funziunamentu di i dui oraculi, è ancu un paragone detallatu.

Criatrice municipale

Town Crier (TC) hè statu introduttu da IC3 (L'Iniziativa per CryptoCurrencies è Cuntratti) in 2016 à CCS'16. L'idea principale di TC: trasferisce l'infurmazioni da un situ web à un cuntrattu intelligente è assicuratevi chì l'infurmazione furnita da TC hè a stessa chì in u situ web. TC usa TEE (Trusted Execution Environment) per autentificà a pruprietà di i dati. A versione originale di TC descrive cumu travaglià cù Intel SGX.
Town Crier hè custituitu da una parte in a blockchain è una parte in u OS stessu - TC Server.
Town Crier vs DECO: quale oraculu aduprà in u blockchain?
TC Contract hè nantu à a blockchain è agisce cum'è u front end per TC. Accetta richieste da u CU (cuntrattu intelligente di l'utilizatori) è torna una risposta da u Servitore TC. Dentru u TC Server ci hè un Relay, chì stabilisce una cunnessione trà l'enclave è l'Internet (trafficu bidirezionale) è cunnetta l'enclave cù u blockchain. Enclave cuntene progencl, chì hè u codice chì face richieste da u blockchain è torna missaghji à u blockchain cù una firma digitale, progencl cuntene una parte di u codice di u cuntrattu intelligente è essenzialmente eseguisce alcune di e so funzioni.

L'enclave Intel SGX pò esse pensatu cum'è una biblioteca cumuna cù una API chì funziona via ecall. Ecall trasferisce u cuntrollu à l'enclave. L'enclave eseguisce u so codice finu à ch'ellu esce o finu à chì una eccezzioni accade. ocall hè utilizatu per chjamà funzioni definite fora di l'enclave. Ocall hè eseguitu fora di l'enclave è hè trattatu cum'è una chjama micca fiducia da ellu. Dopu chì l'ocall hè eseguitu, u cuntrollu hè tornatu à l'enclave.
Town Crier vs DECO: quale oraculu aduprà in u blockchain?
In a parte Enclave, un canale sicuru hè cunfiguratu cù un servitore web, l'enclave stessu eseguisce un handshake TLS cù u servitore di destinazione è eseguisce tutte l'operazioni criptografiche internamente. A biblioteca TLS (mbedTLS) è u codice HTTP ridutta sò stati esportati à l'ambiente SGX. Inoltre, Enclave cuntene certificati CA root (una cullizzioni di certificati) per verificà i certificati di i servitori remoti. Request Handler accetta una dumanda di datagramma in u formatu furnitu da Ethereu, decripta è analizza. Allora genera una transazzione Ethereum chì cuntene u datagramma dumandatu, u firma cù skTC è u trasmette à Relay.

A parte Relay include Client Interface, TCP, Blockchain Interface. L'Interfaccia Cliente hè necessaria per certificà u codice di l'enclave è cumunicà cù u cliente. U cliente manda una dumanda di attestazione utilizendu ecall è riceve un timestamp firmatu da skTC cù att (firma di attestazione), dopu att hè verificatu cù Intel Attestation Service (IAS), è u timestamp hè verificatu da un serviziu di tempu di fiducia. L'interfaccia di Blockchain verifica e richieste entrate è mette transazzione nantu à a catena di bloccu per a consegna di datagrammi. Geth hè un cliente ufficiale di Ethereum è permette à Relay di interagisce cù u blockchain via RPC calls.

Travagliendu cù TEE, TC permette di eseguisce parechji enclavi in ​​parallelu, aumentendu cusì a velocità di trasfurmazioni di l'infurmazioni da 3 volte. Se cun un enclave in esecuzione, a velocità era 15 tx/sec, allora cù 20 enclavi in ​​esecuzione parallela a velocità aumenta à 65 tx/sec; per paragone, a velocità operativa massima in u blockchain Bitcoin hè 26 tx/sec.

DECO

DECO (Decentralized Oracles for TLS) hè statu presentatu à CCS'20, travaglia cù siti chì supportanu e cunnessione TLS. Assicura a cunfidenziale è l'integrità di e dati.
DECO cù TLS usa a criptografia simmetrica, cusì u cliente è u servitore web anu chjavi di criptografia, è u cliente pò falsificà e dati di sessione TLS s'ellu vole. Per risolve stu prublema, DECO usa un protokollu di handshake à trè modi trà u pruvucatore (cuntrattu intelligente), verificatore (oraculu) è web-server (fonte di dati).

Town Crier vs DECO: quale oraculu aduprà in u blockchain?

U modu di travagliu DECO hè chì u verificatore riceve un pezzu di dati D è cunfirma à u verificatore chì D hè vinutu da u servitore TLS S. Un altru prublema hè chì TLS ùn firma micca e dati è hè difficiule per u cliente TLS per pruvà chì i dati sò stati ricevuti da u servitore ghjustu (difficultà di provenienza).

U protocolu DECO usa e chjave di criptografia KEnc è KMac. U cliente manda una dumanda Q à u servitore web, a risposta da u servitore R vene in forma criptata, ma u cliente è u servitore pussede u stessu KMac, è u cliente pò falsificà u messagiu TLS. A suluzione di DECO hè di "ocultà" u KMac da u cliente (prova) finu à chì risponde à a dumanda. Avà KMac hè divisu trà prova è verificatore - KpMac è KvMac. U servitore riceve KMac per criptà a risposta utilizendu l'operazione di parte chjave KpMac ⊕ KvMac = KMac.

Imposendu una stretta di manu à trè, u scambiu di dati trà u cliente è u servitore serà realizatu cù una guaranzia di sicurità.
Town Crier vs DECO: quale oraculu aduprà in u blockchain?
Quandu si parla di un sistema d'oraculu decentralizatu, ùn si pò micca mancà di mintuvà Chainlink, chì hà da scopu di creà una reta descentralizata di nodi d'oraculu cumpatibili cù Ethereum, Bitcoin è Hyperledger, tenendu in contu a modularità: ogni parte di u sistema pò esse aghjurnata. À u listessu tempu, per assicurà a sicurità, Chainlink offre à ogni oraculu chì participa à u compitu per emette una cumminazione di chjave (pùblicu è privatu). A chjave privata hè aduprata per generà una firma parziale chì cuntene a so decisione à a dumanda di dati. Per ottene una risposta, hè necessariu di cumminà tutte e signature parziali di l'oraculi di a rete.

Chainlink pensa à fà un PoC DECO iniziale cun un focusu nantu à l'applicazioni finanziarii decentralizate cum'è Mixicles. À u mumentu di a scrittura, a notizia hè surtita nantu à Forbes chì Chainlink hà acquistatu DECO da l'Università Cornell.

Attacchi à l'oraculi

Town Crier vs DECO: quale oraculu aduprà in u blockchain?

Da u puntu di vista di a sicurità di l'infurmazioni, i seguenti attacchi à Town Crier sò stati cunsiderati:

  1. Iniezione di codice smart-contact Rogue nantu à i nodi TEE.
    L'essenza di l'attaccu: trasmette un codice di cuntrattu intelligente deliberatamente incorrectu à TEE, cusì, un attaccu chì hà acquistatu l'accessu à u node serà capaci di eseguisce u so propiu cuntrattu intelligente (fraudulente) nantu à i dati decriptati. Tuttavia, i valori di ritornu seranu criptati cù una chjave privata, è l'unicu modu per accede à tali dati hè di scurdà u testu cifratu in u ritornu / output.
    A prutezzione contru stu attaccu hè custituitu da l'enclave cuntrollà a correttezza di u codice situatu à l'indirizzu attuale. Questu pò esse realizatu utilizendu un schema d'indirizzu induve l'indirizzu di u cuntrattu hè determinatu da u codice di u cuntrattu.

  2. U testu di u statu di u cuntrattu cambia a fuga.
    L'essenza di l'attaccu: I pruprietarii di i nodi nantu à quale sò eseguiti cuntratti intelligenti anu accessu à u statu di u cuntrattu in forma criptata fora di l'enclave. Un attaccu, avendu acquistatu u cuntrollu di un node, pò paragunà u statu di cuntattu prima è dopu a transazzione è pò determinà quale argumenti sò stati inseriti è quale metudu di cuntrattu intelligente hè stata utilizata, postu chì u codice di u cuntrattu intelligente stessu è e so specificazioni tecniche sò publicamente dispunibili.
    Prutezzione per assicurà a affidabilità di u node stessu.

  3. Attacchi di i canali laterali.
    Un tipu speciale d'attaccu chì usa u monitoraghju di a memoria di l'enclave è l'accessu à a cache in diversi scenarii. Un esempiu di tali attaccu hè Prime è Probe.
    Town Crier vs DECO: quale oraculu aduprà in u blockchain?
    Ordine d'attaccu:

    • t0: L'attaccante riempie tutta a cache di dati di u prucessu di a vittima.
    • t1: A vittima eseguisce codice cù accessi di memoria chì dependenu di e dati sensibili di a vittima (chjavi criptografichi). A linea di cache hè sceltu nantu à u valore di u keybit. In l'esempiu in a figura, keybit = 0 è l'indirizzu X in a cache line 2 hè lettu. I dati guardati in X sò carricati in u cache, spustendu i dati chì era quì prima.
    • t2: L'attaccante verifica quale di e so linee di cache sò state scacciate - linee usate da a vittima. Questu hè fattu per mezu di u tempu d'accessu. Ripitendu sta operazione per ogni keybit, l'attaccante ottene a chjave sana.

Prutezzione di l'attaccu: Intel SGX hà prutezzione contru l'attacchi di u canali laterali chì impediscenu u monitoraghju di l'avvenimenti in cache, ma un attaccu Prime è Probe hà da travaglià sempre perchè l'attaccante monitoreghja l'avvenimenti di cache di u so prucessu è sparte a cache cù a vittima.
Town Crier vs DECO: quale oraculu aduprà in u blockchain?
Cusì, à u mumentu ùn ci hè micca una prutezzione affidativa contru à stu attaccu.

Attacchi cum'è Spectre è Foreshadow (L1TF), simili à Prime è Probe, sò ancu cunnisciuti. Permettenu di leghje e dati da a memoria cache attraversu un canale di terzu. A prutezzione contra a vulnerabilità Spectre-v2 hè furnita, chì travaglia contru dui di sti attacchi.

In relazione à DECO, a stretta di manu à trè direzzione furnisce una guaranzia di sicurità:

  1. Integrità di u Prover: Un pruver pirate ùn pò micca falsificà l'infurmazioni d'origine di u servitore è ùn pò micca fà chì u servitore accettà richieste invalide o risponde in modu incorrectu à richieste valide. Questu hè fattu per mezu di mudelli di dumanda trà u servitore è u prova.
  2. Integrità di u verificatore: Un verificatore pirate ùn pò micca fà pruvucà à riceve risposte sbagliate.
  3. Privacy: U verificatore pirate esamina solu l'infurmazione publica (richiesta, nome di u servitore).

In DECO, solu i vulnerabili di iniezione di trafficu sò pussibuli. Prima, cù una stretta di manu à trè, u verificatore pò stabilisce l'identità di u servitore utilizendu un nonce frescu. In ogni casu, dopu a stretta di manu, u verificatore deve s'appoghjanu nantu à l'indicatori di a capa di rete (indirizzi IP). Cusì, a cumunicazione trà u verificatore è u servitore deve esse prutetta da l'iniezione di trafficu. Questu hè ottenutu usendu Proxy.

Paraguni di oraculi

Town Crier hè basatu annantu à u travagliu cù un enclave in a parte di u servitore, mentre chì DECO permette di verificà l'autenticità di l'urìgine di e dati utilizendu un handshake tri-way è criptografia di dati cù chjavi criptografici. A comparazione di sti oraculi hè stata realizata secondu i criteri seguenti: prestazione, sicurezza, costu è praticità.

Criatrice municipale
DECO

prestazione
Più veloce (0.6 s per finisce)
Più lento (10.50s per finisce u protocolu)

sicurità
Menu sicuru
Più sicura

costu di
Più caru
Più economicu

praticità
Richiede hardware speciale
Funziona cù qualsiasi servitore chì supporta TLS

Rendimentu: Per travaglià cù DECO, hè necessariu un handshake tri-way, quandu a stallazione via LAN ci vole 0.37 seconde, per l'interazzione dopu chì a cunnessione hè stabilita, 2PC-HMAC hè efficace (0,13 s per scrittura). A prestazione di DECO dipende da e suite di criptu TLS dispunibili, a dimensione di e dati privati, è a cumplessità di l'evidenza per una applicazione particulare. Aduprà l'applicazione di l'opzione binaria da IC3 cum'è un esempiu: compie u protokollu via LAN dura circa 10,50 seconde. In paragone, Town Crier dura circa 0,6 seconde per compie una applicazione simile, chì hè circa 20 volte più veloce di DECO. Tutte e cose uguali, TC serà più veloce.

Seguretat: L'attacchi à l'enclave Intel SGX (attacchi di u canali laterali) funzionanu è ponu causà danni veri à i participanti di u cuntrattu intelligente. Riguardu à DECO, attacchi ligati à l'iniezione di trafficu sò pussibuli, ma l'usu di un proxy riduce tali attacchi à nunda. Dunque DECO hè più sicuru.

costu di: U costu di l'equipaggiu chì sustene Intel SGX hè più altu ch'è u costu di stallà u protokollu in DECO. Hè per quessa TC hè più caru.

Practicality: Per travaglià cù Town Crier, hè necessariu un equipamentu speciale chì sustene TEE. Per esempiu, Intel SGX hè supportatu nantu à a famiglia di processori Intel Core di 6a generazione è più tardi. DECO vi permette di travaglià cù qualsiasi equipamentu, ancu s'ellu ci hè un paràmetru DECO cù TEE. Sicondu u prucessu di cunfigurazione, a stretta di mani in trè vie di DECO pò piglià un pocu di tempu, ma questu ùn hè nunda cumparatu cù a limitazione hardware di TC, cusì DECO hè più praticu.

cunchiusioni

Fighjendu i dui oraculi separatamente è paragunendu à quattru criterii, hè chjaru chì Town Crier hè inferjuri à DECO in trè fora di quattru punti. DECO hè più affidabile da u puntu di vista di a sicurità di l'infurmazioni, più prezzu è più praticu, ancu se a creazione di un protocolu di trè partiti pò piglià un pocu di tempu è hà i so disadvantages, per esempiu, operazioni supplementari cù chjavi di criptografia. TC hè più veloce di DECO, ma i vulnerabili di l'attaccu di u canali laterali facenu suscettibile à a perdita di cunfidenziale. Ci vole à piglià in contu chì DECO hè statu introduttu in ghjennaghju 2020, è ùn hè micca abbastanza tempu per cunsiderà sicuru. Town Crier hè statu attaccatu per 4 anni è hà passatu assai teste, perchè u so usu in parechji prughjetti hè ghjustificatu.

Source: www.habr.com

Add a comment