OP-DLC: Menerapkan solusi sederhana untuk meningkatkan perlindungan serangan kontrak DLC

robot
Pembuatan abstrak sedang berlangsung

Optimasi DLC: Mencapai Kesederhanaan dengan Solusi yang Sederhana

Pada tahun 2018, Tadge Dryja dari MIT mengusulkan kerangka eksekusi kontrak berbasis oracle yang disebut Discreet Log Contract (DLC). DLC memungkinkan kedua belah pihak melakukan pembayaran bersyarat berdasarkan kondisi yang telah ditentukan sebelumnya, dengan kedua belah pihak menentukan hasil yang mungkin dan melakukan pra-tanda tangan, lalu menggunakan pra-tanda tangan ini untuk melaksanakan pembayaran saat oracle menandatangani hasilnya. Mekanisme ini menjamin keamanan deposit bitcoin sekaligus mewujudkan aplikasi keuangan terdesentralisasi yang baru.

Teks sebelumnya menganalisis keunggulan DLC dalam perlindungan privasi, kontrak kompleks, risiko aset, dan juga menunjukkan masalah seperti risiko kunci, risiko kepercayaan terdesentralisasi, dan risiko kolusi. Meskipun pengenalan oracle terdesentralisasi, tanda tangan ambang, dan mekanisme tantangan optimis dapat menyelesaikan masalah ini, karena DLC melibatkan oracle, Alice, dan Bob, situasi serangan kolusi antara pihak yang berbeda cukup kompleks, yang mengakibatkan strategi pertahanan yang juga relatif rumit. Strategi pertahanan yang rumit ini tidak sempurna dan kurang memiliki keindahan yang sederhana.

Dalam Bitcoin, setiap tindakan pihak yang terlibat harus direalisasikan melalui UTXO. Oleh karena itu, selama UTXO dijamin benar, serangan apapun dapat ditahan. Dengan cara yang sama, dalam DLC, setiap tindakan harus dieksekusi melalui kontrak CET( untuk melakukan transaksi ). Selama mekanisme tantangan optimis digunakan untuk memastikan CET benar, serangan apapun dapat ditahan. Secara khusus, oracle harus mempertaruhkan 2BTC sebelum dapat menandatangani CET. Dengan menambahkan mekanisme tantangan optimis ke dalam CET, jika CET tidak ditantang atau berhasil menghadapi tantangan, maka dianggap benar dan dapat diselesaikan, oracle akan melepaskan taruhan dan mendapatkan biaya layanan; jika oracle mencoba berbuat jahat, siapa pun dapat berhasil menantang, CET tersebut tidak akan dapat diselesaikan, oracle akan kehilangan deposit dan tidak dapat lagi menandatangani CET yang sama. Solusi ini sederhana dan efektif.

Bitlayer Research: OP-DLC 2 Jalan yang Sederhana

Prinsip DLC

Sebagai contoh, mari kita pertaruhkan paritas hash blok ke-ξ antara Alice dan Bob: jika ganjil, Alice menang; jika genap, Bob menang. DLC membangun tanda tangan bersyarat dengan menyampaikan informasi blok melalui oracle, sehingga pihak yang benar mendapatkan semua aset.

Generator kurva elips adalah G, urutan adalah q. Kunci pasangan oracle, Alice dan Bob masing-masing adalah (z, Z), (x, X), (y, Y).

Setoran transaksi: Alice dan Bob masing-masing menyetor 10BTC, terkunci dalam output multi-tanda tangan 2-dari-2.

Membangun CET: Alice dan Bob membuat CET1 dan CET2, untuk membelanjakan transaksi investasi.

Perhitungan oracle berjanji R = k · G, lalu menghitung S dan S':

S := R - hash(OddNumber, R) · Z S' := R - hash(EvenNumber, R) · Z

Kunci publik baru untuk Alice dan Bob: PK^Alice := X + S PK^Bob := Y + S'

Penyelesaian: Setelah blok ke-ξ dihasilkan, oracle menandatangani CET1 atau CET2 yang sesuai berdasarkan nilai hash.

Jika hash adalah ganjil, oracle menandatangani s: s := k - hash(OddNumber, R) z Siarkan CET1.

Jika hash genap, oracle menandatangani s': s' := k - hash(EvenNumber, R) z Siarkan CET2.

Penarikan: Jika siaran CET1, Alice dapat menghitung kunci pribadi baru dan membelanjakan 20BTC: sk^Alice = x + s

Jika siaran CET2, Bob dapat menghitung kunci pribadi baru dan menghabiskan 20BTC: sk^Bob = y + s'

Penelitian menemukan bahwa setiap tindakan dalam proses di atas harus dilakukan melalui CET. Oleh karena itu, hanya perlu menggunakan mekanisme tantangan optimis untuk memastikan CET benar, sehingga dapat menahan serangan apa pun. CET yang salah akan ditantang dan tidak dieksekusi, sementara CET yang benar akan dieksekusi. Selain itu, oracle harus membayar biaya untuk tindakan jahat.

Program yang menunggu tantangan adalah f(t), CET harus dibangun sebagai berikut: s = k - hash(f(t), R) z

