Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?

Haut hunn nëmmen déi Lazy net iwwer Blockchain Technologie, Krypto-WÀhrungen geschriwwen a wéi cool et ass. Awer dësen Artikel wÀert dës Technologie net luewen, mir schwÀtzen iwwer seng MÀngel a Weeër fir se ze eliminéieren.

Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?

WĂ€rend un engem vun de Projete bei Altirix Systems geschafft huet, ass d'Aufgab vun der sĂ©cherer, zensurbestĂ€ndeger BestĂ€tegung vun Daten aus enger Quell extern zum Blockchain entstanen. Et war nĂ©ideg Ännerungen an den records vum drĂ«tte System ze bestĂ€tegen an, basĂ©iert op dĂ«sen Ännerungen, eng oder aner Branche an der Smart Kontrakt Logik auszefĂ©ieren. D'Aufgab op den Ă©ischte BlĂ©ck ass zimmlech trivial, awer wann de finanziellen Zoustand vun enger vun de Parteien, dĂ©i um Prozess deelhuelen, hĂ€nkt vum Resultat vu senger Ëmsetzung of, erschĂ©ngen zousĂ€tzlech Ufuerderungen. Als Ă©ischt ass dĂ«st iwwergrĂ€ifend Vertrauen an esou engem Validatiounsmechanismus. Awer Ă©ischt Saachen Ă©ischt.

De Problem ass datt de Blockchain selwer eng autonom, zougemaach EntitĂ©it ass, sou datt dĂ©i intelligent Kontrakter bannent der Blockchain nĂ€ischt iwwer d'Äussewelt wĂ«ssen. Zur selwechter ZĂ€it sinn d'Konditioune vu Smart Kontrakter dacks mat Informatioun iwwer real Saachen (Flugverzögerung, WĂ€hrungssĂ€tz, etc.) Zesummenhang. Fir intelligent Kontrakter richteg ze funktionnĂ©ieren, muss d'Informatioun, dĂ©i vun ausserhalb vum Blockchain kritt gĂ«tt, zouverlĂ€sseg a verifizĂ©iert sinn. DĂ«se Problem gĂ«tt gelĂ©ist andeems Dir Orakelen wĂ©i Town Crier an DECO benotzt. DĂ«s Orakel erlaaben e Smart Kontrakt am Blockchain Netzwierk fir Informatioun vun engem vertrauenswĂŒrdege Webserver ze vertrauen, kĂ«nne mir soen datt dĂ«s Ubidder vun zouverlĂ©issege Informatioun sinn.

Orakel

Stellt Iech vir datt e Smart Kontrakt 0.001 btc op Äre Bitcoin Portemonnaie transferĂ©iert wann Äre Liiblingsfussballclub de russesche Coupe gewĂ«nnt. Am Fall vun enger richteger Victoire muss de Smart Kontrakt Informatioun iwwerdroen iwwer wĂ©i ee VerĂ€in gewonnen huet, an hei entstinn eng Rei Probleemer: Wou kritt een dĂ«s Informatioun, wĂ©i een se sĂ©cher an de Smart Kontrakt transferĂ©iert a wĂ©i sĂ©cherzestellen datt d'Informatiounen am Smart Kontrakt kritt ass gĂ«lteg eigentlech glĂ€ichzĂ€iteg mat RealitĂ©it?

Wann et ëm d'Quell vun Informatioun kënnt, kënnen et 2 Szenarie sinn: e Smart Kontrakt op eng zouverléisseg WebsÀit verbannen, wou Informatioun iwwer Matchresultater zentral gespÀichert ass, an déi zweet Optioun ass verschidde Siten glÀichzÀiteg ze verbannen an dann Informatioun aus de meeschte Quellen auswielen déi déiselwecht Donnéeën ubidden. Fir d'Korrektheet vun der Informatioun z'iwwerpréiwen, ginn Orakel benotzt, zum Beispill Oraclize, déi TLSNotary benotzt (TLS Notaire Modifikatioun fir d'Authentizitéit vun den Donnéeën ze beweisen). Awer et gëtt genuch Informatioun op Google iwwer Oraclize, an et gi verschidde Artikelen iwwer Habré Haut wÀert ech iwwer Orakelen schwÀtzen, déi eng liicht aner Approche benotze fir Informatioun ze vermëttelen: Town Crier an DECO. Den Artikel bitt eng Beschreiwung vun den Operatiounsprinzipien vu béide Orakelen, wéi och en detailléierte Verglach.

