Taproot Akan Datang: Apa Itu, dan Bagaimana Hal Ini Akan Menguntungkan Bitcoin

Penulis:Kebaikan, Dibuat: 2019-02-12 09:33:46, Diperbarui:

Pengguna Bitcoin mungkin, dalam waktu dekat, dapat mendapatkan keuntungan dari trik yang disebut Taproot. Pertama kali diusulkan oleh kontributor Bitcoin Core dan mantan CTO Blockstream Gregory Maxwell, Taproot akan memperluas fleksibilitas kontrak pintar Bitcoin, sambil menawarkan lebih banyak privasi dalam melakukannya. Bahkan kontrak pintar yang paling kompleks, pada blockchain, biasanya tidak dapat dibedakan dari transaksi biasa.

Meskipun merupakan usaha besar, ini bukan hanya teori. Beberapa kontributor Bitcoin Core yang paling produktif termasuk Pieter Wuille, Anthony Towns, Johnson Lau, Jonas Nick, Andrew Poelstra, Tim Ruffing, Rusty Russell dan, memang, Gregory Maxwell sedang mengerjakan proposal tanda tangan Schnorr yang akan mencakup Taproot, semuanya dalam satu peningkatan protokol.

Berikut adalah apa itu Taproot dan bagaimana cara kerjanya.

P2SH

Semua bitcoin pada dasarnya terkunci dalam skrip: beberapa baris kode yang tertanam dalam transaksi yang termasuk dalam blockchain, yang menentukan bagaimana koin dapat dibelanjakan dalam transaksi berikutnya. kondisi pengeluaran biasanya melibatkan penyediaan tanda tangan untuk membuktikan kepemilikan koin. tetapi kondisi lain yang terkenal misalnya termasuk timelocks (koin hanya dapat dibelanjakan setelah ketinggian atau tanggal blok tertentu) atau multisig (koin hanya dapat dibelanjakan jika sejumlah kunci pribadi dari seperangkat kunci pribadi memberikan tanda tangan).

Kondisi yang berbeda dapat dicampur dan dicocokkan, untuk membuat jenis kontrak pintar yang kompleks. Contoh kontrak semacam itu adalah bahwa koin dapat dibelanjakan jika kedua Alice dan Bob menandatangani, atau jika Alice saja menandatangani setelah seminggu berlalu, atau jika Bob saja menandatangani sambil juga memberikan nomor rahasia. Yang mana dari tiga kondisi ini terpenuhi terlebih dahulu, adalah bagaimana koin dibelanjakan.

Sejak tahun 2012, skrip (kondisi) sering tidak terlihat secara publik pada awalnya; hanya pemilik baru koin yang tahu bagaimana mereka dapat dibelanjakan. Hal ini dilakukan dengan trik yang disebut P2SH (bayar ke script hash), di mana awalnya hanya hash dari skrip yang dimasukkan ke dalam blockchain.

Namun, ketika koin dibelanjakan, saat ini perlu untuk mengungkapkan semua kondisi yang mungkin dapat dipenuhi termasuk kondisi yang tidak dipenuhi. Ini memiliki dua kelemahan utama. Pertama, itu berat data, terutama jika ada banyak kondisi. Dan kedua, itu buruk untuk privasi. Semua orang belajar semua cara yang berbeda di mana dana dapat dibelanjakan, yang dapat, misalnya, mengungkapkan jenis dompet yang digunakan dan mungkin bahkan lebih.

MAST

MAST (Merkelized Abstract Syntax Tree) adalah solusi yang diusulkan yang menggunakan pohon Merkle (struktur data kompak yang berusia beberapa dekade yang diciptakan oleh kriptoografer Ralph Merkle) untuk mengatasi dua kelemahan ini.

Keuntungan uniknya adalah bahwa jika salah satu data dalam pohon Merkle terungkap, akar Merkle dan beberapa data tambahan (disebut jalur Merkle) dapat digunakan untuk memverifikasi bahwa data tertentu dimasukkan ke dalam pohon Merkle.

Dengan MAST, ini berarti bahwa hanya kondisi yang terpenuhi yang perlu diungkapkan. Jika, dalam contoh awal di atas, Alice sendiri menghabiskan dana setelah seminggu, dia hanya mengungkapkan kondisi itu (dan jalur Merkle). Tidak ada yang belajar bahwa uang itu juga bisa dibelanjakan oleh Alice dan Bob bersama-sama, atau oleh Bob sendiri jika dia menambahkan nomor rahasia. Ini membuat MAST lebih efisien data daripada kontrak pintar P2SH yang kompleks dan menambahkan privasi untuk boot.

Namun dengan Schnorr, Taproot dapat melakukan lebih baik: transaksi dapat menyembunyikan bahwa struktur MAST sama sekali tidak ada.

Schnorr

Skema tanda tangan Schnorr telah lama berada di daftar keinginan banyak pengembang Bitcoin dan saat ini sedang dikembangkan untuk digunakan sebagai pembaruan protokol soft fork.

