Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?

Nganti saiki, mung wong kesed sing ora nulis babagan teknologi blockchain, cryptocurrencies, lan kepiye keren. Nanging ing artikel iki ora bakal ana pujian babagan teknologi iki, mung babagan kekurangan lan cara kanggo ngilangi.

Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?

Nalika nggarap salah sawijining proyek ing Altirix Systems, tugas kasebut muncul kanggo konfirmasi data sing aman lan tahan sensor saka sumber eksternal menyang blockchain. Sampeyan perlu kanggo konfirmasi owah-owahan ing cathetan saka sistem katelu lan, adhedhasar owah-owahan iki, nglakokaké siji utawa cabang liyane ing logika kontrak pinter. Sepisanan, tugas kasebut cukup sepele, nanging nalika kondisi finansial salah sawijining pihak sing melu proses kasebut gumantung saka asil implementasine, syarat tambahan katon. Kaping pisanan, iki minangka kepercayaan lengkap babagan mekanisme validasi kasebut. Nanging dhisik dhisik.

Masalahe yaiku blockchain dhewe minangka entitas tertutup sing otonom, mula kontrak cerdas ing blok kasebut ora ngerti apa-apa babagan jagad njaba. Ing wektu sing padha, syarat kontrak cerdas asring digandhengake karo informasi babagan barang-barang nyata (tundha penerbangan, kurs, lan liya-liyane). Supaya kontrak cerdas bisa mlaku kanthi bener, informasi sing dipikolehi saka njaba blok kasebut kudu dipercaya lan diverifikasi. Masalah iki ditanggulangi kanthi nggunakake oracle kayata Town Crier lan DECO. Oracles iki ngidini kontrak pinter ing jaringan pamblokiran dipercaya informasi saka server web dipercaya, kita bisa ngomong sing iki panyedhiya informasi dipercaya.

Oracles

Mbayangno yen kontrak pinter nransfer 0.001 btc menyang dompet bitcoin yen klub bal-balan favorit sampeyan menang Piala Rusia. Ing kasus kamenangan nyata, kontrak pinter kudu nransfer informasi babagan klub sing menang, lan ing kene ana sawetara masalah: ing ngendi entuk informasi iki, carane nransfer kanthi aman menyang kontrak pinter, lan carane nggawe manawa informasi sing ditampa ing kontrak pinter ing tenan cocog kasunyatan?

Ing masalah sumber informasi, bisa uga ana 2 skenario: nyambungake kontrak cerdas menyang situs web sing dipercaya sing nyimpen informasi ing tengah babagan asil pertandhingan, lan pilihan kapindho yaiku nyambungake sawetara situs sekaligus banjur pilih informasi saka paling akeh. sumber sing nyedhiyani data padha. Kanggo mesthekake yen informasi kasebut bener, oracle digunakake, kayata Oraclize, sing nggunakake TLSNotary (Modifikasi TLS kanggo Mbuktekake Keaslian Data). Nanging ana informasi sing cukup babagan Oraclize ing Google, lan ana sawetara artikel babagan Habré, nanging dina iki aku bakal ngomong babagan oracle sing nggunakake pendekatan sing rada beda kanggo ngirim informasi: Town Crier lan DECO. Artikel kasebut menehi katrangan babagan prinsip operasi loro oracle, uga perbandingan sing rinci.

Kutha Crier

Town Crier (TC) dikenalake dening IC3 (Inisiatif kanggo CryptoCurrencies lan Kontrak) ing 2016 ing CCS'16. Gagasan utama ing mburi TC yaiku ngirim informasi saka situs web menyang kontrak cerdas lan priksa manawa informasi sing dikirimake TC padha karo situs web kasebut. TC nggunakake TEE (Trusted Execution Environment) kanggo otentikasi kepemilikan data. Versi asli TC nerangake carane nggarap Intel SGX.
Town Crier kasusun saka bagean ing blockchain lan bagean ing OS dhewe - TC Server.
Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?
Kontrak TC ana ing pamblokiran lan tumindak minangka mburi ngarep kanggo TC. Iku nampa panjalukan saka CU (User Smart Contract) lan ngasilake respon saka TC Server. Ing njero TC Server ana Relay sing nyambungake enclave menyang Internet (lalu lintas bidirectional) lan nyambungake enclave menyang blockchain. Enclave ngemot progencl, yaiku kode sing nggawe panjalukan saka blockchain lan ngasilake pesen menyang blockchain sing ditandatangani kanthi digital, progencl ngemot bagean saka kode kontrak cerdas lan nyatane nindakake sawetara fungsi.

