Judul asli: "Teknologi Inti Bitlayer: DLC dan Pertimbangan Pengoptimalannya"
Penulis asli: mutourend lynndell, Bitlayer Research Group
1. Perkenalan
Discreet Log Contract (DLC) adalah kerangka pelaksanaan kontrak berbasis oracle yang diusulkan oleh Tadge Dryja dari MIT pada tahun 2018. DLC memungkinkan dua pihak untuk melakukan pembayaran bersyarat berdasarkan kondisi yang telah ditentukan sebelumnya. Kedua belah pihak telah menentukan dan menandatangani terlebih dahulu kemungkinan hasil, dan menggunakan tanda tangan awal ini untuk melaksanakan pembayaran ketika oracle menandatangani hasilnya. Oleh karena itu, DLC memungkinkan aplikasi keuangan baru yang terdesentralisasi sekaligus memastikan keamanan simpanan Bitcoin.
Artikel sebelumnya "Analisis Prinsip DLC dan Pemikiran Optimasi" merangkum keunggulan DLC dalam hal perlindungan privasi, kontrak yang kompleks, dan risiko aset yang rendah. Artikel ini juga menganalisis keberadaan risiko utama, risiko kepercayaan terdesentralisasi, risiko kolusi, dll masalah DLC, dan memperkenalkan oracle terdesentralisasi, tanda tangan ambang batas, mekanisme tantangan optimis, dll. ke dalam DLC untuk menyelesaikan berbagai masalah yang harus dihadapi. Karena DLC melibatkan tiga pihak: Oracle, Alice, dan Bob, relatif rumit bagi berbagai pihak untuk berkolusi untuk menyerang secara mendalam, sehingga menghasilkan strategi pencegahan yang relatif rumit. Strategi pertahanan yang kompleks tidaklah sempurna, tidak sesuai dengan prinsip kesederhanaan, dan tidak memiliki keindahan dari kesederhanaan.
Di Bitcoin, perilaku apa pun dari setiap peserta perlu diterapkan melalui UTXO. Oleh karena itu, menggunakan mekanisme konsensus untuk memastikan bahwa UTXO benar dapat menahan serangan sewenang-wenang. Demikian pula di DLC, perilaku apa pun dari setiap peserta perlu diterapkan melalui CET (Transaksi Eksekusi Kontrak). Oleh karena itu, menggunakan mekanisme tantangan optimis untuk memastikan bahwa CET benar dapat menahan serangan apa pun. Khususnya, setelah oracle menjanjikan 2B TC, oracle dapat menandatangani CET. Tambahkan mekanisme tantangan optimis ke CET. Jika CET tidak ditantang, atau berhasil merespons tantangan tersebut, maka CET benar dan penyelesaian dapat diselesaikan, dan oracle membatalkan taruhannya dan menerima biaya penanganan; jika Oracle mencoba melakukan kejahatan, siapa pun dapat berhasil menantang, CET tidak akan melakukannya diselesaikan, dan oracle akan kehilangan Deposit disimpan dan oracle tidak dapat menandatangani CET yang sama lagi. Sejalan dengan kesederhanaan yang luar biasa, ia memiliki keindahan kesederhanaan.
2. Prinsip DLC
Alice dan Bob menandatangani perjanjian taruhan: bertaruh bahwa nilai hash dari blok ke-ξ adalah angka ganjil atau genap. Jika angkanya ganjil, Alice memenangkan permainan dan dapat menarik asetnya; jika angkanya genap, Bob memenangkan permainan dan dapat menarik asetnya. Dengan menggunakan DLC, informasi blok ke-ξ diteruskan melalui oracle untuk membuat tanda tangan bersyarat sehingga pemenang yang benar memenangkan semua aset.
Generator kurva elips adalah G dan ordenya adalah q. Pasangan kunci dari oracle, Alice dan Bob masing-masing adalah (z, Z), (x, X), (y, Y).
Transaksi pendanaan (on-chain): Alice dan Bob membuat transaksi pendanaan bersama, masing-masing mengunci 10 BTC dalam keluaran multi-tanda tangan 2-dari-2 (satu kunci publik X milik Alice, dan satu kunci publik Y milik Bob) .
Membangun CET (off-chain): Alice dan Bob membuat CET 1 dan CET 2 untuk transaksi pengeluaran modal.
Oracle menghitung komitmen R = k · G, lalu menghitung S dan S'
S := R - hash(Bilangan Ganjil, R) · Z
S' := R - hash(Bilangan Genap, R) · Z
Maka kunci publik baru yang berhubungan dengan Alice dan Bob adalah sebagai berikut:
PK^{Alice} := X + S
PK^{Bob} := Y + S'.
Penyelesaian (off-chain -> on-chain): Ketika blok ke-ξ berhasil dibuat, oracle akan menandatangani CET 1 atau CET 2 yang sesuai berdasarkan nilai hash blok tersebut.
Jika hashnya ganjil, oracle menandatanganinya sebagai berikut
s := k - hash(Bilangan Ganjil, R) z
Siaran CET 1.
Jika hashnya genap, oracle menandatangani s'
s' := k - hash(Bilangan Genap, R) z
Siaran CET 2.
Penarikan koin (on-chain): Jika oracle menyiarkan CET 1, Alice dapat menghitung kunci pribadi baru dan menghabiskan 20 BTC yang terkunci
sk^{Alice} = x + s
Jika oracle menyiarkan CET 2, Bob dapat menghitung kunci pribadi baru dan menghabiskan 20 BTC yang terkunci
sk^{Bob} = y + s'
Tim peneliti Bitlayer menemukan bahwa dalam proses di atas, perilaku apa pun perlu diterapkan melalui CET. Oleh karena itu, mekanisme tantangan optimis hanya perlu digunakan untuk memastikan bahwa CET benar dan dapat menahan serangan apa pun. CET yang salah akan ditantang dan tidak dieksekusi, sedangkan CET yang benar akan dieksekusi. Selain itu, oracle perlu membayar harga atas perilaku jahat.
Program yang akan ditantang adalah f(t), maka CET harus dibangun sebagai berikut
s = k - hash(f(t), R) z.
Asumsikan bahwa situasi sebenarnya adalah nilai hash dari blok ke-ξ adalah bilangan ganjil ganjil, yaitu f(ξ) = Bilangan Ganjil, dan oracle harus menandatangani CET 1
s := k - hash(Bilangan Ganjil, R) z.
Namun, oracle melakukan sesuatu yang jahat dan mengubah nilai fungsi menjadi Genap, menandatangani CET 2:
s' := k - hash(Bilangan Genap, R) z.
Oleh karena itu, setiap pengguna dapat mengalahkan perilaku berbahaya ini berdasarkan f(ξ) ≠ OddNumber.
3.OP-DLC 2
OP-DLC mencakup 5 ketentuan berikut:
Oracle terdiri dari aliansi. Ada n peserta dalam aliansi, dan setiap anggota dapat menandatangani CET. Hanya dengan menjaminkan 2B TC, mesin oracle dapat mengeluarkan tanda tangan dan mendapatkan biaya penanganan. Jika ada anggota yang berbuat jahat maka taruhannya hilang. Anggota lain dapat terus menandatangani CET untuk memastikan bahwa pengguna dapat menarik dana. Alice dan Bob juga bisa menjadi oracle, hanya mempercayai diri mereka sendiri dan meminimalkan kepercayaan.
Jika oracle melakukan sesuatu yang jahat dan mengubah hasilnya, hal itu pasti akan mengarah pada situasi di mana f 1(ξ) ≠ z 1, f 2(z 1) ≠ z 2. Oleh karena itu, setiap peserta dapat memulai tantangan, yaitu melakukan transaksi Disprove-CET 1.
Jika oracle menandatangani CET dengan jujur, tidak ada pihak yang dapat memulai transaksi Penyangkalan yang valid. Setelah 1 minggu, CET dapat diselesaikan dengan benar. Selain itu, mesin oracle menerima hadiah 0,05 BTC sebagai penggunaan modal 1 minggu dari TC 2 miliar yang dijanjikan dan biaya penanganan untuk penandatanganan CET yang jujur.
Setiap peserta dapat menantang Oracle_sign:
Jika Oracle_sign jujur, transaksi Disprove-CET 1 tidak dapat dimulai, dan penyelesaian CET akan dieksekusi setelah 1 minggu. Selain itu, mesin oracle dijanjikan untuk membuka kunci dan menerima biaya penanganan;
Jika Oracle_sign tidak jujur, yaitu, siapa pun berhasil memulai transaksi Disprove-CET 1 dan berhasil menggunakan output konektor A, tanda tangan oracle akan tidak valid, dan TC 2B yang dijanjikan akan hilang, dan oracle tidak lagi dapat untuk menggunakannya di masa depan. Kontrak DLC memulai tanda tangan dengan hasil yang sama, karena Settle-CET 1 yang bergantung pada output konektor A akan tidak valid secara permanen.
Tantangan dalam OP-DLC tidak memiliki izin, yaitu setiap peserta dapat mengawasi apakah kontrak dalam OP-DLC dilaksanakan dengan benar. Oleh karena itu, kepercayaan pada oracle diminimalkan. Dibandingkan dengan Lightning Network, Alice dan Bob juga bisa offline. Karena oracle akan menyelesaikan CET hanya dengan tanda tangan yang jujur, dan oracle yang jahat akan ditantang dan dihukum oleh siapapun.
keuntungan:
Memiliki kendali tinggi atas aset dan hanya mempercayai diri mereka sendiri: Alice dan Bob bisa menjadi oracle dan menandatangani CET. Mekanisme tantangan optimis akan mengalahkan CET yang salah, sehingga kejahatan tidak dapat dilakukan. Oleh karena itu, OP-DLC memungkinkan pengguna untuk hanya percaya pada diri mereka sendiri. Di BitVM, pengguna harus bertindak sebagai Operator dan harus berpartisipasi dalam semua setoran berikutnya agar hanya mempercayai diri mereka sendiri. Jika pengguna sebagai Operator hanya berpartisipasi dalam satu setoran UTXO di BitVM, dan UTXO dapat diganti secara sah oleh Operator lain (n-1), pengguna masih perlu memercayai Operator lain untuk memajukan dana di masa mendatang. Izin penggantian biaya Operator BitVM dikunci pada setiap setoran UTXO.
Pemanfaatan modal tinggi: Jika pengguna hanya mempercayai diri sendiri, jumlah dana yang dibutuhkan berbeda-beda. Di OP-DLC, pengguna mengandalkan penarikan mereka sendiri dan tidak perlu menyetorkan dana dalam jumlah yang sama; di BitVM, pengguna perlu menyetorkan dana dalam jumlah yang sama dan kemudian mendapatkan penggantian. Hal ini membawa tekanan finansial yang lebih besar.
Oracle yang dapat menandatangani perlu ditentukan saat melakukan deposit di OP-DLC, namun pengguna juga dapat menjadi Oracle dan menandatangani untuk dirinya sendiri.
kekurangan:
Waktu penarikan memakan waktu 1 minggu: Pada dasarnya, biaya waktu modal OP-DLC dan BitVM ada dan setara. Penarikan OP-DLC harus melalui periode tantangan sebelum dana dapat diperoleh; jika BitVM mengandalkan pengguna untuk memajukan diri mereka sendiri, jumlah dana lanjutan yang sama juga harus melalui periode tantangan sebelum dapat diganti dengan sukses. Jika BitVM mengandalkan Operator lain untuk menyalurkan dana dengan cepat, itu berarti Operator perlu membayar jumlah dana dan biaya waktu yang sama dengan biaya penanganan.
Jumlah tanda tangan yang memerlukan penandatanganan awal berkembang pesat dan berhubungan linier dengan jumlah CET. CET sebanyak mungkin diperlukan untuk menghitung semua hasil penarikan.
4. Kesimpulan
OP-DLC memperkenalkan mekanisme tantangan optimis ke dalam CET untuk memastikan bahwa CET yang salah tidak diselesaikan dan oracle jahat terkait kehilangan janjinya; ini memastikan bahwa CET yang benar dijalankan, dan janji oracle dibuka dan biaya penanganan diperoleh. Metode ini dapat menahan serangan apa pun dan memiliki keindahan dalam kesederhanaan.
referensi
Spesifikasi Kontrak Log Rahasia
Kontrak Log Rahasia
Analisis prinsip DLC dan pertimbangan optimasi
Rollup Optimis
BitVM 2: Verifikasi Tanpa Izin pada Bitcoin