BitVM, Potensi Kontrak Pintar di Jaringan Utama Bitcoin
- BTC0%
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
:quality(80)/2023-11-01/1321A251238D665AA862939993DE617A.png)
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
:quality(80)/2023-11-01/23A48B54E874C749C41F131C7D4730C6.png)
Sumber: https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754
Gambar 3: Komitmen gerbang logika untuk operasi NAND
:quality(80)/2023-11-01/E98F6725AA61147C861A13360ADD94C1.png)
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
:quality(80)/2023-11-01/2A444519852359C0EA95AC2D2F5C054A.png)
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
:quality(80)/2023-11-01/8D9777E151B617754A912BDA1F5097CF.png)
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://github.com/supertestnet/tapleaf-circuits
https://biquanlibai.notion.site/BitVM-2b8557e0ea004d0cbc52951782bc9754