Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wu Zhu, Golden Finance
Rollups telah menjadi fokus peningkatan kapasitas BTC baru-baru ini, menjadi sesuatu yang benar-benar mengambil perhatian dari Jaringan Lighting, dan menjadi lebih luas dalam perhatian. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terbatas oleh batasan atau pembatasan Likuiditas inti Jaringan Lighting, di mana pengguna akhir perlu memiliki dana yang dialokasikan terlebih dahulu (atau ‘dipinjam’) agar dapat menerima pembayaran, atau Node routing perantara harus memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima selama seluruh proses.
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 (misalnya BTC). Artikel ini tidak bermaksud untuk membahas status implementasi saat ini di BTC, tetapi untuk membahas fitur idealisasi Rollup yang telah lama dikejar oleh orang, yang bergantung pada kemampuan yang tidak didukung saat ini oleh BTC, yaitu kemampuan untuk memverifikasi Zero-Knowledge Proof (ZKP) secara langsung di BTC.
Arsitektur dasar Roll adalah sebagai berikut: satu akun (UTXO dalam BTC) menyimpan saldo dari semua pengguna dalam Rollup. UTXO ini berisi komitmen dalam bentuk root Merkle tree yang mewakili semua saldo akun yang ada dalam Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menandatangani beberapa konten dengan Kunci Rahasia untuk melakukan pengeluaran off-chain. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, dengan hanya membuktikan transaksi bahwa akun mereka adalah bagian dari Merkle tree, mereka dapat keluar dari Rollup secara unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain melalui root merkle selama proses transaksi off-chain, jika tidak transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan akun off-chain telah diotorisasi dengan benar oleh pemilik akun, dan bahwa operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau dengan 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 akan menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan saja tanpa izin?
Rollup yang Tepat
Dalam Rollup yang sesuai, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollupakun 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 dari semua akun yang ada di Rollup akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
Dalam implementasi yang lebih canggih, gunakan perbedaan saldo akun. Pada dasarnya ini adalah ringkasan dari akun mana yang menambah atau mengurangi dana selama proses pembaruan. Ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang terjadi. Kemudian, pengguna bisa dengan mudah memindai rantai dan ‘menghitung’ dari awal Rollup untuk mengetahui status saldo akun saat ini, ini memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo akun saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses ke informasi yang diperlukan untuk keluar satu sisi. Aturan rollup memerlukan data ini dimasukkan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, yaitu transaksi tanpa ringkasan akun atau perbedaan akun dianggap sebagai transaksi tidak valid.
Masa Berlaku
Salah satu cara lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar Blok. Ini memperkenalkan masalah halus di mana rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan sejenisnya.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke BTCBlok, aturan Konsensus dapat menjamin kebenarannya. Namun, ketika data dipublikasikan ke sistem eksternal, yang dapat dilakukan hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan bukti data ada di on-chain lain, akhirnya ini adalah sebuah isu Mesin Oracle. Blok Bitcoin tidak bisa sepenuhnya memverifikasi apa pun kecuali yang terjadi di Blok on-chain sendiri, yang terbaik yang bisa dilakukan adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup pada Blok setelah dibuat benar-benar disiarkan secara terbuka. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk serangan retensi data, yaitu menciptakan janji terhadap data yang dipublikasikan dan menggunakannya untuk memajukan rollup, tetapi data sebenarnya tidak tersedia. Ini mengakibatkan 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 dua pilihan biner dalam dasarnya untuk mempublikasikan data ke blockchain BTC atau tempat lain. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan menetapkan batas maksimum pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas pada jumlah rollup yang dapat ada pada satu waktu dan total transaksi yang dapat diproses off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan data dikompresi hingga tingkat tertentu, dan di titik ini, tidak ada potensi skala lebih lanjut.
Di sisi lain, penggunaan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas atas keuntungan skalabilitas yang kaku, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin diekstrak oleh pengguna tidak secara otomatis dipublikasikan ke blockchain, maka status Rollup tidak akan berubah. Dalam Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk menahan penipuan dan pengelabuan data.
Sekarang, produsen Blok mana pun pada sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok daripada menyiarkan Blok tersebut secara aktual, sehingga data tersedia.
Jadi, jika kita benar-benar berhasil menerapkan Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan unilateral 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 Hambatan yang Dihadapi oleh Rollup?
Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wu Zhu, Golden Finance
Rollups telah menjadi fokus peningkatan kapasitas BTC baru-baru ini, menjadi sesuatu yang benar-benar mengambil perhatian dari Jaringan Lighting, dan menjadi lebih luas dalam perhatian. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terbatas oleh batasan atau pembatasan Likuiditas inti Jaringan Lighting, di mana pengguna akhir perlu memiliki dana yang dialokasikan terlebih dahulu (atau ‘dipinjam’) agar dapat menerima pembayaran, atau Node routing perantara harus memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima selama seluruh proses.
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 (misalnya BTC). Artikel ini tidak bermaksud untuk membahas status implementasi saat ini di BTC, tetapi untuk membahas fitur idealisasi Rollup yang telah lama dikejar oleh orang, yang bergantung pada kemampuan yang tidak didukung saat ini oleh BTC, yaitu kemampuan untuk memverifikasi Zero-Knowledge Proof (ZKP) secara langsung di BTC.
Arsitektur dasar Roll adalah sebagai berikut: satu akun (UTXO dalam BTC) menyimpan saldo dari semua pengguna dalam Rollup. UTXO ini berisi komitmen dalam bentuk root Merkle tree yang mewakili semua saldo akun yang ada dalam Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menandatangani beberapa konten dengan Kunci Rahasia untuk melakukan pengeluaran off-chain. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, dengan hanya membuktikan transaksi bahwa akun mereka adalah bagian dari Merkle tree, mereka dapat keluar dari Rollup secara unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain melalui root merkle selama proses transaksi off-chain, jika tidak transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan akun off-chain telah diotorisasi dengan benar oleh pemilik akun, dan bahwa operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau dengan 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 akan menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan saja tanpa izin?
Rollup yang Tepat
Dalam Rollup yang sesuai, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollupakun 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 dari semua akun yang ada di Rollup akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
Dalam implementasi yang lebih canggih, gunakan perbedaan saldo akun. Pada dasarnya ini adalah ringkasan dari akun mana yang menambah atau mengurangi dana selama proses pembaruan. Ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang terjadi. Kemudian, pengguna bisa dengan mudah memindai rantai dan ‘menghitung’ dari awal Rollup untuk mengetahui status saldo akun saat ini, ini memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo akun saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses ke informasi yang diperlukan untuk keluar satu sisi. Aturan rollup memerlukan data ini dimasukkan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, yaitu transaksi tanpa ringkasan akun atau perbedaan akun dianggap sebagai transaksi tidak valid.
Masa Berlaku
Salah satu cara lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar Blok. Ini memperkenalkan masalah halus di mana rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan sejenisnya.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke BTCBlok, aturan Konsensus dapat menjamin kebenarannya. Namun, ketika data dipublikasikan ke sistem eksternal, yang dapat dilakukan hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan bukti data ada di on-chain lain, akhirnya ini adalah sebuah isu Mesin Oracle. Blok Bitcoin tidak bisa sepenuhnya memverifikasi apa pun kecuali yang terjadi di Blok on-chain sendiri, yang terbaik yang bisa dilakukan adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup pada Blok setelah dibuat benar-benar disiarkan secara terbuka. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk serangan retensi data, yaitu menciptakan janji terhadap data yang dipublikasikan dan menggunakannya untuk memajukan rollup, tetapi data sebenarnya tidak tersedia. Ini mengakibatkan 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 dua pilihan biner dalam dasarnya untuk mempublikasikan data ke blockchain BTC atau tempat lain. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan menetapkan batas maksimum pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas pada jumlah rollup yang dapat ada pada satu waktu dan total transaksi yang dapat diproses off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan data dikompresi hingga tingkat tertentu, dan di titik ini, tidak ada potensi skala lebih lanjut.
Di sisi lain, penggunaan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas atas keuntungan skalabilitas yang kaku, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin diekstrak oleh pengguna tidak secara otomatis dipublikasikan ke blockchain, maka status Rollup tidak akan berubah. Dalam Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk menahan penipuan dan pengelabuan data.
Sekarang, produsen Blok mana pun pada sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok daripada menyiarkan Blok tersebut secara aktual, sehingga data tersedia.
Jadi, jika kita benar-benar berhasil menerapkan Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan unilateral pengguna, bagaimana itu akan terjadi?