Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?

Heddiw, dim ond y diog sydd heb ysgrifennu am dechnoleg blockchain, cryptocurrencies a pha mor cŵl ydyw. Ond ni fydd yr erthygl hon yn canmol y dechnoleg hon; byddwn yn siarad am ei diffygion a'i ffyrdd i'w dileu.

Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?

Wrth weithio ar un o'r prosiectau yn Altirix Systems, cododd y dasg o gadarnhad diogel, sy'n gwrthsefyll sensoriaeth, o ddata o ffynhonnell y tu allan i'r blockchain. Roedd angen cadarnhau newidiadau yng nghofnodion y drydedd system ac, yn seiliedig ar y newidiadau hyn, gweithredu un neu gangen arall yn y rhesymeg contract smart. Mae'r dasg ar yr olwg gyntaf yn eithaf dibwys, ond pan fydd cyflwr ariannol un o'r partïon sy'n cymryd rhan yn y broses yn dibynnu ar ganlyniad ei weithrediad, mae gofynion ychwanegol yn ymddangos. Yn gyntaf oll, dyma ymddiriedaeth gynhwysfawr mewn mecanwaith dilysu o'r fath. Ond pethau cyntaf yn gyntaf.

Y broblem yw bod y blockchain ei hun yn endid ymreolaethol, caeedig, felly nid yw'r contractau smart y tu mewn i'r blockchain yn gwybod dim am y byd y tu allan. Ar yr un pryd, mae telerau contractau smart yn aml yn gysylltiedig â gwybodaeth am bethau go iawn (oedi hedfan, cyfraddau cyfnewid, ac ati). Er mwyn i gontractau smart weithio'n iawn, rhaid i wybodaeth a dderbynnir o'r tu allan i'r blockchain fod yn ddibynadwy ac wedi'i gwirio. Mae'r broblem hon yn cael ei datrys trwy ddefnyddio oraclau fel Town Crier a DECO. Mae'r oraclau hyn yn caniatáu i gontract smart ar y rhwydwaith blockchain ymddiried mewn gwybodaeth gan weinydd gwe y gellir ymddiried ynddo; gallwn ddweud bod y rhain yn ddarparwyr gwybodaeth ddibynadwy.

Oraclau

Dychmygwch fod contract smart yn trosglwyddo 0.001 btc i'ch waled bitcoin os yw'ch hoff glwb pêl-droed yn ennill Cwpan Rwsia. Mewn achos o fuddugoliaeth wirioneddol, mae angen i'r contract smart drosglwyddo gwybodaeth am ba glwb a enillodd, ac mae nifer o broblemau'n codi yma: ble i gael y wybodaeth hon, sut i'w drosglwyddo'n ddiogel i'r contract smart a sut i sicrhau bod y wybodaeth a dderbyniwyd yn y contract smart yn ddilys mewn gwirionedd yn cyd-fynd â realiti?

O ran ffynhonnell y wybodaeth, gall fod 2 senario: cysylltu contract smart â gwefan ddibynadwy lle mae gwybodaeth am ganlyniadau paru yn cael ei storio'n ganolog, a'r ail opsiwn yw cysylltu sawl gwefan ar unwaith ac yna dewis gwybodaeth o'r mwyafrif o ffynonellau sy'n darparu'r un data. Er mwyn gwirio cywirdeb y wybodaeth, defnyddir oraclau, er enghraifft Oraclize, sy'n defnyddio TLSNotary (TLS Notary Modification to Prove the Authenticity Data). Ond mae digon o wybodaeth ar Google am Oraclize, ac mae yna sawl erthygl ar Habré.Heddiw, byddaf yn siarad am oraclau sy'n defnyddio dull ychydig yn wahanol i drosglwyddo gwybodaeth: Town Crier a DECO. Mae'r erthygl yn rhoi disgrifiad o egwyddorion gweithredu'r ddwy oracl, yn ogystal â chymhariaeth fanwl.

Crier y Dref

