Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?

Karon, ang mga tapulan lamang ang wala magsulat bahin sa teknolohiya sa blockchain, mga cryptocurrencies ug kung unsa kini ka cool. Apan kini nga artikulo dili magdayeg niini nga teknolohiya, maghisgot kita bahin sa mga kakulangan niini ug mga paagi sa pagwagtang niini.

Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?

Samtang nagtrabaho sa usa sa mga proyekto sa Altirix Systems, ang tahas mitungha sa luwas, censorship-resistant nga pagkumpirma sa datos gikan sa usa ka tinubdan sa gawas sa blockchain. Kinahanglan nga kumpirmahon ang mga pagbag-o sa mga rekord sa ikatulo nga sistema ug, base sa kini nga mga pagbag-o, ipatuman ang usa o lain nga sanga sa lohika sa smart contract. Ang tahas sa una nga pagtan-aw gamay ra, apan kung ang kahimtang sa pinansyal sa usa sa mga partido nga nag-apil sa proseso nagdepende sa sangputanan sa pagpatuman niini, ang dugang nga mga kinahanglanon makita. Una sa tanan, kini usa ka komprehensibo nga pagsalig sa ingon nga mekanismo sa pag-validate. Apan una sa tanan.

Ang problema mao nga ang blockchain mismo usa ka autonomous, closed entity, mao nga ang mga smart nga kontrata sa sulod sa blockchain walay nahibal-an bahin sa gawas nga kalibutan. Sa samang higayon, ang mga termino sa mga smart nga mga kontrata kanunay nga may kalabutan sa impormasyon mahitungod sa tinuod nga mga butang (pagkalangan sa paglupad, exchange rate, ug uban pa). Aron ang mga smart nga kontrata molihok sa husto, ang impormasyon nga nadawat gikan sa gawas sa blockchain kinahanglang kasaligan ug mapamatud-an. Kini nga problema masulbad pinaagi sa paggamit sa mga orakulo sama sa Town Crier ug DECO. Kini nga mga orakulo nagtugot sa usa ka maalamon nga kontrata sa blockchain network nga mosalig sa impormasyon gikan sa usa ka kasaligan nga web server; makaingon kita nga kini mga tighatag sa kasaligang impormasyon.

Mga Orakulo

Hunahunaa nga ang usa ka intelihente nga kontrata nagbalhin sa 0.001 btc sa imong pitaka nga bitcoin kung ang imong paborito nga football club nakadaog sa Russian Cup. Kung adunay usa ka tinuud nga kadaugan, kinahanglan nga ibalhin sa smart nga kontrata ang kasayuran kung unsang club ang nakadaog, ug daghang mga problema ang mitungha dinhi: kung diin makuha kini nga kasayuran, kung giunsa kini luwas nga ibalhin sa smart nga kontrata ug kung giunsa pagsiguro nga ang kasayuran nadawat sa smart kontrata balido sa tinuod coincides sa kamatuoran?

Kung bahin sa gigikanan sa kasayuran, mahimo’g adunay 2 nga mga senaryo: pagkonektar sa usa ka intelihente nga kontrata sa usa ka kasaligan nga website diin ang kasayuran bahin sa mga resulta sa posporo gitipigan sa sentro, ug ang ikaduha nga kapilian mao ang pagkonektar sa daghang mga site sa usa ka higayon ug dayon pagpili sa kasayuran gikan sa kadaghanan nga mga gigikanan. nga naghatag sa parehas nga datos. Aron mapamatud-an ang katukma sa impormasyon, gigamit ang mga orakulo, pananglitan Oraclize, nga naggamit sa TLSNotary (TLS Notary Modification to Prove the Authenticity of Data). Apan adunay igo nga kasayuran sa Google bahin sa Oraclize, ug adunay daghang mga artikulo sa HabrΓ©. Ang artikulo naghatag usa ka paghulagway sa mga prinsipyo sa operasyon sa duha nga mga orakulo, ingon man usa ka detalyado nga pagtandi.

Crier sa Lungsod

