Drivechains Memungkinkan Operator Node Sidechain Membayar Penambang Untuk Menambang — Dan Banyak Lagi! Kecerdasan Data PlatoBlockchain. Pencarian Vertikal. Ai.

Drivechains Memungkinkan Operator Node Sidechain Membayar Penambang Untuk Menambang — Dan Banyak Lagi!

Ini adalah editorial opini oleh Shinobi, seorang pendidik otodidak di bidang Bitcoin dan pembawa acara podcast Bitcoin yang berorientasi pada teknologi.

Kali ini saya akan menguraikan dan membahas cara kerja rantai penggerak; mereka awalnya diusulkan pada tahun 2015. Dari semua proposal yang dibahas sejauh ini, rantai penggerak adalah yang tertua dan yang paling disempurnakan dalam hal detail dan desain implementasi spesifik, yang didokumentasikan dalam BIP 300 dan 301. Paul Sztorc, pencipta konsep tersebut, memiliki beberapa tujuan desain utama, dan meskipun ini sama sekali tidak komprehensif, berikut adalah beberapa:

  • Pisahkan setiap sidechain sehingga kegagalan atau masalah apa pun hanya akan memengaruhi mereka yang menggunakannya.
  • Biarkan sidechains berputar tanpa perlu garpu baru untuk masing-masing.
  • Aktifkan transfer bitcoin masuk dan keluar dari sidechain dengan pasak dua arah.
  • Memungkinkan eksperimen gratis dalam desain yang dia harap akan menghilangkan kebutuhan akan altcoin.

Ada dua aspek utama dari keseluruhan desain, itulah sebabnya ada dua BIP yang terpisah. Yang pertama adalah mekanisme pasak (BIP300), yang memungkinkan pasak dua arah berfungsi. Sztorc merancang sesuatu yang disebut escrow tingkat hash, yang, dalam istilah paling dasar, memungkinkan penambang sebagai kelompok amorf untuk secara kolektif menyimpan koin di semua sidechains. Yang kedua adalah skema penambangan gabungan “buta”, di mana tujuannya adalah untuk memungkinkan penambang bitcoin menjadi produsen blok pada tingkat konsensus tanpa harus memvalidasi sidechain untuk melakukannya. Kedua bagian ini bersama-sama menghadirkan mekanisme pasak dua arah dan cara bagi penambang bitcoin untuk mengambil bagian dalam menambang sidechain sambil mencoba mengurangi risiko sentralisasi yang ditimbulkannya.

BIP300 menentukan logika untuk proposal rantai samping baru, aktivasi rantai samping baru, proposal kumpulan penarikan yang dibundel, persetujuan kumpulan penarikan tersebut, logika validasi untuk transaksi penarikan aktual dan validasi untuk transaksi setoran.

Mengaktifkan sidechain baru di bawah proposal drivechain sangat mirip dengan proses soft fork yang diaktifkan melalui pensinyalan penambang. Perbedaan utamanya adalah, tentu saja, ini bukan garpu lunak — garpu tunggal untuk mengaktifkan aturan konsensus drivechain memungkinkan penambang, kapan saja, memberi sinyal untuk mengaktifkan sidechain baru. dalam aturan konsensus drivechain. Untuk mengusulkan pengaktifan sidechain baru, penambang harus menempatkan data OP_RETURN dalam output coinbase mereka yang menyertakan pengidentifikasi unik untuk sidechain itu, kunci publik untuk digunakan dalam operasi penyimpanan, data versi, deskripsi yang dapat dibaca manusia, dan hash dari klien perangkat lunak dan riwayat GitHub (tidak ada penegakan konsensus di sini, hanya data untuk referensi manusia).

Ketika seorang penambang mengusulkan untuk mengaktifkan sidechain baru dan memasukkan semua data yang diperlukan dalam coinbase mereka, itu menjadi semacam periode “pensinyalan penambang” mengenai apakah akan membuat sidechain baru ini atau tidak dari sudut pandang konsensus rantai utama. Seorang penambang dapat menggunakan format khusus untuk memasukkan proposal dalam output basis koin mereka, dan penambang lain dapat membuat output lain mengikuti format kedua untuk memberi sinyal aktivasi. Proposal rantai samping baru memerlukan 90% blok dalam periode kesulitan untuk memberi sinyal aktivasi agar pembuatan rantai samping baru dapat dikonfirmasi. Ini menciptakan mekanisme pasak untuk mengaktifkan rantai samping, tetapi interaksi antara rantai samping dan rantai utama lebih bernuansa daripada itu.

