Daftar Isi

Poin Utama

SOROTAN UTAMA

  • Tanda tangan digital digunakan untuk memindahkan bitcoin di blockchain. Bitcoin sebelumnya telah menggunakan ECDSA sebagai algoritma tanda tangan digital untuk hal tersebut.
  • Dalam waktu dekat, Bitcoin akan mengaktifkan Schnorr Signature sebagai tambahan untuk tanda tangan ECDSA. Schnorr Signature memiliki berbagai keuntungan dibandingkan dengan ECDSA.
  • Schnorr akan meningkatkan privasi untuk semua pengguna Bitcoin. Schnorr juga akan menghemat biaya bagi pengguna Schnorr dan Taproot.

Tanda Tangan Digital

Bitcoin menggunakan tanda tangan digital untuk memungkinkan koin ditransfer di blockchain. Tanda tangan digital digunakan untuk membuktikan kepemilikan koin tertentu dan untuk mengotorisasi transfer mereka ke pemilik baru.

Kami mendefinisikan koin elektronik sebagai rangkaian tanda tangan digital. Setiap pemilik mentransfer koin ke yang berikutnya dengan menandatangani digital hash dari transaksi sebelumnya dan kunci publik pemilik berikutnya.

– Satoshi Nakamoto menjelaskan model UTXO dalam

Bitcoin Whitepaper (2008)

Saat ini, Bitcoin menggunakan Elliptic Curve Digital Signature Algorithm (ECDSA). Dengan upgrade Taproot, Bitcoin akan mengintegrasikan Schnorr, skema tanda tangan jenis kedua dengan beberapa keunggulan.

ECDSA

Sejak awal kemunculan Bitcoin, ECDSA telah digunakan untuk mengamankan bitcoin. ECDSA dipilih untuk Bitcoin karena beberapa alasan:

  • Open Source. ECDSA tidak dilindungi oleh paten atau hak cipta, jadi tidak ada masalah hukum dalam menggunakannya untuk Bitcoin.
  • Sudah Teruji. ECDSA sudah dikenal luas dan diterapkan ketika Bitcoin pertama kali dirancang, dan keamanannya sudah cukup ditegaskan oleh tahun-tahun pengujian.
  • OpenSSL. ECDSA diimplementasikan dalam OpenSSL, sebuah pustaka kriptografi open-source yang digunakan oleh Bitcoin. Ini membuat implementasi ECDSA untuk Bitcoin lebih sederhana.

Namun, ECDSA juga memiliki beberapa kelemahan yang diperbaiki oleh Schnorr. Untuk alasan ini, pengembang telah memutuskan bahwa Bitcoin harus menerapkan skema tanda tangan yang berbeda, yaitu Schnorr Signature.

Keunggulan Schnorr Signature

Seperti ECDSA, Skema Schnorr Signature menggunakan kriptografi kurva eliptis (ECC). Schnorr Signature menawarkan beberapa keunggulan dibandingkan ECDSA dalam hal efisiensi komputasi, penyimpanan, dan privasi.

Agregasi Kunci dan Tanda Tangan

Keuntungan paling signifikan yang ditawarkan oleh Schnorr Signature adalah agregasi kunci. Tanda tangan digital biasanya berisi satu kunci publik, kemudian pesan yang akan ditandatangani, dan sebuah tanda tangan, menegaskan bahwa pemilik kunci publik menandatangani pesan yang diberikan. Ketika beberapa pihak ingin menandatangani pesan yang sama, seperti menghabiskan dari alamat multisig, mereka masing-masing harus menyertakan kunci publik dan tanda tangan mereka. Jadi, jika tiga pihak ingin menandatangani pesan yang sama, buktinya akan mencakup tiga kunci publik dan tiga tanda tangan. Ini kurang optimal untuk alasan komputasi dan penyimpanan, karena setiap node harus melakukan verifikasi tanda tangan, sebuah fungsi yang mahal, sebanyak tiga kali dan menyimpan tiga set tanda tangan dan kunci publik.

Agregasi kunci menghilangkan kebutuhan akan beberapa kunci publik dan tanda tangan. Kunci publik dan Schnorr Signature dapat diagregasikan sedemikian rupa sehingga, jika tiga pihak ingin menandatangani transaksi, mereka dapat menggabungkan tiga kunci publik mereka untuk membentuk satu kunci publik. Kemudian, dengan menggunakan masing-masing dari tiga kunci privat mereka, mereka dapat menandatangani pesan yang sama. Akhirnya, mereka dapat menggabungkan tiga tanda tangan mereka untuk membentuk satu tanda tangan yang valid untuk kunci publik agregat. Seorang verifikator hanya perlu memverifikasi satu tanda tangan dan kunci publik agar yakin bahwa ketiga pihak telah menandatangani pesan tersebut.

Implikasi privasi dari agregasi kunci sangat signifikan. Karena banyak pihak dapat menggabungkan kunci dan tanda tangan, transaksi multisig sangat mirip menyerupai transaksi singlesig. Dengan demikian, semua pengeluaran Schnorr akan saling menyerupai, membuat chain analysis tidak mungkin membedakan antara pengeluaran multisig dan pengeluaran tanda tangan tunggal. Hal ini akan membatalkan beberapa heuristik yang digunakan oleh chain analysis, termasuk heuristik kepemilikan input bersama dan heuristik tipe skrip. Manfaat privasi ini akan meluas ke semua pengguna Bitcoin yang menggunakan Schnorr, tetapi tidak untuk mereka yang menggunakan jenis transaksi ECDSA.

Verifikasi Batch

Ketika node menerima blok baru, biasanya node tersebut memverifikasi setiap transaksi dan tanda tangan dalam blok tersebut satu per satu. Ini adalah proses yang memakan waktu dan sumber daya yang intensif.

Agregasi kunci memungkinkan node Bitcoin untuk memverifikasi tanda tangan dalam batch. Metode ini secara signifikan mengurangi waktu dan daya komputasi yang diperlukan untuk memverifikasi transaksi dengan banyak input.

Karena Taproot adalah soft fork, sebagian besar pengguna dan dompet Bitcoin akan terus menggunakan ECDSA bahkan setelah Schnorr diaktifkan. Blok akan tetap memiliki Schnorr Signature dan tanda tangan ECDSA, membatasi manfaat verifikasi batch dalam jangka pendek.

Mengapa Bitcoin Tidak Menggunakan Schnorr Sejak Awal?

Schnorr Signature telah dilindungi oleh paten sejak penemuan mereka pada tahun 1990, sehingga sangat sangat membatasi penggunaannya dan menghambat inovasi. Karena ECDSA bersifat open source, ECDSA digunakan secara luas, diuji secara ketat, dan dapat dipercaya. Meskipun paten Schnorr telah berakhir pada tahun 2008, tahun yang sama ketika Bitcoin ditemukan, diputuskan bahwa tanda tangan Schnorr tidak memiliki popularitas dan pengujian lebih lanjut masih diperlukan untuk mengamankan sistem sekritikal Bitcoin.

Schnorr Signature diperkenalkan ke Bitcoin melalui peningkatan Taproot, yang diaktifkan sekitar tahun 2022. Meskipun developer telah menambahkan semua kode yang diperlukan ke Bitcoin Core, node Bitcoin harus menerima peningkatan tersebut agar dapat mempertimbangkan Schnorr Signature sebagai valid.