Blockchain

Membangun di Taproot: Kumpulan Pembayaran Bisa Menjadi Protokol Lapisan Dua Bitcoin Berikutnya

Artikel ini membahas tentang konsep teknologi berdasarkan usulan peningkatan protokol Taproot. Jika Anda belum terbiasa dengan dasar-dasar cara kerja Taproot, Anda disarankan untuk membaca terlebih dahulu penjelas ini.

Akar tunggang, potensi peningkatan pada protokol Bitcoin yang pertama kali diusulkan oleh kontributor Bitcoin Core Gregory Maxwell, sedang dalam tahap akhir pengembangan. Teknologi ini terdiri dari kombinasi cerdas trik-kripto yang akan memungkinkan pengguna menyembunyikan kontrak pintar yang kompleks di dalam transaksi yang tampak biasa - kerumitan hanya akan terungkap jika pihak-pihak dalam kontrak tidak kooperatif.

Memanfaatkan ide ini, kontributor Bitcoin Core termasuk (tetapi tidak terbatas pada) Jeremy Rubin, Antoine Riard, Gleb Naumenko dan Gregory Maxwell sendiri telah berspekulasi tentang konsep umum yang disebut sebagai kolam pembayaran, joinpools atau kolam koin. Kumpulan ini - kami akan tetap menyebutnya sebagai kumpulan pembayaran untuk saat ini - akan memungkinkan kelompok pengguna berbagi kepemilikan koin yang sama (secara teknis: UTXO) seperti yang tercatat di blockchain Bitcoin, sambil membiarkan pengguna ini melakukan (atau menerima) pembayaran dengan mereka. Saat grup dan masing-masing anggotanya “bersembunyi” dalam struktur Taproot, semuanya menikmati lebih banyak privasi, fleksibilitas kontrak pintar, dan manfaat lainnya… dan mereka bahkan berpotensi menikmati manfaat ini secara off-chain, menjadikan kolam pembayaran sebagai solusi Layer Dua yang baru.

Meskipun spesifikasi desain sedikit berbeda dari satu proposal Pool Pembayaran ke proposal berikutnya, konsep umumnya sama. Inilah ide dasarnya…

Berbagi Koin

Pertama, untuk membuat kolam pembayaran, pengguna menggabungkan (pecahan) koin mereka dengan menggabungkannya dalam alamat Taproot yang dibagikan di antara mereka. Jadi, misalkan Alice memiliki tiga koin, Bob memiliki dua koin dan Carol memiliki satu koin, dengan total enam. Bersama-sama, mereka membuat transaksi yang mengirim koin ini ke alamat bersama, menjadikannya kolam pembayaran dengan enam koin.

Di blockchain, alamat pool pembayaran terlihat seperti alamat Bitcoin biasa, sekarang memiliki enam koin. Tapi di bawah permukaan, Alice, Bob dan Carol dengan cerdik menggunakan Taproot untuk memastikan bahwa masing-masing dari mereka tetap mengendalikan bagian koin mereka sendiri di pool pembayaran. Alice kapan saja dapat mengklaim tiga koin dari alamat itu, Bob dapat kapan saja mengklaim dua dan Carol satu.

Ini karena hanya ada dua opsi utama untuk membelanjakan koin dari alamat tersebut.

Opsi pertama adalah membelanjakan langsung dari alamat, dalam istilah teknis jalur kunci Taproot. Ini membutuhkan kerjasama (yaitu: tanda tangan kriptografi) dari ketiga partisipan. Jika Alice, Bob, dan Carol semuanya setuju, keenam koin dapat dibelanjakan sesuka mereka, dan ini akan terlihat seperti transaksi reguler lainnya di jaringan Bitcoin. Trio tersebut misalnya dapat memutuskan untuk mengirim saldo masing-masing kembali ke alamat masing-masing: tiga untuk Alice, dua untuk Bob dan satu untuk Carol. Tetapi jika mereka mau, mereka juga dapat bekerja sama untuk menyumbangkan keenam koin kepada Julian, atau membelanjakannya dengan cara lain yang mungkin mereka sepakati. Yang penting ketiganya perlu berpartisipasi, jadi tidak ada keseimbangan yang dihabiskan tanpa kerja samanya.

