Îro, tenê tembelan li ser teknolojiya zincîra blokê, pereyên krîpto û ew çiqas xweş nenivîsandiye. Lê ev gotar pesnê vê teknolojiyê nade em ê behsa kêmasiyên wê û rêyên ji holê rakirina wan bikin.

Dema ku li ser yek ji projeyên li Altirix Systems dixebitî, peywira piştrastkirina ewledar, berxwedêr-sansorê ya daneyan ji çavkaniyek ji derveyî blokê derket holê. Pêwîst bû ku guheztinên di tomarên pergala sêyemîn de were piştrast kirin û, li ser bingeha van guhertinan, yek an şaxek din di mantiqa peymana hişmend de bicîh bikin. Kar di nihêrîna pêşîn de pir piçûk e, lê gava ku rewşa darayî ya yek ji aliyên ku beşdarî pêvajoyê dibin bi encama pêkanîna wê ve girêdayî ye, hewcedariyên zêde xuya dibin. Berî her tiştî, ev pêbaweriyek berfireh di mekanîzmayek pejirandinê de ye. Lê pêşî tiştên pêşîn.
Pirsgirêk ev e ku zincîra blokê bi xwe saziyek xweser, girtî ye, ji ber vê yekê peymanên jîr ên di hundurê blokê de tiştek li ser cîhana derve nizanin. Di heman demê de, şertên peymanên biaqil bi gelemperî bi agahdariya li ser tiştên rastîn (derengiya firînê, rêjeyên danûstendinê, hwd.) ve girêdayî ne. Ji bo ku peymanên biaqil bi rêkûpêk bixebitin, agahdariya ku ji derveyî blokê hatî wergirtin divê pêbawer û verastkirî be. Ev pirsgirêk bi karanîna oraklên wekî Town Crier û DECO tê çareser kirin. Van orakles rê didin ku peymanek biaqil li ser tora blokê pêbawer bike ku agahdariya ji serverek pêbawer bawer bike, em dikarin bibêjin ku ev peydakerên agahdariya pêbawer in.
Oracles
Bifikirin ku heke klûbek fûtbolê ya weya bijare Kupaya Rûsyayê bi dest bixe, peymanek jîr 0.001 btc vediguhezîne berîka weya bitcoin. Di bûyera serkeftinek rastîn de, peymana biaqil hewce dike ku agahdariya li ser kîjan klûb qezenc kiriye veguhezîne, û li vir çend pirsgirêk derdikevin: meriv vê agahiyê ji ku derê bigire, meriv çawa bi ewlehî wê veguhezîne peymana biaqil û meriv çawa pê ewle dibe ku agahdarî di peymana biaqil de hatî wergirtin bi rastî bi rastiyê re derbasdar e?
Dema ku dor tê ser çavkaniya agahdariyê, 2 senaryo dikarin hebin: girêdana girêbestek jîr bi malperek pêbawer re ku agahdariya li ser encamên maçê bi navendî tê hilanîn, û vebijarka duyemîn ev e ku meriv bi yekcarî çend malperan ve girêbide û dûv re agahdariya ji piraniya çavkaniyan hilbijêrin. ku heman daneyan peyda dike. Ji bo ku rastbûna agahiyê were verast kirin, orakles têne bikar anîn, mînakî Oraclize, ku TLSNotary (Guherîna noterê TLS-ê ji bo îsbatkirina rastbûna daneyan) bikar tîne. Lê li ser Google-ê di derbarê Oraclize de têr agahdarî hene, û li ser Habré gelek gotar hene. Gotar danasîna prensîbên xebitandinê yên her du orakles, û her weha berhevokek berfireh peyda dike.
Town Crier
Town Crier (TC) di sala 3-an de li CCS'2016-ê ji hêla IC16 (Insiyatîfa Ji bo Pereyên Crypto û Peymanan) ve hate destnîşan kirin. Fikra sereke ya TC: agahdariya ji malperek veguhezîne peymanek biaqil û pê ewle bine ku agahdariya ku ji hêla TC ve hatî şandin wekî li ser malperê ye. TC ji bo rastkirina xwedaniya daneyê TEE (Jîngehek Birêveberiya Pêbawer) bikar tîne. Guhertoya orîjînal a TC diyar dike ka meriv çawa bi Intel SGX re dixebite.
Town Crier ji beşek di hundurê zincîra blokê û beşek di hundurê OS-ê bixwe - TC Server-ê de pêk tê.

