Beli Kripto
Market
Spot
Futures
Finansial
Promosi
Selengkapnya
reward-centerPengguna Baru
Analisis LaporanDetail
Riset Industri

BitVM, Potensi Kontrak Pintar di Jaringan Utama Bitcoin

  • BTC0%
CoinEx logo
Diposting pada 2023-11-01

Pada tanggal 9 Oktober, Robin Linus, seorang pengembang dari ZeroSync, merilis whitepaper BitVM, yang menarik perhatian besar dari komunitas. BitVM memperkenalkan paradigma komputasi baru yang mampu mengekspresikan kontrak Bitcoin yang Turing-complete tanpa memerlukan modifikasi pada aturan konsensus jaringan.

Kontrak Pintar Terdesentralisasi: Keterbatasan dan Tujuan

Script Bitcoin, sebuah bahasa berbasis tumpukan, menyediakan struktur kontrol fundamental, seperti pemeriksaan kondisional, untuk mendefinisikan logika validasi transaksi. Ini membutuhkan tanda tangan digital yang valid untuk membelanjakan bitcoin melalui proses sederhana validasi kondisional. Meskipun demikian, Script dirancang untuk tidak Turing-complete. Walaupun tidak mendukung fitur kontrol alur yang kompleks seperti loop, desain ini memastikan kesederhanaan dan keamanan bahasa. Keterbatasan tersebut telah membuatnya sulit bagi Script untuk menjalankan komputasi kompleks, termasuk yang melibatkan kontrak pintar.

Sementara beberapa solusi Layer 2 yang dirancang untuk Bitcoin dapat mencapai fungsi kontrak pintar dasar dengan mengunci aset, mereka pada dasarnya bergantung pada alamat multi-signature dan pemetaan aset lintas rantai, yang memerlukan tingkat kepercayaan terpusat tertentu. Hal ini mengorbankan komitmen Bitcoin terhadap desentralisasi. Sebelum diperkenalkannya BitVM, komunitas Bitcoin telah mengeksplorasi metode yang terdesentralisasi, meminimalkan kepercayaan, dan mampu melakukan komputasi Turing-complete.

BitVM: Komputasi Apa Saja di Bitcoin

Inti dari inovasinya, BitVM memanfaatkan sistem Script Bitcoin yang ada untuk mengimplementasikan gerbang logika (ini termasuk gerbang AND, gerbang OR, gerbang NOT, dan gerbang XOR, memungkinkan operasi seperti AND, OR, NOT, dan XOR) untuk membangun sirkuit Boolean yang kompleks secara arbitrer. Sirkuit ini digunakan untuk melakukan operasi logika pada input biner dan memberikan output biner; komputasi Boolean dapat diimplementasikan menggunakan gerbang logika untuk melakukan operasi seperti AND, OR, NOT, dan XOR. Secara khusus, BitVM menggunakan Hash Time Locked Contracts (HTLC) dan Taproot (soft fork untuk mengoptimalkan Script yang diaktifkan pada November 2021) untuk merepresentasikan gerbang logika fundamental, seperti gerbang AND dan OR. BitVM kemudian menggabungkan gerbang logika dasar ini untuk membangun sirkuit dengan kompleksitas apa pun, pada dasarnya mensimulasikan komputer yang dapat diprogram di blockchain Bitcoin.

Akhirnya, dalam hal terjadi perselisihan antara pihak-pihak yang bertransaksi, protokol tantangan-respons yang elegan, mirip dengan bukti penipuan pada Bitcoin, dapat digunakan untuk validasi. Pembuktian membuat klaim bahwa suatu fungsi tertentu mengevaluasi beberapa input tertentu menjadi output spesifik. Jika klaim tersebut salah, maka verifikator dapat melakukan bukti penipuan dan menghukum pembuktian. Dengan menggunakan mekanisme ini, fungsi yang dapat dihitung apa pun dapat diverifikasi di Bitcoin.

Desain BitVM

Komitmen Nilai Bit

Komitmen Nilai Bit, sebuah skrip Bitcoin, menggunakan pernyataan if-else untuk mengimplementasikan skema komitmen. Primitif kriptografis ini memastikan bahwa pengirim dapat mengkonfirmasi isi pesan sebelum mengirimkannya, dan isi tidak dapat diubah setelah diungkapkan secara publik. Skema komitmen ini mencakup dua nilai hash, hash0 dan hash1. Apakah nilai yang dikembalikan akan menjadi 0 atau 1 ditentukan dengan membandingkan nilai hash dari input dengan kedua nilai hash ini.

Gambar 1: Implementasi konkret untuk komitmen 1-bit

