Apa Kaitan antara Schnorr Signature dengan Bitcoin?
Beranda
Artikel
Apa Kaitan antara Schnorr Signature dengan Bitcoin?

Apa Kaitan antara Schnorr Signature dengan Bitcoin?

Tingkat Lanjut
Diterbitkan Jul 8, 2020Diperbarui Dec 28, 2022
6m

Daftar isi

Pengantar

Seperti yang Anda ketahui, Bitcoin memberlakukan hak kepemilikan dengan sesuatu yang disebut Elliptic Curve Digital Signature Algorithm (atau ECDSA). Algoritme memungkinkan Anda untuk mengambil satu nomor (yaitu private key) dan memperoleh public key dari sana.
Yang ajaib dari hal ini adalah, meskipun mudah bagi Anda untuk mendapatkan public key dari private key, namun, mustahil untuk melakukan sebaliknya. Private key adalah paspor Anda ke jaringan Bitcoin, yang memungkinkan Anda menghasilkan alamat untuk menerima koin, dan yang nanti mengizinkan Anda untuk membelanjakannya. 

Dalam artikel ini, kita akan melihat algoritma Schnorr signature, sebuah alternatif baru selain ECDSA yang dapat membawa beberapa perubahan menarik dalam Bitcoin.


Rekap singkat mengenai tanda tangan digital

Tanda tangan digital berfungsi seperti pena dan kertas, tetapi jauh lebih aman. Siapa pun dapat memalsukan tanda tangan pena di atas kertas dengan sedikit waktu dan usaha. Anda tidak dapat melakukan pemalsuan dengan skema tanda tangan digital yang kuat, meskipun jika Anda memiliki ratusan ribu tahun untuk mencobanya.

Ada beberapa penggunaan tanda tangan digital. Yang populer adalah pembuktian kepada dunia bahwa Anda menulis pesan tertentu. Seperti yang telah disebutkan, Anda dapat membuat public key dari private key (yang harus Anda rahasiakan). Anda melakukannya dengan menjalankan formula matematika di atas kurva secp256k1. Dari sana, Anda juga dapat membuat alamat publik dari public key Anda.

Harap dicatat bahwa sangatlah aman untuk menunjukkan public key Anda kepada siapa pun. Anda dapat menambahkannya ke situs web atau bio Twitter, sehingga orang lain dapat memverifikasi identitas Anda. Demikian juga, Anda dapat membagikan alamat publik kepada orang lain, sehingga mereka dapat mengirimkan kripto kepada Anda.

Private key memungkinkan Anda membuat tanda tangan digital. Dengan menulis pesan dan melakukan operasi menggunakan private key, Anda membuat pesan yang ditandatangani. Siapa pun dapat mengambilnya dan membandingkannya dengan public key Anda, untuk memastikan bahwa itu memang ditandatangani oleh Anda sendiri.

Lalu, apa kaitannya dengan Bitcoin? Nah, setiap kali Anda melakukan transaksi Bitcoin, Anda secara digital menandatangani pesan yang mengatakan bahwa saya mengirim koin ini yang sebelumnya telah dikirimkan kepada saya. Kemudian, ketika dikirim ke node lain di jaringan, partisipan jaringan dapat memeriksa apakah tanda tangan ECDSA cocok dengan pesan tersebut. Jika tidak, mereka akan menolaknya.


Apa itu Schnorr signature?

Schnorr signature atau tanda tangan Schnorr merupakan skema yang berbeda. Beroperasi mirip dengan Elliptic Curve Digital Signature Algorithm yang kita gunakan saat ini, tetapi menawarkan sejumlah keunggulan. Tanda tangan Schnorr sebenarnya sudah ada sebelum ECDSA, membuat banyak orang bertanya-tanya mengapa tidak terintegrasi ke dalam Bitcoin sejak awal. 

Satu penjelasan yang paling mungkin adalah bahwa Claus P. Schnorr – pencipta skema ini – mematenkannya. Paten berakhir di awal tahun 2008, beberapa bulan sebelum white paper Bitcoin dirilis, tetapi skema tersebut masih belum memiliki standarisasi. Karena itu, Satoshi Nakamoto memilih ECDSA, yang lebih banyak diterima (dan open-source).


Mengapa Schnorr signature bermanfaat?