Peymana TC li ser zincîra blokê ye û ji bo TC wekî dawiya pêşîn tevdigere. Ew daxwazên CU (peymana hişmend a bikarhêner) qebûl dike û bersivek ji Servera TC vedigerîne. Di hundurê Servera TC de Relayek heye, ku têkiliyek di navbera enclave û Înternetê de (trafîka dualî) saz dike û dorpêçê bi zincîra blokê ve girêdide. Enclave progencl dihewîne, ku kodek e ku ji zincîra blokê daxwaz dike û bi îmzeyek dîjîtal peyaman vedigerîne zincîra blokê, progencl beşek ji koda peymana biaqil dihewîne û bi bingehîn hin fonksiyonên wê pêk tîne.
Enklava Intel SGX dikare wekî pirtûkxaneyek hevpar a bi API-ya ku bi ecall-ê ve tê xebitandin were hesibandin. Ecall kontrolê vediguhezîne dorpêçê. Enclave koda xwe dixebitîne heya ku derkeve an jî heya ku îstîsna çêbibe. ocall ji bo bangkirina fonksiyonên ku li derveyî dorpêçê hatine destnîşankirin tê bikar anîn. Ocall li derveyî dorpêçê tê îdamkirin û ji hêla wê ve wekî bangek nebawer tê hesibandin. Piştî ku ocall tê pêkanîn, kontrol vedigere dorpêçê.

Di beşa Enclave de, kanalek ewledar bi serverek webê ve tête mîheng kirin, enclave bixwe bi servera armancê re destekek TLS pêk tîne û hemî karûbarên krîptografî di hundurê xwe de pêk tîne. Pirtûkxaneya TLS (mbedTLS) û koda HTTP ya kêmkirî ji hawîrdora SGX re hatine şandin. Di heman demê de, Enclave sertîfîkayên CA-ya root (komek sertîfîkayan) vedihewîne da ku sertîfîkayên pêşkêşkerên dûr verast bike. Request Handler daxwazek datagramê di forma ku ji hêla Ethereum ve hatî peyda kirin qebûl dike, wê deşîfre dike û wê pars dike. Dûv re ew danûstendinek Ethereum-ê ku tê de datagrama hatî xwestin diafirîne, wê bi skTC re îmze dike û wê dişîne Relay.
Beşa Relay Navbera Xerîdar, TCP, Navbera Blockchain-ê vedihewîne. Têkiliya Xerîdar ji bo pejirandina koda enclave û danûstandina bi xerîdar re hewce ye. Xerîdar bi karanîna ecall-ê daxwaznameyek pejirandinê dişîne û demsalek ku ji hêla skTC ve hatî îmzekirin digel att (îmzaya erêkirinê) distîne, dûv re att bi karûbarê Attestation Intel (IAS) ve tê verast kirin, û demjimêr ji hêla karûbarê demjimêrek pêbawer ve tê verast kirin. Navbera Blockchain daxwazên hatinê rast dike û danûstendinan li ser zincîra blokê ji bo radestkirina datagraman bi cih dike. Geth xerîdarek fermî ya Ethereum-ê ye û dihêle Relay bi bangên RPC-ê bi blokê re têkilî daynin.
Bi TEE re xebitîn, TC dihêle hûn çend enklava paralel bimeşînin, bi vî rengî leza hilberandina agahdariyê 3 carî zêde bikin. Ger bi yek enklavek xebitandinê re leza 15 tx / sec bû, wê hingê bi 20 tx / sankî ve leza ji bo berhevdana 65 tx / sec zêde dibe, leza xebitandinê ya herî zêde di zincîra bloka Bitcoin de 26 tx / saniye ye.
DECO
DECO (Oracles Decentralized for TLS) li CCS'20 hate pêşkêş kirin, bi malperên ku girêdanên TLS piştgirî dikin re dixebite. Nepenî û yekitiya daneyan misoger dike.
DECO bi TLS şîfrekirina sîmetrîk bikar tîne, ji ber vê yekê xerîdar û servera malperê xwedan mifteyên şîfrekirinê ne, û xerîdar heke bixwaze dikare daneyên danişîna TLS-ê çêbike. Ji bo çareserkirina vê pirsgirêkê, DECO di navbera prover (peymana biaqil), verastker (oracle) û web-server (çavkaniya daneyê) de protokolek sêalî ya destan bikar tîne.

