Taproot Hadir Di Bitcoin: Cara Kerja, Sejarah, dan Implikasinya Intelijen Data Blockchain. Pencarian Vertikal. ai.

Taproot Hadir di Bitcoin: Cara Kerja, Sejarah, dan Implikasinya

Taproot Hadir Di Bitcoin: Cara Kerja, Sejarah, dan Implikasinya Intelijen Data Blockchain. Pencarian Vertikal. ai.

Tanda tangan Taproot dan Schnorr akan ditayangkan di Bitcoin di blok 709,632. Ini akan menjadi pencapaian dasar yang besar untuk terus dibangun di masa depan. Sudah empat tahun sejak Segregated Witness ditayangkan di jaringan, peningkatan protokol utama terakhir kami. Itu selama siklus separuh!

Berpikir tentang itu. Empat tahun dari SegWit ditayangkan hingga Taproot ditayangkan. Lambat, kesabaran metodis, sebagaimana mestinya. Tapi sejarah Taproot/Schnorr kembali lebih jauh dari itu.

Sejarah akar tunggang

Beberapa orang yang sudah lama berada di sini mungkin menganggap ini ironis, tetapi penyebutan pertama tanda tangan Schnorr yang saya ketahui sebenarnya berasal dari mantan pengembang Bitcoin Core yang berubah menjadi pembuat blockchain perusahaan, Mike Hearn. Pada 2012, dia diangkat gagasan kurva kriptografi baru dalam kaitannya dengan verifikasi batch tanda tangan untuk membuat validasi node lebih murah secara komputasi. Pada akhirnya, skema yang dia usulkan bergantung pada tanda tangan Schnorr.

Adam Back sedang mendiskusikan naif skema untuk melakukan alamat multisig yang tampak seperti alamat singlesig pada tahun 2014, menggunakan tanda tangan Schnorr. Bahkan Gavin Andresen termasuk Schnorr bukannya ECDSA pada daftar keinginannya tentang perubahan yang akan dia buat pada Bitcoin jika dia bisa melambaikan tongkat ajaib.

Sejak awal Bitcoin, sebagian besar pengembang yang secara aktif terlibat dalam Bitcoin Core menginginkan tanda tangan Schnorr, dan selalu ada konsensus yang cukup kuat tentang keunggulan mereka dibandingkan tanda tangan ECDSA. Bahkan dapat dikatakan bahwa ECDSA dibuat secara khusus karena skema tanda tangan Schnorr dipatenkan, dan ada kebutuhan besar untuk skema tanda tangan kriptografi sumber terbuka yang tidak dibebani oleh paten.

Schnorr jauh lebih efisien dan mudah dimanipulasi (hal-hal dapat ditambahkan, dikurangi, dll dari tanda tangan, dan jika dilakukan dengan benar, masih dapat meninggalkan pengguna dengan tanda tangan yang valid ketika mereka seharusnya memilikinya) daripada ECDSA. Menggunakan ECDSA adalah masalah kebutuhan daripada keinginan di sebagian besar aplikasi kriptografi selama bertahun-tahun.

Merkelized Abstract Syntax Trees (MAST), bagian Taproot dari upgrade Taproot yang akan datang ini, memiliki sejarah lama yang serupa. Saya tidak dapat menemukan kutipannya, tetapi saya cukup ingat dengan jelas melihat frasa yang dilontarkan oleh orang-orang seperti Peter Todd di Bitcointalk.org sekitar tahun 2013 atau 2014.

Asli BIP untuk MAST diusulkan oleh Johnson Lau pada tahun 2016. Proposal ini juga melihat beberapa aktivitas sekitar tahun 2017 ketika Mark Friedenbach, BTCDrak dan Kalle Alm memecahnya menjadi dua BIP terpisah (116 dan 117) dan memperluas proposal asli Lau.

Jenis MAST duduk-duduk dalam limbo untuk tahun berikutnya sampai Greg Maxwell datang dengan ide awal Taproot dan diterbitkan ke milis bitcoin-dev. Wawasan utamanya adalah bahwa dalam kasus kontrak apa pun antara banyak peserta yang dapat dia pikirkan, ada โ€œhasil optimalโ€ di mana kontrak dapat diselesaikan oleh semua orang hanya dengan menandatangani hasil yang sesuai alih-alih memaksakan hasil dengan skrip dan transaksi yang lebih canggih. Ini adalah pernyataan dasar yang menjadi dasar Taproot, yaitu, mengutak-atik pohon MAST ke kunci tingkat atas biasa yang dapat digunakan tanpa mengungkapkan apakah pohon Merkle dari kondisi pengeluaran lain benar-benar ada.

