19 / 736BIP141

SegWit

Segregated Witness; pemisahan data verifikasi pembayaran

Perubahan yang memudahkan penyusunan transaksi Bitcoin berantai dan menghitung data tanda tangan sebagai pemakaian kapasitas blok yang lebih kecil.

SegWit mengubah aturan Bitcoin dengan memisahkan data verifikasi hak membelanjakan, seperti tanda tangan, dari bagian yang dipakai menghitung pengenal dasar transaksi. Cara mengukur kapasitas blok juga berubah. Bagi pengguna, pembayaran bisa lebih hemat ruang; bagi pengembang, menyusun transaksi di atas transaksi lain menjadi lebih andal.

Saat mengirim, dompet menentukan dana terdahulu yang dibelanjakan serta jumlah baru untuk penerima dan, bila perlu, kembalian Anda. Dompet juga harus membuktikan hak membelanjakan dana itu. Tanda tangan dan data verifikasi lain menjalankan tugas tersebut. SegWit menempatkannya dalam bagian bernama witness. Di sini, witness berarti bukti terpenuhinya syarat pembelanjaan, bukan orang yang menyaksikan pembayaran. Data tidak dibuang atau dipindah keluar dari Bitcoin: node yang menerapkan aturan SegWit tetap memeriksanya. [1]

Dompet melacak pembayaran lewat txid. Transaksi berikutnya juga memakai pengenal itu untuk merujuk dana yang ingin dibelanjakan. Dahulu, perubahan sebagian data tanda tangan dapat mengubah txid tanpa mengubah penerima atau jumlah. Ini menyulitkan rangkaian pembayaran yang belum dikonfirmasi. SegWit menghitung txid tanpa witness, sehingga mengubah witness saja tidak mengubahnya. Agar seluruh transaksi terlindungi dari masalah ini, semua masukannya harus memakai SegWit. Mengubah penerima atau masukan tetap dapat mengubah txid. Rujukan lebih stabil juga membantu Lightning Network, jaringan pembayaran melalui kanal. Pengenal kedua, wtxid, justru mencakup witness. [1] [4]

SegWit memperkenalkan bobot, bukan menghitung semua byte sama. Satu byte data dasar memakai 4 unit bobot, sedangkan satu byte witness tambahan memakai 1. Seluruh blok dibatasi 4.000.000 unit. Misalnya, transaksi dengan 100 byte dasar dan 100 byte witness tambahan berbobot 500 unit, dengan ukuran virtual 125 vB. Ukuran itu digunakan menghitung biaya pada tarif sat/vB yang dipilih. Penghematan bergantung pada struktur transaksi; permintaan ruang blok tetap memengaruhi tarif. Batas bobot tidak berarti semua blok berukuran megabyte sama atau setiap pembayaran SegWit lebih murah. [1]

Di jaringan utama Bitcoin, alamat SegWit asli versi 0 dimulai dengan bc1q. P2WPKH dan P2WSH membedakan dua syarat pembelanjaan: pembayaran biasa yang dikendalikan kunci dan pembayaran dengan skrip, yakni sekumpulan aturan. SegWit juga bisa dibungkus dalam format lama P2SH dengan alamat berawalan 3, tetapi angka 3 saja tidak membuktikan pemakaian SegWit. Taproot memakai witness versi 1 dan alamat bc1p. Jadi, awalan bc1 bukan satu jenis pembayaran saja. Untuk penggunaan sehari-hari, periksa dukungan format dompet pengirim dan alamat lengkap penerima; tidak ada awalan tersebut yang dengan sendirinya menjanjikan anonimitas. [1] [2] [3]

Perubahan ini dirancang sebagai Soft Fork: aturan lebih ketat yang tetap sesuai dengan aturan lama. Namun, node lama tidak sepenuhnya memeriksa sendiri syarat baru SegWit. Witness diikat secara kriptografis ke blok oleh witness commitment dalam coinbase, transaksi pertama blok. Karena itu, tanda tangan bukan lampiran opsional yang boleh diabaikan dalam validasi penuh. BIP 141 juga menyatakan bobot sebagai tiga kali ukuran dasar ditambah ukuran total; ukuran virtual adalah bobot dibagi empat dan dibulatkan ke atas. Ini cara menjelaskan perhitungan yang sama, bukan dua batas berbeda. [1]

Untuk gambaran yang lebih utuh, baca entri ini bersama Transaksi, Transaction Fees, Lightning Network, Taproot. Entri ini juga dirujuk dari Transaksi, Transaction Fees, Taproot, Lightning Network.

DOC · 001BIP 141: Segregated WitnessSumber primer DOC · 002BIP 341: witness version 1Sumber primer DOC · 003BIP 350: Bech32m for witness version 1 and laterSumber primer DOC · 004Bitcoin Core: Segregated Witness benefitsSumber primer
Direvisi: Utamakan sumber · Bukan nasihat investasi