Enclave Intel SGX bisa dianggep minangka perpustakaan sing dienggo bareng karo API sing mlaku liwat ecall. Ecall transfer kontrol menyang enclave. Enclave nglakokaké kode nganti mungkasi utawa nganti ana pangecualian. Kanggo nelpon fungsi sing ditetepake ing njaba enclave, gunakake ocall. Ocall mlaku ing njaba enclave lan dianggep minangka telpon sing ora dipercaya dening enclave. Sawise ocall dieksekusi, kontrol bali menyang enclave.
Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?
Ing bagean Enclave, saluran aman dikonfigurasi karo server web, enclave dhewe nindakake salaman TLS karo server target lan nindakake kabeh operasi kriptografi ing dhewe. Pustaka TLS (mbedTLS) lan versi mini saka kode HTTP wis diekspor menyang lingkungan SGX. Uga, Enclave ngemot sertifikat CA ROOT (koleksi sertifikat) kanggo mriksa sertifikat server remot. Panyuwunan Handler nampa panjalukan datagram ing format sing diwenehake dening Ethereum, dekripsi, lan parsing. Banjur ngasilake transaksi Ethereum sing ngemot datagram sing dijaluk, mlebu karo skTC, lan dikirim menyang Relay.

Bagean Relay kalebu Antarmuka Klien, TCP, Antarmuka Blockchain. Antarmuka Klien dibutuhake kanggo validasi kode enclave lan komunikasi karo klien. Klien ngirim panjalukan atestasi nggunakake ecall lan nampa timestamp sing ditandatangani dening skTC bebarengan karo att (tandha attestation), banjur att divalidasi nggunakake Intel Attestation Service (IAS) lan timestamp diverifikasi dening layanan wektu sing dipercaya. Antarmuka Blockchain validasi panjaluk sing mlebu lan nggawe transaksi ing blockchain kanggo ngirim datagram. Geth minangka klien Ethereum resmi lan ngidini Relay sesambungan karo blockchain liwat telpon RPC.

Nggarap TEE, TC ngijini sampeyan kanggo mbukak sawetara enclaves ing podo karo, mangkono nambah kacepetan pangolahan informasi dening 3 kaping. Yen karo siji enclave digunakake kacepetan 15 tx / sec, banjur karo 20 podo enclaves mlaku kacepetan mundhak kanggo 65 tx / sec, kanggo comparison, kacepetan maksimum ing pamblokiran Bitcoin punika 26 tx / sec.

DECO

DECO (Decentralized Oracles for TLS) dikenalake ing CCS'20 lan bisa digunakake karo situs sing ndhukung sambungan TLS. Njamin rahasia lan integritas data.
DECO karo TLS nggunakake enkripsi simetris, supaya klien lan server web duwe kunci enkripsi, lan klien bisa spoof data sesi TLS yen pengin. Kanggo ngatasi masalah iki, DECO nggunakake protokol jabat tangan telung arah antarane prover (kontrak pinter), verifier (oracle) lan web-server (sumber data).

Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?

Cara kerja DECO yaiku prover nampa potongan data D lan konfirmasi menyang verifier manawa D teka saka server TLS S. Masalah liyane yaiku TLS ora mlebu data lan angel kanggo klien TLS mbuktekake manawa data ditampa saka server kasebut (kesulitan asale).

Protokol DECO nggunakake kunci enkripsi KEnc lan Kmac. Klien ngirim panjalukan Q menyang server web, respon saka server R dienkripsi, nanging klien lan server duwe KMac sing padha, lan klien bisa nggawe pesen TLS. Solusi DECO yaiku "ndhelikake" KMac saka klien (prover) nganti nanggapi panjaluk kasebut. Saiki KMac dipérang antarane prover lan verifier - KpMac lan KvMac. Server nampa KMac kanggo ndhelik respon nggunakake operasi KpMac ⊕ KvMac = KMac ing bagean tombol.