Bit Value Commitment

Sumber: https://bitvm.org/bitvm.pdf

Komitmen Gerbang Logika

Dalam teori komputasi, setiap fungsi yang dapat dihitung dapat direpresentasikan sebagai sirkuit Boolean. Secara khusus, gerbang NAND adalah gerbang logika universal yang dapat digunakan untuk membangun semua gerbang logika kompleks lainnya. BitVM menggabungkan dua komitmen nilai bit yang mewakili dua input dan komitmen nilai bit ketiga yang mewakili output untuk mengimplementasikan gerbang NAND.

BitVM secara cerdik mengekspresikan gerbang NAND melalui skrip Bitcoin. Hal ini memungkinkannya untuk membangun sirkuit logika Boolean yang kompleks secara arbitrer, secara efektif mensimulasikan komputer yang dapat diprogram melalui Script.

Gambar 2: Implementasi gerbang NAND menggunakan komitmen nilai bit

Implementation of a NAND gate

Sumber: https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754

Gambar 3: Komitmen gerbang logika untuk operasi NAND

Logic gate commitment

Sumber: https://bitvm.org/bitvm.pdf

Skrip tersebut menghitung nilai NAND dari dua input untuk memastikan bahwa hasilnya sesuai dengan bit output yang telah dikomitmenkan.

Komitmen Sirkuit Biner

BitVM dapat mengekspresikan sirkuit apapun dengan menyusun komitmen gerbang. Setiap langkah eksekusi dikomitmenkan dalam sebuah Tapleaf. Semuanya digabungkan ke dalam alamat Taproot yang sama, sehingga pembuktian dapat mengeksekusi gerbang apapun dalam sirkuit tersebut. Eksekusi gerbang mengharuskan pembuktian untuk membuka komitmen gerbang yang sesuai dan menetapkan nilai untuk input dan output bitnya. Misalnya, dalam Gambar 4, A, B, C, dan D adalah komitmen nilai bit yang telah ditentukan sebelumnya, masing-masing mewakili satu bit. Operasi logika yang melibatkan delapan gerbang NAND kemudian dilakukan. Sebagai contoh, jika A NAND B menghasilkan E, dan E digunakan sebagai input untuk gerbang NAND berikutnya, output akhir dari seluruh sirkuit akan menjadi TRUE. Desain sirkuit Boolean ini menghubungkan gerbang-gerbang NAND dari komitmen nilai bit dan mencapai operasi logika yang kompleks, menawarkan representasi yang ringkas untuk komputasi yang dapat diverifikasi pada blockchain Bitcoin.

Gambar 4: Sebuah sirkuit dengan delapan gerbang NAND yang berbeda

A circuit with eight different NAND gates

Sumber: https://bitvm.org/bitvm.pdf

Tantangan dan Respon

Dalam BitVM, komitmen terhadap satu sirkuit saja tidak cukup, dan mekanisme tantangan-respon diperlukan untuk membuktikan kebenaran komputasi. Untuk mencapai hal tersebut, pembuktian dan verifikator harus menandatangani serangkaian transaksi sebelumnya selama pengaturan. Transaksi-transaksi tersebut terhubung dalam urutan "tantangan - respon - tantangan - respon", menciptakan beberapa putaran interaksi tantangan-dan-respon. Jika salah satu pihak berhenti berpartisipasi, maka setelah batas waktu, pihak lain memenangkan tantangan dan dapat mengambil kedua deposit. Mekanisme ini hanya diperlukan dalam kasus penipuan. Selama kedua belah pihak kooperatif, mereka dapat bersama-sama menyelesaikan kontrak apa pun dengan tanda tangan 2-dari-2.

Mari kita lihat bagaimana mekanisme ini bekerja dalam kasus hipotetis. Paul (pembuktian) dan Vicky (verifikator) telah menandatangani serangkaian transaksi sebelumnya. Vicky kemudian dapat memulai tantangan (TX 2) dengan memilih tantangan (hash7) dari salah satu hashlock di daun Tapscript-nya. Ini membuka kunci Tapscript tertentu untuk Paul dan memaksanya untuk mengeksekusinya, dengan input dan output terbuka. Setiap klaim yang tidak konsisten dapat dibuktikan salah dengan cepat dengan mengulangi prosedur ini selama beberapa putaran pertanyaan. Jika pembuktian berhenti berkolaborasi, verifikator dapat membuka kunci preimage hash yang dimilikinya untuk memaksa pembuktian merespons di rantai. Setiap putaran pertanyaan dapat memvalidasi atau menyangkal gerbang tertentu. Melalui pencarian biner (algoritma yang digunakan untuk menemukan elemen tertentu dalam array terurut), verifikator dapat dengan cepat mengidentifikasi kesalahan pembuktian hanya setelah beberapa putaran tantangan-dan-respons. Begitu dua komitmen pembuktian bertentangan, verifikator segera memenangkan tantangan dan mengambil depositnya.