Sebagai manfaatnya yang paling terkenal dalam konteks Bitcoin, Schnorr matematika linier memungkinkan agregasi tanda tangan: beberapa tanda tangan dalam transaksi yang sama dapat dikombinasikan menjadi satu. Trik serupa dapat diterapkan pada transaksi multisig. Menggabungkan kedua kunci publik dan tanda tangan menjadi kunci publik ambang dan tanda tangan ambang , transaksi multisig dapat dibuat tidak dapat dibedakan dari transaksi biasa.

Dan skema tanda tangan dapat digunakan dengan cara yang lebih menarik. Misalnya, mungkin untuk menggunakan data untuk tweak baik kunci pribadi dan kunci publik. Sebagai contoh yang disederhanakan, kunci pribadi dan kunci publik yang sesuai dapat dimodifikasi dengan mengalikan keduanya dengan dua. kunci pribadi x 2 dan kunci publik x 2 masih akan sesuai, dan kunci pribadi x 2 masih dapat menandatangani pesan yang dapat diverifikasi dengan kunci publik x 2.

Ini yang memungkinkan Taproot.

Taproot

Taproot didasarkan pada realisasi yang menarik: tidak peduli seberapa kompleks, hampir semua konstruksi MAST dapat (atau harus) mencakup kondisi yang memungkinkan semua peserta untuk menyetujui hasil dan hanya menandatangani transaksi penyelesaian bersama. Dalam contoh sebelumnya, jika Bob tahu Alice dapat, sendiri, mengklaim semua dana minggu depan, dia mungkin juga bekerja sama dengan dia sekarang untuk menandatangani bersama. (Dalam banyak pengaturan kontrak pintar khas dia bahkan akan dihukum jika dia tidak. Kompleksitas benar-benar hanya berfungsi untuk menjaga semua orang jujur.)

Taproot menyerupai MAST dan selalu mencakup kondisi di mana semua peserta dapat bekerja sama untuk menghabiskan dana: penutupan koperasi.

Dengan menggunakan tanda tangan Schnorr, inilah yang menjadi menarik.

Pertama-tama, penutupan koperasi akan memanfaatkan trik ambang Schnorr untuk membuatnya terlihat seperti transaksi biasa, dari satu orang ke orang lain. Jadi, kunci publik semua peserta ditambahkan bersama, menghasilkan kunci publik ambang. Bersesuaian dengan kunci publik ambang ini, kombinasi semua peserta tanda tangan tanda tangan ambang mereka memungkinkan mereka untuk menghabiskan dana.

Sejauh ini baik, tapi menghabiskan dana seolah-olah itu adalah transaksi normal adalah satu-satunya hal yang bisa mereka lakukan tidak ada struktur seperti MAST belum.

Semua cara alternatif di mana dana dapat dibelanjakan hasil non-kooperatif kali ini dikombinasikan menjadi skrip yang berbeda. skrip ini, kemudian, hash dan digunakan untuk tweak ambang kunci publik. Daripada public key x 2, seperti yang digunakan dalam contoh sebelumnya, ini menghasilkan threshold public key x script. (Kami masih menyederhanakan.)

Sekarang, jika uang itu dibelanjakan secara kooperatif, semua peserta menggabungkan tanda tangan mereka ke dalam tanda tangan ambang dan mengubahnya dengan skrip. tanda tangan ambang x skrip yang dihasilkan memungkinkan mereka untuk menghabiskan dana. Namun, dan yang penting, bagi dunia luar, semua ini masih akan terlihat seperti kunci publik biasa dan tanda tangan biasa transaksi biasa.

Hanya jika penutupan koperasi terbukti mustahil, kunci publik ambang dapat ditunjukkan untuk apa itu benar-benar: tweaked.

Dalam hal ini, baik kunci publik ambang asli dan skrip terungkap. Ini membuktikan bahwa threshold public key x script telah dimodifikasi dengan skrip khusus ini. Jadi, seperti hash di P2SH, tweak membuktikan kepada dunia bahwa dana harus dapat dibelanjakan jika kondisi alternatif, seperti yang ditentukan dalam skrip ini terpenuhi. (Dan, seperti dengan P2SH, kondisi ini tentu saja segera terpenuhi untuk membelanjakan dana.)

Sebagai alternatif, alih-alih tweaking ambang kunci publik dengan skrip, ambang kunci publik dapat tweak dengan akar Merkle dari pohon Merkle yang mencakup semua kondisi yang berbeda di mana dana dapat dibelanjakan: struktur MAST. Untuk menghabiskan dana, maka, hanya kondisi pengeluaran yang telah terpenuhi yang perlu diungkapkan.

Dengan demikian, Taproot menawarkan semua manfaat dari MAST, sementara dalam keadaan normal tidak ada yang akan pernah tahu bahwa transaksi biasa menyembunyikan kontrak cerdas yang kompleks sebagai cadangan.

Ini adalah gambaran umum dari konsep Taproot; spesifikasi implementasi dapat bervariasi. Untuk rincian lebih lanjut, baca proposal Taproot asli oleh Gregory Maxwell atau tonton presentasi ini oleh Pieter Wuille.


Lebih banyak