Ang Town Crier (TC) gipaila sa IC3 (The Initiative for CryptoCurrencies and Contracts) kaniadtong 2016 sa CCS'16. Ang panguna nga ideya sa TC: pagbalhin sa kasayuran gikan sa usa ka website ngadto sa usa ka intelihenteng kontrata ug siguruha nga ang kasayuran nga gihatag sa TC parehas sa website. Gigamit sa TC ang TEE (Trusted Execution Environment) aron mapamatud-an ang pagpanag-iya sa datos. Ang orihinal nga bersyon sa TC naghulagway kung unsaon pagtrabaho sa Intel SGX.
Ang Town Crier naglangkob sa usa ka bahin sa sulod sa blockchain ug usa ka bahin sa sulod mismo sa OS - TC Server.
Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?
Ang TC Contract naa sa blockchain ug naglihok isip front end para sa TC. Gidawat niini ang mga hangyo gikan sa CU (user smart contract) ug gibalik ang tubag gikan sa TC Server. Sa sulod sa TC Server adunay usa ka Relay, nga nagtukod og koneksyon tali sa enclave ug sa Internet (bidirectional traffic) ug nagkonektar sa enclave sa blockchain. Ang Enclave naglangkob sa progencl, nga mao ang code nga naghimo sa mga hangyo gikan sa blockchain ug nagbalik sa mga mensahe sa blockchain nga adunay digital nga pirma, ang progencl adunay bahin sa smart contract code ug sa tinuud naghimo sa pipila sa mga gimbuhaton niini.

Ang Intel SGX enclave mahimong mahunahuna nga usa ka shared library nga adunay API nga nagdagan pinaagi sa ecall. Ang ecall nagbalhin sa kontrol sa enclave. Ang enclave nagpatuman sa code niini hangtod nga kini mogawas o hangtod nga adunay eksepsiyon. Ang ocall gigamit sa pagtawag sa mga gimbuhaton nga gihubit sa gawas sa enclave. Ang Ocall gipatuman sa gawas sa enclave ug gitratar nga dili kasaligan nga tawag niini. Human mapatuman ang ocall, ang kontrol ibalik sa enclave.
Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?
Sa bahin sa Enclave, usa ka luwas nga channel ang gi-configure sa usa ka web server, ang enclave mismo naghimo sa usa ka TLS handshake sa target nga server ug gihimo ang tanan nga mga operasyon sa cryptographic sa sulod. Ang librarya sa TLS (mbedTLS) ug gipakunhod nga HTTP code na-eksport na sa SGX environment. Usab, ang Enclave adunay mga sertipiko sa gamut nga CA (usa ka koleksyon sa mga sertipiko) aron mapamatud-an ang mga sertipiko sa mga hilit nga server. Gidawat sa Request Handler ang usa ka hangyo sa datagram sa format nga gihatag sa Ethereum, gi-decrypt kini ug gi-parse kini. Dayon kini makamugna og usa ka transaksyon sa Ethereum nga naglangkob sa gihangyo nga datagram, pirmahan kini sa skTC ug ipadala kini ngadto sa Relay.

Ang bahin sa Relay naglakip sa Client Interface, TCP, Blockchain Interface. Ang Interface sa Kliyente gikinahanglan aron ma-certify ang enclave code ug makigkomunikar sa kliyente. Ang kliyente nagpadala ug hangyo sa pamatuod gamit ang ecall ug makadawat ug timestamp nga gipirmahan sa skTC uban sa att (pirma sa pamatuod), dayon ang att mapamatud-an gamit ang Intel Attestation Service (IAS), ug ang timestamp mapamatud-an sa usa ka kasaligang serbisyo sa oras. Ang Blockchain Interface nagpamatuod sa umaabot nga mga hangyo ug nagbutang sa mga transaksyon sa blockchain alang sa paghatud sa mga datagrams. Ang Geth usa ka opisyal nga kliyente sa Ethereum ug gitugotan ang Relay nga makig-uban sa blockchain pinaagi sa mga tawag sa RPC.

Ang pagtrabaho kauban ang TEE, gitugotan ka sa TC nga magpadagan sa daghang mga enclave nga managsama, sa ingon nagdugang ang katulin sa pagproseso sa impormasyon sa 3 ka beses. Kung sa usa ka nagdagan nga enclave ang katulin mao ang 15 tx/sec, unya sa 20 ka parallel running enclave ang tulin nga pagtaas sa 65 tx/sec; alang sa pagtandi, ang maximum nga operating speed sa Bitcoin blockchain mao ang 26 tx/sec.

DECO