Gambar 5: Serangkaian transaksi yang telah ditandatangani sebelumnya untuk melakukan beberapa putaran tantangan-dan-respons

Serangkaian transaksi yang telah ditandatangani sebelumnya

Sumber: https://bitvm.org/bitvm.pdf

Desain yang teliti ini memungkinkan BitVM untuk melakukan verifikasi on-chain terhadap setiap komputasi yang kompleks, yang memastikan efisiensi kolaborasi dan menjatuhkan hukuman dalam hal terjadi penipuan. Ini menunjukkan kemungkinan untuk memverifikasi komputasi interaktif yang Turing-complete dalam jaringan Bitcoin.

Aspek Kunci dari Desain BitVM

Komputasi Off-chain & Verifikasi On-chain

BitVM menempatkan beban komputasi kompleks di luar blockchain, menyisakan blockchain Bitcoin hanya untuk tujuan verifikasi hasil. Pendekatan ini menghindari menjalankan kontrak kompleks secara langsung di blockchain, yang mengurangi pembengkakan blockchain.

Gerbang Logika Diekspresikan dengan Hashlocks dan Script Bitcoin

BitVM memanfaatkan hashlocks dan opcode script yang didukung oleh Bitcoin untuk merepresentasikan gerbang logika dasar, seperti gerbang AND dan NOT. Menghubungkan gerbang-gerbang logika ini memungkinkannya membangun sirkuit dengan kompleksitas yang tak terbatas, memungkinkan komputasi yang Turing-complete.

Mekanisme Teori Permainan untuk Pembuktian dan Verifikator

Mekanisme validasi BitVM, yang menyerupai Optimistic Rollup, melibatkan tantangan interaktif dan respons antara pihak-pihak dalam komputasi. Pada akhirnya, hasil komputasi yang benar dikonfirmasi di on-chain. Jika pembuktian berbohong, verifikator dapat menjalankan hukuman di blockchain Bitcoin. Dengan demikian, BitVM dan Optimistic Rollup menggunakan mekanisme interaksi serupa untuk verifikasi on-chain, dan satu-satunya perbedaan adalah bahwa BitVM langsung menggunakan script Bitcoin untuk mengimplementasikan proses tantangan-respons interaktif.

Dampak On-chain Minimal

Proses komputasi BitVM memiliki dampak minimal pada blockchain Bitcoin, hanya meninggalkan sejumlah kecil transaksi on-chain ketika terjadi perselisihan. Hal ini mempertahankan efisiensi dan skalabilitas Bitcoin.

Tidak Memerlukan Soft Fork

Karena BitVM hanya menggunakan kemampuan script Bitcoin yang sudah ada, tidak diperlukan modifikasi protokol Bitcoin melalui soft fork. Hal ini membuat BitVM lebih mudah diintegrasikan ke dalam jaringan utama Bitcoin.

Kesimpulan

Inovasi terbesar BitVM terletak pada kemampuannya untuk mengimplementasikan verifikasi Turing-complete tanpa memodifikasi protokol inti Bitcoin; ini dicapai dengan memanfaatkan script secara kreatif, terutama yang dioptimalkan oleh Taproot. Desain yang cerdas ini memungkinkan integrasi yang mulus dengan jaringan utama Bitcoin tanpa memperkenalkan masalah kompatibilitas baru atau membuat Bitcoin kurang terdesentralisasi.

Solusi inovatif BitVM memiliki potensi untuk memperkenalkan kontrak pintar dan aplikasi terdesentralisasi ke dalam ekosistem Bitcoin. Misalnya, BitVM dapat digunakan untuk membangun jembatan lintas rantai dengan kepercayaan minimal untuk menghubungkan aset blockchain yang berbeda, meningkatkan interoperabilitas Bitcoin. Selain itu, BitVM juga dapat membantu membangun lapisan ekspansi zkRollup yang lebih efisien untuk membuat Bitcoin lebih skalabel. Singkatnya, BitVM menunjukkan berbagai kemungkinan luas untuk mendorong ekosistem Bitcoin ke era baru hanya melalui pemanfaatan inovatif fitur-fitur yang sudah ada.

Referensi:

https://bitvm.org/bitvm.pdf

https://github.com/supertestnet/tapleaf-circuits

https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754