Town Crier vs DECO: hokker orakel te brûken yn blockchain?

Tsjintwurdich hawwe allinich de luie net skreaun oer blockchain-technology, cryptocurrencies en hoe cool it is. Mar dit artikel sil dizze technology net priizgje, wy sille prate oer har tekoarten en manieren om se te eliminearjen.

Town Crier vs DECO: hokker orakel te brûken yn blockchain?

Wylst wurke oan ien fan 'e projekten by Altirix Systems, ûntstie de taak fan feilige, sensuer-resistinte befêstiging fan gegevens fan in boarne bûten de blockchain. It wie nedich om feroaringen yn 'e records fan it tredde systeem te befêstigjen en, basearre op dizze wizigingen, ien of oare tûke út te fieren yn' e smart kontrakt logika. De taak op it earste each is frij triviale, mar as de finansjele tastân fan ien fan 'e partijen dy't dielnimme oan it proses hinget ôf fan it resultaat fan syn útfiering, ferskine ekstra easken. Alderearst is dit wiidweidich fertrouwen yn sa'n falidaasjemeganisme. Mar earst dingen earst.

It probleem is dat de blockchain sels in autonome, sletten entiteit is, sadat de tûke kontrakten binnen de blockchain neat witte oer de bûtenwrâld. Tagelyk binne de betingsten fan tûke kontrakten faak relatearre oan ynformaasje oer echte dingen (flechtfertraging, wikselkoersen, ensfh.). Foar tûke kontrakten om goed te wurkjen, moat ynformaasje ûntfongen fan bûten de blockchain betrouber en ferifiearre wêze. Dit probleem wurdt oplost troch it brûken fan orakels lykas Town Crier en DECO. Dizze orakels jouwe in tûk kontrakt op it blokje netwurk om ynformaasje te fertrouwen fan in fertroude webserver kinne wy ​​​​sizze dat dit oanbieders fan betroubere ynformaasje binne.

Orakels

Stel jo foar dat in tûk kontrakt 0.001 btc oerbringt nei jo bitcoin-wallet as jo favorite fuotbalklup de Russyske beker wint. Yn it gefal fan in echte oerwinning moat it tûke kontrakt ynformaasje oerdrage oer hokker klup wûn, en hjir ûntsteane in oantal problemen: wêr't dizze ynformaasje te krijen is, hoe't jo it feilich kinne oerdrage nei it tûke kontrakt en hoe't jo soargje dat de ynformaasje ûntfongen yn 'e smart kontrakt is jildich eins oerienkomt mei de werklikheid?

As it giet om de boarne fan ynformaasje, kinne d'r 2 senario's wêze: it ferbinen fan in tûk kontrakt oan in fertroude webside wêryn ynformaasje oer wedstriidresultaten sintraal opslein wurdt, en de twadde opsje is om ferskate siden tagelyk te ferbinen en dan ynformaasje út de measte boarnen te selektearjen dy't deselde gegevens leverje. Om de krektens fan 'e ynformaasje te kontrolearjen, wurde orakels brûkt, bygelyks Oraclize, dy't TLSNotary (TLS Notary Modification to Prove the Authenticity of Data) brûkt. Mar d'r is genôch ynformaasje op Google oer Oraclize, en d'r binne ferskate artikels oer Habré Hjoed sil ik prate oer orakels dy't in wat oare oanpak brûke foar it ferstjoeren fan ynformaasje: Town Crier en DECO. It artikel jout in beskriuwing fan de wurking prinsipes fan beide orakels, likegoed as in detaillearre ferliking.

Town Crier