Tanda tangan Schnorr cukup sederhana jika dibandingkan dengan skema lain. Akibatnya, tanda tangan ini terbukti lebih aman daripada alternatif lainnya. Sekilas mungkin tidak berarti banyak bagi Anda, tetapi ada sifat kuat lainnya: linear
Singkatnya, sifat tersebut membuat skema ini sangat menarik untuk kegiatan tertentu – terutama, transaksi multisignature. Anda mungkin tahu bahwa Bitcoin sudah mendukung multisig, tetapi Bitcoin tidak melakukannya dengan cara yang paling mulus.

Saat Anda membuat alamat multisignature, siapa pun yang mengirimkan dana kepada Anda tidak perlu mengetahui kondisi apa yang telah Anda tetapkan untuk menghabiskan input. Mereka bahkan mungkin tidak tahu bahwa mereka mengirim dana ke pengaturan multisig – satu-satunya kekhasan alamat adalah bahwa alamat tersebut dimulai dengan “3”. 

Namun, Anda mengungkapkan sifatnya ketika Anda ingin memindahkan dana. Katakanlah Anda menggunakan pengaturan 3-dari-3 bersama dengan Alice dan Bob. Untuk membelanjakan, misalnya 5 BTC, Anda bertiga harus memberikan public key dan tanda tangan yang valid. Saat Anda memindahkan dana ke luar alamat, seluruh jaringan dapat mengetahui apa yang terjadi dengan melihat blockchain

Dari sudut pandang privasi, ini tidak bagus. Lagi pula, jika kita membuat multisig yang lebih besar (misalnya 8-dari-10), maka akan menghabiskan cukup banyak ruang di dalam blockchain. Ini mahal, karena akan menghasilkan transaksi yang panjang – ingat bahwa semakin banyak byte dalam transaksi Anda, semakin banyak yang harus Anda bayar.

Tanda tangan Schnorr disebut-sebut sebagai solusi terhadap masalah privasi dan skalabilitas ini. Cara ini memungkinkan beberapa hal seperti pengumpulan tanda tangan atau signature aggregation, yang menggabungkan dari beberapa penandatangan menjadi satu. “Tanda tangan utama” yang dihasilkan masih akan sama panjangnya dengan tanda tangan biasa, yang dihasilkan oleh satu orang, ini mengarah pada penghematan ruang yang signifikan. 
Selain itu, tanda tangan gabungan membuat jauh lebih sulit bagi pengamat untuk menentukan siapa yang menandatangani (atau tidak menandatangani) transaksi. Dalam skema m-of-m (di mana semua peserta harus menandatangani untuk membelanjakan dana), Anda bahkan tidak dapat membedakan mana transaksi yang satu pihak dan mana yang multisig.
Yang terpenting, tanda tangan Schnorr merupakan satu blok bangunan dalam kemajuan lingkungan kripto lebih lanjut. Jika diimplementasikan, tanda tangan ini dapat dimanfaatkan untuk meningkatkan teknologi kripto seperti atomic swap dan Lightning Network.



Kapan Schnorr signature dapat diimplementasikan ke dalam Bitcoin?

Tidak ada yang tahu. Seperti halnya sebagian besar peningkatan pada protokol Bitcoin, mungkin perlu waktu bagi komunitas pengguna Bitcoin yang lebih luas untuk menyetujui penerapan tanda tangan Schnorr. Kontributor Bitcoin Core, Pieter Wuille, Jonas Nick, dan Tim Ruffing telah mengirimkan konsep Proposal Peningkatan Bitcoin atau Bitcoin Improvement Proposal (BIP), tetapi masih ada hal-hal yang harus dilakukan.
Blockstream telah merilis implementasi – MuSig. Mengizinkan agregasi tanda tangan dan key, ini bisa berfungsi sebagai dasar bagi skema tanda tangan Schnorr Bitcoin.
Tanda tangan Schnorr dapat digabungkan ke dalam kode sebagai soft fork, yang berarti bahwa perubahan tidak akan membagi jaringan. Melainkan, akan menjadi peningkatan “opt-in”. Meskipun demikian, akan sangat optimis untuk berasumsi bahwa kita akan melihat metode ini terintegrasi dalam waktu dekat – masih diperlukan beberapa tahun sebelum konsensus tercapai.


Penutup

Tanda tangan Schnorr merupakan salah satu pencapaian yang paling dinanti-nanti dalam roadmap Bitcoin saat ini. Hanya dengan satu peningkatan, dapat memberikan manfaat privasi dan skalabilitas yang signifikan. Mungkin yang lebih menarik lagi, juga mengatur perkembangan lebih lanjut dalam smart contract Bitcoin dan konstruksi yang lebih maju seperti Taproot.