Collaborative Custody adalah pengaturan ketika pemilik dan orang atau layanan lain ikut mengamankan bitcoin. Dalam model yang umum, pemilik memiliki cukup kunci untuk membayar sendiri, sedangkan layanan membantu saat ada masalah. Kemandirian itu harus berasal dari aturan dompet, bukan sekadar nama produk.
Peter mengelola bitcoinnya dengan dompet sendiri. Namun, ia khawatir kehilangan perangkat atau cadangan. Dompet adalah aplikasi atau perangkat untuk menerima dan mengirim bitcoin. Menandatangani di sini berarti memakai kunci privat, sebuah nilai angka rahasia, untuk membuat bukti otorisasi pembayaran yang bisa diverifikasi. Orang lain dapat memeriksa tanda tangan tanpa mengetahui rahasia itu. Unchained menjelaskan model 2-of-3: pembayaran memerlukan tanda tangan dari dua di antara tiga kunci. Peter memegang A dan B; layanan memegang C. Kombinasi yang sah ialah A+B, A+C, dan B+C; C saja tidak cukup. Syarat beberapa tanda tangan disebut Multisig. Peter bisa membayar tanpa layanan dan meminta bantuan jika kehilangan satu kunci. Dua perangkat yang dipulihkan dari Seed Phrase yang sama, yakni cadangan berupa kata-kata yang sama, tidak independen: kebocoran rahasia bersama membahayakan keduanya. [1] [4] [8]
Selama Peter memiliki A+B yang berfungsi serta seluruh data dompet, gangguan layanan saja tidak menghalanginya membayar. Jika hanya A yang tersisa, ia memerlukan layanan untuk A+C. Gangguan atau penolakan layanan untuk menandatangani bisa menghambat pemulihan. Jika A dan B hilang, C saja tidak dapat menyelamatkannya. Karena itu, keluar secara mandiri dan pemulihan dengan bantuan harus diuji terpisah. Petunjuk Casa untuk pemulihan tanpa infrastrukturnya juga secara tegas menganggap kunci layanan tidak tersedia. Prosedur dan peralatannya bergantung pada produk, bukan pada kata “collaborative”. [1] [6]
Peter punya cadangan, tetapi aplikasi pengganti masih perlu tahu dompet mana yang harus dibangun kembali. Model 2-of-3 biasa membutuhkan kunci publik ketiga peserta, termasuk layanan, beserta aturan penggunaannya. Kunci publik memverifikasi tanda tangan; kunci privat membuatnya. Output Descriptor adalah uraian konfigurasi yang dapat dibaca perangkat lunak, termasuk cara menurunkan alamat. Dua cadangan Seed Phrase milik sendiri tidak dapat menggantikan kunci publik penyedia yang hilang. Peter menyimpan dan memeriksa ekspor ketika layanan masih tersedia. Sebelum membagikannya, ia memeriksa isinya: format descriptor secara umum juga dapat memuat kunci privat. [4] [5]
Koordinator menyusun data transaksi; penanda tangan memegang kunci untuk mengesahkannya. PSBT, format dalam BIP 174, membawa transaksi yang belum selesai dan data pendukung antaraplikasi serta perangkat. Membuat berkas tidak menambahkan tanda tangan yang belum ada. Koordinator tanpa kunci pun dapat merugikan dengan mengusulkan penerima lain. Sebelum menandatangani, periksa alamat, jumlah, biaya, dan change, yaitu sisa yang kembali ke dompet sendiri. Hardware Wallet membantu memisahkan kunci dari komputer; tetap penting apa yang dapat diperiksa pada layarnya dan apa yang benar-benar disetujui Peter. [2] [3]
Kesalahan dapat terjadi sebelum pembayaran pertama, ketika aplikasi membangun dompet bersama. BIP 129 menjelaskan pertukaran kunci dan konfigurasi agar peserta membandingkan ambang tanda tangan, kunci yang terlibat, dan alamat pertama. Ini mencakup jenis script, yakni bentuk syarat pembelanjaan, serta jalur derivasi untuk menghasilkan kunci berikutnya. Pengaturan yang dimanipulasi dapat mengalihkan setoran. Dokumen tersebut tidak mencakup ketahanan penyimpanan perangkat atau verifikasi alamat penerimaan dan change selanjutnya. Dukungan terhadap standar bukan sertifikasi keamanan seluruh produk. [2]
XPUB adalah kunci publik diperluas yang dapat menurunkan kunci publik pada suatu cabang dompet. Pengetahuan tentang data ini dan konfigurasi dapat memungkinkan penyedia mengikuti alamat serta pembayaran tanpa cukup tanda tangan untuk membelanjakan. Menghubungkannya dengan akun atas nama pelanggan menambah keterkaitan. Privasi dan hak membelanjakan adalah dua hal berbeda. Pernyataan bahwa layanan tidak bisa membayar sendiri juga bersyarat: layanan mungkin memperoleh kunci Peter yang lain atau menipunya agar menandatangani transaksi merugikan. Wewenang yang lebih kecil mengurangi sebagian risiko, bukan semuanya. [2] [4]
Peter kehilangan kunci dan membuat yang baru di aplikasi. Hal itu tidak membatalkan kunci lama untuk setoran terdahulu. Keluaran transaksi mencatat jumlah dana dan syarat untuk membelanjakannya kemudian. Dana tersebut berupa UTXO, keluaran transaksi yang belum dibelanjakan dengan syaratnya sendiri. Pada Multisig biasa, ia harus membuat syarat baru dan memindahkan dana terkait ke sana melalui transaksi yang dikonfirmasi. Setelah itu, ia memeriksa sisa dana pada alamat lama. Mengubah kata sandi akun atau label kunci tidak menggantikan transfer tersebut. Konfigurasi dan petunjuk keluarga juga perlu diperbarui agar ahli waris tidak memakai rencana yang sudah tidak sesuai. [4] [9]
Latihan yang berguna menggunakan dompet uji terpisah. Peter mengimpor konfigurasi tersimpan ke aplikasi yang kompatibel, membandingkan alamat, dan memastikan ia bisa menandatangani dengan kuncinya sendiri tanpa layanan awal. Mode watch-only menampilkan alamat dan saldo, tetapi tidak membuktikan kemampuan menandatangani. Caravan adalah koordinator sumber terbuka; dukungan terhadap format dan perangkat tertentu tetap perlu diperiksa. Latihan juga mencakup pemulihan dengan bantuan, kunci tidak tersedia, biaya, dan change. Hasilnya harus berupa prosedur tertulis yang jelas beserta versi perangkat lunak, bukan sekadar rasa aman karena melihat saldo. [3] [6] [7]
Untuk gambaran yang lebih utuh, baca entri ini bersama Multisig, Kustodi mandiri, Output Descriptor, PSBT, Bitcoin Inheritance Plan, Counterparty risk. Entri ini juga dirujuk dari Bitcoin Inheritance Plan, Institutional custody.