Town Crier (TC) waard yntrodusearre troch IC3 (The Initiative for Cryptocurrencies and Contracts) yn 2016 by CCS'16. It haadidee fan TC: oerdrage ynformaasje fan in webside nei in tûk kontrakt en soargje derfoar dat de ynformaasje levere troch TC itselde is as op 'e webside. TC brûkt TEE (Trusted Execution Environment) om eigendom fan gegevens te autentisearjen. De orizjinele ferzje fan TC beskriuwt hoe't jo wurkje mei Intel SGX.
Town Crier bestiet út in diel binnen de blockchain en in diel binnen it OS sels - TC Server.
Town Crier vs DECO: hokker orakel te brûken yn blockchain?
TC-kontrakt is op 'e blockchain en fungearret as de foarkant foar TC. It akseptearret oanfragen fan 'e CU (smart kontrakt foar brûkers) en jout in antwurd fan 'e TC-tsjinner werom. Binnen de TC Server is d'r in Relay, dy't in ferbining makket tusken de enklave en it ynternet (bidireksjoneel ferkear) en ferbynt de enklave mei de blockchain. Enclave befettet progencl, dat is koade dy't oanfragen makket fan 'e blockchain en berjochten werombringt nei de blockchain mei in digitale hantekening, progencl befettet in diel fan' e tûke kontraktkoade en fiert yn essinsje guon fan har funksjes út.

De Intel SGX-enklave kin wurde tocht as in dielde bibleteek mei in API dy't rint fia ecall. Ecall draacht kontrôle oer nei de enklave. De enklave fiert syn koade út oant it útkomt of oant in útsûndering foarkomt. Om funksjes bûten de enklave op te roppen, wurdt ocall brûkt. Ocall wurdt útfierd bûten de enklave en wurdt behannele as in net fertroude oprop troch it. Nei't ocall is útfierd, wurdt kontrôle weromjûn nei de enklave.
Town Crier vs DECO: hokker orakel te brûken yn blockchain?
Yn it Enclave-diel wurdt in feilich kanaal konfigureare mei in webserver, de enklave sels docht in TLS-handshake mei de doeltsjinner en fiert alle kryptografyske operaasjes yntern. De TLS-biblioteek (mbedTLS) en fermindere HTTP-koade binne eksportearre nei de SGX-omjouwing. Ek befettet Enclave root CA-sertifikaten (in samling sertifikaten) om de sertifikaten fan servers op ôfstân te ferifiearjen. Request Handler akseptearret in datagram-fersyk yn it formaat levere troch Ethereum, ûntsiferet it en parseart it. Dan genereart it in Ethereum-transaksje mei it frege datagram, tekenet it mei skTC en stjoert it nei Relay.

It Relay-diel omfettet Client Interface, TCP, Blockchain Interface. De kliïntynterface is nedich om de enklavekoade te sertifisearje en te kommunisearjen mei de klant. De kliïnt stjoert in attestaasjefersyk mei ecall en ûntfangt in tiidstempel tekene troch skTC tegearre mei att (attestaasjehântekening), dan wurdt att ferifiearre mei Intel Attestation Service (IAS), en it tiidstempel wurdt ferifiearre troch in fertroude tiidtsjinst. Blockchain Interface ferifiearret ynkommende oanfragen en pleatst transaksjes op 'e blockchain foar levering fan datagrammen. Geth is in offisjele Ethereum-kliïnt en lit Relay ynteraksje mei de blockchain fia RPC-oproppen.

Wurkje mei TEE lit TC jo ferskate enklaves parallel útfiere, wêrtroch de snelheid fan ynformaasjeferwurking mei 3 kear ferheget. As mei ien rinnende enklave de snelheid wie 15 tx / sek, dan mei 20 parallelle rinnende enklaves ferheget de snelheid nei 65 tx / sek foar ferliking, de maksimale bestjoeringssysteem snelheid yn de Bitcoin blockchain is 26 tx / sek.

DECO