Stad Krier

Town Crier (TC) gouf vum IC3 (The Initiative for Cryptocurrency and Contracts) am Joer 2016 op CCS'16 agefouert. D'Haaptidee vum TC: Transfert Informatioun vun enger WebsÀit op e Smart Kontrakt a gitt sécher datt d'Informatioun geliwwert vum TC d'selwecht ass wéi op der WebsÀit. TC benotzt TEE (Trusted Execution Environment) fir d'Datebesëtzer ze authentifizéieren. D'Original Versioun vun TC beschreift wéi mat Intel SGX ze schaffen.
Town Crier besteet aus engem Deel am Blockchain an engem Deel am OS selwer - TC Server.
Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?
TC Kontrakt ass op der Blockchain an handelt als Frontend fir TC. Et acceptĂ©iert Ufroe vun der CU (Benotzer Smart Kontrakt) a gĂ«tt eng Äntwert vum TC Server zrĂ©ck. Bannen am TC Server gĂ«tt et e Relais, deen eng Verbindung tĂ«scht der Enclave an dem Internet (bidirektionalen Traffic) etablĂ©iert an d'Enclave mat der Blockchain verbĂ«nnt. Enclave enthĂ€lt progencl, wat Code ass, deen Ufroe vum Blockchain mĂ©cht a Messagen un de Blockchain mat enger digitaler ËnnerschrĂ«ft zrĂ©ckginn, progencl enthĂ€lt en Deel vum Smart Kontrakt Code a mĂ©cht am Wesentlechen e puer vu senge Funktiounen aus.

D'Intel SGX Enclave kann als gemeinsame BibliothĂ©ik geduecht ginn mat enger API dĂ©i iwwer Ecall leeft. Ecall iwwerdroen d'Kontroll an d'Enclave. D'Enklave fiert sĂ€i Code aus bis et erausgeet oder bis eng Ausnam geschitt. Fir Funktiounen ausserhalb vun der Enclave definĂ©iert ze ruffen, gĂ«tt ocall benotzt. Ocall gĂ«tt ausserhalb vun der Enclave ausgefouert a gĂ«tt als en net vertrauenswĂŒrdege Ruff behandelt. Nom ocall ausgefouert gĂ«tt, gĂ«tt d'Kontroll an d'Enclave zrĂ©ckgezunn.
Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?
Am Enclave Deel ass e sĂ©chere Kanal mat engem Webserver konfigurĂ©iert, d'Enclave selwer mĂ©cht en TLS Handshake mam Zilserver a mĂ©cht all kryptografesch Operatiounen intern. D'TLS-BibliothĂ©ik (mbedTLS) a reduzĂ©ierter HTTP-Code goufen an d'SGX-Ëmfeld exportĂ©iert. Och Enclave enthĂ€lt Root CA Certificaten (eng Sammlung vun Certificaten) fir d'Zertifikater vu Fernserveren z'iwwerprĂ©iwen. De Request Handler akzeptĂ©iert eng Datagram Ufro am Format vum Ethereum geliwwert, entschlĂ«sselt et a parsĂ©iert et. Da generĂ©iert et eng Ethereum Transaktioun mat dem ugefrote Datagram, Ă«nnerschreift et mat skTC a schĂ©ckt se op de Relais.

