Sumber: Bitcoin Magazine; Terjemahan: Wuzhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus perluasan BTC, menjadi sesuatu yang benar-benar mencuri perhatian dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terbatas atau terikat oleh Likuiditas inti Jaringan Lighting, yang berarti pengguna akhir perlu memiliki dana yang dialokasikan (atau ‘dipinjam’) di depan untuk menerima pembayaran, atau Node perantara perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya berjalan 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 implementasi saat ini di BTC, tetapi membahas fungsi idealisasi Rollup yang telah lama dicari, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) langsung di BTC saat ini tidak mendukung.
Arsitektur dasar dari Roll adalah sebagai berikut: satu akun tunggal (UTXO di BTC) menyimpan saldo semua pengguna di Rollup. UTXO ini berisi komitmen yang hadir dalam bentuk root Merkle tree, berkomitmen pada semua saldo saat ini dari akun yang ada di Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga untuk mengeluarkan pengeluaran off-chain, pengguna masih harus menandatangani sesuatu dengan Kunci Rahasia. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, hanya dengan membuat transaksi membuktikan bahwa akun mereka adalah bagian dari Merkle tree, mereka dapat keluar dari Rollup tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chain saldo akun merkle root selama proses transaksi off-chain. Tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan terhadap akun off-chain telah mendapatkan otorisasi yang tepat dari pemilik akun, dan apakah 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 secara on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka bisa menempatkan cabang mereka di dalam pohon, sehingga mereka dapat keluar tanpa izin kapan pun mereka mau?
Rollup yang Sesuai
Dalam Rollup yang sesuai, setiap kali transaksi off-chain baru dikonfirmasi dan status Rollupakun berubah, informasi langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi hanya informasi yang diperlukan untuk membangun ulang pohon. Dalam implementasi 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 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 biaya yang besar dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses ke informasi yang diperlukan untuk keluar satu arah. Aturan rollup memerlukan data ini disertakan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, sehingga transaksi tanpa ringkasan akun atau perbedaan akun dianggap tidak valid.
Masa Berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar rantai Blok. Ini memperkenalkan masalah yang halus, rollup masih perlu memastikan 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.
Ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTC, aturan Konsensus dapat memastikan bahwa itu benar-benar benar. Namun, ketika itu dipublikasikan ke sistem eksternal, yang terbaik yang dapat dilakukannya adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lain, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Bloknya sendiri on-chain, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup Blok setelah dibuat benar-benar disiarkan secara terbuka. Itu tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu menciptakan janji terhadap data yang akan dirilis dan menggunakannya untuk mendorong rollup, tetapi pada kenyataannya data tersebut tidak tersedia. Hal ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Buntu
Ini menimbulkan dilema bagi rollup. Ketika berurusan dengan masalah ketersediaan data, ada pilihan biner untuk mempublikasikan data ke rantai blok BTC atau tempat lainnya. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlockchain sebagai lapisan ketersediaan data akan memberikan batasan keras pada skalabilitas rollup. Ruang Blockchain terbatas, yang membatasi jumlah rollup yang dapat ada dalam satu waktu dan total transaksi yang dapat ditangani off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blockchain yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan data dikompresi hingga tingkat tertentu, sehingga tidak ada potensi ekspansi lebih lanjut pada titik ini.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan atas skalabilitas peningkatan, 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 secara otomatis dipublikasikan ke blockchain, status Rollup tidak akan berubah. Dengan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan penyembunyian data.
Saat ini, produsen Blok apa pun di sistem ketersediaan data eksternal dapat menculik dana pengguna BTCRollup dengan memproduksi Blok daripada secara aktif menyiarkan Blok tersebut, sehingga membuat data tersedia.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, yang benar-benar memungkinkan penarikan unilatera pengguna, bagaimana hal 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 kendala yang dihadapi oleh Rollup?
Sumber: Bitcoin Magazine; Terjemahan: Wuzhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus perluasan BTC, menjadi sesuatu yang benar-benar mencuri perhatian dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terbatas atau terikat oleh Likuiditas inti Jaringan Lighting, yang berarti pengguna akhir perlu memiliki dana yang dialokasikan (atau ‘dipinjam’) di depan untuk menerima pembayaran, atau Node perantara perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya berjalan 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 implementasi saat ini di BTC, tetapi membahas fungsi idealisasi Rollup yang telah lama dicari, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) langsung di BTC saat ini tidak mendukung.
Arsitektur dasar dari Roll adalah sebagai berikut: satu akun tunggal (UTXO di BTC) menyimpan saldo semua pengguna di Rollup. UTXO ini berisi komitmen yang hadir dalam bentuk root Merkle tree, berkomitmen pada semua saldo saat ini dari akun yang ada di Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga untuk mengeluarkan pengeluaran off-chain, pengguna masih harus menandatangani sesuatu dengan Kunci Rahasia. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, hanya dengan membuat transaksi membuktikan bahwa akun mereka adalah bagian dari Merkle tree, mereka dapat keluar dari Rollup tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chain saldo akun merkle root selama proses transaksi off-chain. Tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan terhadap akun off-chain telah mendapatkan otorisasi yang tepat dari pemilik akun, dan apakah 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 secara on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka bisa menempatkan cabang mereka di dalam pohon, sehingga mereka dapat keluar tanpa izin kapan pun mereka mau?
Rollup yang Sesuai
Dalam Rollup yang sesuai, setiap kali transaksi off-chain baru dikonfirmasi dan status Rollupakun berubah, informasi langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi hanya informasi yang diperlukan untuk membangun ulang pohon. Dalam implementasi 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 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 biaya yang besar dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses ke informasi yang diperlukan untuk keluar satu arah. Aturan rollup memerlukan data ini disertakan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, sehingga transaksi tanpa ringkasan akun atau perbedaan akun dianggap tidak valid.
Masa Berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar rantai Blok. Ini memperkenalkan masalah yang halus, rollup masih perlu memastikan 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.
Ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTC, aturan Konsensus dapat memastikan bahwa itu benar-benar benar. Namun, ketika itu dipublikasikan ke sistem eksternal, yang terbaik yang dapat dilakukannya adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lain, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Bloknya sendiri on-chain, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup Blok setelah dibuat benar-benar disiarkan secara terbuka. Itu tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu menciptakan janji terhadap data yang akan dirilis dan menggunakannya untuk mendorong rollup, tetapi pada kenyataannya data tersebut tidak tersedia. Hal ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Buntu
Ini menimbulkan dilema bagi rollup. Ketika berurusan dengan masalah ketersediaan data, ada pilihan biner untuk mempublikasikan data ke rantai blok BTC atau tempat lainnya. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlockchain sebagai lapisan ketersediaan data akan memberikan batasan keras pada skalabilitas rollup. Ruang Blockchain terbatas, yang membatasi jumlah rollup yang dapat ada dalam satu waktu dan total transaksi yang dapat ditangani off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blockchain yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan data dikompresi hingga tingkat tertentu, sehingga tidak ada potensi ekspansi lebih lanjut pada titik ini.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan atas skalabilitas peningkatan, 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 secara otomatis dipublikasikan ke blockchain, status Rollup tidak akan berubah. Dengan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan penyembunyian data.
Saat ini, produsen Blok apa pun di sistem ketersediaan data eksternal dapat menculik dana pengguna BTCRollup dengan memproduksi Blok daripada secara aktif menyiarkan Blok tersebut, sehingga membuat data tersedia.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, yang benar-benar memungkinkan penarikan unilatera pengguna, bagaimana hal itu akan terjadi?