Kanthi nyetel salaman telung arah, ijol-ijolan data antarane klien lan server bakal ditindakake kanthi jaminan keamanan.
Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?
Ngomong babagan sistem oracle desentralisasi, siji ora bisa gagal nyebutake Chainlink, sing tujuane nggawe jaringan desentralisasi node oracle sing kompatibel karo Ethereum, Bitcoin lan Hyperledger, kanthi modularitas ing pikiran: saben bagean saka sistem bisa ditingkatake. Ing wektu sing padha, kanggo njamin keamanan, Chainlink nawakake saben oracle sing melu tugas kanggo ngetokake kombinasi tombol (umum lan pribadi). Kunci pribadhi digunakake kanggo ngasilake tandha parsial sing ngemot keputusan kanggo njaluk data. Kanggo njaluk jawaban, perlu kanggo gabungke kabeh tandha parsial saka oracles jaringan.

Chainlink ngrancang PoC DECO awal fokus ing aplikasi keuangan desentralisasi kaya Mixicles. Nalika nulis, ana kabar ing Forbes yen Chainlink wis entuk DECO saka Universitas Cornell.

serangan ing oracles

Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?

Saka sudut pandang keamanan informasi, serangan ing Town Crier ing ngisor iki dianggep:

  1. Injeksi kode kontak cerdas Rogue ing simpul TEE.
    Inti saka serangan kasebut: ngirim kode kontrak pinter sing ora bener menyang TEE, supaya panyerang sing wis entuk akses menyang simpul bakal bisa nglakokake kontrak pinter dhewe (penipuan) ing data sing didekripsi. Nanging, nilai sing bali bakal dienkripsi nganggo kunci pribadi, lan siji-sijine cara kanggo ngakses data kasebut yaiku bocor ciphertext nalika bali / output.
    Perlindhungan marang serangan iki kalebu mriksa kabeneran kode sing ana ing alamat saiki dening enclave. Iki bisa digayuh kanthi skema alamat ing ngendi alamat kontrak ditemtokake kanthi hashing kode kontrak.

  2. Owahan ciphertext negara kontrak bocor.
    Inti saka serangan: Pamilik simpul sing kontrak pinter dileksanakake duwe akses menyang negara kontrak ing wangun ndhelik ing njaba enclave. Panyerang, sawise entuk kontrol simpul, bisa mbandhingake status kontak sadurunge lan sawise transaksi lan bisa nemtokake argumen sing dilebokake lan metode kontrak cerdas sing digunakake, amarga kode kontrak cerdas dhewe lan spesifikasi teknis kasedhiya kanggo umum.
    Perlindhungan kanggo njamin linuwih simpul kasebut dhewe.

  3. Serangan saluran sisih.
    Jinis serangan khusus sing nggunakake ngawasi memori enclave lan akses cache ing macem-macem skenario. Conto serangan kasebut yaiku Perdana lan Probe.
    Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?
    Urutan serangan:

    • t0: Penyerang ngisi kabeh cache data proses korban.
    • t1: Korban nglakokake kode kanthi akses memori sing gumantung marang data sensitif korban (kunci kriptografi). Garis cache dipilih kanthi nilai keybit. Ing conto ing tokoh, keybit = 0 lan maca alamat X ing baris cache 2. Data sing disimpen ing X dimuat menyang cache, displacing data sing ana sadurunge.
    • t2: Penyerang mriksa garis cache sing wis diusir - garis sing digunakake dening korban. Iki ditindakake kanthi ngukur wektu akses. Kanthi mbaleni operasi iki kanggo saben keybits, panyerang entuk kabeh tombol.

Proteksi serangan: Intel SGX nduweni pangayoman marang serangan saluran sisih sing mateni ngawasi acara sing gegandhengan karo cache, nanging serangan Perdana lan Probe isih bakal dilewati, amarga panyerang mirsani acara cache prosese lan nuduhake cache karo korban.
Town Crier vs DECO: oracle apa sing digunakake ing pamblokiran?
Mangkono, ing wayahe ora ana perlindungan sing bisa dipercaya marang serangan iki.

Serangan Spectre and Foreshadow (L1TF) padha karo Prime lan Probe uga dikenal. Dheweke ngidini sampeyan maca data saka cache liwat saluran pihak katelu. Perlindhungan marang kerentanan Spectre-v2 diwenehake, sing bisa nglawan loro serangan kasebut.