Cyflwynwyd Town Crier (TC) gan IC3 (Y Fenter ar gyfer CryptoCurrencies and Contracts) yn 2016 yn CCS'16. Prif syniad TC: trosglwyddo gwybodaeth o wefan i gontract smart a gwnewch yn siŵr bod y wybodaeth a ddarperir gan TC yr un peth ag ar y wefan. Mae TC yn defnyddio TEE (Trusted Execution Environment) i ddilysu perchnogaeth data. Mae fersiwn wreiddiol TC yn disgrifio sut i weithio gydag Intel SGX.
Mae Town Crier yn cynnwys rhan y tu mewn i'r blockchain a rhan y tu mewn i'r OS ei hun - Gweinydd TC.
Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?
Mae Contract TC ar y blockchain ac yn gweithredu fel pen blaen TC. Mae'n derbyn ceisiadau gan y CU (contract defnyddiwr smart) ac yn dychwelyd ymateb gan y Gweinydd TC. Y tu mewn i'r Gweinydd TC mae Ras Gyfnewid, sy'n sefydlu cysylltiad rhwng yr amgaead a'r Rhyngrwyd (traffig dwyochrog) ac yn cysylltu'r amgaead â'r blockchain. Mae Enclave yn cynnwys progencl, sef cod sy'n gwneud ceisiadau o'r blockchain ac yn dychwelyd negeseuon i'r blockchain gyda llofnod digidol, mae progencl yn cynnwys rhan o'r cod contract smart ac yn ei hanfod yn cyflawni rhai o'i swyddogaethau.

Gellir meddwl am amgaead Intel SGX fel llyfrgell a rennir gydag API yn rhedeg trwy e-alwad. Mae Ecall yn trosglwyddo rheolaeth i'r amgaead. Mae'r amgaead yn gweithredu ei god nes iddo adael neu hyd nes y bydd eithriad yn digwydd. defnyddir ocall i alw swyddogaethau a ddiffinnir y tu allan i'r amgaead. Mae Ocall yn cael ei weithredu y tu allan i'r amgaead ac yn cael ei drin fel galwad anymddiried ganddo. Ar ôl gweithredu ocall, mae rheolaeth yn cael ei ddychwelyd i'r amgaead.
Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?
Yn y rhan Enclave, mae sianel ddiogel wedi'i ffurfweddu gyda gweinydd gwe, mae'r enclave ei hun yn perfformio ysgwyd llaw TLS gyda'r gweinydd targed ac yn perfformio'r holl weithrediadau cryptograffig yn fewnol. Mae'r llyfrgell TLS (mbedTLS) a chod HTTP gostyngol wedi'u hallforio i amgylchedd SGX. Hefyd, mae Enclave yn cynnwys tystysgrifau gwraidd CA (casgliad o dystysgrifau) i wirio tystysgrifau gweinyddwyr pell. Mae Triniwr Cais yn derbyn cais datagram yn y fformat a ddarperir gan Ethereum, yn ei ddadgryptio a'i ddosrannu. Yna mae'n cynhyrchu trafodiad Ethereum sy'n cynnwys y datagram y gofynnwyd amdano, ei lofnodi â skTC a'i drosglwyddo i Relay.

Mae'r rhan Relay yn cynnwys Rhyngwyneb Cleient, TCP, Rhyngwyneb Blockchain. Mae angen y Rhyngwyneb Cleient i ardystio'r cod amgaead a chyfathrebu â'r cleient. Mae'r cleient yn anfon cais ardystiad gan ddefnyddio ecall ac yn derbyn stamp amser wedi'i lofnodi gan skTC ynghyd ag att (llofnod ardystiad), yna mae att yn cael ei wirio gan ddefnyddio Intel Artestation Service (IAS), ac mae'r stamp amser yn cael ei wirio gan wasanaeth amser dibynadwy. Mae Blockchain Interface yn gwirio ceisiadau sy'n dod i mewn ac yn gosod trafodion ar y blockchain ar gyfer danfon datagramau. Mae Geth yn gleient Ethereum swyddogol ac mae'n caniatáu i Relay ryngweithio â'r blockchain trwy alwadau RPC.

Gan weithio gyda TEE, mae TC yn caniatáu ichi redeg sawl cilfach yn gyfochrog, a thrwy hynny gynyddu cyflymder prosesu gwybodaeth 3 gwaith. Os mai 15 tx/sec oedd y cyflymder gydag un amgaead rhedeg, yna gydag 20 amgaeadau rhedeg cyfochrog mae'r cyflymder yn cynyddu i 65 tx/eiliad; er mwyn cymharu, y cyflymder gweithredu uchaf yn y blockchain Bitcoin yw 26 tx/sec.

addurniadol