Misalkan nilai hash blok ke-ξ yang sebenarnya adalah angka ganjil, yaitu f(ξ) = OddNumber, oracle harus menandatangani CET1: s := k - hash(OddNumber, R) z

Tetapi jika oracle berbuat jahat, mengubah nilai fungsi menjadi Even dan menandatangani CET2: s' := k - hash(EvenNumber, R) z

Maka setiap pengguna dapat mencegah perilaku jahat ini berdasarkan f(ξ) ≠ OddNumber.

OP-DLC 2

OP-DLC mencakup ketentuan berikut:

  1. Oracle terdiri dari aliansi, setiap anggota dapat menandatangani CET. Setelah mempertaruhkan 2BTC, mereka dapat menerbitkan tanda tangan untuk mendapatkan biaya transaksi. Anggota yang berbuat jahat akan kehilangan taruhan, anggota lain masih dapat menandatangani CET untuk memastikan pengguna dapat menarik dana.

  2. Jika oracle berbuat jahat dan mengubah hasil, maka akan menyebabkan f1(ξ) ≠ z1, f2(z1) ≠ z2. Setiap pihak yang terlibat dapat memulai tantangan transaksi Disprove-CET1.

  3. Ketika oracle menandatangani CET dengan jujur, tidak ada pihak yang dapat memulai transaksi Disprove yang valid. Setelah satu minggu, CET dapat diselesaikan dengan benar, oracle menerima hadiah 0,05 BTC sebagai imbalan untuk mempertaruhkan 2 BTC selama satu minggu dan menandatangani CET dengan jujur.

  4. Pihak mana pun dapat menantang Oracle_sign:

    • Jika Oracle_sign jujur, tidak dapat memulai transaksi Disprove-CET1, dan setelah satu minggu akan dilakukan penyelesaian CET. Kunci staked oracle dibuka dan mendapatkan biaya transaksi.
    • Jika Oracle_sign tidak jujur, siapa pun yang berhasil memulai transaksi Disprove-CET1 dan menghabiskan output konektor A, maka tanda tangan oracle tersebut menjadi tidak valid, kehilangan 2BTC yang dipertaruhkan, dan di masa depan tidak dapat lagi mengajukan tanda tangan dengan hasil yang sama untuk kontrak DLC ini.
  5. Tantangan dalam OP-DLC adalah tanpa izin, pihak mana pun dapat mengawasi apakah kontrak dieksekusi dengan benar, mewujudkan minimisasi kepercayaan terhadap oracle. Berbeda dengan jaringan Lightning, Alice dan Bob juga dapat offline, karena oracle hanya akan menyelesaikan CET dengan tanda tangan yang jujur, oracle yang berbuat jahat dapat ditantang dan dihukum oleh siapa saja.

Kelebihan:

  • Pengendalian aset yang tinggi, hanya mempercayai diri sendiri: Alice dan Bob dapat menjadi oracle untuk menandatangani CET, mekanisme tantangan optimis akan menggagalkan CET yang salah, tidak dapat berbuat jahat. OP-DLC mewujudkan pengguna hanya mempercayai diri mereka sendiri.

  • Tingkat pemanfaatan dana tinggi: Pengguna bergantung pada penarikan mereka sendiri, tanpa perlu menggunakan jumlah dana yang sama sebagai jaminan.

  • Oracle yang dapat menandatangani harus ditentukan saat deposit, tetapi pengguna dapat menjadi oracle, menandatangani untuk diri mereka sendiri.

Kekurangan:

  • Waktu penarikan membutuhkan satu minggu: pada dasarnya, biaya waktu dana OP-DLC dan BitVM adalah sama. Penarikan OP-DLC memerlukan periode tantangan; jika BitVM bergantung pada pengguna untuk membayar di muka, dana yang dibayarkan juga harus melewati periode tantangan sebelum dapat berhasil diklaim.

  • Jumlah tanda tangan yang perlu disetujui meningkat dengan cepat, berhubungan linier dengan jumlah CET. Diperlukan sebanyak mungkin CET untuk mencantumkan semua hasil penarikan.

Kesimpulan

OP-DLC memperkenalkan mekanisme tantangan optimis ke dalam CET, memastikan bahwa CET yang salah tidak diselesaikan dan kerugian oracle jahat di-staking; memastikan CET yang benar dieksekusi dan staking oracle dibuka serta mendapatkan biaya transaksi. Cara ini mampu menahan serangan apa pun, mencerminkan keindahan kesederhanaan.

OP0.54%
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • 5
  • Bagikan
Komentar
0/400
DAOTruantvip
· 07-23 16:29
Cuma ini? Bukankah itu mekanisme pengawasan + stake?
Lihat AsliBalas0
MemecoinResearchervip
· 07-23 07:42
meh, hanya ponzi defi lainnya dengan langkah tambahan sejujurnya
Lihat AsliBalas0
ChainSherlockGirlvip
· 07-20 18:09
Sekali lagi, ini adalah drama penempatan dana on-chain~ Mesin Oracle di baliknya adalah Investor Luas mana?
Lihat AsliBalas0
WhaleMinionvip
· 07-20 17:57
Apakah optimasi berguna? Mekanismenya sangat sederhana.
Lihat AsliBalas0
MindsetExpandervip
· 07-20 17:50
Mesin Oracle还能监督? 6
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)