Town Crier vs DECO: zein orakulu erabili blockchain-en?

Gaur egun, alferrak bakarrik ez dute idatzi blockchain teknologiaz, kriptomonetei buruz eta zein den polita den. Baina artikulu honek ez du teknologia hau goraipatzen; bere gabeziei eta horiek kentzeko moduei buruz hitz egingo dugu.

Town Crier vs DECO: zein orakulu erabili blockchain-en?

Altirix Systems-en proiektuetako batean lanean ari zela, blokeo-katearen kanpoko iturri batetik datuen berrespen segurua eta zentsurari aurre egiteko zeregina sortu zen. Beharrezkoa zen hirugarren sistemako erregistroetan aldaketak berretsi eta, aldaketa horietan oinarrituta, kontratu adimendunen logikan adar bat edo beste exekutatu. Lehen begiratuan zeregina nahiko hutsala da, baina prozesuan parte hartzen duen alderdietako baten finantza-egoera ezartzearen emaitzaren araberakoa denean, baldintza osagarriak agertzen dira. Lehenik eta behin, baliozkotze mekanismo batean konfiantza osoa da. Baina lehenik eta behin.

Arazoa da bloke-katea bera entitate autonomo eta itxia dela, beraz, bloke-katearen barruko kontratu adimendunek kanpoko munduari buruz ez dakite ezer. Aldi berean, kontratu adimendunen baldintzak gauza errealei buruzko informazioarekin (hegaldi-atzerapena, truke-tasak, etab.) lotuta egon ohi dira. Kontratu adimendunak behar bezala funtzionatzeko, blockchainetik kanpo jasotako informazioa fidagarria eta egiaztatua izan behar da. Arazo hau Town Crier eta DECO bezalako orakuluak erabiliz konpontzen da. Orakulu hauei esker, blockchain sareko kontratu adimendun bati fidagarri den web zerbitzari baten informazioa fidagarria da; hauek informazio fidagarriaren hornitzaileak direla esan dezakegu.

Orakuluak

Imajinatu kontratu adimendun batek zure bitcoin zorrora 0.001 btc transferitzen dituela zure futbol klub gogokoenak Errusiako Kopa irabazten badu. Benetako garaipen bat izanez gero, kontratu adimendunak zein klub irabazi duen informazioa transferitu behar du, eta hemen hainbat arazo sortzen dira: informazio hori non lortu, nola transferitu modu seguru kontratu adimendunera eta nola ziurtatu informazioa. kontratu adimendunean jasotako baliozkoa da benetan errealitatearekin bat dator?

Informazio iturriari dagokionez, 2 agertoki egon daitezke: kontratu adimendun bat konfiantzazko webgune batera konektatzea, non partiden emaitzei buruzko informazioa zentralki gordetzen den, eta bigarren aukera hainbat gune aldi berean konektatzea eta gero iturri gehienetako informazioa hautatzea da. datu berdinak ematen dituztenak. Informazioaren zuzentasuna egiaztatzeko, orakuluak erabiltzen dira, adibidez, Oraclize, TLSNotary (TLS Notary Modification to Prove the Authenticity of Data) erabiltzen duena. Baina Googlen badago Oraclize-ri buruzko nahikoa informazio, eta HabrΓ©-ri buruzko hainbat artikulu.Gaur, informazioa transmititzeko ikuspegi apur bat ezberdina erabiltzen duten orakuluez hitz egingo dut: Town Crier eta DECO. Artikuluak bi orakuluen funtzionamendu-printzipioen deskribapena eskaintzen du, baita konparazio zehatza ere.

Herrizaingoa