Bagian kecil terakhir dari pelajaran sejarah ini dimulai dengan Pieter Wiulle mengumumkan draft BIP untuk Schnorr dan Taproot bersama-sama ke milis pada 6 Mei 2019. Pada Januari 2020, ini secara resmi diselesaikan menjadi BIP 340, 341 dan 342. Mulai saat ini, hanya ada banyak penyempurnaan detail kecil di tingkat implementasi, beberapa periode peninjauan, dan kemudian perpanjangan waktu. memperebutkan mekanisme aktivasi. Itu membawa kita ke sekarang, hanya malu untuk aktivasi.

Pentingnya Tanda Tangan Schnorr

Jadi, apa masalahnya dengan tanda tangan Schnorr? Nah, untuk memulai, mereka membuat transaksi lebih kecil. Tanda tangan ECDSA biasanya berukuran sekitar 72 byte untuk satu tanda tangan dalam suatu transaksi. Tanda tangan Schnorr masuk maksimal 64 byte per tanda tangan. Itu penghematan sekitar 12% dibandingkan dengan ECDSA untuk setiap tanda tangan Schnorr. Ini adalah manfaat langsung bagi orang yang menggunakan Schnorr yang akan membayar lebih sedikit biaya daripada pengguna ECDSA, tetapi ini juga merupakan manfaat langsung bagi orang yang tidak menggunakan Schnorr dengan meminta sedikit lebih sedikit data disimpan di blockchain untuk memproses dan memvalidasi Schnorr orang lain. tanda tangan.

Menyimpan lebih sedikit data selalu baik, tetapi yang lebih baik lagi adalah meningkatkan efisiensi validasi data yang harus Anda simpan. Salah satu properti bagus dari Schnorr, linearitas matematika di belakangnya, juga memungkinkan properti bagus yang Anda inginkan dalam data Bitcoin: validasi batch. Saat node Anda menerima blok dari jaringan, node tersebut mem-parsing setiap transaksi individual dan memvalidasi setiap tanda tangan satu per satu.

Ini adalah bagian besar mengapa memvalidasi blok menghabiskan banyak daya CPU. Tanda tangan Schnorr dapat digabungkan bersama dan divalidasi secara matematis sekaligus, seperti menghancurkannya bersama-sama dan melakukan satu operasi matematika alih-alih sekelompok yang individual. Jadi, semakin banyak tanda tangan Schnorr, semakin besar penghematan komputasinya. Ini adalah kemenangan skala besar untuk jaringan.

Peningkatan besar lainnya yang dibawa Schnorr adalah pada skrip multisignature. Setiap alamat multisig harus secara eksplisit mengungkapkan semua kunci publik individu yang terlibat dalam skrip multisig pada waktu pengeluaran, dan tanda tangan harus disediakan untuk setiap kunci yang terlibat dalam proses pengeluaran. Dengan sifat matematika Schnorr, pintu terbuka untuk MuSig, standar multisignature. Anda cukup menambahkan kunci bersama-sama dan berakhir dengan satu kunci publik yang dapat ditandatangani oleh semua orang yang berbagi kunci pribadi untuk menggunakan protokol tanda tangan baru. Jonas Nick dari Blockstream benchmark MuSig2 dalam waktu dua menit untuk satu juta peserta dalam alamat multisig untuk ditandatangani. Peningkatan skala untuk skrip multisignature tidak dapat diremehkan.

Lompatan besar ke depan untuk skrip multisignature ini juga memiliki implikasi besar untuk profil privasi dan biaya banyak aplikasi yang dibangun di atas Bitcoin. Saluran Lightning berbasis MuSig sekarang dapat berbaur ke seluruh rangkaian anonimitas Schnorr/Taproot UTXO pada rantai karena tidak ada yang akan dapat membedakan fakta bahwa mereka adalah keluaran multisig dua-dari-dua lagi.

Mereka akan berbaur dan terlihat seperti skrip tanda tangan tunggal. Hal yang sama berlaku untuk UTXO multisig pada umumnya. Ini akan memiliki banyak implikasi bagi orang-orang yang menggunakan skrip multisignature untuk melindungi penyimpanan dingin mereka dengan lebih baik dengan model keamanan dan pemulihan yang lebih kuat daripada skrip tanda tangan tunggal.

Pertama, tidak akan terlihat jelas bahwa mereka menggunakan pengaturan multisig dengan melihat blockchain, jadi ini akan, seperti dalam kasus Lightning, membuat mereka berbaur dengan yang lainnya. Namun, kemenangan utama adalah dalam hal ekonomi: menggunakan multisignature saat ini memerlukan pemberian tanda tangan terpisah untuk setiap kunci yang terlibat dalam pengeluaran UTXO. Dengan Schnorr/MuSig, segala sesuatunya akan dikompresi menjadi satu tanda tangan untuk kunci publik gabungan tunggal, yang berarti membelanjakan UTXO multisig menggunakan MuSig akan menjadi jauh lebih murah karena mendorong lebih sedikit data ke blockchain.