Cyflwynwyd DECO (Decentralized Oracles for TLS) yn CCS'20, yn gweithio gyda safleoedd sy'n cefnogi cysylltiadau TLS. Yn sicrhau cyfrinachedd a chywirdeb data.
Mae DECO gyda TLS yn defnyddio amgryptio cymesur, felly mae gan y cleient a'r gweinydd gwe allweddi amgryptio, a gall y cleient ffugio data sesiwn TLS os yw'n dymuno. I ddatrys y broblem hon, mae DECO yn defnyddio protocol ysgwyd llaw tair ffordd rhwng y profwr (contract smart), dilysydd (oracle) a gweinydd gwe (ffynhonnell ddata).

Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?

Y ffordd y mae DECO yn gweithio yw bod y dilysydd yn derbyn darn o ddata D ac yn cadarnhau i'r dilysydd bod D wedi dod o'r gweinydd TLS S. Problem arall yw nad yw TLS yn llofnodi'r data ac mae'n anodd i'r cleient TLS brofi bod y derbyniwyd data o'r gweinydd cywir (anhawster tarddiad).

Mae'r protocol DECO yn defnyddio allweddi amgryptio KEnc a KMac. Mae'r cleient yn anfon cais Q i'r gweinydd gwe, daw'r ymateb gan y gweinydd R ar ffurf wedi'i amgryptio, ond mae'r cleient a'r gweinydd yn berchen ar yr un KMac, a gall y cleient ffugio'r neges TLS. Ateb DECO yw "cuddio" y KMac oddi wrth y cleient (profwr) nes ei fod yn ymateb i'r cais. Nawr mae KMac wedi'i rannu rhwng profwr a dilysydd - KpMac a KvMac. Mae'r gweinydd yn derbyn KMac i amgryptio'r ymateb gan ddefnyddio'r gweithrediad rhan allweddol KpMac ⊕ KvMac = KMac.

Trwy sefydlu ysgwyd llaw tair ffordd, bydd cyfnewid data rhwng y cleient a'r gweinydd yn cael ei wneud gyda gwarant o ddiogelwch.
Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?
Wrth siarad am system oracl ddatganoledig, ni all rhywun fethu â sôn am Chainlink, sy'n anelu at greu rhwydwaith datganoledig o nodau oracl sy'n gydnaws ag Ethereum, Bitcoin a Hyperledger, gan ystyried modiwlaredd: gellir diweddaru pob rhan o'r system. Ar yr un pryd, er mwyn sicrhau diogelwch, mae Chainlink yn cynnig pob oracl sy'n cymryd rhan yn y dasg i gyhoeddi cyfuniad o allweddi (cyhoeddus a phreifat). Defnyddir yr allwedd breifat i gynhyrchu llofnod rhannol sy'n cynnwys eu penderfyniad i'r cais am ddata. I gael ateb, mae angen cyfuno holl lofnodion rhannol oraclau'r rhwydwaith.

Mae Chainlink yn bwriadu cynnal PoC DECO cychwynnol gyda ffocws ar gymwysiadau cyllid datganoledig fel Mixicles. Ar adeg ysgrifennu hwn, daeth newyddion i Forbes bod Chainlink wedi caffael DECO o Brifysgol Cornell.

Ymosodiadau ar oraclau

Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?