Town Crier (TC) IC3-k (The Initiative for CryptoCurrencies and Contracts) aurkeztu zuen 2016an CCS'16-n. TCren ideia nagusia: transferitu informazioa webgune batetik smart contract batera eta ziurtatu TCk emandako informazioa webgunean dagoen berdina dela. TCk TEE (Trusted Execution Environment) erabiltzen du datuen jabetza autentifikatzeko. TCren jatorrizko bertsioak Intel SGX-rekin nola lan egin deskribatzen du.
Town Crier-ek bloke-katearen barruko zati batek eta OS beraren barneko zati batek osatzen dute - TC Server.
Town Crier vs DECO: zein orakulu erabili blockchain-en?
TC Kontratua blockchain-en dago eta TCren frontend gisa jokatzen du. CUren (erabiltzaileen kontratu adimenduna) eskaerak onartzen ditu eta TC zerbitzariaren erantzuna itzultzen du. TC Zerbitzariaren barruan Relay bat dago, enklabearen eta Interneten arteko konexioa ezartzen duena (bidirekzioko trafikoa) eta enklabea bloke-katearekin lotzen duena. Enclave-k progencl dauka, hau da, bloke-katearen eskaerak egiten dituen eta bloke-kateari mezuak sinadura digital batekin itzultzen dituen kodea, progencl-k kontratu adimendunen kodearen zati bat dauka eta funtsean bere funtzio batzuk betetzen ditu.

Intel SGX enklabe partekatutako liburutegi gisa pentsa daiteke ecall bidez exekutatzen den API batekin. Ecall-ek kontrola enklabeari transferitzen dio. Enklabeak bere kodea exekutatzen du irten arte edo salbuespen bat gertatu arte. ocall enklabetik kanpo definitutako funtzioei deitzeko erabiltzen da. Ocall enklabetik kanpo exekutatzen da eta fidagarririk gabeko dei gisa hartzen du. Ocall exekutatu ondoren, kontrola enklabera itzultzen da.
Town Crier vs DECO: zein orakulu erabili blockchain-en?
Enklabe zatian, kanal seguru bat web zerbitzari batekin konfiguratzen da, enklabeak berak TLS esku-ematea egiten du xede zerbitzariarekin eta eragiketa kriptografiko guztiak barnean egiten ditu. TLS liburutegia (mbedTLS) eta HTTP kodea murriztua SGX ingurunera esportatu dira. Gainera, Enclave-k root CA ziurtagiriak ditu (ziurtagiri bilduma) urruneko zerbitzarien ziurtagiriak egiaztatzeko. Request Handler-ek datagrama eskaera bat onartzen du Ethereum-ek emandako formatuan, deszifratu eta analizatzen du. Ondoren, eskatutako datagrama duen Ethereum transakzio bat sortzen du, skTC-rekin sinatzen du eta Relay-ra igortzen du.

Relay zatiak Bezero Interfazea, TCP, Blockchain Interfazea barne hartzen ditu. Bezeroaren Interfazea behar da enklabe kodea ziurtatzeko eta bezeroarekin komunikatzeko. Bezeroak egiaztapen-eskaera bat bidaltzen du ecall erabiliz eta skTC-k sinatutako denbora-zigilua jasotzen du att-ekin batera (aitorpen-sinadura), gero att egiaztatzen da Intel Attestation Service (IAS) erabiliz eta denbora-zigilua denbora-zerbitzu fidagarri batek egiaztatzen du. Blockchain Interface sarrerako eskaerak egiaztatzen ditu eta transakzioak jartzen ditu blockchain-en datagramak bidaltzeko. Geth Ethereum bezero ofiziala da eta Relay-i bloke-katearekin elkarreragiteko aukera ematen dio RPC deien bidez.

TEErekin lan eginez, TCk hainbat enklabe paraleloan exekutatzeko aukera ematen du, eta horrela informazioa prozesatzeko abiadura 3 aldiz handitzen du. Exekutatzen den enklabe batekin abiadura 15 tx/seg bazen, orduan 20 enklabe paraleloekin abiadura 65 tx/seg-ra igotzen da; Konparazio baterako, Bitcoin blockchain-en gehienezko abiadura 26 tx/seg da.

DECO