DECO (Desintralisearre Orakels foar TLS) waard presintearre op CCS'20, wurket mei siden dy't TLS-ferbiningen stypje. Soarget gegevens fertroulikens en yntegriteit.
DECO mei TLS brûkt symmetryske fersifering, sadat de kliïnt en webserver fersiferingskaaien hawwe, en de kliïnt kin TLS-sesjegegevens fermeitsje as hy wol. Om dit probleem op te lossen, brûkt DECO in trije-manier-handshakeprotokol tusken de prover (smart kontrakt), ferifiearder (oracle) en webserver (gegevensboarne).

Town Crier vs DECO: hokker orakel te brûken yn blockchain?

De manier wêrop DECO wurket is dat de ferifiearder in stikje gegevens D ûntfangt en oan de ferifiearder befêstiget dat D fan de TLS-tsjinner S kaam. In oar probleem is dat TLS de gegevens net ûndertekenet en it is lestich foar de TLS-kliïnt om te bewizen dat de gegevens waarden ûntfongen fan krekt de juste tsjinner (problemen fan herkomst).

It DECO-protokol brûkt fersiferingssleutels KEnc en KMac. De kliïnt stjoert in fersyk Q nei webserverIt antwurd fan server R komt fersifere oan, mar de kliïnt en server diele deselde KMac, en de kliïnt kin it TLS-berjocht ferfalskje. De oplossing fan DECO is om de KMac te "ferbergjen" foar de kliïnt (de prover) oant dy reagearret op it fersyk. No wurdt de KMac ferdield tusken de prover en de ferifier - KpMac en KvMac. De server krijt de KMac om it antwurd te fersiferjen mei de kaai-partitionearringsoperaasje KpMac ⊕ KvMac = KMac.

Troch it opsetten fan in trije-manier handshake, gegevens útwikseling tusken de klant en tsjinner wurdt útfierd mei in garânsje fan feiligens.
Town Crier vs DECO: hokker orakel te brûken yn blockchain?
As jo ​​​​prate oer in desintralisearre orakelsysteem, kin men net mislearje om Chainlink te neamen, dy't as doel hat om in desintralisearre netwurk fan orakelknooppunten te meitsjen dy't kompatibel binne mei Ethereum, Bitcoin en Hyperledger, rekken hâldend mei modulariteit: elk diel fan it systeem kin bywurke wurde. Tagelyk, om feiligens te garandearjen, biedt Chainlink elke orakel dy't dielnimme oan 'e taak om in kombinaasje fan kaaien (iepenbier en privee) út te jaan. De privee kaai wurdt brûkt foar it generearjen fan in parsjele hantekening dy't har beslút om it gegevensfersyk befettet. Om in antwurd te krijen, is it nedich om alle parsjele hantekeningen fan 'e orakels fan it netwurk te kombinearjen.

Chainlink is fan plan om in earste PoC DECO út te fieren mei in fokus op desintralisearre finansjele applikaasjes lykas Mixicles. Op it stuit fan dit skriuwen kaam nijs út op Forbes dat Chainlink DECO oankocht fan Cornell University.

Oanfallen op orakels

Town Crier vs DECO: hokker orakel te brûken yn blockchain?

