Multisig melindungi bitcoin dengan mewajibkan tanda tangan beberapa kunci yang ditentukan sebelum dana dapat dibelanjakan. Dalam aturan 2 dari 3, dua dari tiga kunci yang berbeda sudah cukup. Kehilangan satu kunci tidak selalu berarti kehilangan uang, dan pencuri dengan satu kunci saja tidak dapat membelanjakannya. Syaratnya adalah cadangan yang benar dan pemisahan kunci yang nyata.
Alice tidak ingin seluruh tabungannya bergantung pada satu perangkat. Ia membuat dompet dengan aturan 2 dari 3 dan kunci independen A, B, serta C. Pembayaran dapat disetujui oleh A + B, A + C, atau B + C. Setiap tanda tangan merupakan persetujuan yang dapat diverifikasi secara matematis, dibuat dengan kunci privat terkait; kunci itu sendiri tidak dikirim ke jaringan. Jika A hilang, Alice masih dapat memakai B dan C selama ia juga memiliki informasi dompet yang diperlukan. Orang yang hanya mencuri A tidak dapat mengirim uang sendirian. Bitcoin tidak dibagi menjadi tiga tumpukan: satu aturan bersama melindungi seluruh dana terkait. Kunci dapat dipegang tiga orang atau satu orang pada perangkat terpisah. Tiga salinan Seed Phrase yang sama, yaitu rangkaian kata pemulihan yang sama, tidak menghasilkan tiga kunci independen. [1] [2]
Alice memasukkan alamat penerima dan jumlah pembayaran ke aplikasi. Sebagai koordinator, aplikasi menyiapkan rancangan transaksi lalu meneruskannya ke perangkat penandatangan. Proses ini sering memakai PSBT, format untuk membawa informasi pembayaran dan tanda tangan yang ditambahkan secara bertahap. Karena itu, perangkat tidak harus terhubung bersamaan atau berada di satu tempat; kunci privat tetap terpisah. Sebelum menandatangani, Alice memeriksa penerima, jumlah, dan biaya pada layar tepercaya setiap perangkat yang digunakan. Berdasarkan aturan dompet yang sudah diverifikasi, perangkat juga perlu mengenali output yang mengembalikan sisa uang kepadanya. Dua tanda tangan pada pembayaran yang dimanipulasi tidak akan melindunginya. Koordinator tidak dapat menciptakan tanda tangan yang belum ada, tetapi dapat mengajukan rancangan yang salah. Aplikasi baru menyiarkan transaksi setelah memperoleh tanda tangan yang diperlukan dan menyelesaikan transaksi tersebut. [5]
Setiap kunci independen membutuhkan cadangan aman tersendiri. Namun, dua rangkaian kata tidak otomatis cukup untuk memulihkan seluruh dompet. Konfigurasi bersama juga diperlukan: jumlah tanda tangan yang diwajibkan, informasi publik ketiga kunci, urutannya, serta cara menghasilkan alamat. Informasi ini dapat disimpan sebagai Output Descriptor, deskripsi teknis dompet yang tepat, atau ekspor konfigurasi yang setara. Descriptor publik tanpa kunci privat tidak dapat menandatangani pembayaran sendiri, tetapi dapat mengungkap alamat dan aliran uang, sehingga privasinya juga perlu dijaga. Alice terlebih dahulu menguji penerimaan, pengiriman, dan pemulihan dengan dana kecil. Jika kemudian A hilang atau diduga bocor, menghapus perangkat dari aplikasi tidak mengubah aturan lama. Ia harus memakai kunci yang tersisa untuk memindahkan dana ke alamat baru yang telah diverifikasi dan memakai kumpulan kunci baru. [4] [6]
Aturan 2 dari 3 menoleransi kehilangan satu kunci; aturan 2 dari 2 tidak menoleransi kehilangan satu pun. Pada aturan pertama, pasangan mana pun juga dapat membelanjakan dana, termasuk dua orang yang sepakat tanpa orang ketiga. Konfigurasi yang tepat bergantung pada siapa yang dilindungi dan kegagalan apa yang perlu dihadapi. Jika Alice menyimpan semua perangkat dan cadangan dalam satu laci, satu pencurian atau kebakaran dapat menghapus manfaat pemisahan. Pemeriksaan pembayaran, kompatibilitas dompet, dan pemulihan juga membutuhkan lebih banyak pekerjaan. Syarat pembelanjaan di sini ditulis dalam skrip, yaitu program pendek. Transaksi multisig konvensional berbasis skrip biasanya memakan lebih banyak ruang daripada transaksi bertanda tangan tunggal yang sebanding, sehingga biayanya lebih mahal pada tarif yang sama. Bagi pemula, dompet sederhana yang dipahami dengan baik bisa lebih aman daripada konfigurasi rumit yang tidak dipahaminya. [1] [2]
Notasi umum m-dari-n berarti diperlukan m tanda tangan valid dari n kunci yang ditentukan. Dalam Multisig konvensional berbasis skrip, kunci publik dan ambang ini menjadi bagian dari syarat pembelanjaan. Output transaksi menetapkan syarat tersebut secara langsung atau terikat secara kriptografis pada skrip terkait. Saat dana dibelanjakan, node, yaitu komputer yang memeriksa aturan Bitcoin, memeriksa tanda tangan dan data skrip yang diperlukan; izin aplikasi saja tidak cukup. Dalam descriptor, multi mempertahankan urutan kunci publik yang diberikan, sedangkan sortedmulti mengurutkannya menurut aturan tertentu yang presisi. Jalur derivasi menentukan kunci tertentu yang harus dihitung dompet dari data kunci awalnya. Urutan yang salah atau jalur derivasi kunci yang berbeda dapat menghasilkan alamat berbeda. Descriptor memungkinkan dompet membangun kembali syarat-syarat itu; descriptor itu sendiri tidak disimpan di blockchain sebagai berkas konfigurasi. Penjelasan ini membahas Multisig konvensional berbasis skrip. Konstruksi lain dapat menyatukan beberapa peserta di balik satu tanda tangan bersama dan memiliki aturan tersendiri. [3] [4] [7]
Aturan 2 dari 3
Multisig dengan tiga kunci berbeda memerlukan tanda tangan valid dari dua kunci mana pun. Satu kunci curian tidak cukup; setelah satu hilang, dua lainnya bisa membelanjakan dana jika data skrip yang diperlukan juga tersedia. Pisahkan kunci beserta cadangannya dan simpan Output Descriptor lengkap atau kebijakan dompet setara.
Untuk gambaran yang lebih utuh, baca entri ini bersama Private Key, Dompet, PSBT. Entri ini juga dirujuk dari HD Wallet, Cold Storage, Watch-only Wallet, Change Address.
01Apakah Multisig otomatis lebih aman daripada satu Hardware Wallet?+
Tidak. Kunci dan cadangan yang dipisahkan dengan baik dapat mengurangi satu titik kegagalan, tetapi lebih banyak peserta menambah kerumitan operasional. Diperlukan kebijakan dompet terverifikasi dan pemulihan teruji; koordinator bersama yang diretas dapat menampilkan pembayaran keliru yang sama kepada semua peserta.
02Haruskah semua kunci Multisig berada di satu tempat saat menandatangani?+
Tidak. PSBT memungkinkan pertukaran data dan tanda tangan secara terpisah tanpa mengumpulkan kunci privat. Setiap penanda tangan harus memeriksa penerima, jumlah dan biaya. Sebelum disiarkan, transaksi harus diselesaikan dengan tanda tangan valid yang diperlukan dan memenuhi semua kondisi input lainnya.