O safbwynt diogelwch gwybodaeth, ystyriwyd yr ymosodiadau canlynol ar Grïwr y Dref:

  1. Chwistrelliad cod cyswllt smart twyllodrus ar nodau TEE.
    Hanfod yr ymosodiad: trosglwyddo cod contract smart bwriadol anghywir i TEE, felly, bydd ymosodwr a gafodd fynediad i'r nod yn gallu gweithredu ei gontract smart (twyllodrus) ei hun ar y data dadgryptio. Fodd bynnag, bydd y gwerthoedd dychwelyd yn cael eu hamgryptio ag allwedd breifat, a'r unig ffordd i gael mynediad at ddata o'r fath yw gollwng y ciphertext wrth ddychwelyd / allbwn.
    Mae amddiffyniad yn erbyn yr ymosodiad hwn yn cynnwys yr amgaead yn gwirio cywirdeb y cod sydd wedi'i leoli yn y cyfeiriad presennol. Gellir cyflawni hyn trwy ddefnyddio cynllun cyfeiriadau lle mae cyfeiriad y contract yn cael ei bennu trwy stwnsio cod y contract.

  2. Gollyngiad o newidiadau i destun cyflwr y contract.
    Hanfod yr ymosodiad: Mae gan berchnogion nodau y mae contractau smart yn cael eu gweithredu arnynt fynediad i gyflwr y contract ar ffurf wedi'i hamgryptio y tu allan i'r amgaead. Gall ymosodwr, ar ôl ennill rheolaeth ar nod, gymharu'r cyflwr cyswllt cyn ac ar ôl y trafodiad a gall benderfynu pa ddadleuon a gofnodwyd a pha ddull contract smart a ddefnyddiwyd, gan fod y cod contract smart ei hun a'i fanylebau technegol ar gael i'r cyhoedd.
    Amddiffyniad wrth sicrhau dibynadwyedd y nod ei hun.

  3. Ymosodiadau sianel ochr.
    Math arbennig o ymosodiad sy'n defnyddio monitro cof cilfach a mynediad i storfa mewn gwahanol senarios. Enghraifft o ymosodiad o'r fath yw Prime and Probe.
    Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?
    Gorchymyn ymosodiad:

    • t0: Mae'r ymosodwr yn llenwi storfa ddata gyfan y broses dioddefwr.
    • t1: Mae'r dioddefwr yn gweithredu cod gyda mynediad cof sy'n dibynnu ar ddata sensitif y dioddefwr (allweddi cryptograffig). Dewisir y llinell storfa ar sail gwerth bysellbit. Yn yr enghraifft yn y ffigur, darllenir keybit = 0 a'r cyfeiriad X yn llinell cache 2. Mae'r data a storir yn X yn cael ei lwytho i'r storfa, gan ddisodli'r data a oedd yno o'r blaen.
    • t2: Mae'r ymosodwr yn gwirio pa rai o'i linellau celc sydd wedi'u troi allan - llinellau a ddefnyddir gan y dioddefwr. Gwneir hyn trwy fesur amser mynediad. Trwy ailadrodd y weithred hon ar gyfer pob bysellbit, mae'r ymosodwr yn cael yr allwedd gyfan.

Amddiffyn Ymosodiad: Mae gan Intel SGX amddiffyniad rhag ymosodiadau sianel ochr sy'n atal monitro digwyddiadau sy'n gysylltiedig â cache, ond bydd ymosodiad Prime and Probe yn dal i weithio oherwydd bod yr ymosodwr yn monitro digwyddiadau cache ei broses ac yn rhannu'r storfa gyda'r dioddefwr.
Crïwr y Dref vs DECO: pa oracl i'w ddefnyddio mewn blockchain?
Felly, ar hyn o bryd nid oes amddiffyniad dibynadwy yn erbyn yr ymosodiad hwn.

Mae ymosodiadau fel Specter a Foreshadow (L1TF), tebyg i Prime and Probe, hefyd yn hysbys. Maent yn caniatáu ichi ddarllen data o gof storfa trwy sianel trydydd parti. Darperir amddiffyniad yn erbyn bregusrwydd Specter-v2, sy'n gweithio yn erbyn dau o'r ymosodiadau hyn.

