| Penulis | Wuille, Pieter; Nick, Jonas; Ruffing, Tim; Towns, Anthony |
|---|---|
| Tahun | 2020 |
| Proyek | Bitcoin Taproot |
| Lisensi | BSD 2-Clause |
| Sumber Resmi | github.com/bitcoin/bips — BIP-341 |
Taproot adalah serangkaian koordinasi tiga Bitcoin Improvement Proposals — BIP 340 (Schnorr Signatures), BIP 341 (Taproot), dan BIP 342 (Tapscript) — ditulis terutama oleh Pieter Wuille, Jonas Nick, Tim Ruffing, dan Anthony Towns. Proposal finalisasi pada 2020 dan diaktifkan di Bitcoin mainnet pada blok 709.632 pada 12 November 2021, melalui mekanisme aktivasi Speedy Trial setelah sinyal miner 90%+ dalam satu periode kesulitan.
Taproot adalah upgrade Bitcoin paling signifikan sejak aktivasi SegWit 2017. Ini memperkenalkan tiga peningkatan yang saling terkait:
- Schnorr signatures — lebih efisien, dapat diagregasi, dan meningkatkan privasi dibanding ECDSA
- MAST (Merkelized Alternative Script Tree) — kondisi pengeluaran tersembunyi hingga dieksekusi
- Tapscript — pembaruan skrip Bitcoin untuk pengeluaran Taproot dengan ketentuan upgrade masa depan
BIP 340 — Schnorr Signatures
Tanda tangan Schnorr menggantikan ECDSA Bitcoin untuk input Taproot. Tiga properti utama:
- Homomorphisme linear: Schnorr linier — memungkinkan agregasi kunci. Multisig n-pihak di bawah Schnorr tidak dapat dibedakan on-chain dari pengeluaran kunci tunggal (via MuSig2).
- Batch verification: Memverifikasi N tanda tangan Schnorr bersama lebih cepat dari verifikasi N tanda tangan satu per satu. Meningkatkan kinerja sinkronisasi node penuh.
- Kunci publik 32 byte: BIP 340 menggunakan kunci publik x-only 32 byte (hanya koordinat-x), menghemat satu byte per kunci.
BIP 341 — Taproot dan MAST
Taproot menggabungkan agregasi Schnorr dengan MAST (Merkelized Alternative Script Tree). Output Taproot berkomit pada dua hal secara bersamaan:
- Key-path spend (kasus kooperatif): Kunci publik agregasi tunggal
P = Q + hash(Q, akar_pohon_skrip) · G. Jika semua pihak setuju, mereka menghasilkan tanda tangan Schnorr di bawah P. Pengeluaran terlihat identik dengan pengeluaran P2WPKH kunci tunggal — tidak ada skrip yang terungkap, tidak ada struktur multisig yang terlihat on-chain. - Script-path spend (kasus non-kooperatif/fallback): Pembelanjaan mengungkapkan cabang skrip spesifik yang digunakan dan bukti inklusi Merkle. Hanya cabang yang dieksekusi yang terungkap; semua kondisi cabang lain tetap tersembunyi selamanya.
Dampak privasi: Penutupan channel Lightning Network, penyelesaian oracle DLC, dan pembayaran biasa semua tidak dapat dibedakan dengan Taproot. Sebelum Taproot, output multisig mengungkapkan struktur multisig ke dunia secara permanen.
BIP 342 — Tapscript
Tapscript memperbarui bahasa skrip Bitcoin untuk digunakan dalam pengeluaran script-path Taproot:
OP_CHECKSIGADDmenggantikanOP_CHECKMULTISIG: Multisig dalam Tapscript menggunakan pemeriksaan tanda tangan individual yang dapat diagregasi.- Opcode
OP_SUCCESS: Kelas opcode yang sebelumnya tidak valid yang Tapscript perlakukan sebagai “berhasil jika tercapai” — memungkinkan soft fork masa depan menambahkan opcode baru dengan mendefinisikan ulang kodeOP_SUCCESStanpa memerlukan versi Tapscript baru. Ini adalah mekanisme kompatibilitas ke depan yang penting (memungkinkan OP_CAT, OP_VAULT, dll. di masa depan). - Batas sumber daya dihapus: Tapscript menghapus batas 201 opcode dan batas skrip 10.000 byte.
Aktivasi Speedy Trial
Speedy Trial adalah mekanisme aktivasi soft fork: miner memberi sinyal dukungan dalam jendela 3 bulan; jika 90% memberi sinyal dalam satu periode retarget, soft fork dikunci. Speedy Trial mencapai ambang 90% pada Juni 2021, dengan aktivasi pada blok 709.632 lima bulan kemudian.
Adopsi Taproot
Per 2024, ~25–30%+ output Bitcoin menggunakan Taproot — didorong oleh Ordinals dan aktivitas BRC-20 pada 2023–2024. Software wallet Lightning Network (Phoenix, Zeus, LND) telah mengadopsi channel Taproot, meningkatkan privasi Lightning.
Istilah Terkait
Referensi
- Wuille, P. et al. (2020). BIP-341: Taproot. github.com/bitcoin/bips/blob/master/bip-0341.mediawiki
- Wuille, P. et al. (2020). BIP-342: Tapscript. github.com/bitcoin/bips/blob/master/bip-0342.mediawiki