Opsi utama kedua sebenarnya terdiri dari beberapa sub-opsi. Sebelum mengirim koin mereka ke kolam pembayaran, Alice, Bob dan Carol menyembunyikan sesuatu di pohon kriptografi di belakang alamat Taproot: mereka memasukkan cara alternatif untuk mengirim dana dari kolam pembayaran. (Saat ini, hal ini dapat direalisasikan dengan meminta ketiga peserta menandatangani transaksi dari jalur ini, yang akan membutuhkan beberapa kerumitan untuk mengatur semua opsi dan tidak berskala dengan baik; peningkatan protokol yang diusulkan berpotensi membuat ini lebih mudah di masa depan .)

Jika salah satu peserta memilih untuk menghabiskan koin di kolam pembayaran melalui jalur Taproot alternatif, mereka biasanya akan mengirimkan jumlah yang sesuai dengan saldo peserta tersebut ke alamat yang mereka pilih, seperti alamat individu yang mereka kontrol. (Dalam kasus Alice, tiga koin ke alamatnya sendiri, dalam kasus Bob dua ke alamatnya dan dalam kasus Carol satu.)

Dengan menggunakan jalur alternatif ini, koin yang tersisa secara otomatis juga dihabiskan. Ini dapat dilakukan dengan beberapa cara tergantung pada desain kumpulan pembayaran, menawarkan pengorbanan yang berbeda dalam hal kompleksitas dan skalabilitas.

Solusi paling sederhana adalah mengirimkan koin kepada setiap peserta lain, ke alamat yang mereka pilih. Dengan kata lain: jika satu pengguna keluar dari kolam, semua orang keluar dari kolam.

Solusi kedua, disukai oleh Riard dan Naumenko, adalah mengirim semua koin yang tersisa ke a yang baru kumpulan pembayaran, yang terlihat persis seperti kumpulan pembayaran pertama, baru saja dilepaskan dari apa pun yang melibatkan pengguna yang sekarang sudah keluar. Desain ini menawarkan pengalaman pengguna terbaik, tetapi yang paling sulit untuk diskalakan, yang terpenting karena itu perlu untuk mempersiapkan semua kemungkinan skenario keluar, termasuk semua kemungkinan skenario keluar untuk semua potensi pool baru. Namun, skala dapat dicapai dengan peningkatan protokol Bitcoin potensial yang belum disebutkan namanya untuk memastikan bahwa aturan dari kumpulan pembayaran sebelumnya dibawa ke setiap kumpulan pembayaran baru.

Rubin percaya bahwa solusi kedua ini tidak praktis, dan lebih memilih untuk melakukan sesuatu di antara solusi pertama dan kedua: beberapa peserta segera menerima koin mereka ke alamat yang mereka pilih, peserta lain meminta koin mereka dikirim ke kolam pembayaran baru. Desain ini menawarkan pengalaman pengguna yang kurang ideal, tetapi akan diskalakan lebih baik, dan potensi peningkatan protokol OP_CHECKTEMPLATEVERIFY akan membantu menyederhanakan desain dan meningkatkan skala lebih banyak lagi. (Keluar akan terjadi melalui Pembayaran Pohon; jenis pembayaran ini dieksplorasi lebih lanjut di artikel ini.)

(Ada lebih banyak pengorbanan antara solusi kedua dan ketiga, tetapi detail dari semua pro dan kontra berada di luar cakupan artikel ini; baca diskusi milis bitcoin-dev untuk spesifik.)