Fanút it eachpunt fan ynformaasjefeiligens waarden de folgjende oanfallen op Town Crier beskôge:

  1. Rogue smart-kontakt koade ynjeksje op TEE knopen.
    De essinsje fan 'e oanfal: it ferstjoeren fan in bewust ferkearde tûke kontraktkoade nei TEE, dus in oanfaller dy't tagong krige ta de knooppunt sil syn eigen (frauduleus) tûke kontrakt kinne útfiere op 'e ûntsifere gegevens. De weromkommende wearden sille lykwols wurde fersifere mei in privee kaai, en de ienige manier om tagong te krijen ta sokke gegevens is om de sifertekst te lekken by werom / útfier.
    Beskerming tsjin dizze oanfal bestiet út 'e enklave dy't de krektens fan' e koade op it hjoeddeistige adres kontrolearret. Dit kin berikt wurde mei in adresskema wêrby't it kontraktadres wurdt bepaald troch de kontraktkoade te hashen.

  2. Kontrakt steat ciphertext feroarings lek.
    De essinsje fan 'e oanfal: Eigners fan knopen wêrop tûke kontrakten wurde útfierd hawwe tagong ta de kontraktsteat yn fersifere foarm bûten de enklave. In oanfaller, dy't kontrôle hat oer in knooppunt, kin de kontaktstatus foar en nei de transaksje fergelykje en kin bepale hokker arguminten waarden ynfierd en hokker smart kontraktmetoade waard brûkt, om't de smart kontraktkoade sels en syn technyske spesifikaasjes iepenbier beskikber binne.
    Beskerming by it garandearjen fan de betrouberens fan it knooppunt sels.

  3. Side-kanaal oanfallen.
    In spesjale soarte oanfal dy't gebrûk makket fan tafersjoch fan enklave-ûnthâld en cache-tagong yn ferskate senario's. In foarbyld fan sa'n oanfal is Prime and Probe.
    Town Crier vs DECO: hokker orakel te brûken yn blockchain?
    Oanfal folchoarder:

    • t0: De oanfaller follet de hiele gegevenscache fan it slachtofferproses.
    • t1: It slachtoffer fiert koade mei ûnthâld tagong dy't ôfhinklik binne fan it slachtoffer gefoelige gegevens (kryptografyske kaaien). De cache-rigel wurdt selektearre op basis fan de keybit-wearde. Yn it foarbyld yn 'e figuer, keybit = 0 en it adres X yn cache line 2 wurdt lêzen.
    • t2: De oanfaller kontrolearret hokker fan syn cache rigels binne útset - rigels brûkt troch it slachtoffer. Dit wurdt dien troch it mjitten fan tagongstiid. Troch dizze operaasje foar elke keybit te werheljen, krijt de oanfaller de folsleine kaai.

Attack Protection: Intel SGX hat beskerming tsjin side-kanaal oanfallen dy't foarkomt monitoaring fan cache-relatearre eveneminten, mar in Prime en Probe oanfal sil noch wurkje omdat de oanfaller kontrolearret de cache barrens fan syn proses en dielt de cache mei it slachtoffer.
Town Crier vs DECO: hokker orakel te brûken yn blockchain?
Sa is der op it stuit gjin betroubere beskerming tsjin dizze oanfal.

Oanfallen lykas Spectre en Foreshadow (L1TF), fergelykber mei Prime en Probe, binne ek bekend. Se kinne jo gegevens lêze fan cache-ûnthâld fia in kanaal fan tredden. Beskerming tsjin de Specter-v2 kwetsberens wurdt levere, dy't wurket tsjin twa fan dizze oanfallen.

Yn relaasje ta DECO biedt de trije-wei-handshake in garânsje fan feiligens:

  1. Prover Yntegriteit: In hacked prover kin net ferfalsking server oarsprong ynformaasje en kin net feroarsaakje de tsjinner te akseptearjen ûnjildige fersiken of reagearje ferkeard op jildige fersiken. Dit wurdt dien troch oanfraachpatroanen tusken tsjinner en prover.
  2. Ferifikaasje-yntegriteit: In hacked ferifiearder kin net soargje dat prover ferkearde antwurden ûntfangt.
  3. Privacy: De hackte ferifiearder ûndersiket allinich iepenbiere ynformaasje (fersyk, servernamme).