Gegayutan karo DECO, jabat tangan telung arah menehi jaminan keamanan:

  1. Integritas Prover: A prover kompromi ora bisa palsu informasi asal server lan ora bisa nimbulaké server nampa panjalukan ora bener utawa salah nanggapi panjalukan bener. Iki rampung liwat pola request antarane server lan prover.
  2. Integritas Verifier: A verifier disusupi ora bisa nimbulaké prover kanggo njaluk jawaban salah.
  3. Privasi: Verifikasi sing disusupi mung mriksa informasi sing kasedhiya kanggo umum (panyuwunan, jeneng server).

Ing DECO, mung kerentanan injeksi lalu lintas sing bisa ditindakake. Kaping pisanan, kanthi jabat tangan telung arah, verifikasi bisa netepake identitas server kanthi nonce anyar. Nanging, sawise salaman, verifier kudu ngandelake indikator lapisan jaringan (alamat IP). Mangkono, komunikasi antarane verifier lan server kudu direksa saka injeksi lalu lintas. Iki digayuh kanthi nggunakake proxy.

Perbandingan oracle

Town Crier adhedhasar nggarap enclave ing mburi mburi, dene DECO ngidini sampeyan keasliane data asli nggunakake jabat tangan telung arah lan ndhelik data nganggo kunci kriptografi. Perbandhingan oracle iki ditindakake miturut kritéria ing ngisor iki: kacepetan, keamanan, biaya lan kepraktisan.

Kutha Crier
DECO

kinerja
Luwih cepet (0.6s nganti rampung)
Luwih alon (10.50s kanggo ngrampungake protokol)

safety
Kurang aman
Luwih aman

biaya
Luwih larang
Luwih murah

kepraktisan
Mbutuhake hardware khusus
Bisa digunakake karo server apa wae sing ndhukung TLS

KinerjaA: DECO mbutuhake 0.37-way handshake persiyapan, njupuk 2 detik nalika nyiyapake liwat LAN, 0,13PC-HMAC (3s saben nulis) efektif kanggo komunikasi sawise sambungan ditetepake. Kinerja DECO gumantung marang suite cipher TLS sing kasedhiya, ukuran data pribadi, lan kerumitan bukti kanggo aplikasi tartamtu. Nggunakake aplikasi opsi binar saka IC10,50 minangka conto: butuh udakara 0,6 detik kanggo ngrampungake protokol liwat LAN. Yen dibandhingake, Town Crier butuh udakara 20 detik kanggo ngrampungake aplikasi sing padha, yaiku udakara XNUMX kaping luwih cepet tinimbang DECO. Ing kahanan sing padha, TC bakal luwih cepet.

Keamanan: Serangan ing enclave Intel SGX (serangan saluran sisih) bisa lan bisa nimbulaké karusakan nyata kanggo peserta kontrak pinter. Babagan DECO, serangan injeksi lalu lintas bisa uga, nanging panggunaan proxy mbatalake serangan kasebut. Mulane DECO luwih aman.

biaya: Biaya hardware sing ndhukung nggarap Intel SGX luwih dhuwur tinimbang biaya konfigurasi protokol ing DECO. Mulane TC luwih larang.

Praktis: Kanggo nggarap Town Crier, peralatan khusus sing ndhukung TEE dibutuhake. Contone, Intel SGX didhukung ing prosesor kulawarga Intel Core Generasi 6 lan mengko. DECO ngidini sampeyan nggarap peralatan apa wae, sanajan ana setelan DECO nggunakake TEE. Miturut proses persiyapan, jabat tangan XNUMX-cara DECO mbutuhake sawetara wektu, nanging iki ora ana apa-apa dibandhingake karo watesan hardware kanggo TC, mula DECO luwih praktis.

kesimpulan

Deleng loro oracle kasebut kanthi kapisah lan mbandhingake karo papat kritéria, jelas yen Town Crier luwih murah tinimbang DECO kanthi telung poin saka papat. DECO luwih dipercaya babagan keamanan informasi, luwih murah lan luwih praktis, sanajan nyetel protokol telung arah bisa njupuk sawetara wektu lan duwe kekurangan, kayata operasi tambahan kanthi kunci enkripsi. TC luwih cepet tinimbang DECO, nanging kerentanan serangan saluran sisih ndadekake risiko kelangan privasi. Elinga yen DECO dikenalake ing Januari 2020, lan ora cukup wektu kanggo nganggep aman. Town Crier wis diserang 4 taun saiki lan wis ngalami pirang-pirang tes, mula panggunaane ing pirang-pirang proyek bisa dibenerake.

Source: www.habr.com

Add a comment