Pengertian dan Memahami Multi Signature Di Dunia Bitcoin
12/28/2018
Edit
komputerdia.com - Multisignature adalah salah satu fitur bitcoin dimana user dapat membuat sebuah transaksi yang membutuhkan lebih dari satu (1) digital signature untuk dapat digunakan. Fitur satu ini dapat digunakan didalam skema escorow.
Escorow merupakan sebuah konsep dimanapihak ketiga menjadi penengah didalam sebuah transaksi ketika terjadi permasalahan baik dari sisi pembeli maupun dari sisi penjual.
Escorow dapat digunakan untuk melindungi pembeli maupun penjual. Dengan menggunakan transaksi 2-of-3 multisignature, apabila terjadi dispute (permasalahan) antara pembeli dan penjual, maka pihak escorow dapat ikut campur tangan untuk menentukan siapa yang mendapatkan uangnya.
Sementara itu, untuk pengertina Multi-signature address adalah dompet Bitcoin yang membutuhkan tandatangan beberapa pihak untuk menciptakan sebuah alamat Bitcoin baru yang disertai dengan public key.
Ketika seseorang hendak mengirimkan saldo Bitcoinnya ke dompet yang lain, ia akan membutuhkan tandatangan beberapa orang tadi, termasuk tandatangannya sendiri, untuk melakukannya. Jumlah tandatangan yang diperlukan tergantung pada angka yang disetujui ketika alamat Bitcoin tersebut dibuat. Inilah alasan mengapa Multi Signature Address bersifat jauh lebih aman.
Sementara itu, untuk pengertina Multi-signature address adalah dompet Bitcoin yang membutuhkan tandatangan beberapa pihak untuk menciptakan sebuah alamat Bitcoin baru yang disertai dengan public key.
Ketika seseorang hendak mengirimkan saldo Bitcoinnya ke dompet yang lain, ia akan membutuhkan tandatangan beberapa orang tadi, termasuk tandatangannya sendiri, untuk melakukannya. Jumlah tandatangan yang diperlukan tergantung pada angka yang disetujui ketika alamat Bitcoin tersebut dibuat. Inilah alasan mengapa Multi Signature Address bersifat jauh lebih aman.
Apabila penjual telah mengirimkan produk yang dipesan oleh pembeli, namun pembeli tidak mau membayar maka pihak escorow dapat menandatangani transaksi, sehingga penjual tetap mendapatkan uang pembayarannya.
Baca Juga Artikel Lainnya :
- Mengenal istilah Script Dalam Transaksi Bitcoin
- Mengenal Dan Memahami Jenis-Jenis Transaksi Bitcoin
- Penjelasan Biaya Transaksi Di Dunia Bitcoin
Apabila pembeli tidak mendapatkan prosuk yang dipesannya dan penjual tidak ingin mengembalikan uang yang telah dibayarkan pembeli, maka pihak escorow dapat membantu pembeli untuk mendapatkan kembali uangnya.
Multisignature dapat pula diguankan dalam skema perusahaan untuk dapat mengelola dana dengan lebih bertanggungjawab, dimana untuk membelanjakan dana tersebut diperlukan lebih dari satu pihak untuk memberikan tandatangannya. Skema multi signature dapat dideskripsikan dengan struktur sebagai berikut
m <pubkey 1> <pubkey 2> _ <pubkey n> n OP_CHECKMULTISIG
dengan m ≤ n ≤ 3
Multisignature dengabn struktur seperti diatas, dapat diselesaikan dengan struktur sebagai berikut
0 <signature 1> <signature 2> _ <signature n>
Nilai 0 merupakan data dummy yang diperlukan, sebab terdapat sebuah bug pada implementasi operasi OP_CHECKMULTISIG dimana bug tersebut akan membuang satu data lebih banyak dari pada seharusnya. Implementasi sistem bitcoin yang sekarang tidak mengizinkan data dummy selain nilai 0 seperti pada struktur diatas.
Transaction Signature
Untuk dapat menggunakan bitcoin yang diterima, penerima harus menandatangani transaksi tersebut dengan menggunakan skema digital signature. Terdapat beberapa langkah yang harus dilakukan untuk dapat membuat multisignature tersebut.
- Membuat kopian transaksi aslinya
- Ganti isi <scriptSig> dengan <scriptPubkey> dari transaksi yang direferensikan oleh transaksi ini. Bagian <scriptSig> akan dibuat setelah proses penandatanganan, sebab bagian ini berisi digital signature
- Hitung nilai hash dan tanda tangan menggunakan kunci privat
Transaction signature memiliki beberapa tipe hash, diantaranya :
- SIGHASH_ALL, yakni merupakan tipe hash yang memasukkan semua output, sehingga alamat tujuan tidak dapat diganti lagi
- SIGHASH_NONE, tipe ini merupakan tipe hash yang tidak memasukkan output, sehingga alamat tujuan dapat diganti
- SIGHASH_SINGLE, tipe hash yang satu ini hanya memasukkan 1 output saja, sedangkan alamat tujuan lain dapat diubah
Terdapat juga sebuah type lain yaiitu SIGHHASH_ANYONECANPAY yang dapat dikombinasikan dengan salah satu type-type diatas. Tipe ini dapat diartikan bahwa "siapapun dapat membayar", dimana input dapat ditambahkan meskipun sudah ditandatangani.