De Relais Deel enthĂ€lt Client Interface, TCP, Blockchain Interface. De Client Interface ass nĂ©ideg fir den Enclave Code ze zertifiĂ©ieren a mam Client ze kommunizĂ©ieren. De Client schĂ©ckt eng Attestation Ufro benotzt ecall a kritt en ZĂ€itstempel Ă«nnerschriwwen vun skTC zesumme mat Att (Attestatioun ËnnerschrĂ«ft), da gĂ«tt att mat Intel Attestation Service verifizĂ©iert (IAS), an den ZĂ€itstempel gĂ«tt vun engem zouverlĂ©issege ZĂ€itservice verifizĂ©iert. Blockchain Interface verifizĂ©iert erakommen Ufroen a setzt Transaktiounen op der Blockchain fir d'Liwwerung vun Datagrammen. Geth ass en offiziellen Ethereum Client an erlaabt Relais mat der Blockchain iwwer RPC Uriff ze interagĂ©ieren.

Schafft mat TEE, TC erlaabt Iech e puer Enklaven parallel ze lafen, wouduerch d'Geschwindegkeet vun der Informatiounsveraarbechtung ëm 3 Mol eropgeet. Wann mat enger lafender Enclave d'Geschwindegkeet 15 tx / sec war, da mat 20 parallel lafende Enklaven erhéicht d'Geschwindegkeet op 65 tx / sec zum Verglach, ass déi maximal Operatiounsgeschwindegkeet am Bitcoin Blockchain 26 tx / sec.

DECO

DECO (Decentralized Oracles for TLS) war op CCS'20 presentéiert, schafft mat Siten déi TLS Verbindungen ënnerstëtzen. Assuréiert Datenvertraulechkeet an Integritéit.
DECO mat TLS benotzt symmetresch Verschlësselung, sou datt de Client an de Webserver Verschlësselungsschlësselen hunn, an de Client kann TLS Sessiounsdaten formuléieren wann et wëllt. Fir dëse Problem ze léisen, benotzt DECO en DrÀi-Wee-Handshake-Protokoll tëscht dem Prover (Smart Kontrakt), Verifizéierer (Oracle) a Web-Server (Datenquell).

Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?

De Wee DECO funktionnéiert ass datt de Verifizéierer e Stéck Daten D kritt an dem Verifizéierer bestÀtegt datt D vum TLS Server S koum. En anere Problem ass datt TLS d'Donnéeën net ënnerschreift an et schwéier ass fir den TLS Client ze beweisen datt de Donnéeën goufen aus genee de richtege Server kritt (Provenenz Schwieregkeeten).

Den DECO-Protokoll benotzt VerschlĂ«sselungsschlĂ«sselen KEnc a KMac. De Client schĂ©ckt eng Ufro Q un WebserverD'Äntwert vum Server R kĂ«nnt verschlĂ«sselt un, awer de Client an de Server deelen dee selwechte KMac, an de Client kann d'TLS-Noriicht fĂ€lschen. D'LĂ©isung vun DECO ass, de KMac virum Client (dem Prover) ze "verstoppen", bis en op d'Ufro Ă€ntwert. Elo gĂ«tt de KMac tĂ«scht dem Prover an dem VerifizĂ©ierer opgedeelt - KpMac a KvMac. De Server kritt de KMac fir d'Äntwert mat der SchlĂ«sselpartitionĂ©ierungsoperatioun KpMac ⊕ KvMac = KMac ze verschlĂ«sselen.

Andeems Dir en DrÀi-Wee-Handshake opstellt, gëtt den Datenaustausch tëscht dem Client an dem Server mat enger Garantie vu Sécherheet duerchgefouert.
Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?
Wann Dir iwwer en dezentralisĂ©ierten Orakelsystem schwĂ€tzt, kann een net versoen Chainlink ze ernimmen, wat zielt fir en dezentralisĂ©ierten Netzwierk vun Orakelnoden kompatibel mat Ethereum, Bitcoin an Hyperledger ze kreĂ©ieren, andeems d'ModularitĂ©it berĂŒcksichtegt gĂ«tt: all Deel vum System kann aktualisĂ©iert ginn. Zur selwechter ZĂ€it, fir d'SĂ©cherheet ze garantĂ©ieren, bitt Chainlink all Orakel, deen un der Aufgab deelhĂ«lt, eng Kombinatioun vu SchlĂ«sselen (Ă«ffentlech a privat) auszeginn. De private SchlĂ«ssel gĂ«tt benotzt fir eng partiell ËnnerschrĂ«ft ze generĂ©ieren dĂ©i hir Entscheedung iwwer d'Datenufro enthĂ€lt. Fir eng Äntwert ze krĂ©ien, ass et nĂ©ideg all deelweis ËnnerschrĂ«fte vun den Orakelen vum Netz ze kombinĂ©ieren.