Mewn perthynas â DECO, mae'r ysgwyd llaw tair ffordd yn darparu gwarant o ddiogelwch:

  1. Cywirdeb Darparwr: Ni all profwr sydd wedi'i hacio ffugio gwybodaeth tarddiad gweinydd ac ni all achosi i'r gweinydd dderbyn ceisiadau annilys nac ymateb yn anghywir i geisiadau dilys. Gwneir hyn trwy batrymau cais rhwng y gweinydd a'r profwr.
  2. Cywirdeb Dilysydd: Ni all dilysydd wedi'i hacio achosi i'r profwr dderbyn atebion anghywir.
  3. Preifatrwydd: Mae'r dilysydd wedi'i hacio yn archwilio gwybodaeth gyhoeddus yn unig (cais, enw'r gweinydd).

Yn DECO, dim ond gwendidau chwistrellu traffig sy'n bosibl. Yn gyntaf, gydag ysgwyd llaw tair ffordd, gall y dilysydd sefydlu hunaniaeth y gweinydd gan ddefnyddio nonce ffres. Fodd bynnag, ar ôl yr ysgwyd llaw, rhaid i'r dilysydd ddibynnu ar ddangosyddion haen rhwydwaith (cyfeiriadau IP). Felly, rhaid amddiffyn y cyfathrebu rhwng y dilysydd a'r gweinydd rhag chwistrelliad traffig. Cyflawnir hyn trwy ddefnyddio Proxy.

Cymhariaeth oraclau

Mae Town Crier yn seiliedig ar weithio gydag amgaead yn rhan y gweinydd, tra bod DECO yn caniatáu ichi wirio dilysrwydd tarddiad data gan ddefnyddio ysgwyd llaw tair ffordd ac amgryptio data gydag allweddi cryptograffig. Cymharwyd yr oraclau hyn yn unol â'r meini prawf canlynol: perfformiad, diogelwch, cost ac ymarferoldeb.

Crier y Dref
addurniadol

perfformiad
Cyflymach (0.6s i orffen)
Arafach (10.50s i orffen y protocol)

diogelwch
Llai diogel
Yn fwy diogel

costio
Drytach
Rhatach

ymarferoldeb
Mae angen caledwedd arbennig
Yn gweithio gydag unrhyw weinydd sy'n cefnogi TLS

Perfformiad: I weithio gyda DECO, mae angen ysgwyd llaw tair ffordd, wrth sefydlu trwy LAN mae'n cymryd 0.37 eiliad, ar gyfer rhyngweithio ar ôl sefydlu'r cysylltiad, mae 2PC-HMAC yn effeithiol (0,13 s fesul ysgrifennu). Mae perfformiad DECO yn dibynnu ar y cyfresi seiffrau TLS sydd ar gael, maint y data preifat, a chymhlethdod y dystiolaeth ar gyfer cais penodol. Gan ddefnyddio'r cais opsiwn deuaidd o IC3 fel enghraifft: mae cwblhau'r protocol trwy LAN yn cymryd tua 10,50 eiliad. Mewn cymhariaeth, mae Town Crier yn cymryd tua 0,6 eiliad i gwblhau cais tebyg, sydd tua 20 gwaith yn gyflymach na DECO. Mae pob peth yn gyfartal, bydd TC yn gyflymach.

diogelwch: Mae ymosodiadau ar enclave Intel SGX (ymosodiadau sianel ochr) yn gweithio a gallant achosi difrod gwirioneddol i gyfranogwyr y contract smart. O ran DECO, mae ymosodiadau sy'n gysylltiedig â chwistrellu traffig yn bosibl, ond mae defnyddio dirprwy yn lleihau ymosodiadau o'r fath i ddim. Felly mae DECO yn fwy diogel.

Cost: Mae cost offer sy'n cefnogi Intel SGX yn uwch na chost sefydlu'r protocol yn DECO. Dyna pam mae TC yn ddrutach.

Ymarferoldeb: I weithio gyda Town Crier, mae angen offer arbennig sy'n cefnogi TEE. Er enghraifft, cefnogir Intel SGX ar deulu prosesydd Intel Core o'r 6ed genhedlaeth ac yn ddiweddarach. Mae DECO yn caniatáu ichi weithio gydag unrhyw offer, er bod gosodiad DECO gan ddefnyddio TEE. Yn ôl y broses sefydlu, efallai y bydd ysgwyd llaw tair ffordd DECO yn cymryd peth amser, ond nid yw hyn yn ddim o'i gymharu â chyfyngiad caledwedd TC, felly mae DECO yn fwy ymarferol.

Casgliad

O edrych ar y ddwy oracl ar wahân a’u cymharu ar bedwar maen prawf, mae’n amlwg fod Town Crier yn israddol i DECO ar dri allan o bedwar pwynt. Mae DECO yn fwy dibynadwy o safbwynt diogelwch gwybodaeth, yn rhatach ac yn fwy ymarferol, er y gall sefydlu protocol tair plaid gymryd peth amser ac mae ganddo anfanteision, er enghraifft, gweithrediadau ychwanegol gydag allweddi amgryptio. Mae TC yn gyflymach na DECO, ond mae gwendidau ymosodiad ochr-sianel yn ei gwneud yn agored i golli cyfrinachedd. Rhaid cymryd i ystyriaeth y cyflwynwyd DECO ym mis Ionawr 2020, ac nid oes digon o amser wedi mynd heibio i'w ystyried yn ddiogel. Mae Town Crier wedi bod dan ymosodiad ers 4 blynedd ac wedi mynd trwy lawer o brofion, felly gellir cyfiawnhau ei ddefnyddio mewn llawer o brosiectau.

Ffynhonnell: hab.com

Ychwanegu sylw