Untuk melihat apa artinya ketika sisa koin dikirim ke kolam pembayaran baru, katakanlah Alice, Bob dan Carol memilih opsi kedua, di mana semua koin yang tersisa dikirim ke kolam pembayaran baru. Jika dalam desain ini Alice keluar dari kolam pembayaran pertama, tiga koin dikirim ke alamat yang dipilihnya, sementara tiga koin lainnya dikirim ke kolam pembayaran baru antara Bob dan Carol. Alice pada saat itu memiliki kendali tunggal atas koinnya sendiri lagi, sementara tidak banyak yang berubah untuk Bob dan Carol. Keduanya masih dapat bekerja sama untuk menghabiskan tiga koin yang tersisa sesuka mereka, atau salah satu dari mereka dapat keluar secara sepihak, seperti yang telah dilakukan Alice sebelumnya.

Jika Bob kemudian keluar secara sepihak dari kolam pembayaran kedua, dia mengirim dua koin ke alamat yang dia pilih, dan satu koin ke kolam pembayaran yang lebih baru (yang ketiga) dengan hanya Carol yang tersisa. (Tentu saja, dalam contoh yang disederhanakan ini, desain di mana kumpulan pembayaran terakhir ini diganti dengan alamat yang dipilih Carol sebenarnya akan lebih masuk akal, tetapi itu adalah detail implementasi.)

Hal yang penting adalah bahwa peserta dalam pool pembayaran dapat bekerja sama untuk melakukan jenis pembayaran apa pun dari pool yang mereka inginkan, sementara salah satu dari mereka dapat keluar kapan saja dengan koin mereka sendiri, sehingga peserta lain dapat mengontrol koin mereka.

Menempatkan Pembayaran Dalam Kolam Pembayaran

Jadi, kami telah menetapkan bahwa semua peserta dapat menarik saldo mereka satu per satu dari kumpulan pembayaran, atau - jika mereka semua setuju - membelanjakan dari kumpulan. Opsi kedua inilah yang benar-benar memungkinkan sesuatu yang pintar: kumpulan pembayaran bisa dinamis. Selama semua peserta setuju, mereka tidak dapat hanya mengembalikan dana mereka sendiri, atau membayar orang lain (seperti Julian), tetapi mereka dapat melakukan sesuatu yang lebih menarik. Mereka dapat memindahkan dana mereka ke versi kolam pembayaran yang lebih baru, dengan desain yang berbeda.

Ini misalnya memungkinkan salah satu dari mereka menghabiskan uang dari kolam.

Lihat Juga

Sebagai Taproot, protokol konsensus terbaru berubah, mendekati aktivasi, pengembang Bitcoin bertanya bagaimana tepatnya jaringan harus ditingkatkan.

Katakanlah Alice membeli mobil baru, dan ingin membayarnya dengan satu bitcoin. Alice, Bob dan Carol kemudian dapat membuat transaksi dari kolam pembayaran yang mengirimkan satu koin ke dealer mobil, dan mengirimkan lima koin yang tersisa ke sebuah yang baru kolam pembayaran yang terlihat sama dengan yang pertama, kecuali kali ini Alice hanya dapat keluar darinya secara sepihak dengan dua koin, satu lebih sedikit dari sebelumnya.

Transaksi tersebut, sementara itu, tampak seperti transaksi Bitcoin biasa lainnya. Dealer mobil (atau mata-mata blockchain) dapat menyimpulkan bahwa Alice memiliki semua enam koin dan hanya menggunakan satu untuk membeli mobil, dan menyimpan lima lainnya sebagai kembalian. Mereka tidak akan tahu bahwa beberapa koin itu milik Bob dan Carol, atau bahwa mereka terlibat dalam transaksi sama sekali.

Lain kali, ketika Bob melakukan pembayaran dan Alice serta Carol bekerja sama, pembayaran itu dilakukan dari kumpulan pembayaran yang sama, sekali lagi terlihat seperti transaksi Bitcoin biasa ke dunia luar. Dalam iterasi yang dihasilkan dari kumpulan pembayaran, Bob dapat keluar dengan satu koin, bukan dua. Sementara itu, mata-mata blockchain yang sama mungkin mengira Alice melakukan pembayaran lagi, sehingga membingungkan mereka lebih jauh. (Dan bahkan jika mata-mata blockchain entah bagaimana mengetahui bahwa alamat tersebut benar-benar merupakan kumpulan pembayaran antara Alice, Bob, dan Carol, mereka masih tidak dapat membedakan mana dari ketiganya yang melakukan pembayaran terakhir.)