Chainlink plangt en initialen PoC DECO ze maachen mat engem Fokus op dezentraliséierter Finanzapplikatiounen wéi Mixicles. Zu der ZÀit vum Schreiwen koumen Neiegkeeten op Forbes eraus datt Chainlink DECO vun der Cornell University kaaft huet.

Attacken op Orakel

Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?

Aus Informatiounssécherheetssiicht goufen déi folgend Attacken op Town Crier ugesinn:

  1. Rogue Smart-Kontakt Code Injektioun op TEE Wirbelen.
    D'Essenz vun der Attack: Iwwerdroung vun engem bewosst falsche Smart Kontrakt Code op TEE, also, en UgrÀifer, deen Zougang zum Node krut, kann sÀin eegene (fraudulenten) Smart Kontrakt op den entschlësselten Donnéeën ausféieren. Wéi och ëmmer, d'RetourwÀerter wÀerte mat engem private Schlëssel verschlësselt ginn, an deen eenzege Wee fir Zougang zu sou Donnéeën ze kréien ass de Chiffertext beim Retour / Ausgang ze lecken.
    De Schutz géint dësen Attack besteet aus der Enklave déi d'Korrektheet vum Code op der aktueller Adress iwwerpréift. Dëst kann mat engem Adressschema erreecht ginn, wou d'Kontraktadress bestëmmt gëtt andeems de Kontraktcode hashing.

  2. Kontrakt Staat Chiffertext Ännerungen Leck.
    D'Essenz vum Attack: BesĂ«tzer vun Noden, op deenen Smart Kontrakter ausgefouert ginn, hunn Zougang zum Kontraktstaat a verschlĂ«sselte Form ausserhalb vun der Enclave. En UgrĂ€ifer, deen d'Kontroll vun engem Node gewonnen huet, kann de Kontaktzoustand virun an no der Transaktioun verglĂ€ichen a bestĂ«mmen wĂ©i eng Argumenter agefouert goufen a wĂ©i eng Smart Kontraktmethod benotzt gouf, well de Smart Kontrakt Code selwer a seng technesch Spezifikatioune sinn Ă«ffentlech verfĂŒgbar.
    Schutz fir d'ZouverlÀssegkeet vum Node selwer ze garantéieren.

  3. SĂ€it-Kanal Attacken.
    Eng speziell Aart vun Attack, déi d'Iwwerwaachung vun der Enclave Erënnerung a Cache Zougang a verschiddene Szenarie benotzt. E Beispill vun esou engem Attack ass Prime a Probe.
    Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?
    Attack Uerdnung:

    • t0: Den UgrĂ€ifer fĂ«llt de ganzen Datekache vum Afferprozess.
    • t1: D'Affer exekutĂ©iert Code mat ErĂ«nnerung Zougang datt op d'Affer sensibel DonnĂ©eĂ«n (kryptographesch SchlĂ«sselen) hĂ€nkt. D'Cache Linn gĂ«tt ausgewielt op Basis vum Keybit WĂ€ert. Am Beispill an der Figur ass keybit = 0 an d'Adress X an der Cache Linn 2 gĂ«tt gelies.
    • t2: Den UgrĂ€ifer iwwerprĂ©ift wĂ©i eng vu senge Cache-Zeilen evictĂ©iert goufen - Linnen dĂ©i vum Affer benotzt ginn. DĂ«st gĂ«tt gemaach andeems Dir ZougangszĂ€it moosst. Andeems Dir dĂ«s Operatioun fir all Keybit widderhĂ«lt, kritt den UgrĂ€ifer de ganze SchlĂ«ssel.