Satu hal keren terakhir yang dilakukan tanda tangan Schnorr adalah menyederhanakan implementasi tanda tangan adaptor secara drastis. Pikirkan tanda tangan adaptor yang "dienkripsi" dengan nilai yang telah ditambahkan atau dikurangi dari tanda tangan yang valid. Itu tidak valid sampai Anda membalikkan operasi matematika itu, atau "mendekripsinya" dengan "kunci" yang digunakan untuk memanipulasinya. Ini dimungkinkan dengan ECDSA, tetapi karena matematikanya non-linier dibandingkan dengan Schnorr, ini relatif rumit dan ada banyak masalah keamanan yang perlu dipertimbangkan dalam mengimplementasikannya.

Karena properti linier Schnorr, tanda tangan adaptor sesederhana mengambil satu (misalnya, angka 9,300,030) dan mengurangi nilai darinya (katakanlah 30). Setelah pihak yang memegang tanda tangan adaptor mempelajari nilai yang dikurangi, mereka dapat dengan mudah menambahkannya kembali dan voila, mereka memiliki tanda tangan yang valid lagi.

Implikasi dari akar tunggang

Seperti dibahas sedikit di atas, Taproot pada kenyataannya pada dasarnya hanya MAST, kecuali alih-alih berfungsi seperti P2SH (di mana Anda melakukan hash skrip, atau dalam kasus MAST, root Merkle dari atas pohon skrip), Anda "tweak" a Kunci publik Schnorr dengan akar pohon Merkle.

Tweaking berfungsi karena properti linier Schnorr โ€” ketika Anda "mengubah" kunci publik dengan root Merkle (menambahkan root Merkle ke kunci publik), maka Anda cukup menambahkan root Merkle ke kunci pribadi asli dan menghasilkan kunci pengeluaran untuk kunci publik tweak baru. Yaitu, Anda menambahkan hal yang sama ke kunci publik dan pribadi, dan keduanya masih merupakan pasangan kunci yang valid. Ini menyembunyikan keberadaan pohon MAST, kecuali jika cabangnya digunakan, tetapi pada dasarnya itu masih hanya pohon MAST, hanya satu yang berkomitmen dengan cara yang lebih efisien dan pribadi.

Kemampuan untuk berkomitmen pada skrip pengeluaran yang berbeda di pohon Merkle dan hanya mengungkapkan skrip yang digunakan adalah kemenangan skalabilitas besar-besaran dalam hal kompleksitas kontrak pintar yang mungkin dibangun di atas Bitcoin.

Sama seperti bagaimana ukuran blok membatasi jumlah transaksi per blok, ada batasan ukuran transaksi sebesar 100 kilobyte. Satu-satunya perbedaan adalah bahwa alih-alih menjadi aturan konsensus, ini adalah aturan kebijakan. Itu berarti penambang dapat menambang transaksi yang lebih besar dari 100 kilobyte, tetapi secara default, tidak ada node di jaringan yang akan menyampaikan transaksi yang lebih besar dari itu ke penambang.

Ini secara inheren membatasi ukuran skrip yang digunakan untuk mengunci UTXO Bitcoin. Bahkan dengan P2SH, di mana UTXO dikunci ke hash skrip yang tidak terungkap sampai Anda menghabiskannya, Anda akhirnya masih harus mengungkapkan skrip lengkap pada waktu yang dihabiskan. Taproot meningkatkan batas skalabilitas skrip ini dengan tidak mengharuskan Anda untuk mengungkapkan seluruh skrip saat Anda menggunakannya. Alih-alih ukuran total dari semua cara Anda dapat membelanjakan UTXO dibatasi pada batas ukuran transaksi, Anda hanya perlu memastikan bahwa setiap cara Anda dapat membelanjakan UTXO Taproot menghormati batasan ini.

Ada juga banyak manfaat privasi yang menyertai Taproot. Salah satu manfaat besar dari pohon MAST adalah kemampuan untuk menciptakan segala macam situasi bersyarat di mana koin dapat dihabiskan oleh pihak lain.

Bayangkan hal-hal seperti skema warisan di mana setelah satu tahun atau lebih anak-anak Anda dapat menghabiskan koin Anda, atau jika Anda menolak untuk menandatangani, istri dan pengacara Anda memiliki jalur potensial untuk memulihkan koin. Tidak ada tentang kondisi pengeluaran ini yang diungkapkan kepada publik kecuali jika benar-benar digunakan. Proses dua kali lipat ini memberikan penyangkalan yang masuk akal bagi pihak lain yang terlibat dalam cabang pengeluaran berbeda yang Anda buat untuk keterlibatan mereka dalam UTXO itu, serta melindungi mereka dari pencuri atau penyerang yang secara pre-emptive menargetkan mereka mengetahui bahwa mereka memiliki beberapa tingkat kendali atas mereka. UTXO target.

