Town Crier vs DECO: cili orakull të përdorët në blockchain?

Sot është që vetëm një person i lenë nuk ka shkruar për teknologjinë blockchain, kriptovalutat dhe sa të mrekullueshme janë këto. Por në këtë artikull nuk do të ketë lavdërime për këtë teknologji, do të flasim pikërisht për disavantazhet e saj dhe mënyrat për t'i kaluar ato.

Town Crier vs DECO: cili orakull të përdorët në blockchain?

Gjatë punës në një nga projektet në kompaninë Altiriks Systems, doli nevoja për një konfirmim të sigurt, të qëndrueshëm ndaj censurës të të dhënave nga një burim të jashtëm në blockchain. Duhej të konfirmoheshin ndryshimet në regjistrimet e një sistemi të tretë dhe në bazë të këtyre ndryshimeve të ekzekutohej një degë specifike në logjikën e kontratës smart. Detyra në shikim të parë duket mjaft triviale, por kur rezultati i saj ndikon në gjendjen financiare të një prej palëve pjesëmarrëse në proces, dalin kërkesa shtesë. Para së gjithash, kjo është besimi përfundimtar në një mekanizëm të tillë validimi. Por le të shkojmë sipas radhës.

Problemi qëndron në faktin se blockchain është një objekt autonom, i mbyllur, prandaj kontratat smart brenda blockchain-it nuk dinë asgjë për botën e jashtme. Në të njëjtën kohë, kushtet e kontratave smart shpesh lidhen me informacionin për ngjarje të vërteta (vonesa fluturimi, kursi i valutorëve, etj.). Për të funksionuar siç duhet, informacioni i marra jashtë blockchain-it duhet të jetë i besueshëm dhe i verifikuar. Ky problem zgjidhet duke përdorur orakuj, të tillë si Town Crier dhe DECO. Këta orakuj lejojnë që kontratat smart në rrjetin blockchain të besojnë informacionin nga një server web të verifikuar, mund të thuhet se janë furnizues të informacionit të besueshëm.

Orakuj

Mendoni se kontrata smart kryen një transferim prej 0.001 btc në portofolin tuaj bitcoin në rastin e fitores së klubit tuaj të preferuar të futbollit në Kupën e Rusisë. Në rastin e një fitoreje të vërtetë, kontratës smart i nevojitet të kalojë informacionin mbi cilin klub ka fituar, dhe këtu lind një sërë problemesh: ku ta gjejmë këtë informacion, si ta kalojmë atë në mënyrë të sigurt në kontratën smart dhe si të sigurohemi që informacioni që ka arritur në kontratën smart në të vërtetë përputhet me realitetin?

NĂ« çështjen e burimit tĂ« informacionit mund tĂ« jenĂ« 2 skenarĂ«: lidhja e njĂ« smart kontrate me njĂ« uebfaqe tĂ« besuar, e cila ruan informacionin pĂ«r rezultatet e ndeshjeve nĂ« mĂ«nyrĂ« tĂ« centralizuar, dhe opsioni i dytĂ« — lidhja e disa uebfaqeve nĂ« tĂ« njĂ«jtĂ«n kohĂ« dhe mĂ« pas zgjedhja e informacionit nga shumica e burimeve qĂ« ofrojnĂ« tĂ« dhĂ«na tĂ« njĂ«jta. PĂ«r tĂ« siguruar saktĂ«sinĂ« e informacionit, pĂ«rdoren orakuj, pĂ«r shembull Oraclize, qĂ« pĂ«rdor TLSNotary (modifikimi i TLS pĂ«r tĂ« provuar origjinalitetin e tĂ« dhĂ«nave). Por pĂ«r Oraclize ka mjaft informacion nĂ« Google, dhe nĂ« Habr ka disa artikuj, sot do tĂ« flas pĂ«r orakujt qĂ« pĂ«rdorin njĂ« qasje pak mĂ« ndryshe pĂ«r tĂ« transmetuar informacion: Town Crier dhe DECO. Artikulli pĂ«rmban pĂ«rshkrimin e principeve tĂ« funksionimit tĂ« dy orakujve, si dhe njĂ« krahasim tĂ« detajuar.

Town Crier