Attack Schutz: Intel SGX huet Schutz géint SÀit-Channel Attacken, déi d'Iwwerwaachung vu Cache-relatéierten Eventer verhënnert, awer e Prime- a Probe-Attack funktionnéiert nach ëmmer, well den UgrÀifer d'Cache-Evenementer vu sengem Prozess iwwerwaacht an de Cache mat dem Affer deelt.
Town Crier vs DECO: wéi en Orakel fir am Blockchain ze benotzen?
Also, am Moment gëtt et keen zouverléissege Schutz géint dësen Attack.

Attacke wĂ©i Spectre a Foreshadow (L1TF), Ă€hnlech wĂ©i Prime a Probe, sinn och bekannt. Si erlaben Iech Daten aus Cache Memory duerch en DrĂ«tt Partei Kanal ze liesen. Schutz gĂ©int d'Spectre-v2 Schwachstelle gĂ«tt zur VerfĂŒgung gestallt, wat gĂ©int zwee vun dĂ«sen Attacke funktionnĂ©iert.

Am Zesummenhang mat DECO bitt den DrÀi-Wee-Handshake eng Sécherheetsgarantie:

  1. Prover Integritéit: En gehackte Prover kann d'Serverursprungsinformatioun net fÀlschen a kann net verursaachen datt de Server ongëlteg Ufroe akzeptéiert oder falsch op valabel Ufroe reagéiert. Dëst gëtt duerch Ufromuster tëscht Server a Prover gemaach.
  2. VerifizĂ©ierungsintegritĂ©it: En gehackte VerifizĂ©ierer kann net verursaachen datt de Beweis falsch Äntwerten kritt.
  3. PrivatsphÀr: Den gehackte Verifizéierer ënnersicht nëmmen ëffentlech Informatioun (Ufro, Servernumm).

An DECO si nĂ«mme Schwachstelle bei der Traffic-Injektioun mĂ©iglech. Ufanks, wĂ€hrend engem Three-Way-Handshake, kann de VerifizĂ©ierer d'IdentitĂ©it vum Server mat engem frĂ«schen Nonce feststellen. Nom Handshake muss de VerifizĂ©ierer sech awer op Indikatoren vum Netzwierkschicht verloossen (IP AdressenDofir muss d'Verbindung tĂ«scht dem VerifizĂ©ierer an dem Server virun Traffic-Injektioun geschĂŒtzt ginn. DĂ«st gĂ«tt mat HĂ«llef vun engem Proxy erreecht.

Verglach vun Orakel

Town Crier baséiert op enger Aarbecht mat enger Enclave am Server Deel, iwwerdeems DECO erlaabt Iech d'Authentizitéit vun der Hierkonft vun Donnéeën mat engem DrÀierkoalitioun Handshake an Dateverschlësselung mat cryptographic Schlëssel z'iwwerpréiwen. Verglach vun dësen Orakel gouf no de folgende CritÚren duerchgefouert: Leeschtung, Sécherheet, KÀschten a Praktikitéit.

Stad Krier
DECO

Leeschtung
Méi séier (0.6s bis zum Schluss)
Méi lues (10.50s fir de Protokoll fÀerdeg ze maachen)

Sécherheet
Manner sécher
Méi sécher

KĂ€schte vun
Méi deier
Méi bëlleg

Praxis
Verlaangt speziell Hardware
Schafft mat all Server deen TLS ënnerstëtzt

