62 / 736BIP174

PSBT

Transaksi Bitcoin yang ditandatangani sebagian

Komputer bisa menyiapkan pembayaran sementara kunci tetap berada di dompet perangkat keras. PSBT membawa rancangan dan data untuk memeriksanya di antara kedua perangkat; setelah disetujui, perangkat menambahkan tanda tangan. Format yang sama juga membantu ketika satu pembayaran memerlukan tanda tangan beberapa orang atau perangkat.

PSBT adalah format standar untuk memindahkan transaksi Bitcoin yang sedang disiapkan di antara dompet dan perangkat yang memeriksa serta menandatanganinya. Kepanjangannya adalah Partially Signed Bitcoin Transaction, atau transaksi Bitcoin yang ditandatangani sebagian, tetapi berkasnya bisa saja belum memiliki tanda tangan sama sekali. Isinya rancangan, data pendukung, dan tanda tangan, bukan kunci privat. Setelah bahan yang diperlukan lengkap, berkas ini dapat menghasilkan transaksi biasa untuk dikirim ke jaringan. Tanda tangan digital adalah persetujuan yang dapat diverifikasi, dibuat dengan kunci privat, yaitu data rahasia yang memungkinkan pemiliknya menandatangani. Kunci itu sendiri tidak diungkapkan.

Multisig: simulator ambang tanda tanganLihat apakah kunci yang tersisa dalam model m-dari-n dapat memenuhi ambang tanda tangan. Hasil menunjukkan ketersediaan tanda tangan, bukan keamanan atau pemulihan dompet secara lengkap.

Anna ingin mengirim 60 000 sat kepada Pavel, yaitu enam puluh ribu unit terkecil bitcoin. Dompetnya memakai satu output senilai 100 000 sat yang pernah diterima dan belum dibelanjakan. Output mencatat jumlah dana dan syarat untuk membelanjakannya. Dalam contoh ini, dompet mengusulkan 60 000 sat untuk Pavel, 39 000 sat kembali kepada Anna sebagai kembalian, dan menyisakan 1 000 sat untuk biaya. Sampai di sini semuanya baru berupa instruksi. Aplikasi memasukkannya ke PSBT lalu mengirimkannya ke dompet perangkat keras, lewat kabel, kode QR, atau kartu memori sesuai perangkat. Anna memeriksa pembayaran pada layar perangkat dan menyetujui penandatanganan. Yang kembali adalah tanda tangan, bukan kunci rahasia. Jadi, perangkat yang menyiapkan pembayaran tidak harus sama dengan perangkat yang berwenang menandatanganinya. [1] [4]

Berkas berakhiran .psbt tidak otomatis berarti pembayaran aman. Komputer yang membuatnya mungkin telah disusupi atau sekadar salah dikonfigurasi. Anna mencocokkan penerima dengan alamat yang diperolehnya dari Pavel melalui cara tepercaya, lalu memeriksa jumlah, total biaya, dan kembalian ke dompetnya sendiri. Saat memakai dompet perangkat keras, ia mengikuti layar tepercaya perangkat dan prosedur pembuatnya. Perangkat lunak penandatangan juga memeriksa data pendukung dan hal-hal yang diikat oleh tanda tangan. Istilah teknis sighash menjelaskan bagian transaksi mana yang dilindungi tanda tangan dari perubahan. Pemula tidak seharusnya menyetujui mode yang tidak lazim tanpa memahaminya. Jika alamat salah atau biaya tidak bisa diverifikasi, periksa ulang rancangan, jangan melewati pemeriksaan. [1]

Dalam dompet Multisig yang memerlukan dua dari tiga tanda tangan, Anna bisa menambahkan tanda tangan pertama dan Pavel yang kedua, masing-masing dengan perangkatnya sendiri. Mereka tidak perlu saling memberikan kata pemulihan atau tersambung pada saat bersamaan. Koordinator, yaitu aplikasi yang mengatur prosesnya, mengumpulkan bahan untuk pembayaran yang sama dan menggabungkan tanda tangan. Setiap penandatangan tetap harus memastikan pembayaran sesuai maksudnya; koordinator tidak mengambil keputusan untuk mereka. BIP 174 menyebut pembuat rancangan creator, penambah data updater, penandatangan signer, dan penggabung versi yang bersesuaian combiner. Finalizer menyusun data akhir yang memenuhi syarat pembelanjaan input, sedangkan extractor menghasilkan transaksi biasa untuk jaringan. Satu program sering menjalankan beberapa peran. Nama-nama itu menjelaskan pekerjaan, bukan kewajiban menghadirkan enam peserta. [1] [4]

PSBT dapat mengungkap koin mana yang akan Anda belanjakan, kepada siapa Anda membayar, berapa kembaliannya, dan bagaimana alamat saling terhubung. Berkasnya juga bisa memuat xpub, data publik untuk menurunkan kunci publik lain dan, bersama aturan alamat dompet, menghasilkan alamat, atau jalur derivasi yang menunjukkan letak kunci dalam struktur dompet. Jangan mengirimnya ke layanan web sembarangan hanya untuk membaca isinya. PSBT yang sudah ditandatangani juga dapat memungkinkan orang lain menyelesaikan dan menyiarkan transaksi tertentu yang telah Anda setujui, bila semua bahan yang diperlukan tersedia. Menghapus salinan Anda tidak membatalkan tanda tangan. Berkas ini juga bukan pengganti Seed Phrase (kata-kata cadangan untuk memulihkan kunci) atau cadangan konfigurasi Multisig yang lengkap: kegunaannya untuk satu pembayaran tertentu, bukan pemulihan seluruh dompet. [1] [4]