Town Crier (TC) u paraqit nga IC3 (Iniciativa pĂ«r Kriptovalutat dhe Kontratat) nĂ« vitin 2016 nĂ« CCS’16. Ideja kryesore e TC: tĂ« transmetojĂ« informacionin nga uebfaqja te smart kontrata dhe tĂ« sigurojĂ« se informacioni i dorĂ«zuar nga TC Ă«shtĂ« i njĂ«jtĂ« me atĂ« nĂ« uebfaqe. TC pĂ«rdor TEE (Mjedisi i BesueshĂ«m i Ekzekutimit) pĂ«r tĂ« garantuar autenticitetin e pronĂ«sisĂ« sĂ« tĂ« dhĂ«nave. NĂ« versionin origjinal, TC pĂ«rshkruan funksionimin me Intel SGX.
Town Crier pĂ«rbĂ«het nga njĂ« pjesĂ« brenda blockchain dhe njĂ« pjesĂ« brenda vetĂ« sistemit operativ — TC Server.
Town Crier vs DECO: cili orakull të përdorët në blockchain?
TC Contract ndodhet në blockchain dhe vepron si front end për TC. Ai pranon kërkesat nga CU (smart kontrata e përdoruesit) dhe kthen përgjigjen nga TC Server. Brenda TC Server ndodhet Relay, i cili krijon një lidhje midis enklavës dhe internetit (trafik me dy drejtime) dhe lidh enklavën me blockchain. Enclave përmban progencl, i cili është kodi që ekzekuton kërkesat nga blockchain dhe kthen mesazhe në blockchain me një nënshkrim digjital, progencl përmban një pjesë të kodit të smart kontratës dhe në thelb ekzekuton disa nga funksionet e saj.

Enklava Intel SGX mund të konsiderohet si një bibliotekë e përbashkët me API, e cila funksionon përmes ecall. Ecall transferon kontrollin në enklavë. Enklava ekzekuton kodin e saj derisa të përfundojë ose të ndodhë një përjashtim. Për thirrjen e funksioneve, të përcaktuara jashtë enklavës, përdoren ocall. Ocall ekzekutohet jashtë enklavës dhe trajtohet prej saj si një thirrje e pasigurt. Pas përfundimit të ocall, kontrolli kthehet në enklavë.
Town Crier vs DECO: cili orakull të përdorët në blockchain?
Në pjesën Enclave konfigurimi i kanalit të sigurt me serverin web, Enclave vetë kryen TLS handshake me serverin e synuar dhe kryen të gjitha operacionet kriptografike brenda vetes. Biblioteka TLS (mbedTLS) dhe kodi HTTP në versionin e reduktuar janë eksportuar në mjedisin SGX. Po ashtu, Enclave përmban certifikatat e root CA (koleksion të certifikatave) për të verifikuar certifikatat e serverëve të largët. Request Handler pranon kërkesat datagram në formatin e siguruar nga Ethereum, e dekripton dhe analizojnë. Pastaj gjeneron një transaksion Ethereum, që përmban datagramin e kërkuar, e nënshkruan atë me skTC dhe e dërgon në Relay.

Pjesa Relay përfshin Client Interface, TCP, Blockchain Interface. Client Interface është i nevojshëm për attestimin e kodit të Enclave dhe komunikimin me klientin. Klienti dërgon një kërkesë për attestim përmes ecall dhe merr një timestamp, i nënshkruar me skTC, së bashku me att (nënshkrimin e attestimit), më pas att konfirmohet përmes Intel Attestation Service (IAS), dhe timestamp verifikohet nga shërbimi i besueshëm të kohës. Blockchain Interface kontrollon kërkesat e pranuara dhe vendos transaksionet në blockchain për dërgimin e datagramëve. Geth është klienti zyrtar i Ethereum dhe lejon Relay të ndërveprojë me blockchain përmes thirrjeve RPC.

Duke punuar me TEE, TC lejon të aktivizohen disa Enclaves paralelisht, duke rritur kështu shpejtësinë e përpunimit të informacionit me 3 herë. Nëse me një Enclave në punë shpejtësia ishte 15 tx/sec, atëherë me 20 Enclaves të aktivizuara paralelisht shpejtësia rritet deri në 65 tx/sec; për krahasim, shpejtësia maksimale e punës në blockchain bitcoin është 26 tx/sec.

DECO

