BIP-340: Schnorr Signatures untuk Bitcoin — Fondasi Taproot dan MuSig2

Penulis Wuille, Pieter; Nick, Jonas; Towns, Anthony
Tahun 2020
Proyek Bitcoin Core
Lisensi Public Domain
Sumber Resmi github.com/bitcoin/bips — BIP-340
Disclaimer: Halaman ini merupakan ringkasan dan analisis edukatif dari whitepaper atau makalah teknis resmi. Konten ini disajikan untuk tujuan pendidikan semata dan bukan merupakan saran investasi atau keuangan. Selalu baca dokumen asli dan lakukan riset mandiri sebelum mengambil keputusan keuangan apa pun.

BIP-340 (2020) oleh Pieter Wuille, Jonas Nick, dan Anthony Towns mendefinisikan standar untuk tanda tangan Schnorr di kurva secp256k1 Bitcoin. Tanda tangan Schnorr tidak disertakan dalam Bitcoin di era Satoshi — ECDSA digunakan sebagai gantinya karena Schnorr saat itu dipatenkan. Patent tersebut kedaluwarsa, dan BIP-340 menstandarisasi Schnorr untuk Bitcoin, diaktifkan dengan Taproot (BIP-341) pada November 2021.

Mengapa Schnorr Lebih Baik dari ECDSA?

Linearitas: Key Aggregation

Tanda tangan Schnorr bersifat linear — jumlah tanda tangan adalah tanda tangan yang valid untuk jumlah kunci. Ini memungkinkan:

  • Agregasi kunci: n penandatangan dapat berkolaborasi untuk menghasilkan satu kunci publik gabungan dan satu tanda tangan yang tidak dapat dibedakan dari transaksi penandatangan tunggal (fundamental untuk MuSig2)
  • Multisig threshold: Multisig 2-dari-3 yang tampak on-chain sebagai pengeluaran kunci tunggal biasa

Batch Verification

Beberapa tanda tangan Schnorr dapat diverifikasi bersama lebih cepat daripada secara individual, mengurangi biaya verifikasi selama unduhan blok awal — speedup kira-kira sebanding dengan akar kuadrat dari ukuran batch.

Bukti Keamanan yang Lebih Ketat

Keamanan Schnorr dapat dibuktikan di bawah asumsi Discrete Logarithm dalam model generic group. Bukti keamanan ECDSA lebih kompleks dan bergantung pada asumsi tambahan. Keduanya dianggap aman dalam praktik, tetapi bukti Schnorr lebih bersih.

Pilihan Desain BIP-340

Kunci publik x-only: BIP-340 menggunakan koordinat-x saja untuk kunci publik (32 byte vs. 33 byte untuk ECDSA terkompresi). Paritas implisit dari konvensi even-y.

Tagged hashes: Input hash diawali dengan tag domain untuk mencegah serangan replay lintas-protokol.

Tanda tangan 64 byte: Tanda tangan Schnorr: (R, s) di mana R adalah koordinat-x 32 byte dan s adalah skalar 32 byte. Total: 64 byte (vs. 71–72 byte untuk encoding DER ECDSA).

BIP-340, BIP-341, dan MuSig2

BIP-340 memungkinkan:

  • BIP-341 (Taproot): Menggunakan key-path spend Schnorr — terlihat seperti single-sig, mengaktifkan skrip kompleks yang hanya terungkap bila dibutuhkan
  • MuSig2: Multisig n-dari-n menggunakan penandatanganan Schnorr kooperatif — satu tanda tangan on-chain untuk agregasi kunci mana pun
  • Cross-input signature aggregation (masa depan): Mengagregasi tanda tangan di semua input dalam satu transaksi

Pieter Wuille

Pieter Wuille adalah co-founder Blockstream dan penulis library secp256k1 Bitcoin. Ia adalah salah satu kontributor kode Bitcoin Core paling produktif, bertanggung jawab atas SegWit, batchable ECDSA verification, dan sekarang BIP-340 Schnorr.

Istilah Terkait

Referensi