Ang DECO (Decentralized Oracles para sa TLS) gipresentar sa CCS'20, nagtrabaho sa mga site nga nagsuporta sa mga koneksyon sa TLS. Gisiguro ang kompidensyal ug integridad sa datos.
Ang DECO nga adunay TLS naggamit ug simetriko nga pag-encrypt, mao nga ang kliyente ug web server adunay mga yawe sa pag-encrypt, ug ang kliyente mahimo’g mapanday ang datos sa sesyon sa TLS kung gusto niini. Aron masulbad kini nga problema, ang DECO migamit ug three-way handshake protocol tali sa prover (smart contract), verifier (oracle) ug web-server (data source).

Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?

Ang paagi sa pagtrabaho sa DECO mao nga ang verifier makadawat sa usa ka piraso sa data D ug mokumpirma sa verifier nga ang D gikan sa TLS server S. Ang laing problema mao nga ang TLS wala mopirma sa datos ug lisud alang sa TLS client nga pamatud-an nga ang nadawat ang datos gikan sa tukma nga server (provenance kalisud).

Ang DECO protocol naggamit sa KEnc ug Kmac encryption keys. Ang kliyente nagpadala sa usa ka hangyo Q sa web server, ang tubag gikan sa server R moabut sa encrypted nga porma, apan ang kliyente ug server nanag-iya sa samang KMac, ug ang kliyente makahimo sa pagpanday sa TLS nga mensahe. Ang solusyon sa DECO mao ang "pagtago" sa KMac gikan sa kliyente (prover) hangtod nga kini motubag sa hangyo. Karon ang KMac gibahin tali sa prover ug verifier - KpMac ug KvMac. Gidawat sa server ang KMac aron ma-encrypt ang tubag gamit ang key-part operation KpMac βŠ• KvMac = KMac.

Pinaagi sa pag-set up sa usa ka three-way handshake, ang pagbinayloay sa datos tali sa kliyente ug server himuon nga adunay garantiya sa seguridad.
Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?
Kung naghisgot bahin sa usa ka desentralisado nga sistema sa orakulo, ang usa dili mapakyas sa paghisgot sa Chainlink, nga nagtumong sa paghimo sa usa ka desentralisado nga network sa mga oracle node nga nahiuyon sa Ethereum, Bitcoin ug Hyperledger, nga gikonsiderar ang modularity: ang matag bahin sa sistema mahimong ma-update. Sa samang higayon, aron maseguro ang seguridad, ang Chainlink nagtanyag sa matag orakulo nga moapil sa tahas sa pag-isyu sa kombinasyon sa mga yawe (publiko ug pribado). Ang pribadong yawe gigamit aron makamugna og partial nga pirma nga naglangkob sa ilang desisyon sa hangyo sa datos. Aron makakuha og tubag, gikinahanglan nga ikombinar ang tanang partial nga pirma sa mga orakulo sa network.

Nagplano ang Chainlink nga magpahigayon usa ka inisyal nga PoC DECO nga adunay pagtutok sa mga desentralisadong aplikasyon sa pinansya sama sa Mixicles. Sa panahon sa pagsulat, migawas ang balita sa Forbes nga nakuha ni Chainlink ang DECO gikan sa Cornell University.

Pag-atake sa mga orakulo

Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?