Awayê ku DECO dixebite ev e ku verastker perçeyek daneya D distîne û ji verastkerê re piştrast dike ku D ji servera TLS S hatîye. Pirsgirêkek din jî ev e ku TLS daneyan îmze nake û ji xerîdar TLS re dijwar e ku îspat bike ku Daneyên tam ji servera rast hatin wergirtin (zehmetiya provenance).
Protokola DECO mifteyên şîfrekirinê KEnc û KMac bikar tîne. Xerîdar daxwazek Q dişîne servera webêBersiva ji server R bi şîfrekirî tê, lê xerîdar û server heman KMac parve dikin, û xerîdar dikare peyama TLS sexte bike. Çareseriya DECO ew e ku KMac ji xerîdar (îspatker) "veşêre" heta ku ew bersiva daxwazê bide. Niha KMac di navbera îspatker û verastker de tê dabeş kirin - KpMac û KvMac. Server KMac werdigire da ku bersivê bi karanîna operasyona dabeşkirina mifteyê KpMac ⊕ KvMac = KMac şîfre bike.
Bi sazkirina destanek sê-alî, dê danûstandina daneyê di navbera xerîdar û serverê de bi garantiya ewlehiyê were kirin.

Dema ku meriv li ser pergalek oracle ya nenavendî diaxive, meriv nikare behsa Chainlink-ê neke, ku armanc dike ku torgilokek nemerkezî ya girêkên oracle-yê ku bi Ethereum, Bitcoin û Hyperledger-ê re hevaheng e, biafirîne, ku modularîteyê li ber çavan bigire: her perçeyek pergalê dikare were nûve kirin. Di heman demê de, ji bo misogerkirina ewlehiyê, Chainlink pêşkêşî her oracle ku beşdarî peywirê dibe ku berhevokek kilîtan (giştî û taybet) derxîne. Mifteya taybet tê bikar anîn da ku îmzeyek qismî çêbike ku biryara wan li ser daxwaza daneyê vedihewîne. Ji bo wergirtina bersivê, pêdivî ye ku hemî îmzeyên qismî yên orakên torê werin berhev kirin.
Chainlink plan dike ku PoC DECO-ya destpêkê bi baldarî li ser sepanên darayî yên nenavendî yên wekî Mixicles pêk bîne. Di dema nivîsandinê de, nûçeyek li ser Forbes derket ku Chainlink DECO ji Zanîngeha Cornell stend.
Êrîşên li ser oregeran