Setiap kali Alice, Bob, atau Carol membelanjakan koin, transaksi mungkin berasal dari salah satu dari mereka, dan tidak ada orang di luar kelompok pembayaran yang dapat membedakannya.

Kolam pembayaran tidak hanya memungkinkan untuk pembelanjaan. Jika Alice ingin menambah “saldo” nya di kolam pembayaran, dia juga bisa melakukan ini. Alice, Bob dan Carol dalam hal ini akan bekerja sama untuk memindahkan lima koin saat ini ke alamat Taproot baru, di mana Alice dalam transaksi yang sama akan mengirim satu koin tambahan dari salah satu alamatnya (individu). Alamat Taproot baru sekali lagi akan berisi enam koin, tiga di antaranya milik Alice, sebagaimana tercermin dalam opsi keluar sepihaknya.

Dengan cara yang sama, pengguna yang benar-benar baru juga dapat bergabung dengan pool pembayaran. Jika Alice, Bob, dan Carol setuju untuk mengizinkan Dave berpartisipasi, mereka bertiga bekerja sama dengan Dave untuk membuat transaksi yang mengirimkan dana kumpulan pembayaran bersama dengan koin baru Dave ke kolam pembayaran baru, yang dirancang untuk juga membiarkan Dave mengambil bagian - dan keluar jika dia memilih demikian.

Selain itu, ada opsi bagi peserta dalam kolam pembayaran untuk saling membayar. Jika Alice misalnya akan membayar Bob satu koin, ketiganya dapat bekerja sama untuk mengirim dana ke kolam pembayaran baru di mana Alice memiliki koin yang dikurangi dari saldonya dan Bob menambahkan koin. Di blockchain, sekali lagi, ini akan terlihat seperti pembayaran biasa, dan mata-mata blockchain tidak akan tahu siapa yang membayar siapa, atau berapa banyak. (Perlu diketahui bahwa Dave dapat dengan cara serupa memasuki kumpulan, dengan menerima pembayaran internal dari salah satu peserta yang ada.)

Dengan sedikit kerumitan ekstra (dan idealnya dengan setidaknya satu peningkatan protokol Bitcoin tambahan Tidak ada masukan), transfer bahkan dapat diselesaikan secara off-chain juga. Ketika Alice membayar Bob, semua peserta dalam hal ini akan membuat transaksi yang membelanjakan dana ke kolam pembayaran baru yang sama, tetapi transaksi ini hanya akan dibagikan di antara mereka - tidak disiarkan ke jaringan (kecuali seseorang pernah mencoba untuk menipu). Dengan cara ini, Alice, Bob, dan Carol dapat terus memperbarui keseimbangan mereka "secara internal", dan bahkan membiarkan Dave masuk ke dalam kolam di beberapa titik. Saat mereka semua setuju untuk menutup kumpulan, mereka dapat membuat transaksi akhir yang menghabiskan dari kumpulan pembayaran awal, memberikan saldo terbaru masing-masing.

Mirip dengan ide lama yang dikenal sebagai Pabrik Channel, jenis kumpulan pembayaran ini pada akhirnya bahkan dapat digunakan untuk menghosting saluran Lightning, vault, atau protokol Lapisan Dua lainnya sendiri. Ini mungkin menawarkan potensi untuk "membungkus" semua jenis lapisan protokol tambahan dalam kumpulan tersebut, sehingga menyembunyikan semua kerumitannya dalam transaksi yang identik dan tampak biasa.

Sumber: https://bitcoinmagazine.com/articles/building-on-taproot-payment-pools-could-be-bitcoins-next-layer-two-protocol?utm_source=rss&utm_medium=rss&utm_campaign=building-on-taproot-payment- pool-could-be-bitcoins-next-layer-two-protocol