Pada titik ini, siapa pun dapat memasukkan koin ke dalam rantai samping. Untuk mematok ke sidechain, pengguna cukup membuat dua transaksi input dengan input mereka sendiri dan UTXO yang sesuai dengan saldo sidechain dengan satu output yang menetapkan semuanya ke sidechain. Ini menjamin sidechain hanya memiliki satu UTXO yang berisi semua dana yang terkunci di dalamnya. Penarikan ditangani oleh pemungutan suara penambang. Rantai utama tidak memiliki pemahaman tentang siapa yang memiliki apa di rantai samping, dan rantai utama akan mempertimbangkan penarikan yang disetujui oleh penambang dalam mekanisme pemungutan suara yang valid. Karena itu, ada penundaan yang lama dalam proses penarikan. Ada dua fase dalam proses penarikan dari sidechain: proposal penarikan (bundel), dan kemudian fase pemungutan suara penarikan. Penambang harus membuat output OP_RETURN dalam transaksi coinbase mereka dengan hash dari transaksi penarikan yang diusulkan untuk mengajukan penarikan. Hash ini, bagaimanapun, mirip dengan sighash, menandai hanya melakukan sebagian dari transaksi, bukan keseluruhannya. Itu tidak berkomitmen pada input UTXO yang mewakili dana yang terkunci di drivechain atau output yang mengembalikan semua yang tidak ditarik ke UTXO sidechain khusus. Ini karena setiap setoran ke dalam drivechain akan membuat UTXO baru, dan dengan demikian membatalkan komitmen untuk transaksi penarikan ketika orang-orang pergi untuk memvalidasinya.

Dari sini, periode voting penambang pada proposal penarikan dimulai. Setelah bundel diusulkan, penambang dapat memilih apakah akan menyetujuinya atau tidak. Setiap blok yang ditambang memungkinkan penambang itu untuk meningkatkan penghitung persetujuan, naik atau turun satu, atau dua untuk tidak melakukan apa pun. Ada beberapa batasan khusus selain ini, karena dimungkinkan untuk memiliki lebih dari satu bundel untuk satu sidechain — jika penambang memilih untuk memilih “ya” (menaikkan penghitung satu per satu) untuk bundel penarikan untuk sidechain mereka harus pilih "tidak" (turunkan penghitung satu per satu) untuk setiap bundel lain yang terkait dengan sidechain spesifik itu.

Ini untuk menjamin bahwa tidak ada “penarikan ganda”, di mana seseorang memiliki output dalam beberapa bundel yang akan membayar mereka lebih banyak bitcoin di rantai utama daripada yang harus mereka bayar.

Di sisi lain, penambang juga diizinkan untuk memilih tidak untuk setiap bundel yang diusulkan. Ini seharusnya berfungsi sebagai semacam alarm bagi semua orang bahwa penambang yang memvalidasi penarikan ini (memastikan mereka adalah koin yang dimiliki secara sah di sidechain yang ditarik) telah melihat sesuatu yang tidak valid terjadi. Ingat, poin kunci dari desain ini adalah bahwa penambang tidak perlu memvalidasi apa pun di rantai samping, jadi kecuali jika mereka tetap memilihnya, banyak penambang mungkin meningkatkan bundel yang tidak mereka verifikasi. Fungsi alarm ini dirancang agar mereka diberi tahu bahwa mereka harus memverifikasi bundel untuk memastikan penarikan penipuan tidak terjadi.