DECO (Deszentralizatutako Oracles for TLS) CCS'20-n aurkeztu zen, TLS konexioak onartzen dituzten guneekin lan egiten du. Datuen konfidentzialtasuna eta osotasuna bermatzen du.
DECO TLSrekin enkriptatzea erabiltzen du, beraz, bezeroak eta web zerbitzariak enkriptatze-gakoak dituzte, eta bezeroak nahi izanez gero, TLS saioko datuak faltsu ditzake. Arazo hau konpontzeko, DECOk hiru norabideko esku-harremanen protokoloa erabiltzen du frogatzailea (kontratu adimenduna), egiaztatzailea (orakulua) eta web zerbitzariaren (datu iturria) artean.

Town Crier vs DECO: zein orakulu erabili blockchain-en?

DECO funtzionatzen duen modua da egiaztatzaileak D datu bat jasotzen duela eta egiaztatzaileari D TLS zerbitzaritik zetorrela berresten diola. Beste arazo bat da TLSk ez dituela datuak sinatzen eta zaila dela TLS bezeroak frogatzea. datuak zerbitzari egokitik jaso dira (jatorri-zailtasuna).

DECO protokoloak KEnc eta KMac enkriptatzeko gakoak erabiltzen ditu. Bezeroak Q eskaera bat bidaltzen dio web zerbitzariari, R zerbitzariaren erantzuna zifratuta dator, baina bezeroak eta zerbitzariak KMac bera dute, eta bezeroak TLS mezua faltsifikatu dezake. DECOren irtenbidea KMac bezeroari (frogatzailea) "ezkutatzea" da, eskaerari erantzun arte. Orain KMac frogatzailearen eta egiaztatzailearen artean banatzen da - KpMac eta KvMac. Zerbitzariak KMac jasotzen du erantzuna enkriptatzeko KpMac βŠ• KvMac = KMac gako-zatiaren eragiketa erabiliz.

Hiru norabideko esku-ematea ezarriz, bezeroaren eta zerbitzariaren arteko datu-trukea segurtasun bermearekin egingo da.
Town Crier vs DECO: zein orakulu erabili blockchain-en?
Orakulu-sistema deszentralizatu bati buruz hitz egitean, ezin da aipatu gabe utzi Chainlink, Ethereum, Bitcoin eta Hyperledger-ekin bateragarriak diren orakulu-nodoen sare deszentralizatu bat sortzea helburu duena, modulartasuna kontuan hartuta: sistemaren atal guztiak eguneratu daitezke. Aldi berean, segurtasuna bermatzeko, Chainlink-ek zereginean parte hartzen duen orakulu bakoitzari gako konbinazio bat (publikoa eta pribatua) ematea eskaintzen dio. Gako pribatua sinadura partzial bat sortzeko erabiltzen da, datuen eskaeraren erabakia jasotzen duena. Erantzuna lortzeko, sareko orakuluen sinadura partzial guztiak bateratzea beharrezkoa da.

Chainlink-ek hasierako PoC DECO bat egitea aurreikusten du, Mixicles bezalako finantza-aplikazio deszentralizatuetan arreta jarriz. Idazteko unean, Forbes-en albistea atera zen Chainlinkek Cornell Unibertsitatetik DECO erosi zuela.

Orakuluen aurkako erasoak

Town Crier vs DECO: zein orakulu erabili blockchain-en?

