Menu Close

Protokol Lapisan Dua Bitcoin Berikutnya? – Majalah Bitcoin

Protokol Lapisan Dua Bitcoin Berikutnya? - Majalah Bitcoin

Artikel ini membahas tentang konsep teknologi berdasarkan usulan peningkatan protokol Taproot. Jika Anda belum terbiasa dengan dasar-dasar cara kerja Taproot, sebaiknya Anda 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 pintar 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 grup 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 cerdas, 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 ke Julian, atau membelanjakannya dengan cara lain yang mungkin mereka sepakati. Yang penting ketiganya perlu berpartisipasi, jadi tidak ada keseimbangan yang dihabiskan tanpa kerjasamanya sendiri.

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 diwujudkan dengan meminta ketiga peserta menandatangani transaksi sebelumnya dari jalur ini, yang akan memerlukan 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 membelanjakan 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 digunakan. Hal ini dapat dilakukan dengan beberapa cara bergantung pada desain kumpulan pembayaran, menawarkan pengorbanan yang berbeda terkait dengan 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, yang disukai oleh Riard dan Naumenko, adalah mengirim semua koin yang tersisa ke a baru kumpulan pembayaran, yang terlihat persis seperti kumpulan pembayaran pertama, baru saja dilucuti 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 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 penerapan.)

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 – belanja dari kumpulan. Opsi kedua inilah yang benar-benar memungkinkan sesuatu yang cerdas: kumpulan pembayaran bisa dinamis. Selama semua peserta setuju, mereka tidak dapat hanya membayar sendiri dana mereka, 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 dari kolam.

Lihat juga

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

Misalkan 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 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, saat Bob melakukan pembayaran dan Alice serta Carol bekerja sama, pembayaran tersebut 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 tersebut mungkin berasal dari salah satu dari mereka, dan tidak ada orang di luar kumpulan pembayaran yang dapat membedakannya.

Kumpulan pembayaran tidak hanya memungkinkan untuk pembelanjaan. Jika Alice ingin menambah "saldo" 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 alamat (individu) miliknya. Alamat Taproot yang 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 kumpulan 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 diperhatikan bahwa Dave dapat dengan cara yang sama 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 Noinput), 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 asli, memberikan setiap saldo terbaru mereka.

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.