{"id":93794,"date":"2020-09-10T07:42:27","date_gmt":"2020-09-10T05:42:27","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne"},"modified":"2020-09-10T07:42:27","modified_gmt":"2020-09-10T05:42:27","slug":"town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","title":{"rendered":"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Idag har bara de lata \u00e4nnu inte skrivit om blockchain-teknologi, kryptovalutor och hur fantastiskt det \u00e4r. Men i den h\u00e4r artikeln kommer det inte att handla om att hylla denna teknologi, utan snarare dess nackdelar och s\u00e4tt att \u00e5tg\u00e4rda dem. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/af435f4c102071d7248778ff5354ed5e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Under arbetet med ett av projekten p\u00e5 Altirix Systems uppstod en uppgift som handlade om skyddad, censurstabil bekr\u00e4ftelse av data fr\u00e5n en extern blockkedjek\u00e4lla. Det var n\u00f6dv\u00e4ndigt att bekr\u00e4fta \u00e4ndringar i poster fr\u00e5n ett tredje system och baserat p\u00e5 dessa \u00e4ndringar genomf\u00f6ra en viss gren i logiken f\u00f6r smarta kontrakt. Vid f\u00f6rsta anblicken verkar uppgiften ganska trivial, men n\u00e4r resultatet av dess utf\u00f6rande p\u00e5verkar den ekonomiska situationen f\u00f6r en av parterna i processen, tillkommer ytterligare krav. F\u00f6rst och fr\u00e4mst handlar det om ett omfattande f\u00f6rtroende f\u00f6r en s\u00e5dan valideringsmekanism. Men mer om det senare. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Problemet ligger i att blockchain i sig \u00e4r ett autonomt, slutet objekt, vilket inneb\u00e4r att smarta kontrakt inom blockkedjan inte har n\u00e5gon k\u00e4nnedom om den externa v\u00e4rlden. Samtidigt \u00e4r villkoren f\u00f6r smarta kontrakt ofta kopplade till information om verkliga h\u00e4ndelser (flygf\u00f6rseningar, valutakurser osv.). F\u00f6r att smarta kontrakt ska fungera korrekt m\u00e5ste informationen som h\u00e4mtas utanf\u00f6r blockkedjan vara p\u00e5litlig och verifierad. Detta problem l\u00f6ses genom att anv\u00e4nda orakler, s\u00e5som Town Crier och DECO. Dessa orakler till\u00e5ter smarta kontrakt p\u00e5 blockchain-n\u00e4tverket att lita p\u00e5 information fr\u00e5n en verifierad webbserver, man kan s\u00e4ga att de \u00e4r leverant\u00f6rer av p\u00e5litlig information. <\/p>\n<p><\/p>\n<h1 id=\"orakuly\">Orakler<\/h1>\n<p><\/p>\n<p>F\u00f6rest\u00e4ll dig att ett smart kontrakt genomf\u00f6r en \u00f6verf\u00f6ring av 0,001 btc till din bitcoin-pl\u00e5nbok om ditt favoritfotbollslag vinner den ryska cupen. Vid verklig seger m\u00e5ste smarta kontraktet f\u00e5 information om vilket lag som vann, och h\u00e4r uppst\u00e5r en rad problem: var ska man f\u00e5 denna information, hur ska den \u00f6verf\u00f6ras s\u00e4kert till det smarta kontraktet och hur kan man f\u00f6rs\u00e4kra sig om att den information som kommer in i det smarta kontraktet faktiskt st\u00e4mmer \u00f6verens med verkligheten? <\/p>\n<p><\/p>\n<p>N\u00e4r det g\u00e4ller informationsk\u00e4llan kan det finnas tv\u00e5 scenarier: att koppla en smart kontrakt till en betrodd webbplats d\u00e4r information om matchresultat lagras centraliserat, och det andra alternativet - att koppla flera webbplatser och sedan v\u00e4lja information baserat p\u00e5 de flesta k\u00e4llor som tillhandah\u00e5ller samma data. F\u00f6r att s\u00e4kerst\u00e4lla informationens korrekthet anv\u00e4nds orakler, till exempel Oraclize, som anv\u00e4nder TLSNotary (en modifiering av TLS f\u00f6r att bevisa dators autenticitet). Men information om Oraclize \u00e4r tillr\u00e4cklig p\u00e5 Google, och det finns flera artiklar p\u00e5 Habr\u00e9, idag kommer jag att ber\u00e4tta om orakler som anv\u00e4nder en n\u00e5got annan metod f\u00f6r informations\u00f6verf\u00f6ring: Town Crier och DECO. Artikeln beskriver principerna f\u00f6r arbetet hos b\u00e5da oraklerna samt en detaljerad j\u00e4mf\u00f6relse. <\/p>\n<p><\/p>\n<h1 id=\"town-crier\">Town Crier<\/h1>\n<p><\/p>\n<p>Town Crier (TC) introducerades av IC3 (The Initiative for CryptoCurrencies and Contracts) 2016 vid CCS\u201916. Huvudid\u00e9n med TC \u00e4r att \u00f6verf\u00f6ra information fr\u00e5n en webbplats till en smart kontrakt och s\u00e4kerst\u00e4lla att den information som levereras av TC \u00e4r densamma som p\u00e5 webbplatsen. TC anv\u00e4nder TEE (Trusted Execution Environment) f\u00f6r \u00e4ktheten av dators \u00e4gande. I den ursprungliga versionen av TC beskrivs arbetet med Intel SGX.<br \/>\nTown Crier best\u00e5r av en del inom blockkedjan och en del inom sj\u00e4lva operativsystemet - TC Server.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/d94251340bfe563ca69bf74c358caf62.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTC-kontraktet finns p\u00e5 blockkedjan och fungerar som front end f\u00f6r TC. Den tar emot f\u00f6rfr\u00e5gningar fr\u00e5n CU (anv\u00e4ndarens smart kontrakt) och returnerar svar fr\u00e5n TC Server. Inuti TC Server finns Relay, som etablerar en anslutning mellan enklaven och internet (tv\u00e5v\u00e4gstrafik) och kopplar enklaven med blockkedjan. Enklaven inneh\u00e5ller progencl, som \u00e4r koden som utf\u00f6r f\u00f6rfr\u00e5gningar fr\u00e5n blockkedjan och returnerar meddelanden till blockkedjan med en digital signatur, progencl inneh\u00e5ller en del av smart kontrakts koden och utf\u00f6r i grunden vissa av dess funktioner. <\/p>\n<p><\/p>\n<p>Intel SGX-enklaven kan betraktas som ett gemensamt bibliotek med API som fungerar via ecall. Ecall \u00f6verf\u00f6r kontrollen till enklaven. Enklaven k\u00f6r sin kod tills den \u00e4r klar eller ett undantag intr\u00e4ffar. F\u00f6r att anropa funktioner definierade utanf\u00f6r enklaven anv\u00e4nds ocall. Ocall utf\u00f6rs utanf\u00f6r enklaven och behandlas av den som ett os\u00e4ker anrop. Efter att ocall har genomf\u00f6rts, \u00e5terg\u00e5r kontrollen till enklaven.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/6b4e0952862d6fe8597793cac03e760c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nI Enclave konfigureras en s\u00e4ker kanal med webbservern; Enclaven sj\u00e4lv utf\u00f6r TLS handshake med m\u00e5servern och genomf\u00f6r alla kryptografiska operationer internt. TLS-biblioteket (mbedTLS) och HTTP-koden har exporteras i en reducerad version till SGX-milj\u00f6n. Enclaven inneh\u00e5ller ocks\u00e5 root CA-certifikat (en samling certifikat) f\u00f6r att verifiera certifikat fr\u00e5n externa servrar. Request Handler tar emot datagramf\u00f6rfr\u00e5gningar i det format som tillhandah\u00e5lls av Ethereum, dekrypterar det och analyserar. Den genererar sedan en Ethereum-transaktion som inneh\u00e5ller det beg\u00e4rda datagrammet, signerar det med skTC och vidarebefordrar det till Relay.<\/p>\n<p><\/p>\n<p>Relay-delen omfattar Client Interface, TCP, Blockchain Interface. Client Interface beh\u00f6vs f\u00f6r att attestera Enclave-koden och f\u00f6r kommunikation med klienten. Klienten skickar en beg\u00e4ran om attestering via ecall och f\u00e5r en tidsst\u00e4mpel som \u00e4r signerad med skTC tillsammans med att (attesteringssignatur), som sedan bekr\u00e4ftas via Intel Attestation Service (IAS), medan tidsst\u00e4mpeln verifieras av en p\u00e5litlig tidsservice. Blockchain Interface kontrollerar inkommande f\u00f6rfr\u00e5gningar och registrerar transaktioner i blockkedjan f\u00f6r att leverera datagram. Geth \u00e4r den officiella Ethereum-klienten som g\u00f6r det m\u00f6jligt f\u00f6r Relay att interagera med blockkedjan via RPC-anrop. <\/p>\n<p><\/p>\n<p>Genom att arbeta med TEE till\u00e5ter TC att k\u00f6ra flera Enclaves parallellt, vilket \u00f6kar hastigheten f\u00f6r informationsbehandling med 3 g\u00e5nger. Om hastigheten med en fungerande Enclave var 15 tx\/sec, s\u00e5 \u00f6kar hastigheten upp till 65 tx\/sec med 20 parallellt k\u00f6rda Enclaves; till exempel \u00e4r den maximala hastigheten i Bitcoin-blockkedjan 26 tx\/sec.<\/p>\n<p><\/p>\n<h1 id=\"deco\">DECO<\/h1>\n<p><\/p>\n<p>DECO (Decentralized Oracles for TLS) presenterades p\u00e5 CCS\u201920 och fungerar med webbplatser som st\u00f6djer TLS-anslutning. Det s\u00e4kerst\u00e4ller konfidentialitet och dataintegritet.<br \/>\nDECO med TLS anv\u00e4nder symmetrisk kryptering, vilket inneb\u00e4r att b\u00e5de klienten och webbservern har krypteringsnycklar, och klienten kan, om s\u00e5 \u00f6nskas, fuska med TLS-sessionens data. F\u00f6r att l\u00f6sa detta problem anv\u00e4nder DECO ett tredelat handskakningsprotokoll mellan prover (smartkontrakt), verifierare (oracle) och webbserver (datak\u00e4lla).<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/17245f0af8d3cf448291652fd58312f2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>DECO:s arbetsprincip \u00e4r att verifieraren (prover) f\u00e5r en del av data D och bekr\u00e4ftar f\u00f6r verifieraren (verifier) att D kom fr\u00e5n TLS-servern S. Ett annat problem \u00e4r att TLS inte signerade data, vilket g\u00f6r det sv\u00e5rt f\u00f6r TLS-klienten att bevisa att data verkligen mottogs fr\u00e5n den servern (provenance difficulty). <\/p>\n<p><\/p>\n<p>I protokollet DECO anv\u00e4nds nycklarna KEnc och KMac. Klienten skickar f\u00f6rfr\u00e5gan Q till <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/server\/\"   title=\"webbserver\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1157\">webbserver<\/a>, svaret fr\u00e5n servern R kommer i krypterad form, men b\u00e5de klienten och servern innehar samma KMac, och klienten kan f\u00f6rfalska TLS-meddelandet. L\u00f6sningen fr\u00e5n DECO \u00e4r att \"d\u00f6lja\" KMac fr\u00e5n klienten (prover) tills denne svarar p\u00e5 f\u00f6rfr\u00e5gan. Nu \u00e4r KMac delad mellan prover och verifierare \u2014 KpMac och KvMac. Servern f\u00e5r KMac f\u00f6r att kryptera svaret genom en operation p\u00e5 nyckeldelarna KpMac \u2295 KvMac = KMac.<\/p>\n<p><\/p>\n<p>Genom att st\u00e4lla in en trepartshandshake kommer datakommunikationen mellan klienten och servern att genomf\u00f6ras med s\u00e4kerhetsgaranti.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/2d6405ae1e7e2b283539d3a4bd8c315c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nN\u00e4r man pratar om system f\u00f6r decentraliserade orakel f\u00e5r man inte gl\u00f6mma Chainlink, som str\u00e4var efter att skapa ett decentraliserat n\u00e4tverk av orakelnoder som \u00e4r kompatibelt med Ethereum, Bitcoin och Hyperledger, med modul\u00e4ritet i \u00e5tanke: varje del av systemet kan uppdateras. F\u00f6r att s\u00e4kerst\u00e4lla s\u00e4kerhet erbjuder Chainlink varje oracle som deltar i uppdraget att utf\u00e4rda en nyckelkombination (\u00f6ppen och privat). Den privata nyckeln anv\u00e4nds f\u00f6r att generera en partiell signatur som inneh\u00e5ller deras svar p\u00e5 dataf\u00f6rfr\u00e5gan. F\u00f6r att f\u00e5 svar kr\u00e4vs en kombination av alla orakels n\u00e4tverks partiella signaturer.<\/p>\n<p><\/p>\n<p>Chainlink planerar att genomf\u00f6ra en f\u00f6rsta PoC DECO med fokus p\u00e5 decentraliserade finansiella applikationer som Mixicles. Vid tidpunkten f\u00f6r skrivandet publicerades en nyhet p\u00e5 Forbes om att Chainlink har f\u00f6rv\u00e4rvat DECO fr\u00e5n Cornell University.<\/p>\n<p><\/p>\n<h1 id=\"ataki-na-orakuly\">Attacker mot orakel<\/h1>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/ce964b3961f4b0035f96e33777ed77d0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ur perspektivet informationss\u00e4kerhet har f\u00f6ljande attacker mot Town Crier \u00f6verv\u00e4gts:<\/p>\n<p><\/p>\n<ol>\n<li>\n<p>Rogue smart-contract kodinjektion p\u00e5 TEE-noder.<br \/>\nAngreppets k\u00e4rna: att \u00f6verf\u00f6ra uppenbart felaktig smart-contractkod till TEE, vilket inneb\u00e4r att en angripare som f\u00e5tt tillg\u00e5ng till noden kommer att kunna k\u00f6ra sin egen (bedr\u00e4gliga) smart-contract p\u00e5 dekrypterade data. Emellertid kommer de \u00e5terl\u00e4mnade v\u00e4rdena att krypteras med den privata nyckeln, och det enda s\u00e4ttet att f\u00e5 tillg\u00e5ng till s\u00e5dan data \u00e4r genom l\u00e4ckage av den krypterade texten vid \u00e5terl\u00e4mnandet\/utmatningen.<br \/>\nSkydd mot denna attack \u00e4r att kontrollera koden som finns p\u00e5 den aktuella adressen av enclaven. Detta kan uppn\u00e5s genom en adresseringsschema d\u00e4r kontraktsadressen definieras genom att hashkoda kontraktskoden. <\/p>\n<p>\n<\/li>\n<li>\n<p>Contract state ciphertext changes leak.<br \/>\nAngreppets k\u00e4rna: \u00c4gare av noder d\u00e4r smarta kontrakt k\u00f6rs har \u00e5tkomst till contract state i krypterad form utanf\u00f6r enclaven. En angripare som f\u00e5r kontroll \u00f6ver en nod kan j\u00e4mf\u00f6ra contact state f\u00f6re och efter transaktionen och kan avg\u00f6ra vilka argument som inf\u00f6rts och vilken specifik metod av det smarta kontraktet som anv\u00e4nts, eftersom sj\u00e4lva koden f\u00f6r det smarta kontraktet och dess tekniska specifikationer \u00e4r offentligt tillg\u00e4ngliga.<br \/>\nSkydd f\u00f6r att s\u00e4kerst\u00e4lla nodens tillf\u00f6rlitlighet.<\/p>\n<p>\n<\/li>\n<li>\n<p>Sidokanalattacker.<br \/>\nEn s\u00e4rskild typ av attacker som anv\u00e4nder \u00f6vervakning av \u00e5tkomst till minne och cache i enclaven i olika scenarier. Ett exempel p\u00e5 en s\u00e5dan attack \u00e4r Prime and Probe.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/df57664f060e294b969f96dda8a69b32.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nOrdningen f\u00f6r att utf\u00f6ra attacken:<\/p>\n<p><\/p>\n<ul>\n<li>t0: Angriparen fyller hela datacachen f\u00f6r offrets process.<\/li>\n<li>t1: Offret k\u00f6r kod med minnesanrop som beror p\u00e5 konfidentiella data fr\u00e5n offret (kryptografiska nycklar). Valet av cachelinje g\u00f6rs baserat p\u00e5 v\u00e4rdet av keybit. I exemplet p\u00e5 bilden, keybit = 0 och adress X har l\u00e4sts i cachelinje 2. Data som lagras i X laddas in i cachen, vilket verdrar data som redan fanns d\u00e4r. <\/li>\n<li>t2: Angriparen kontrollerar vilka av hans cachelinjer som har blivit verdrivna \u2013 de linjer som anv\u00e4nts av offret. Detta g\u00f6rs genom att m\u00e4ta \u00e5tkomsttiden. Genom att upprepa denna operation f\u00f6r varje keybit f\u00e5r angriparen hela nyckeln. <\/li>\n<\/ul>\n<p>\n<\/li>\n<\/ol>\n<p><\/p>\n<p>Skydd mot attacken: I Intel SGX finns skydd mot sidokanalattacker som f\u00f6rbjuder \u00f6vervakning av cache-relaterade h\u00e4ndelser, men attacken Prime and Probe kommer \u00e4nd\u00e5 att lyckas, eftersom angriparen observerar cacheh\u00e4ndelser f\u00f6r sin egen process och delar cache med offret.<br \/>\n<img decoding=\"async\" alt=\"Town Crier vs DECO: vilken oracle b\u00f6r anv\u00e4ndas i blockchain?\" src=\"\/wp-content\/uploads\/2020\/09\/9b2821eedacc189f44cf903aad0fdba3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nS\u00e5ledes finns det f\u00f6r n\u00e4rvarande inget tillf\u00f6rlitligt skydd mot denna attack.<\/p>\n<p><\/p>\n<p>\u00c4ven attacker av typen Spectre och Foreshadow (L1TF) \u00e4r k\u00e4nda, vilka liknar Prime and Probe. De till\u00e5ter att l\u00e4sa data fr\u00e5n cacheminnet genom en sidokanal. Skydd mot s\u00e5rbarhet Spectre-v2 finns, vilket fungerar mot dessa tv\u00e5 attacker. <\/p>\n<p><\/p>\n<p>I relation till DECO ger det tredelade handslaget s\u00e4kerhetsgaranti: <\/p>\n<p><\/p>\n<ol>\n<li>Prover Integrity: En hackad prover kan inte f\u00f6rfalska information om ursprunget till servern och kan inte f\u00e5 servern att ta emot ogiltiga f\u00f6rfr\u00e5gningar eller svara felaktigt p\u00e5 giltiga f\u00f6rfr\u00e5gningar. Detta \u00e5stadkoms genom f\u00f6rfr\u00e5gningsm\u00f6nster mellan server och prover. <\/li>\n<li>Verifier Integrity: En hackad verifier kan inte f\u00e5 prover att f\u00e5 felaktiga svar.<\/li>\n<li>Sekretess: Den hackade verifieraren granskar endast offentlig information (f\u00f6rfr\u00e5gan, servernamn).<\/li>\n<\/ol>\n<p><\/p>\n<p>I DECO finns endast s\u00e5rbarheter relaterade till trafikinjicering. Till en b\u00f6rjan, vid den tredubbla handskakningen kan verifieraren fastst\u00e4lla serverns identitet genom en ny nonce. Men efter handskakningen m\u00e5ste verifieraren f\u00f6rlita sig p\u00e5 indikatorer p\u00e5 n\u00e4tverksniv\u00e5 (<a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/lir\/ipv4\/\"   title=\"IP-adresser\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"674\">IP-adresser<\/a>). S\u00e5ledes m\u00e5ste f\u00f6rbindelsen mellan verifieraren och servern skyddas mot trafikinjicering. Detta uppn\u00e5s genom att anv\u00e4nda en proxy.<\/p>\n<p><\/p>\n<h1 id=\"sravnenie-orakulov\">J\u00e4mf\u00f6relse av oraklar<\/h1>\n<p><\/p>\n<p>Town Crier \u00e4r baserat p\u00e5 arbete med en enclave p\u00e5 serversidan, medan DECO till\u00e5ter autentisering av dators ursprung genom tredubbla handskakningar och kryptering av data med kryptografiska nycklar. J\u00e4mf\u00f6relsen av oraklars data genomf\u00f6rdes utifr\u00e5n f\u00f6ljande kriterier: prestanda, s\u00e4kerhet, kostnad och praktisk anv\u00e4ndbarhet. <\/p>\n<p><\/p>\n<p>Town Crier<br \/>\nDECO<\/p>\n<p>prestanda<br \/>\nSnabbare (0,6 s f\u00f6r att slutf\u00f6ra)<br \/>\nL\u00e5ngsammare (10,50 s f\u00f6r att slutf\u00f6ra protokollet)<\/p>\n<p>s\u00e4kerhet<br \/>\nMindre s\u00e4ker<br \/>\nMer s\u00e4ker<\/p>\n<p>kostnaden<br \/>\nDyrare<br \/>\nBilligare<\/p>\n<p>praktisk anv\u00e4ndbarhet<br \/>\nKr\u00e4ver specialiserad h\u00e5rdvara<br \/>\nFungerar med vilken server som helst som st\u00f6der TLS<\/p>\n<p><\/p>\n<p><strong>Prestanda<\/strong>: F\u00f6r att arbeta med DECO kr\u00e4vs en konfiguration av tredubbla handskakningar, n\u00e4r man installerar via LAN tar det 0,37 sekunder, f\u00f6r interaktion efter etablering av f\u00f6rbindelse \u00e4r 2PC-HMAC effektiv (0,13 s vid skrivning). DECO:s prestanda beror p\u00e5 tillg\u00e4ngliga TLS-krypteringsupps\u00e4ttningar, storleken p\u00e5 personuppgifterna och komplexiteten i bevisen f\u00f6r en viss applikation. Med exemplet fr\u00e5n IC3:s bin\u00e4ra alternativapplikation: att slutf\u00f6ra protokollet via LAN tar cirka 10,50 s. I j\u00e4mf\u00f6relse kr\u00e4ver Town Crier cirka 0,6 sekunder f\u00f6r att utf\u00f6ra en liknande applikation, allts\u00e5 ungef\u00e4r 20 g\u00e5nger snabbare \u00e4n DECO. Under lika f\u00f6rh\u00e5llanden kommer TC att vara snabbare. <\/p>\n<p><\/p>\n<p><strong>S\u00e4kerhet<\/strong>: Angrepp p\u00e5 Intel SGX-enklaven (side-channel attacks) fungerar och kan orsaka verklig skada f\u00f6r deltagarna i smart kontrakt. Relaterat till DECO \u00e4r angrepp relaterade till trafikinjicering m\u00f6jliga, men anv\u00e4ndningen av proxy minskar s\u00e5dana angrepp. S\u00e5ledes \u00e4r DECO mer s\u00e4ker.<\/p>\n<p><\/p>\n<p><strong>Kostnad<\/strong>: Kostnaden f\u00f6r h\u00e5rdvara som st\u00f6der arbete med Intel SGX \u00e4r h\u00f6gre \u00e4n kostnaden f\u00f6r att konfigurera protokollet i DECO. D\u00e4rf\u00f6r \u00e4r TC dyrare.<\/p>\n<p><\/p>\n<p><strong>Praktisk anv\u00e4ndbarhet<\/strong>: F\u00f6r att arbeta med Town Crier kr\u00e4vs speciell utrustning som st\u00f6der TEE. Till exempel st\u00f6ds Intel SGX p\u00e5 processorer av Intel Core 6:e generationen och nyare. DECO \u00e5 sin sida fungerar med all utrustning, \u00e4ven om det finns en DECO-konfiguration som anv\u00e4nder TEE. Vid konfigurationen kan DECO:s trev\u00e4gshandslag ta lite tid, men det st\u00e5r inte i j\u00e4mf\u00f6relse med h\u00e5rdvarubegr\u00e4nsningen f\u00f6r TC, vilket g\u00f6r DECO mer praktiskt.<\/p>\n<p><\/p>\n<h1 id=\"zaklyuchenie\">Slutsats<\/h1>\n<p><\/p>\n<p>Genom att granska de tv\u00e5 oraklen separat och j\u00e4mf\u00f6ra dem utifr\u00e5n fyra kriterier blir det tydligt att Town Crier underpresterar gentemot DECO p\u00e5 tre av fyra punkter. DECO \u00e4r mer p\u00e5litligt n\u00e4r det g\u00e4ller informationss\u00e4kerhet, billigare och mer praktiskt, \u00e4ven om konfigurationen av det tredubbla protokollet kan ta lite tid och har sina nackdelar, till exempel ytterligare operationer med krypteringsnycklar. TC fungerar snabbare \u00e4n DECO, men s\u00e5rbarheten kopplad till side-channel attack g\u00f6r att det riskerar att f\u00f6rlora konfidentialitet. Det b\u00f6r noteras att DECO presenterades i januari 2020, och det har \u00e4nnu inte g\u00e5tt tillr\u00e4ckligt med tid f\u00f6r att anse det som s\u00e4kert. Town Crier har redan utsatts f\u00f6r attacker i 4 \u00e5r och genomg\u00e5tt m\u00e5nga tester, s\u00e5 dess anv\u00e4ndning i m\u00e5nga projekt \u00e4r ber\u00e4ttigad.<\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/518234\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u0434 \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0410\u043b\u044c\u0442\u0438\u0440\u0438\u043a\u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u0441, \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0433\u043e, \u0446\u0435\u043d\u0437\u0443\u0440\u043e\u0441\u0442\u043e\u0439\u043a\u043e\u0433\u043e \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0432\u043d\u0435\u0448\u043d\u0435\u0433\u043e \u0434\u043b\u044f \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":93795,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-93794","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Town Crier vs DECO: \u043a\u0430\u043a\u043e\u0439 \u043e\u0440\u0430\u043a\u0443\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-10T05:42:27+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-10T05:42:27+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Town Crier vs DECO: vilket oracle ska man anv\u00e4nda i blockchain? | ProHoster","description":"Idag har bara de lata \u00e4nnu inte skrivit om blockchain-teknologi, kryptovalutor och hur fantastiskt det \u00e4r. Men i den h\u00e4r artikeln kommer det inte att handla om att hylla denna teknologi, utan snarare dess nackdelar och s\u00e4tt att \u00e5tg\u00e4rda dem.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Town Crier vs DECO: \u043a\u0430\u043a\u043e\u0439 \u043e\u0440\u0430\u043a\u0443\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d\u0435? | ProHoster","og:description":"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u043d\u0438\u0432\u044b\u0439 \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0431\u043b\u043e\u043a\u0447\u0435\u0439\u043d, \u043a\u0440\u0438\u043f\u0442\u043e\u0432\u0430\u043b\u044e\u0442\u044b \u0438 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u043a\u0440\u0443\u0442\u043e. \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0441\u0445\u0432\u0430\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0435\u0442 \u043a\u0430\u043a \u0440\u0430\u0437 \u043e \u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u0445 \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u0445 \u0438\u0445 \u0443\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/town-crier-vs-deco-kakoj-orakul-ispolzovat-v-blokchejne","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-10T05:42:27+00:00","article:modified_time":"2020-09-10T05:42:27+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"93794","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:39:33","updated":"2026-02-09 15:05:02","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/93794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=93794"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/93794\/revisions"}],"predecessor-version":[{"id":158360,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/93794\/revisions\/158360"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/93795"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=93794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=93794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=93794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}