Menambahkan tanda tangan tidak berarti jaringan sudah mengetahui pembayaran. Setelah transaksi akhir disusun, seseorang harus menyiarkannya. Node adalah komputer yang menjalankan perangkat lunak untuk memeriksa transaksi dan blok Bitcoin. Node kemudian menilainya berdasarkan aturan jaringan dan kebijakan penerimaan transaksinya; penambang dapat memasukkannya ke blok. Tanda tangan yang kurang, input yang sudah dibelanjakan, dan biaya yang tidak cukup adalah masalah berbeda yang tidak otomatis selesai dengan tombol ‘selesai’. Uji kombinasi aplikasi, perangkat, dan jenis dompet yang benar-benar Anda pakai sebelum mengandalkan proses ini. Di Bitcoin Core 29, analyzepsbt dapat menunjukkan data atau tanda tangan yang masih kurang. finalizepsbt dapat menghasilkan transaksi yang sudah lengkap; pengiriman merupakan langkah berikutnya. Bahkan penyelesaian yang berhasil belum berarti konfirmasi di dalam blok. [4] [5] [6]

BIP 174 mendefinisikan PSBT sebagai format biner yang menyimpan informasi dalam pasangan kunci–nilai. Kunci di sini berarti pengenal sebuah kolom data, bukan otomatis kunci privat Bitcoin. Peta global menjelaskan keseluruhan transaksi, peta input menjelaskan output lama yang dibelanjakan, dan peta output menjelaskan output baru yang dibuat. Selain rancangan, isinya dapat mencakup script, yaitu syarat pembelanjaan, asal-usul kunci, dan tanda tangan sebagian. Data bisa disimpan sebagai berkas .psbt atau diwakili dengan Base64, pengodean data biner menjadi teks. Base64 bukan enkripsi. PSBT juga bukan jenis transaksi baru dalam aturan Bitcoin: jaringan menerima transaksi hasil akhirnya, bukan seluruh berkas kerja. [1]

Perangkat yang tidak tersambung ke jaringan perlu mengetahui apa yang diminta untuk ditandatanganinya. UTXO adalah output terdahulu yang belum dibelanjakan; input baru merujuk kepadanya. Non-Witness UTXO bisa membawa seluruh transaksi terdahulu, sedangkan Witness UTXO membawa output tertentu beserta jumlah dan syaratnya. Bukti yang diperlukan bergantung pada jenis input dan aturan perangkat lunak penandatangan. Pemeriksaan mencakup pengenal transaksi terdahulu dan output yang sesuai, hubungan antar-script, serta sighash yang dapat diterima. Jumlah yang hilang tidak boleh dianggap sebagai biaya nol, dan bukti yang tidak ada tidak boleh dianggap telah lolos verifikasi. Lengkapi data melalui proses tepercaya, bukan dengan menebaknya. [1]

Versi PSBT menjelaskan susunan format, bukan jumlah tanda tangan atau versi transaksi Bitcoin itu sendiri. PSBT v0 menyimpan transaksi yang belum ditandatangani dalam kolom global; bila versi PSBT tidak dicantumkan, artinya v0. PSBT v2 yang didefinisikan dalam BIP 370 melarang kolom tersebut dan memisahkan informasi untuk membangun transaksi ke kolom masing-masing. Ini mendukung penambahan input dan output sesuai batas perubahan yang diizinkan serta tanda tangan yang sudah ada. Bukan berarti pembayaran yang telah ditandatangani bebas ditulis ulang. Kedua pihak harus memahami versi yang digunakan; keterangan ‘mendukung PSBT’ saja belum cukup untuk menjelaskan kompatibilitas. [2]

BIP 371 menambahkan informasi yang diperlukan Taproot, termasuk tanda tangan, script, dan asal-usul kunci. Kolom-kolom ini dapat dipakai pada PSBT v0 maupun PSBT v2. Jadi, dompet bisa menangani Taproot dalam format pertama tanpa mendukung format kedua. Sebaliknya, dukungan v2 saja tidak berarti perangkat dapat menangani semua skenario Taproot. Menandatangani melalui jalur kunci dan membelanjakan melalui cabang script adalah cara berbeda untuk memenuhi syarat output Taproot. Bagi pengguna, pertanyaannya sederhana: apakah susunan perangkat dan aplikasi saya dapat menangani pembayaran yang ingin saya tandatangani? Jawabannya berasal dari dokumentasi dan alur yang telah diuji, bukan singkatan dalam daftar fitur. [3]

Untuk gambaran yang lebih utuh, baca entri ini bersama Multisig, Hardware Wallet, Cold Storage, Output Descriptor. Entri ini juga dirujuk dari Multisig, Cold Storage, Hardware Wallet, Watch-only Wallet.

DOC · 001BIP 174 — PSBTSpesifikasi DOC · 002BIP 370 — PSBT Version 2Spesifikasi DOC · 003BIP 371 — Taproot Fields for PSBTSpesifikasi DOC · 004Bitcoin Core — PSBT HowtoDokumentasi DOC · 005Bitcoin Core 29 RPC — analyzepsbtDokumentasi DOC · 006Bitcoin Core 29 RPC — finalizepsbtDokumentasi
Direvisi: Utamakan sumber · Bukan nasihat investasi