Yn DECO binne allinich kwetsberheden foar ferkearsynjeksje mooglik. Yn it earstoan, tidens in trije-wei handshake, kin de ferifikator de identiteit fan 'e server fêststelle mei in nije nonce. Nei de handshake moat de ferifikator lykwols fertrouwe op yndikatoaren op 'e netwurklaach (IP adressenDêrom moat de ferbining tusken de ferifiearder en de tsjinner beskerme wurde tsjin ferkearsynjeksje. Dit wurdt berikt troch in proxy te brûken.

Fergeliking fan orakels

Town Crier is basearre op it wurkjen mei in enklave yn de tsjinner diel, wylst DECO kinne jo ferifiearje de autentisiteit fan 'e oarsprong fan gegevens mei help fan in trije-manier handshake en gegevens fersifering mei kryptografyske kaaien. Fergeliking fan dizze orakels waard útfierd neffens de folgjende kritearia: prestaasjes, feiligens, kosten en praktykens.

Town Crier
DECO

optreden
Sneller (0.6 s oant finish)
Stadiger (10.50s om it protokol te foltôgjen)

feiligens
Minder feilich
Mear feilich

kosten fan
Djoerder
Goedkeaper

praktykens
Fereasket spesjale hardware
Wurket mei elke tsjinner dy't TLS stipet

Prestaasje: Om te wurkjen mei DECO, is in trije-manier handshake nedich, by it opsetten fia LAN it duorret 0.37 sekonden, foar ynteraksje neidat de ferbining is oprjochte, 2PC-HMAC is effektyf (0,13 s per skriuwen). DECO's prestaasjes hinget ôf fan 'e beskikbere TLS-sifersuites, de grutte fan' e priveegegevens, en de kompleksiteit fan it bewiis foar in bepaalde applikaasje. Mei help fan de applikaasje foar binêre opsje fan IC3 as foarbyld: it foltôgjen fan it protokol fia LAN duorret sawat 10,50 sekonden. By ferliking nimt Town Crier sawat 0,6 sekonden om in ferlykbere applikaasje te foltôgjen, dy't sawat 20 kear flugger is as DECO. As alles gelyk is, sil TC rapper wêze.

Feiligens: Oanfallen op 'e Intel SGX-enklave (side-kanaal oanfallen) wurkje en kinne echte skea oan' e dielnimmers fan 'e tûke kontrakt feroarsaakje. Oangeande DECO, oanfallen yn ferbân mei ferkear ynjeksje binne mooglik, mar it brûken fan in proxy ferminderet sokke oanfallen oan neat. Dêrom is DECO feiliger.

kosten fan: De kosten fan apparatuer dy't Intel SGX stipet is heger as de kosten foar it opsetten fan it protokol yn DECO. Dêrom is TC djoerder.

Praktyskiteit: Om te wurkjen mei Town Crier, is spesjale apparatuer nedich dy't TEE stipet. Bygelyks, Intel SGX wurdt stipe op 6e generaasje Intel Core processor famylje en letter. DECO lit jo wurkje mei alle apparatuer, hoewol d'r in DECO-ynstelling is mei TEE. Neffens it opsetproses kin DECO's trije-wei-handshake wat tiid nimme, mar dit is neat yn ferliking mei de hardware-beheining fan TC, dus DECO is praktysk.

konklúzje

Sjoch op de twa orakels apart en ferlykje se op fjouwer kritearia, it is dúdlik dat Town Crier is inferior oan DECO op trije fan de fjouwer punten. DECO is mear betrouber út in ynformaasje feiligens eachpunt, goedkeaper en mear praktysk, hoewol't it opsetten fan in trije-partij protokol kin nimme wat tiid en hat syn neidielen, bygelyks, ekstra operaasjes mei fersifering kaaien. TC is flugger as DECO, mar kwetsberens oan oanfallen oan side-kanaal meitsje it gefoelich foar ferlies fan fertroulikens. It moat rekken hâlden wurde dat DECO waard yntrodusearre yn jannewaris 2020, en net genôch tiid is ferrûn om te beskôgje it feilich. Town Crier is ûnder oanfal foar 4 jier en hat in protte tests trochmakke, sadat it gebrûk yn in protte projekten rjochtfeardige is.

Boarne: www.habr.com

Keapje betroubere hosting foar siden mei DDoS-beskerming, VPS VDS-tsjinners 🔥 Keapje betroubere websidehosting mei DDoS-beskerming, VPS VDS-tsjinners | ProHoster