Rollups telah menjadi fokus perluasan BTC baru-baru ini, menjadi sesuatu yang benar-benar mengambil perhatian dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terikat atau terbatas oleh batasan inti Likuiditas Jaringan Lighting, yaitu pengguna akhir perlu memiliki dana yang dialokasikan (atau “dipinjamkan”) sebelumnya untuk menerima pembayaran, atau Node routing tengah perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya dijalankan di Ethereum dan sistem Turing Complete lainnya, tetapi akhir-akhir ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas status implementasi saat ini di BTC, tetapi membahas fitur Rollup yang ideal yang telah lama dicari oleh orang-orang, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk secara langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Arsitektur dasar Roll adalah sebagai berikut: Satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi komitmen yang ada dalam bentuk akar Merkle dari pohon Merkle, yang mewakili saldo saat ini dari semua akun yang ada di Rollup. Semua akun ini diverifikasi menggunakan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu dalam melakukan pengeluaran off-chain. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, dengan hanya perlu membuktikan bahwa akun mereka adalah bagian dari pohon Merkle, sehingga mereka dapat keluar dari Rollup secara unilateral tanpa memerlukan izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain saat menyelesaikan transaksi off-chain dengan benar, transaksi tidak akan valid tanpa ZKP ini dan oleh karena itu tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan pada akun off-chain telah diotorisasi dengan benar oleh pemilik akun, dan bahwa operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau secara tidak jujur mengalokasikannya ulang ke pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka bisa menempatkan cabang mereka di pohon sehingga mereka dapat keluar kapan pun tanpa izin?
Rollup yang tepat
Dalam Rollup yang tepat, setiap kali ada transaksi off-chain baru yang dikonfirmasi dan status Rollup akun berubah, informasinya akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi yang sederhana, ringkasan semua akun yang ada di Rollup akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi pembaruan Rollup.
Dalam implementasi yang lebih maju, varians keseimbangan digunakan. Ini pada dasarnya adalah ringkasan akun mana yang mengalami peningkatan atau penurunan pendanaan selama proses pembaruan. Hal ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang telah terjadi. Pengguna kemudian dapat dengan mudah memindai rantai dan “menghitung” dari awal Rollup untuk mendapatkan keadaan saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar dari satu sisi. Aturan rollup mengharuskan data-data ini dimasukkan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap tidak valid.
Masa Berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data pengambilan pengguna adalah dengan meletakkan data di tempat lain di luar Blok rantai. Ini memperkenalkan masalah yang halus, rollup masih perlu memastikan dengan tegas bahwa data tersedia di tempat lain. Secara tradisional, Blok rantai lain digunakan untuk tujuan ini, dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Hal ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTC, aturan Konsensus dapat memastikan kebenarannya mutlak. Namun, ketika dipublikasikan ke sistem eksternal, yang terbaik yang bisa dilakukannya adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di luar on-chain bukti, akhirnya ini adalah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Bloknya sendiri di chain, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup dalam Blok setelah dihasilkan benar-benar disiarkan secara terbuka. Tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu menciptakan komitmen terhadap data yang dipublikasikan dan menggunakannya untuk memajukan rollup, tetapi data sebenarnya tidak tersedia. Ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi yang benar-benar adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Dalam kebimbangan
Ini menghadirkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, ada pilihan biner apakah akan mempublikasikan data di blockchain BTC atau di tempat lain. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlockchain sebagai lapisan ketersediaan data akan memberikan batas maksimal yang keras untuk skalabilitas rollup. Ruang Block terbatas, yang menetapkan batas atas jumlah rollup yang dapat ada pada satu waktu dan jumlah total transaksi yang dapat diproses off-chain untuk semua rollup. Setiap kali pembaruan rollup diperlukan ruang Block yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan data dikompresi dalam tingkat tertentu, dan pada titik ini, tidak ada potensi ekspansi lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghapus batasan keras dari peningkatan skala, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang perlu diekstraksi oleh pengguna tidak dipublikasikan secara otomatis ke blockchain, maka status Rollup tidak akan berubah. Dengan menggunakan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, produsen Blok apa pun di sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok bukannya benar-benar menyiarkan Blok tersebut, sehingga data tersedia.
Jadi, jika kami benar-benar mencapai implementasi Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan satu arah pengguna, bagaimana itu akan terjadi?
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Bitcoin Magazine: Apa kesulitan yang dihadapi oleh Rollup?
Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, Jinse Finance
Rollups telah menjadi fokus perluasan BTC baru-baru ini, menjadi sesuatu yang benar-benar mengambil perhatian dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terikat atau terbatas oleh batasan inti Likuiditas Jaringan Lighting, yaitu pengguna akhir perlu memiliki dana yang dialokasikan (atau “dipinjamkan”) sebelumnya untuk menerima pembayaran, atau Node routing tengah perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya dijalankan di Ethereum dan sistem Turing Complete lainnya, tetapi akhir-akhir ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas status implementasi saat ini di BTC, tetapi membahas fitur Rollup yang ideal yang telah lama dicari oleh orang-orang, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk secara langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Arsitektur dasar Roll adalah sebagai berikut: Satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi komitmen yang ada dalam bentuk akar Merkle dari pohon Merkle, yang mewakili saldo saat ini dari semua akun yang ada di Rollup. Semua akun ini diverifikasi menggunakan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu dalam melakukan pengeluaran off-chain. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, dengan hanya perlu membuktikan bahwa akun mereka adalah bagian dari pohon Merkle, sehingga mereka dapat keluar dari Rollup secara unilateral tanpa memerlukan izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain saat menyelesaikan transaksi off-chain dengan benar, transaksi tidak akan valid tanpa ZKP ini dan oleh karena itu tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan pada akun off-chain telah diotorisasi dengan benar oleh pemilik akun, dan bahwa operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau secara tidak jujur mengalokasikannya ulang ke pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka bisa menempatkan cabang mereka di pohon sehingga mereka dapat keluar kapan pun tanpa izin?
Rollup yang tepat
Dalam Rollup yang tepat, setiap kali ada transaksi off-chain baru yang dikonfirmasi dan status Rollup akun berubah, informasinya akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi yang sederhana, ringkasan semua akun yang ada di Rollup akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi pembaruan Rollup.
Dalam implementasi yang lebih maju, varians keseimbangan digunakan. Ini pada dasarnya adalah ringkasan akun mana yang mengalami peningkatan atau penurunan pendanaan selama proses pembaruan. Hal ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang telah terjadi. Pengguna kemudian dapat dengan mudah memindai rantai dan “menghitung” dari awal Rollup untuk mendapatkan keadaan saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar dari satu sisi. Aturan rollup mengharuskan data-data ini dimasukkan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap tidak valid.
Masa Berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data pengambilan pengguna adalah dengan meletakkan data di tempat lain di luar Blok rantai. Ini memperkenalkan masalah yang halus, rollup masih perlu memastikan dengan tegas bahwa data tersedia di tempat lain. Secara tradisional, Blok rantai lain digunakan untuk tujuan ini, dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Hal ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTC, aturan Konsensus dapat memastikan kebenarannya mutlak. Namun, ketika dipublikasikan ke sistem eksternal, yang terbaik yang bisa dilakukannya adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di luar on-chain bukti, akhirnya ini adalah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Bloknya sendiri di chain, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup dalam Blok setelah dihasilkan benar-benar disiarkan secara terbuka. Tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu menciptakan komitmen terhadap data yang dipublikasikan dan menggunakannya untuk memajukan rollup, tetapi data sebenarnya tidak tersedia. Ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi yang benar-benar adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Dalam kebimbangan
Ini menghadirkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, ada pilihan biner apakah akan mempublikasikan data di blockchain BTC atau di tempat lain. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlockchain sebagai lapisan ketersediaan data akan memberikan batas maksimal yang keras untuk skalabilitas rollup. Ruang Block terbatas, yang menetapkan batas atas jumlah rollup yang dapat ada pada satu waktu dan jumlah total transaksi yang dapat diproses off-chain untuk semua rollup. Setiap kali pembaruan rollup diperlukan ruang Block yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan data dikompresi dalam tingkat tertentu, dan pada titik ini, tidak ada potensi ekspansi lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghapus batasan keras dari peningkatan skala, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang perlu diekstraksi oleh pengguna tidak dipublikasikan secara otomatis ke blockchain, maka status Rollup tidak akan berubah. Dengan menggunakan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, produsen Blok apa pun di sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok bukannya benar-benar menyiarkan Blok tersebut, sehingga data tersedia.
Jadi, jika kami benar-benar mencapai implementasi Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan satu arah pengguna, bagaimana itu akan terjadi?