Blockchain/Tahap IV · Kedalaman protokol/4.2 Naik taraf/Pelajaran 3
Transaksi yang ditandatangani sebahagiannya (PSBT)
Bekas yang membolehkan orang asing mengesahkan apa yang ditandatangani oleh sesebuah peranti
BahanDompet perkakasan dengan sokongan PSBTPerisian Bitcoin Core dengan arahan ‘decodepsbt’ yang tersediaKomputer atau peranti terpisah udara (air-gapped)
Ingin tahu
- Mengapa transaksi yang belum selesai memerlukan lebih banyak data berbanding yang telah selesai?
- Mengapa setiap dompet perkakasan pernah memerlukan formatnya sendiri untuk transaksi tanpa tandatangan?
- Bagaimanakah pengguna boleh menambah output baharu selepas templat awal sudah dibina?
Teroka
- Transaksi mentah standard ialah artifak akhir yang padat dan sedia untuk disiarkan. Partially Signed Bitcoin Transaction (PSBT), yang ditakrifkan oleh BIP174 pada tahun 2017 oleh Andrew Chow, adalah berbeza: ia ialah bekas yang menyimpan transaksi yang belum selesai bersama semua metadata yang diperlukan untuk melengkapkannya kemudian. Ia wujud dalam tiga keadaan: dibina sepenuhnya tetapi belum ditandatangani, ditandatangani sebahagian dengan beberapa input sudah siap dan yang lain masih menunggu, atau ditandatangani sepenuhnya dan sedia untuk diekstrak menjadi hex mentah. Format ini membolehkan program yang tidak dipercayai menjana templat yang boleh disahkan oleh peranti yang dipercayai tanpa peranti itu memerlukan akses rangkaian.
- Aliran kerja PSBT menetapkan enam peranan: Pencipta, Pengemas kini, Penandatangan, Penggabung, Penyelesai dan Pengekstrak (versi 2 menambah peranan ketujuh, iaitu Pembina). Selepas pencipta membina transaksi, pengemas kini melampirkan output terdahulu yang sedang dibelanjakan, skripnya dan laluan derivasi kunci, supaya penandatangan dapat menyemak dengan tepat apa yang diluluskannya, termasuk jumlah dan yuran. Penyertaan metadata secara eksplisit ini menjadikan fail tersebut jauh kurang padat berbanding pensirilan standard, tetapi ia penting kerana membolehkan dompet perkakasan mengesahkan struktur transaksi tanpa bersambung ke nod yang terhubung ke internet yang mungkin telah dikompromi atau menjalankan perisian hasad.
- Kebolehoperasian merupakan pendorong utama PSBT. Sebelum standard ini wujud, perisian dompet yang berbeza menggunakan kaedah yang tidak serasi untuk memindahkan data antara dompet panas (hot wallet) dan peranti storan sejuk, sehingga menyebabkan pengguna terikat kepada vendor tertentu. BIP174 menyelesaikan masalah ini dengan mewujudkan bahasa universal; kini penyelaras seperti Sparrow boleh menyerahkan PSBT yang sama kepada peranti penandatanganan daripada pengeluar berbeza, melalui USB, kad SD atau kod QR. Ini menjadikan multisig merentas vendor praktikal: setiap penandatangan menambah tandatangannya pada fail tersebut, dan tiada kunci peribadi pernah meninggalkan perantinya.
- Versi 0 PSBT mempunyai batasan struktur yang ketat: setelah dicipta, transaksi global tanpa tandatangan itu menjadi tetap. Versi 0 menyimpan transaksi lengkap tanpa tandatangan dalam medan global, jadi input dan output tidak boleh ditambah selepas ia dicipta. Ketegaran ini bermakna jika seseorang mula membina transaksi berbilang pihak yang kompleks dan menyedari bahawa mereka memerlukan output baki (change) tambahan, mereka terpaksa membatalkan keseluruhan proses dan bermula semula dari awal dengan templat baharu.
- BIP370 memperkenalkan PSBT Versi 2 untuk menyelesaikan masalah ketidakbolehubahan ini. Dalam Versi 2, semua maklumat bagi sesuatu input atau output digabungkan dalam medan khusus tersebut, bukannya dibahagikan antara data tempatan dan global. Para peserta boleh menambah input atau output selepas ia dicipta, selagi flag ‘modifiable’ pada PSBT membenarkannya. Ini memudahkan proses kerjasama dengan memastikan bahawa sekiranya seseorang melihat satu input tertentu, semua data yang berkaitan dengannya terdapat di situ sahaja, seterusnya memudahkan proses pengesahan bagi peranti perkakasan dan mengurangkan risiko ketidaksinkronan keadaan.
- Kegunaan praktikalnya merangkumi penandatanganan dengan dompet perkakasan hingga transaksi kolaboratif seperti payjoin dan coinjoin, dengan para peserta saling menghantar PSBT sehingga semua pihak telah menandatangani. Bagi pengguna biasa, ini bermakna seseorang boleh mencipta transaksi pada telefon, menyambungkan dompet perkakasan untuk menandatanganinya dengan selamat secara luar talian, lalu mengekstrak transaksi mentah akhir untuk disiarkan—dengan setiap peranti melihat dengan tepat apa yang ditandatanganinya.
Fakta utama
- BIP174 mendefinisikan Versi 0 bagi PSBT, yang memerlukan medan transaksi tanpa tandatangan secara global yang tidak boleh diubah selepas dicipta.
- BIP370 mendefinisikan Versi 2 (PSBTv2), yang membenarkan input dan output ditambah selepas penciptaan dengan menggabungkan data ke dalam medan tertentu.
- PSBT sengaja direka agar kurang kompak berbanding serialisasi standard kerana ia menyimpan metadata yang banyak untuk pengesahan oleh peranti penandatanganan.
- Aliran kerja asal mempunyai enam peranan: Pencipta, Pengemas kini, Penandatangan, Penggabung, Penyelesai dan Pengekstrak.
- PSBT memudahkan kebolehoperasian antara pelbagai perisian dompet dan peranti tandatangan perkakasan.
- Penyelaras seperti Sparrow dan peranti penandatanganan seperti Coldcard bertukar-tukar PSBT melalui fail atau kod QR.
Latihan sembilan, enam, tiga, satu
9KumpulSenaraikan 9 peranan atau keadaan yang berbeza yang terlibat dalam kitaran hayat transaksi Bitcoin, dari penciptaan awal hingga siaran akhir.
6KelompokkanKumpulkan 9 item tersebut ke dalam 6 kategori berdasarkan sama ada ia melibatkan penambahan data, pengesahan struktur, penggunaan tandatangan kriptografi, penyatuan sumbangan, penyelesaian format, atau penyebaran hasil.
3SaringKurangkan 6 kumpulan tersebut kepada 3 fungsi utama yang mesti dilaksanakan oleh mana-mana sistem pengurusan transaksi untuk memastikan keselamatan dan kebolehoperasian.
1KristalkanTulis 1 ayat yang menerangkan mengapa transaksi yang belum selesai memerlukan lebih banyak data berbanding transaksi yang telah selesai.
Semakan fakta
Tarikh, angka dan dakwaan telah disemak berbanding dengan sumber yang diterbitkan yang disenaraikan di bawah.