Ji hêla ewlehiya agahdariyê ve, êrîşên jêrîn ên li ser Town Crier hatin binçavkirin:
Derzkirina koda pêwendiya hişmend a Rogue li ser girêkên TEE.
Esasê êrîşê: Veguheztina kodek peymanek hişmend a bi zanebûn ne rast ji TEE re, bi vî rengî, êrîşkarek ku gihîştiye nodê dê karibe peymana xweya hişmend (xapandin) li ser daneyên deşîfrekirî bicîh bîne. Lêbelê, nirxên vegerê dê bi mifteyek taybet ve werin şîfre kirin, û riya yekane ya gihîştina daneyan ev e ku di vegerê / derketinê de şîfretextê derxe.
Parastina li dijî vê êrîşê ji kontrolkirina rastbûna kodê ya ku li navnîşana heyî ye, pêk tê. Ev dikare bi karanîna nexşeyek navnîşankirinê ya ku navnîşana peymanê bi haşkirina koda peymanê tê destnîşankirin, were bidestxistin.Guhertinên şîfretextê yên dewleta peymanê diherikin.
Esasê êrîşê: Xwediyên girêkên ku li ser wan peymanên biaqil têne darve kirin, li derveyî dorpêçê bi rengek şîfrekirî gihîştina dewleta peymanê. Êrîşkarek, ku kontrola nodek bi dest xistiye, dikare rewşa pêwendiyê berî û piştî danûstendinê bide ber hev û dikare diyar bike ka kîjan arguman ketine û kîjan rêbaza peymana biaqil hatiye bikar anîn, ji ber ku koda peymana biaqil bixwe û taybetmendiyên wê yên teknîkî bi gelemperî têne peyda kirin.
Parastin di dabînkirina pêbaweriya nodê bixwe de.Êrîşên kanalên alî.
Cureyek taybetî ya êrîşê ku di senaryoyên cihêreng de çavdêriya bîranîna dorpêçkirî û gihîştina cache bikar tîne. Mînaka êrîşeke wiha Prime û Probe ye.

Fermana êrîşê:- t0: Êrişkar hemû cache daneya pêvajoya mexdûr dagir dike.
- t1: Mexdûr kodê bi gihîştinên bîranînê yên ku bi daneyên hesas ên mexdûr ve girêdayî ne (bişkojkên krîptografî) pêk tîne. Rêza cache li ser bingeha nirxa keybit tê hilbijartin. Di mînaka di wêneyê de, keybit = 0 û navnîşana X di rêza cache 2 de tê xwendin.
- t2: Êrîşkar kontrol dike ka kîjan xetên cache yên wî hatine derxistin - xetên ku ji hêla mexdûr ve hatine bikar anîn. Ev bi pîvana dema gihîştinê pêk tê. Bi dûbarekirina vê operasyonê ji bo her kilîtê, êrîşkar hemû mifteyê distîne.
Parastina Êrîşê: Intel SGX xwedan parastinek e li dijî êrîşên kanala alîgir ku pêşî li şopandina bûyerên bi cache digire, lê êrişek Prime û Probe dê hîn jî bixebite ji ber ku êrîşkar bûyerên cache yên pêvajoya xwe dişopîne û cache bi mexdûr re parve dike.