Schnell Leeschtung: Fir eng Aarbecht mat DECO, engem DrĂ€ierkoalitioun Handshake nĂ©ideg, wann via LAN Ariichten et dauert 0.37 Sekonnen, fir Interaktioun no der Verbindung etablĂ©iert ass, 2PC-HMAC effikass (0,13 s pro schreiwen). Dem DECO seng Leeschtung hĂ€nkt vun den verfĂŒgbaren TLS Chiffer Suiten, der GrĂ©isst vun de privaten DonnĂ©eĂ«n, an der KomplexitĂ©it vun de Beweiser fir eng bestĂ«mmte Applikatioun of. Benotzt d'binĂ€r Optiounsapplikatioun vum IC3 als Beispill: de Protokoll iwwer LAN fĂ€erdeg ze maachen dauert ongefĂ©ier 10,50 Sekonnen. Zum Verglach hĂ«lt Town Crier ongefĂ©ier 0,6 Sekonnen fir eng Ă€hnlech Applikatioun ze kompletĂ©ieren, wat ongefĂ©ier 20 Mol mĂ©i sĂ©ier ass wĂ©i DECO. Alles wat glĂ€ich ass, wĂ€ert TC mĂ©i sĂ©ier sinn.

Sécherheet: Attacken op der Intel SGX Enclave (SÀit-Kanal Attacken) Aarbecht a kann real Schued un de Participanten vun der Smart Kontrakt Ursaach. Wat DECO ugeet, sinn Attacken am Zesummenhang mat Verkéiersinjektioun méiglech, awer d'Benotzung vun engem Proxy reduzéiert esou Attacken op nÀischt. Dofir ass DECO méi sécher.

KĂ€schte vun: D'KĂ€schte vun AusrĂŒstung dĂ©i Intel SGX Ă«nnerstĂ«tzt ass mĂ©i hĂ©ich wĂ©i d'KĂ€schte fir de Protokoll am DECO opzestellen. Dofir ass TC mĂ©i deier.

PraktikitĂ©it: Fir eng Aarbecht mat Town Crier, speziell AusrĂŒstung dĂ©i TEE Ă«nnerstĂ«tzt ass nĂ©ideg. Zum Beispill gĂ«tt Intel SGX op der 6. Generatioun Intel Core Prozessor Famill a spĂ©ider Ă«nnerstĂ«tzt. DECO erlaabt Iech mat all AusrĂŒstung ze schaffen, obwuel et eng DECO-Astellung gĂ«tt mat TEE. GemĂ©iss dem Setupprozess kann dem DECO sĂ€in DrĂ€i-Wee-Handshake e bĂ«ssen ZĂ€it daueren, awer dĂ«st ass nĂ€ischt am Verglach mat der Hardwarebegrenzung vum TC, sou datt DECO mĂ©i praktesch ass.

Konklusioun

Wann Dir dĂ©i zwee Orakelen getrennt kuckt an se op vĂ©ier CritĂšren verglĂ€icht, ass et kloer datt Town Crier op drĂ€i vu vĂ©ier Punkte manner wĂ©i DECO ass. DECO ass mĂ©i zouverlĂ€sseg aus InformatiounssĂ©cherheetssiicht, mĂ©i bĂ«lleg a mĂ©i praktesch, obwuel d'Opstelle vun engem DrĂ€i-Partei-Protokoll e bĂ«ssen ZĂ€it daueren kann an seng Nodeeler huet, zum Beispill zousĂ€tzlech Operatiounen mat VerschlĂ«sselungsschlĂ«sselen. TC ass mĂ©i sĂ©ier wĂ©i DECO, awer SĂ€it-Kanal Attack Schwachstelle maachen et ufĂ€lleg fir Verloscht vu Vertraulechkeet. Et muss berĂŒcksichtegt ginn datt DECO am Januar 2020 agefouert gouf, an net genuch ZĂ€it ass vergaangen fir et sĂ©cher ze betruechten. Town Crier ass Ă«nner Attack fir 4 Joer an ass duerch vill Tester gaangen, sou datt seng Notzung a ville Projeten gerechtfĂ€erdegt ass.

Source: will.com

Kaaft zouverlĂ€sseg Hosting fir Site mat DDoS Schutz, VPS VDS Server đŸ”„ Kaaft zouverlĂ©issegt WebsĂ€ithosting mat DDoS-Schutz, VPS VDS Server | ProHoster