Informazioaren segurtasunaren ikuspuntutik, Town Crier-en aurkako eraso hauek kontuan hartu ziren:

  1. Rogue smart-contact kodea injekzio TEE nodoetan.
    Erasoaren funtsa: nahita okerra den kontratu adimendunaren kode bat igortzea TEEri, beraz, nodorako sarbidea lortu zuen erasotzaileak bere kontratu adimenduna (iruzurtsua) gauzatu ahal izango du deszifratutako datuetan. Hala ere, itzultzeko balioak gako pribatu batekin zifratuko dira, eta datu horietara sartzeko modu bakarra itzuleran/irteeran zifratutako testua filtratzea da.
    Eraso honen aurkako babesa enklabeak uneko helbidean dagoen kodearen zuzentasuna egiaztatzean datza. Hau helbideratze-eskema bat erabiliz lor daiteke, non kontratuaren helbidea kontratuaren kodea hashing bidez zehazten den.

  2. Kontratuaren egoera zifratu-testu aldaketak filtrazioa.
    Erasoaren funtsa: kontratu adimendunak exekutatzen diren nodoen jabeek kontratuaren egoerara sarbidea dute enklabetik kanpo forma enkriptatuta. Erasotzaile batek, nodo baten kontrola lortuta, transakzioaren aurretik eta ondoren kontaktuaren egoera konparatu dezake eta zein argumentu sartu diren eta zein kontratu adimendun metodo erabili den zehaztu dezake, kontratu adimendunaren kodea bera eta bere zehaztapen teknikoak publikoki eskuragarri baitaude.
    Nodoaren beraren fidagarritasuna bermatzeko babesa.

  3. Alboko kanaleko erasoak.
    Hainbat eszenatokitan enklabe-memoriaren eta cache-aren sarbidearen jarraipena erabiltzen duen eraso mota berezia. Eraso horren adibide bat Prime eta Probe dira.
    Town Crier vs DECO: zein orakulu erabili blockchain-en?
    Eraso ordena:

    • t0: Erasotzaileak biktimaren prozesuko datuen cache osoa betetzen du.
    • t1: Biktimak biktimen datu sentikorren (gako kriptografikoak) araberakoak diren memoria sarbideekin exekutatzen du kodea. Cache-lerroa gako-bit balioaren arabera hautatzen da. Irudiko adibidean, keybit = 0 eta cacheko 2. lerroko X helbidea irakurtzen da. X-n gordetako datuak cachean kargatzen dira, aurretik zeuden datuak lekuz aldatuz.
    • t2: Erasotzaileak bere cache-lerroetatik zein kanporatu diren egiaztatzen du, biktimak erabilitako lerroak. Hau sarbide-denbora neurtuz egiten da. Eragiketa hau gako-bit bakoitzeko errepikatuz, erasotzaileak gako osoa lortzen du.

Erasoen babesa: Intel SGX-k cachearekin lotutako gertaeren jarraipena eragozten duten albo kanaleko erasoen aurkako babesa du, baina Prime eta Probe erasoak funtzionatuko du, erasotzaileak bere prozesuaren cache-gertaerak kontrolatzen dituelako eta biktimarekin partekatzen duelako.
Town Crier vs DECO: zein orakulu erabili blockchain-en?
Beraz, momentuz ez dago eraso honen aurkako babes fidagarririk.

Spectre eta Foreshadow (L1TF) bezalako erasoak ere ezagunak dira, Prime eta Probe-ren antzekoak. Cache memoriako datuak hirugarrenen kanal baten bidez irakurtzeko aukera ematen dute. Spectre-v2 ahultasunaren aurkako babesa eskaintzen da, eraso horietako biren aurka funtzionatzen duena.

DECOri dagokionez, hiru norabideko esku-eskubideak segurtasun bermea ematen du:

  1. Frogatzaileen osotasuna: hackeatutako frogatzaile batek ezin du zerbitzariaren jatorriaren informazioa faltsutu eta ezin du zerbitzariak eskaera baliogabeak onar ditzan edo baliozko eskaerei gaizki erantzutea. Hau zerbitzariaren eta frogatzailearen arteko eskaera-ereduen bidez egiten da.
  2. Egiaztatzaileen osotasuna: hackeatutako egiaztatzaileak ezin du frogatzaileari erantzun okerrak jasotzea.
  3. Pribatutasuna: hackeatutako egiaztatzaileak informazio publikoa soilik aztertzen du (eskaera, zerbitzariaren izena).

DECOn, trafikoaren injekzio-ahuleziak baino ez dira posible. Lehenik eta behin, hiru norabideko esku-ematearekin, egiaztatzaileak zerbitzariaren identitatea ezar dezake nonce berri bat erabiliz. Hala ere, esku-ematearen ondoren, egiaztatzaileak sare-geruzen adierazleetan (IP helbideak) oinarritu behar du. Horrela, egiaztatzailearen eta zerbitzariaren arteko komunikazioa trafikoaren injekziotik babestu behar da. Hau Proxy erabiliz lortzen da.