Gikan sa punto sa panglantaw sa seguridad sa impormasyon, ang mosunod nga mga pag-atake sa Town Crier gikonsiderar:

  1. Rogue smart-contact code injection sa TEE nodes.
    Ang diwa sa pag-atake: ang pagpasa sa usa ka tinuyo nga dili husto nga smart contract code ngadto sa TEE, sa ingon, ang usa ka tig-atake nga naka-access sa node makahimo sa pagpatuman sa iyang kaugalingon (malimbungon) nga smart nga kontrata sa decrypted nga datos. Bisan pa, ang mga kantidad sa pagbalik ma-encrypt gamit ang usa ka pribado nga yawe, ug ang bugtong paagi aron ma-access ang ingon nga datos mao ang pagtulo sa ciphertext sa pagbalik / output.
    Ang pagpanalipod batok niini nga pag-atake naglangkob sa enclave nga nagsusi sa pagkahusto sa code nga nahimutang sa kasamtangan nga adres. Mahimo kini nga makab-ot gamit ang usa ka pamaagi sa pagsulbad diin ang adres sa kontrata gitino pinaagi sa pag-hash sa code sa kontrata.

  2. Ang mga pagbag-o sa ciphertext sa kontrata sa pag-leak.
    Ang esensya sa pag-atake: Ang mga tag-iya sa mga node diin ang mga smart nga kontrata gipatuman adunay access sa estado sa kontrata sa naka-encrypt nga porma sa gawas sa enclave. Ang usa ka tig-atake, nga nakakuha sa kontrol sa usa ka node, mahimong itandi ang kahimtang sa kontak sa wala pa ug pagkahuman sa transaksyon ug mahibal-an kung unsang mga argumento ang gisulod ug kung unsang pamaagi sa intelihente nga kontrata ang gigamit, tungod kay ang smart contract code mismo ug ang mga teknikal nga detalye niini magamit sa publiko.
    Proteksyon sa pagsiguro sa pagkakasaligan sa node mismo.

  3. Mga pag-atake sa kilid nga kanal.
    Usa ka espesyal nga matang sa pag-atake nga naggamit sa pagmonitor sa enclave memory ug pag-access sa cache sa lainlaing mga senaryo. Usa ka pananglitan sa ingon nga pag-atake mao ang Prime ug Probe.
    Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?
    Order sa pag-atake:

    • t0: Gipuno sa tig-atake ang tibuok cache sa datos sa proseso sa biktima.
    • t1: Ang biktima nagpatuman sa code nga adunay mga access sa memorya nga nagdepende sa sensitibo nga datos sa biktima (cryptographic keys). Ang linya sa cache gipili base sa kantidad sa keybit. Sa pananglitan sa numero, ang keybit = 0 ug ang address X sa cache line 2 gibasa.
    • t2: Gisusi sa tig-atake kung hain sa iyang mga linya sa cache ang gipapahawaβ€”mga linya nga gigamit sa biktima. Gihimo kini pinaagi sa pagsukod sa oras sa pag-access. Pinaagi sa pagsubli niini nga operasyon alang sa matag keybit, makuha sa tig-atake ang tibuok yawe.

Proteksyon sa Pag-atake: Ang Intel SGX adunay proteksyon batok sa mga pag-atake sa kilid nga channel nga nagpugong sa pag-monitor sa mga panghitabo nga may kalabutan sa cache, apan ang usa ka pag-atake sa Prime ug Probe molihok gihapon tungod kay ang tig-atake nag-monitor sa mga panghitabo sa cache sa iyang proseso ug nakigbahin sa cache sa biktima.
Town Crier vs DECO: unsang orakulo ang gamiton sa blockchain?
Busa, sa pagkakaron walay kasaligang panalipod batok niini nga pag-atake.

Ang mga pag-atake sama sa Spectre and Foreshadow (L1TF), susama sa Prime ug Probe, nailhan usab. Gitugotan ka nila sa pagbasa sa datos gikan sa memorya sa cache pinaagi sa usa ka channel sa ikatulo nga partido. Gihatag ang proteksyon batok sa kahuyang sa Spectre-v2, nga naglihok batok sa duha niini nga mga pag-atake.

Kalabot sa DECO, ang three-way handshake naghatag garantiya sa seguridad:

  1. Integridad sa Prover: Ang usa ka gi-hack nga prover dili makalimbong sa kasayuran sa gigikanan sa server ug dili makapahimo sa server sa pagdawat sa dili balido nga mga hangyo o dili husto nga pagtubag sa mga balido nga hangyo. Gihimo kini pinaagi sa mga sumbanan sa paghangyo tali sa server ug prover.
  2. Integridad sa Verifier: Ang usa ka gi-hack nga verifier dili makapahimo sa prover nga makadawat og dili husto nga mga tubag.
  3. Pagkapribado: Ang gi-hack nga verifier nagsusi lamang sa publiko nga impormasyon (hangyo, ngalan sa server).

Sa DECO, ang mga kahuyangan lamang sa pag-injection sa trapiko ang posible. Una, uban ang tulo ka paagi nga handshake, ang verifier makaestablisar sa pagkatawo sa server gamit ang bag-ong nonce. Bisan pa, pagkahuman sa handshake, ang verifier kinahanglan magsalig sa mga indikasyon sa layer sa network (mga IP address). Busa, ang komunikasyon tali sa verifier ug sa server kinahanglan mapanalipdan gikan sa traffic injection. Kini makab-ot pinaagi sa paggamit sa Proxy.

Pagtandi sa mga orakulo