Ji ber vê yekê, niha li dijî vê êrîşê tu parastinek pêbawer tune.
Êrîşên wekî Specter û Foreshadow (L1TF), mîna Prime û Probe, jî têne zanîn. Ew dihêlin hûn daneyên ji bîra cache-ê bi kanalek sêyemîn-sêyemîn bixwînin. Parastina li hember xirapbûna Specter-v2 tê peyda kirin, ku li dijî du ji van êrîşan dixebite.
Di têkiliya DECO-yê de, destanên sê-alî garantiya ewlehiyê peyda dike:
- Prover Integrity: Proverek hacked nikare agahdariya eslê serverê sexte bike û nikare bibe sedem ku server daxwazên nederbasdar qebûl bike an jî bi xeletî bersivê bide daxwazên derbasdar. Ev bi navgîniya şêwazên daxwaznameyê di navbera server û proverê de pêk tê.
- Yekitiya Verastker: Verastkerek hacked nikare bibe sedem ku prover bersivên nerast werbigire.
- Nepenî: Verastkerê hacked tenê agahdariya gelemperî (daxwaz, navê serverê) lêkolîn dike.
Di DECO de, tenê lawaziyên derzîkirina trafîkê mimkun in. Di destpêkê de, di dema destdanîna sê-alî de, verastker dikare nasnameya serverê bi karanîna nonce-yek nû destnîşan bike. Lêbelê, piştî destdanînê, verastker divê xwe bispêre nîşaneyên qata torê (navnîşanên IP). Ji ber vê yekê, divê girêdana di navbera verastker û serverê de ji derzîkirina trafîkê were parastin. Ev bi karanîna proxy-yekê tê bidestxistin.
Berawirdkirina orakiyan
Town Crier li ser bingeha xebitandina bi enklavekê di beşa serverê de ye, dema ku DECO dihêle hûn rastiya eslê daneyan bi karanîna destanek sê alî û şîfrekirina daneyê bi bişkojkên krîptografî verast bikin. Berawirdkirina van oraklan li gorî pîvanên jêrîn pêk hat: performans, ewlehî, lêçûn û pratîkî.
Town Crier
DECO
birêvebirinî
Zûtir (0.6s ji bo qedandinê)
Hêdîtir (10.50 ji bo qedandina protokolê)
ewlehî
Kêm ewledar
Bêtir ewledar
mesrefa
Buhatir
Erzantir
pratîk
Zehfek taybetî hewce dike
Bi her serverek ku TLS piştgirî dike re dixebite
Performansa: Ji bo ku bi DECO re bixebite, destanek sê-alî hewce ye, dema ku bi LAN-ê ve hatî sazkirin 0.37 çirkeyan digire, ji bo danûstendinê piştî ku pêwendiyê hate damezrandin, 2PC-HMAC bi bandor e (0,13 s her nivîsandinê). Performansa DECO bi sîteyên şîfre yên TLS yên berdest, mezinahiya daneyên taybet, û tevliheviya delîlên ji bo serîlêdanek taybetî ve girêdayî ye. Bikaranîna serîlêdana vebijarka binary ji IC3 wekî mînak: temamkirina protokolê bi LAN-ê bi qasî 10,50 saniyeyan digire. Ji hêla berhevdanê ve, Town Crier bi qasî 0,6 saniyeyan digire da ku serîlêdanek wekhev temam bike, ku bi qasî 20 carî ji DECO zûtir e. Hemî tişt wekhev bin, TC dê zûtir be.
Ewlekariyê: Êrîşên li ser dorpêça Intel SGX (êrîşên kanala alî) dixebitin û dikarin zirarek rastîn bidin beşdarên peymana jîr. Di derbarê DECO de, êrîşên têkildarî derzîlêdana trafîkê mimkun in, lê karanîna proxy van êrîşan kêm dike. Ji ber vê yekê DECO ewletir e.
mesrefa: Mesrefa alavên ku Intel SGX piştgirî dikin ji lêçûna sazkirina protokolê di DECO de zêdetir e. Ji ber vê yekê TC bihatir e.
Praktîk: Ji bo ku bi Town Crier re bixebitin, alavên taybetî yên ku TEE piştgirî dikin hewce ne. Mînakî, Intel SGX li ser malbata pêvajoya Intel Core ya nifşê 6-an û paşê tê piştgirî kirin. DECO dihêle hûn bi her amûrekê re bixebitin, her çend mîhengek DECO-yê ku TEE bikar tîne jî heye. Li gorî pêvajoya sazkirinê, destankirina sê-alî ya DECO dibe ku hin dem bigire, lê ev li gorî sînorkirina hardware ya TC ne tiştek e, ji ber vê yekê DECO pratîktir e.
encamê
Dema ku li her du orakûlan ji hev venihêrin û wan li ser çar pîvanan bidin ber hev, diyar dibe ku Town Crier di sê ji çar xalan de ji DECO kêmtir e. DECO ji hêla ewlehiya agahdariyê ve pêbawertir e, erzantir û pratîktir e, her çend sazkirina protokolek sê alî dikare hin dem bigire û dezawantajên wê hene, mînakî, operasyonên zêde bi bişkojkên şîfrekirinê. TC ji DECO-yê bileztir e, lê qelsiyên êrişa kanala alî wê ji windabûna nepenîtiyê re metirsîdar dike. Pêdivî ye ku were hesibandin ku DECO di Çileya 2020-an de hate destnîşan kirin, û demek têr derbas nebû ku ew bi ewle were hesibandin. Town Crier 4 sal in di bin êrîşan de ye û di gelek ceribandinan re derbas bûye, ji ber vê yekê karanîna wê di gelek projeyan de rewa ye.
Source: www.habr.com