Pada tingkat teknis, Taproot juga telah direkayasa dengan relatif baik. Siapapun yang membaca yang akrab dengan Saksi Terpisah pada tingkat yang dalam harus akrab dengan versi saksi.

Ketika Saksi Terpisah diimplementasikan, itu menciptakan bagian "saksi" baru dari transaksi tempat data tanda tangan dipindahkan. Data saksi memiliki tanda versi sehingga dapat ditingkatkan ke fungsionalitas baru tanpa harus menggunakan OP_CODE yang tidak ditentukan pada lapisan dasar untuk fitur baru.

Ini sebenarnya bagaimana Taproot/Schnorr telah diimplementasikan. Transaksi Saksi Terpisah menggunakan saksi versi nol. Ketika Taproot/Schnorr ditayangkan segera, mereka akan menggunakan versi saksi baru untuk membedakan mereka dari transaksi Saksi Terpisah yang lebih lama. Dengan cara yang sama seperti SegWit memperkenalkan versi saksi, Taproot memperkenalkan "versi tapleaf" untuk skrip tap yang digunakan di pohon MAST untuk UTXO menggunakan Taproot. Ini tidak hanya memungkinkan skrip yang terkubur di MAST untuk dimutakhirkan tanpa menggunakan OP_CODE baru di lapisan dasar, tetapi juga tanpa harus memutakhirkan versi saksi juga! Jadi Taproot dirancang agar seefisien mungkin untuk meningkatkan di masa mendatang tanpa membatasi pemutakhiran lain yang tidak terkait dengan protokol.

Taproot akan membawa banyak kasus penggunaan yang bervariasi. Untuk memulai, semua klausa non-kooperatif dalam saluran Lightning seperti kunci penalti, atau kunci waktu untuk memungkinkan mereka digunakan, dapat dikubur di bawah MAST dengan Taproot. Tidak ada yang akan pernah tahu mereka ada kecuali mereka perlu digunakan, semakin mengaburkan UTXO mana yang sebenarnya merupakan saluran Lightning atau bukan.

Skema pewarisan adalah kasus penggunaan lain. Bayangkan sebuah pohon Taproot disusun sehingga setelah enam bulan Anda tidak memindahkan uang Anda, seluruh keluarga Anda dapat berkumpul dan membelanjakan UTXO sesuka mereka. Kemudian, enam bulan kemudian, setiap orang dikurangi satu orang dapat membelanjakannya (jadi bayangkan jika Anda memiliki istri, dua anak, dan orang tua sebagai pemegang kunci, maka bayangkan setelah enam bulan ekstra, istri, satu anak, dan orang tua Anda dapat menandatangani , atau dua anak dan orang tua Anda dapat menandatangani tanpa istri Anda, dan seterusnya).

Kemudian, enam bulan setelah itu, semua orang dikurangi dua orang bisa membelanjakannya. Akhirnya, itu bisa menjadi hanya satu orang dengan bantuan seorang pengacara (untuk memastikan tidak ada kejahatan yang terjadi) yang dapat menghabiskan UTXO.

Atau, bagaimana jika Anda menggunakan multisig untuk mengamankan cold storage Anda, tetapi Anda hanya memiliki satu tempat yang Anda anggap aman dan dapat diprediksi dalam jangka panjang? Anda dapat membuat MAST di mana akhirnya, setelah beberapa tahun, kunci di lokasi yang aman itu dapat menghabiskan koin itu sendiri, untuk berjaga-jaga jika kunci lain hilang atau hancur, tetapi tanpa menempatkan koin Anda segera pada risiko pencurian di masa sekarang jika itu satu kunci dikompromikan.

Ini adalah peningkatan yang luar biasa dan komprehensif untuk Bitcoin yang bisa dibilang telah bekerja sejak hampir kelahiran Bitcoin itu sendiri, bukan hanya beberapa tahun terakhir di mana detail implementasi sebenarnya telah dikerjakan dan diimplementasikan.

Ini benar-benar kemenangan dalam banyak hal untuk skalabilitas dan utilitas protokol Bitcoin yang sulit untuk disampaikan karena betapa halus dan "tidak seksi" beberapa di antaranya. Tapi itu tidak mengurangi kemenangan. Jadi, semua orang terikat dan siap bermain dengan mainan baru yang akan segera kita gunakan, karena Taproot akan datang!

Ini adalah posting tamu oleh Shinobi. Pendapat yang diungkapkan sepenuhnya milik mereka sendiri dan tidak mencerminkan pendapat BTC Inc atau Majalah Bitcoin.

Sumber: https://bitcoinmagazine.com/technical/bitcoin-taproot-explainer

Stempel Waktu:

Lebih dari Majalah Bitcoin