Orakuluen konparaketa

Town Crier-ek zerbitzariaren zatian enklabe batekin lan egitean oinarritzen da, eta DECOk, berriz, datuen jatorriaren benetakotasuna egiaztatzeko aukera ematen du hiru norabideko esku-ematea eta datuen enkriptatzea gako kriptografikoekin. Orakulu horien konparaketa irizpide hauen arabera egin zen: errendimendua, segurtasuna, kostua eta praktikotasuna.

Herrizaingoa
DECO

errendimendua
Azkarrago (0.6 s amaitzeko)
Astiroago (10.50s protokoloa amaitzeko)

segurtasuna
Seguru gutxiago
Seguruagoa

kostua
Garestiagoa
Merkeagoa

praktikotasuna
Hardware berezia behar du
TLS onartzen duen edozein zerbitzarirekin funtzionatzen du

Errendimendua: DECO-rekin lan egiteko, hiru norabideko esku-ematea behar da, LAN bidez konfiguratzean 0.37 segundo behar dira, konexioa ezarri ondoren elkarrekintzarako, 2PC-HMAC eraginkorra da (0,13 s idazketa bakoitzeko). DECOren errendimendua erabilgarri dauden TLS zifraketa-multzoen, datu pribatuen tamainaren eta aplikazio jakin baterako frogen konplexutasunaren araberakoa da. Adibide gisa IC3ko aukera bitarren aplikazioa erabiliz: LAN bidez protokoloa osatzea 10,50 segundo inguru behar da. Alderatuz, Town Crier-ek gutxi gorabehera 0,6 segundo behar ditu antzeko aplikazio bat osatzeko, hau da, DECO baino 20 aldiz azkarragoa dena. Gauza guztiak berdinak izanik, TC azkarragoa izango da.

Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: Intel SGX enklabearen aurkako erasoek (alboko kanaleko erasoak) funtzionatzen dute eta benetako kalteak eragin ditzakete kontratu adimendunaren parte-hartzaileei. DECOri dagokionez, trafikoaren injekzioarekin lotutako erasoak posible dira, baina proxy bat erabiltzeak horrelako erasoak ezerezean murrizten ditu. Beraz, DECO seguruagoa da.

Kostua: Intel SGX onartzen duen ekipoen kostua DECOn protokoloa ezartzearen kostua baino handiagoa da. Horregatik, TC garestiagoa da.

praktikotasuna: Town Crier-ekin lan egiteko, TEE onartzen duen ekipamendu berezia behar da. Esate baterako, Intel SGX 6. belaunaldiko Intel Core prozesadore familian eta geroago onartzen da. DECO-k edozein ekiporekin lan egiteko aukera ematen du, TEE erabiliz DECO ezarpena dagoen arren. Konfigurazio-prozesuaren arabera, DECOren hiru norabideko esku-emateak denbora pixka bat behar izan dezake, baina hori ez da ezer TCren hardware-mugarekin alderatuta, beraz, DECO praktikoagoa da.

Ondorioa

Bi orakuluak bereizita begiratuta eta lau irizpideren arabera alderatuz, argi dago Town Crier DECO baino gutxiago dela lau puntutik hirutan. DECO fidagarriagoa da informazioaren segurtasunaren ikuspuntutik, merkeagoa eta praktikoagoa, nahiz eta hiruko protokoloa ezartzeak denbora pixka bat behar izan dezakeen eta bere desabantailak baditu, adibidez, enkriptazio-gakoekin eragiketa osagarriak. TC DECO baino azkarragoa da, baina alboko kanaleko erasoen ahultasunek konfidentzialtasuna galtzea eragiten dute. Kontuan izan behar da DECO 2020ko urtarrilean sartu zela, eta ez dela denbora nahikoa igaro segurutzat hartzeko. Town Crier-ek 4 urte daramatza erasopean eta proba asko igaro ditu, beraz, proiektu askotan erabiltzea justifikatuta dago.

Iturria: www.habr.com

Gehitu iruzkin berria