DECO (Decentralized Oracles for TLS) u prezantua nĂ« CCS’20, punon me faqet qĂ« pĂ«rkrahin lidhjen TLS. Siguron konfidencialitetin dhe integritetin e tĂ« dhĂ«nave.
DECO me TLS përdor enkriptimin simetrik, kështu që klienti dhe serveri web kanë çelësat e enkriptimit, dhe klienti, nëse dëshiron, mund të falsifikojë të dhënat e sesionit TLS. Për të zgjidhur këtë problem, DECO përdor një protokoll të trefishtë të dorëzimit midis prover (kontraktës inteligjente), verifier (orakulli) dhe serverit web (burimi i të dhënave).

Town Crier vs DECO: cili orakull të përdorët në blockchain?

Parimi i funksionimit të DECO përfshin që provuesi (prover) të marrë një pjesë të të dhënave D dhe të konfirmojë përverifikuesin (verifier) që D ka ardhur nga serveri TLS S. Një tjetër problem është se TLS nuk nënshkruan të dhëna dhe është e vështirë për klientin TLS të provojë se të dhënat janë marrë pikërisht nga ai server (vështirësia e provanancës).

NĂ« protokollin DECO, pĂ«rdoren çelĂ«sat e enkriptimit KEnc dhe KMac. Klienti dĂ«rgon njĂ« kĂ«rkesĂ« Q nĂ« serverin web, pĂ«rgjigja nga serveri R vjen nĂ« formĂ« tĂ« enkriptuar, por klienti dhe serveri kanĂ« tĂ« njĂ«jtĂ«t KMac, dhe klienti mund tĂ« falsifikojĂ« mesazhin TLS. Zgjidhja nga DECO Ă«shtĂ« qĂ« tĂ« "fshehĂ«" KMac nga klienti (prover), derisa ai tĂ« pĂ«rgjigjet nĂ« kĂ«rkesĂ«. Tani KMac Ă«shtĂ« i ndarĂ« midis prover dhe verifier — KpMac dhe KvMac. Serveri merr KMac pĂ«r enkriptimin e pĂ«rgjigjes duke pĂ«rdorur operacionin mbi pjesĂ«t e çelĂ«sit KpMac ⊕ KvMac = KMac.

Duke vendosur një dorëheqje trefishtë, shkëmbimi i të dhënave midis klientit dhe serverit do të zhvillohet me një garantim sigurie.
Town Crier vs DECO: cili orakull të përdorët në blockchain?
Duke folur pĂ«r sistemet e oracleve tĂ« decentralizuara, nuk mund tĂ« mos pĂ«rmendim Chainlink, i cili synon tĂ« krijojĂ« njĂ« rrjet oracle tĂ« decentralizuar tĂ« nyjeve, tĂ« pajtueshme me Ethereum, Bitcoin dhe Hyperledger, duke marrĂ« parasysh modularitetin: çdo pjesĂ« e sistemit mund tĂ« pĂ«rditĂ«sohet. NĂ« tĂ« njĂ«jtĂ«n kohĂ«, pĂ«r tĂ« siguruar sigurinĂ«, Chainlink ofron qĂ« çdo oracle qĂ« merr pjesĂ« nĂ« detyrĂ« tĂ« lĂ«shojĂ« njĂ« kombinim çelĂ«sash (tĂ« hapur dhe tĂ« mbyllur). ÇelĂ«si i mbyllur pĂ«rdoret pĂ«r tĂ« gjeneruar njĂ« nĂ«nshkrim tĂ« pjesshĂ«m, i cili pĂ«rmban zgjidhjen e tyre pĂ«r kĂ«rkesĂ«n e tĂ« dhĂ«nave. PĂ«r tĂ« marrĂ« pĂ«rgjigjen, Ă«shtĂ« e nevojshme kombinimi i tĂ« gjitha nĂ«nshkrimeve tĂ« pjesĂ«shme tĂ« oracleve tĂ« rrjetit.

Chainlink planifikon të realizojë një PoC fillestar DECO me fokus në aplikacionet e financave të decentralizuara, si Mixicles. Në momentin e shkruar të këtij artikulli, doli një lajm në Forbes, se Chainlink kishte blerë DECO nga Universitete Cornell.

Sulmet ndaj oracleve

Town Crier vs DECO: cili orakull të përdorët në blockchain?