Setelah bundel mencapai ambang batas yang diperlukan (13,150 blok, atau kira-kira 90 hari), transaksi yang benar-benar memproses penarikan menjadi valid dan dapat dikonfirmasi. Tapi apa yang dilakukan orang jika penambang menyetujui penarikan penipuan yang mencuri uang dari sidechain? Proposal Sztorc adalah untuk terlibat dalam soft fork (UASF) yang diaktifkan pengguna untuk membatalkan transaksi peg-out yang tidak valid. Ini menghadirkan risiko besar dalam hal konsensus ke rantai utama. UASF pada tahun 2017 adalah langkah berisiko tinggi yang hampir tidak berhasil dan Bitcoin jauh lebih kecil daripada saat ini. Semakin besar Bitcoin tumbuh, semakin sulit tindakan tersebut untuk dikoordinasikan.

Jika Anda ingat dari artikel tentang spacechains, desain itu didasarkan pada blind merged mining (BMM). Desain BMM Ruben Somsen sebenarnya adalah varian kedua dari itu, yang pertama adalah desain Sztorc seperti yang tercantum dalam BIP301. Spesifikasi BMM di drivechains terdiri dari dua pesan: pesan permintaan dan pesan terima. Keduanya dikoordinasikan masing-masing melalui jenis transaksi khusus di rantai utama dan output khusus dalam transaksi basis koin penambang.

Transaksi permintaan dibuat oleh siapa pun yang membuat blok rantai samping. Inti dari BMM adalah bahwa orang ini bisa menjadi seseorang yang tidak menambang, jadi transaksi permintaan ada di sana untuk memungkinkan mereka membayar penambang untuk mengonfirmasi blok sidechain yang mereka usulkan. Proposal blok rantai samping menyusun transaksi yang menyertakan hash dari blok rantai samping, ID yang ditetapkan ke rantai samping saat dibuat, dan empat byte terakhir dari header blok rantai utama sebelumnya. Ada tiga aturan konsensus tambahan yang diterapkan pada jenis transaksi ini. Pertama, transaksi permintaan tidak valid kecuali ada juga keluaran penerimaan yang cocok dalam transaksi basis koin di blok itu. Ini untuk menjamin penambang tidak dapat mengumpulkan biaya dari permintaan tanpa juga menerima dan menambang blok sidechain. Kedua, untuk setiap sidechain hanya satu transaksi permintaan yang diizinkan untuk dimasukkan dalam blok mainchain. Ini untuk memastikan hanya satu blok dari rantai samping mana pun yang benar-benar dapat ditambang per blok rantai utama. Terakhir, empat byte terakhir dari blok rantai utama sebelumnya harus cocok. Ini memastikan bahwa permintaan hanya valid untuk ditambang di blok berikutnya, dan transaksi semacam itu tidak dapat ditambang nanti dan mencuri uang dari pengusul blok sidechain setelah blok orang lain ditambang.

Output terima sangat sederhana: data header pesan dan hash dari blok sidechain. Jika penambang menjalankan sendiri simpul rantai penggerak, mereka dapat dengan mudah mengabaikan transaksi permintaan dan selalu menyertakan keluaran penerimaan mereka sendiri di basis koin mereka untuk menambang blok rantai samping mereka sendiri. Bersama-sama, kedua aspek ini memungkinkan penambang untuk mengoperasikan simpul sidechain sendiri, atau non-penambang lain untuk melakukannya dan membayar penambang untuk menambang blok mereka. Idenya adalah, jika penambang sendiri tidak menjalankan sidechain dan memakan biaya validasi tambahan, maka orang lain dapat melakukannya untuk mereka. Jika ada persaingan di non-penambang yang mencoba mendapatkan biaya di sidechain, mereka cenderung terus menawar biaya yang bersedia mereka bayarkan kepada penambang dalam transaksi permintaan mereka sampai itu mewakili sebagian besar biaya yang mereka peroleh, dengan non-penambang. penambang hanya menyimpan sebagian kecil dari keuntungan dan membayar sisanya kepada penambang.

Itulah mekanisme di balik cara kerja rantai penggerak. Selanjutnya, sidechain gabungan, dan kemudian, setelah itu, perincian semua negatif dan kerugian yang dapat dimiliki setiap desain.

Ini adalah posting tamu oleh Shinobi. Pendapat yang diungkapkan sepenuhnya milik mereka sendiri dan tidak mencerminkan pendapat BTC Inc atau Majalah Bitcoin.

Stempel Waktu:

Lebih dari Majalah Bitcoin