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.

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.

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.

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).

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.

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

Aus Informatiounssécherheetssiicht goufen déi folgend Attacken op Town Crier ugesinn:
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.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.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.

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.

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:
- 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.
- VerifizĂ©ierungsintegritĂ©it: En gehackte VerifizĂ©ierer kann net verursaachen datt de Beweis falsch Ăntwerten kritt.
- 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