Nga perspektiva e sigurisë informative, janë shqyrtuar sulmet e mëposhtme ndaj Town Crier:

  1. Injeksioni i kodit të paligjshëm të kontratave të zgjuara në nyjat TEE.
    Thelbi i sulmit: dërgimi në TEE i një kodi të dhënë gabim të kontratës së zgjuar, në këtë mënyrë, që një sulmues, i cili ka akses në nyjë, do të kishte mundësi të realizonte kontratën e tij (të mashtruar) mbi të dhënat e dekoduar. Megjithatë, vlerat e kthyera do të jenë të enkriptuara me çelësin privat, dhe opsioni i vetëm për akses në të tilla të dhëna është rrjedhja e tekstit të enkriptuar gjatë kthimit/ekstraktimit.
    Mbrojtja nga ky sulm përfshin verifikimin nga enklava e saktësisë së kodit në adresën aktuale. Kjo mund të arrihet përmes një skeme adresimi, ku adresa e kontratës përcaktohet duke hash-uar kodin e kontratës.

  2. Ndryshimet në enkriptimin e gjendjes së kontratës lëshojnë.
    The essence of the attack: Node owners, where smart contracts are executed, have access to the contract state in encrypted form outside the enclave. An attacker who gains control of a node can compare the contract state before and after the transaction execution and can determine which arguments were input and which specific method of the smart contract was used, as the smart contract code and its technical specifications are publicly available.
    Protection in ensuring the reliability of the node itself.

  3. Ataqet mbi kanalin anësor.
    Një tip i veçantë sulmesh që përdor mbikëqyrjen e aksesit në memorien dhe cache-in e enklavës në skenarë të ndryshëm. Një shembull i tillë sulmi është Prime and Probe.
    Town Crier vs DECO: cili orakull të përdorët në blockchain?
    Procedura e kryerjes së sulmit:

    • t0: Sulmuesi mbush gjithĂ« cache-in e tĂ« dhĂ«nave tĂ« procesit viktimĂ«.
    • t1: Vikimja ekzekuton kodin me qasje nĂ« memorien qĂ« varen nga tĂ« dhĂ«nat e fshehta tĂ« viktimĂ«s (çelĂ«sat kriptografikĂ«). Zgjedhja e lined cache bĂ«het sipas vlerĂ«s keybit. NĂ« shembullin nĂ« figurĂ«, keybit = 0 dhe adresa X Ă«shtĂ« lexuar nĂ« lined cache 2. TĂ« dhĂ«nat e ruajtura nĂ« X ngarkohen nĂ« cache, duke pĂ«rjashtuar tĂ« dhĂ«nat qĂ« ishin aty mĂ« parĂ«.
    • t2: Sulmuesi kontrollon se cilat nga linjat e tij tĂ« cache-it janĂ« pĂ«rjashtuar — linjat qĂ« pĂ«rdoren nga viktima. Kjo bĂ«het pĂ«rmes matjes sĂ« kohĂ«s sĂ« aksesit. Duke pĂ«rsĂ«ritur kĂ«tĂ« operacion pĂ«r secilin keybit, sulmuesi merr gjithĂ« çelĂ«sin.

Mbrojtja nga sulmi: Intel SGX ka mbrojtje nga sulmet anësore, e cila ndalon mbikëqyrjen e ngjarjeve që lidhen me cache-in, por sulmi Prime and Probe do të kalojë gjithsesi, pasi sulmuesi vëzhgon ngjarjet e cache-it të procesit të tij dhe ndan cache-in me viktimën.
Town Crier vs DECO: cili orakull të përdorët në blockchain?
Prandaj, për momentin nuk ka mbrojtje të besueshme ndaj këtij sulmi.

Së bashku me to, janë të njohura edhe sulmet e tipit Spectre dhe Foreshadow (L1TF), të ngjashme me Prime and Probe. Ato lejojnë leximin e të dhënave nga cache-i përmes një kanali anësor. Ka mbrojtje për dobësinë Spectre-v2, e cila funksionon kundër këtyre dy sulmeve.

Në lidhje me DECO, dorëzimi i tre anëtarëve ofron garantimin e sigurisë:

  1. Prover Integrity: një prover i kompromituar nuk mund të falsifikojë informacionin mbi origjinën e serverit dhe nuk mund të bëjë që serveri të pranojë kërkesa të papërfillshme ose të përgjigjet gabim në kërkesa të vlefshme. Kjo realizohet përmes modeleve të kërkesave midis serverit dhe proverit.
  2. Verifier Integrity: një verifier i comprometuar nuk mund të bëjë që proveri të marrë përgjigje të gabuara.
  3. Koncesioni: Verifikuesi i thyer studion vetëm informacionin publik (kërkesën, emrin e serverit).