Ang Town Crier gibase sa pagtrabaho sa usa ka enclave sa bahin sa server, samtang ang DECO nagtugot kanimo sa pag-verify sa pagkatinuod sa gigikanan sa datos gamit ang usa ka three-way handshake ug data encryption nga adunay mga cryptographic key. Ang pagtandi niini nga mga orakulo gihimo sumala sa mosunod nga mga criteria: performance, seguridad, gasto ug pagkapraktikal.

Crier sa Lungsod
DECO

pasundayag
Mas paspas (0.6s hangtod mahuman)
Mas hinay (10.50s aron mahuman ang protocol)

luwas
Dili kaayo luwas
Mas luwas

gasto
Mas mahal
Mas barato

praktikal
Nagkinahanglan ug espesyal nga hardware
Nagtrabaho sa bisan unsang server nga nagsuporta sa TLS

Pagpasundayag: Aron magtrabaho uban sa DECO, gikinahanglan ang tulo-ka-paagi nga handshake, kung ang pag-set up pinaagi sa LAN nagkinahanglan kini og 0.37 segundos, alang sa interaksyon human maestablisar ang koneksyon, epektibo ang 2PC-HMAC (0,13 s kada pagsulat). Ang pasundayag sa DECO nagdepende sa anaa nga TLS cipher suites, ang gidak-on sa pribadong datos, ug ang pagkakomplikado sa ebidensya alang sa usa ka partikular nga aplikasyon. Ang paggamit sa binary option nga aplikasyon gikan sa IC3 isip usa ka pananglitan: ang pagkompleto sa protocol pinaagi sa LAN nagkinahanglan og mga 10,50 segundos. Sa pagtandi, ang Town Crier nagkinahanglan og gibana-bana nga 0,6 segundos aron makompleto ang susama nga aplikasyon, nga gibana-bana nga 20 ka beses nga mas paspas kay sa DECO. Ang tanan nga mga butang nga managsama, ang TC mahimong mas paspas.

Kasegurohan: Ang mga pag-atake sa Intel SGX enclave (side-channel attacks) nagtrabaho ug mahimong hinungdan sa tinuod nga kadaot sa mga partisipante sa smart contract. Mahitungod sa DECO, ang mga pag-atake nga may kalabutan sa traffic injection posible, apan ang paggamit sa usa ka proxy makapakunhod sa maong mga pag-atake ngadto sa wala. Busa mas luwas ang DECO.

gasto sa: Ang gasto sa mga ekipo nga nagsuporta sa Intel SGX mas taas kay sa gasto sa pag-set up sa protocol sa DECO. Mao nga mas mahal ang TC.

Praktikalidad: Aron makatrabaho uban sa Town Crier, gikinahanglan ang espesyal nga kagamitan nga nagsuporta sa TEE. Pananglitan, ang Intel SGX gisuportahan sa 6th generation Intel Core processor nga pamilya ug sa ulahi. Gitugotan ka sa DECO nga magtrabaho sa bisan unsang kagamitan, bisan kung adunay setting sa DECO gamit ang TEE. Sumala sa proseso sa pag-setup, ang tulo ka paagi nga paglamano sa DECO mahimong magdugay, apan wala kini kung itandi sa limitasyon sa hardware sa TC, busa ang DECO mas praktikal.

konklusyon

Sa pagtan-aw sa duha ka orakulo nga gilain ug pagtandi kanila sa upat ka mga criteria, klaro nga ang Town Crier ubos sa DECO sa tulo sa upat ka mga puntos. Ang DECO mas kasaligan gikan sa usa ka punto sa panglantaw sa seguridad sa impormasyon, mas barato ug mas praktikal, bisan pa ang pag-set up sa usa ka tulo ka partido nga protocol mahimong magdugay ug adunay mga disadvantages, pananglitan, dugang nga mga operasyon nga adunay mga yawe sa pag-encrypt. Ang TC mas paspas kay sa DECO, apan ang mga kahuyangan sa pag-atake sa kilid sa channel naghimo niini nga daling mawad-an sa kompidensyal. Kinahanglang tagdon nga ang DECO gipaila niadtong Enero 2020, ug dili igo nga panahon ang milabay aron makonsiderar kini nga luwas. Ang Town Crier giatake sa 4 ka tuig ug nakaagi sa daghang mga pagsulay, mao nga ang paggamit niini sa daghang mga proyekto makatarunganon.

Source: www.habr.com

Idugang sa usa ka comment