Në DECO mund të ketë vetëm vulnerabilitete të lidhura me injeksionin e trafikut. Fillimisht, gjatë dorëzimit të trefishtë verifikuesi mund të përcaktojë identitetin e serverit përmes nonce të freskët. Megjithatë, pas dorëzimit verifikuesi duhet të mbështetet në treguesit e nivelit rrjetor (Adresa IP). Kështu, lidhja mes verifikuesit dhe serverit duhet të mbrohet nga injeksioni i trafikut. Kjo arrihet përmes përdorimit të Proxy.

Krahasimi i orakujve

Town Crier bazohet në punën me një enklavë në pjesën e serverit, ndërsa DECO lejon të verifikohet autenticiteti i burimeve të të dhënave përmes dorëzimit të trefishtë dhe kriptimit të të dhënave me çelësa kriptografikë. Krahasimi i të dhënave të orakujve është bërë sipas kritereve të mëposhtme: performanca, siguria, kostoja dhe prakticiteti.

Town Crier
DECO

performanca
Më shpejt (0.6s për të përfunduar)
Më ngadalë (10.50s për të përfunduar protokollin)

siguria
MĂ« pak i sigurt
MĂ« i sigurt

çmimi
Më i shtrenjtë
Më i lirë

prakticiteti
Kërkon hardware të veçantë
Funksionon me çdo server që mbështet TLS

Performanca: Për të punuar me DECO kërkohet konfigurimi i dorëzimit të trefishtë, duke u konfiguruar përmes LAN kjo merr 0.37 sekonda, për ndërveprimin pas vendosjes së lidhjes është efikas 2PC-HMAC (0.13s për të shkruar). Performanca e DECO varet nga setet e disponueshme të çelësave TLS, madhësia e të dhënave personale dhe kompleksiteti i provave për aplikacionin specifik. Në shembullin e aplikacionit të opsioneve binar të IC3: përfundimi i protokollit përmes LAN zgjat rreth 10.50 sekonda. Për krahasim, Town Crier ka nevojë për rreth 0.6 sekonda për të realizuar një aplikacion të ngjashëm, pra rreth 20 herë më shpejt se DECO. Në kushte të barabarta, TC do të jetë më i shpejtë.

Siguria: Sulmet ndaj enklavës Intel SGX (sulmet anësore) funksionojnë dhe mund të dëmtojnë realisht pjesëmarrësit e kontratës inteligjente. Në lidhje me DECO, mund të ketë sulme të lidhura me injeksionin e trafikut, por përdorimi i proxy e neutralizon këto sulme. Prandaj, DECO është më i sigurt.

Çmimi: Kostoja e pajisjeve qĂ« mbĂ«shtesin punĂ«n me Intel SGX Ă«shtĂ« mĂ« e lartĂ« se kostoja e konfigurimit tĂ« protokollit nĂ« DECO. Prandaj, TC Ă«shtĂ« mĂ« i shtrenjtĂ«.

Prakticiteti: Për të punuar me Town Crier, është e nevojshme një pajisje speciale që mbështet TEE. Për shembull, Intel SGX mbështetet në procesorët e gjeneratës së gjashtë dhe më të reja të familjes Intel Core. DECO, nga ana tjetër, lejon punimin me çdo pajisje, megjithëse ka një konfigurim DECO që përdor TEE. Procesi i konfigurimit të dorëzimit të trepalësh në DECO mund të marrë njëkohësisht, por kjo nuk është asgjë krahasuar me kufizimin hardware për TC, prandaj DECO është më praktik.

Përfundim

Duke shqyrtuar dy orakujt veçmas dhe duke i krahasuar ata sipas katër kriteresh, është e qartë se Town Crier humb ndaj DECO në tre nga katër pika. DECO është më i besueshëm në aspektin e sigurisë informative, është më i lirë dhe më praktik, ndonëse konfigurimi i protokollit të dorëzimit të trepalësh mund të marrë disa kohë dhe ka disavantazhe të veta, për shembull, operacione shtesë me çelësat e enkriptimit. TC punon më shpejt se DECO, por dobësia që lidhet me sulmin nga kanalet e anashkalimit e bën atë të rrezikshëm për humbjen e privatësisë. Duhet të kemi parasysh se DECO u prezantua në janar 2020, dhe nuk ka kaluar ende mjaft kohë për ta konsideruar atë të sigurt. Town Crier është sulmuar tashmë për 4 vjet dhe ka kaluar përmes shumë kontrolleve, kështu që përdorimi i tij në shumë projekte është i justifikuar.

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster