Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wuzhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus perluasan BTC, menjadi hal pertama yang benar-benar mencuri perhatian dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollups bertujuan menjadi lapisan kedua off-chain yang tidak terbatas atau dibatasi oleh Likuiditas inti Jaringan Lighting, yang berarti pengguna akhir perlu memiliki dana dialokasikan (atau ‘dipinjam’) terlebih dahulu 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 (misalnya BTC). Artikel ini tidak bermaksud membahas status implementasi saat ini di BTC, tetapi membahas fungsionalitas Rollup yang ideal yang telah lama dicari, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk secara langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Struktur dasar dari Roll adalah sebagai berikut: satu akun tunggal (dalam BTC disebut UTXO) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini mengandung suatu 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 diberi otorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu agar dapat melakukan pengeluaran off-chain. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, hanya dengan membuat bukti transaksi bahwa akun mereka adalah bagian dari pohon Merkle, mereka dapat keluar dari Rollup secara sepihak tanpa perlu izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chainakun merkle root saldo off-chain, jika tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blokchain. 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 dengan tidak jujur mendistribusikannya ulang kepada pengguna lainnya.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain yang dapat dilihat dan diakses oleh pengguna, maka bagaimana mereka dapat menempatkan cabang mereka di dalam pohon agar dapat keluar kapan pun tanpa izin?
Rollup yang Sesuai
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasinya langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi sederhana, ringkasan akun Rollup akan memuat saldo untuk semua akun yang ada dalam Rollup, dan akun hanya ditambahkan dalam transaksi pembaruan Rollup.
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 dapat dengan mudah memindai rantai dan ‘menghitung kembali’ dari awal Rollup untuk mengetahui status saldo akun saat ini, yang memungkinkan mereka membangun kembali pohon Merkle saldo akun saat ini.
Dengan cara ini, pengguna dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan informasi yang diperlukan untuk keluar secara sepihak. Aturan rollup memerlukan data ini untuk dimasukkan ke dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa Berlaku
Metode lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar Blok. Ini memunculkan masalah yang rumit, rollup masih perlu memastikan bahwa data tetap tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, secara khusus dirancang sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke Blok BTCB, aturan Konsensus dapat menjamin kebenarannya secara mutlak. Namun, ketika data tersebut dipublikasikan ke sistem eksternal, yang dapat dilakukan hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan bukti data ada di luar on-chain, akhirnya ini adalah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Bloknya sendiri, yang terbaik yang bisa dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup Blok setelah dihasilkan benar-benar disiarkan secara terbuka. Itu tidak bisa memverifikasi apakah informasi eksternal benar-benar terbuka untuk semua orang.
Ini membuka pintu untuk serangan penahanan data, yaitu membuat komitmen terhadap data yang dipublikasikan dan menggunakannya untuk mendorong rollup, tetapi data sebenarnya tidak tersedia. Ini mengakibatkan pengguna tidak dapat menarik dana. Satu-satunya solusi yang benar-benar efektif adalah bergantung sepenuhnya pada nilai dan struktur insentif di luar BTC.
Dilemma
Ini memberikan dilema bagi rollup. Ketika datang ke masalah ketersediaan data, ada pilihan biner untuk mempublikasikan data ke rantai blok BTC atau tempat lainnya. Pilihan ini memiliki dampak signifikan pada keamanan dan kedaulatan rollup serta skalabilitasnya.
Di satu sisi, menggunakan BTCBlok Blockchain sebagai lapisan ketersediaan data akan memberikan batasan absolut pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batasan pada jumlah rollup yang dapat ada dalam satu waktu dan total transaksi yang dapat ditangani off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya mengizinkan data untuk dikompresi hingga suatu tingkat tertentu, di mana tidak ada potensi perluasan lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas atas peningkatan skalabilitas yang kaku, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin diekstraksi oleh pengguna tidak dipublikasikan secara otomatis ke dalam blockchain, maka status Rollup tidak akan berubah. Dalam Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok tanpa harus secara aktif menyiarkan Blok tersebut, sehingga membuat data tersedia.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, dengan 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 Kendala yang Dihadapi oleh Rollup?
Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wuzhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus perluasan BTC, menjadi hal pertama yang benar-benar mencuri perhatian dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollups bertujuan menjadi lapisan kedua off-chain yang tidak terbatas atau dibatasi oleh Likuiditas inti Jaringan Lighting, yang berarti pengguna akhir perlu memiliki dana dialokasikan (atau ‘dipinjam’) terlebih dahulu 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 (misalnya BTC). Artikel ini tidak bermaksud membahas status implementasi saat ini di BTC, tetapi membahas fungsionalitas Rollup yang ideal yang telah lama dicari, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk secara langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Struktur dasar dari Roll adalah sebagai berikut: satu akun tunggal (dalam BTC disebut UTXO) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini mengandung suatu 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 diberi otorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu agar dapat melakukan pengeluaran off-chain. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, hanya dengan membuat bukti transaksi bahwa akun mereka adalah bagian dari pohon Merkle, mereka dapat keluar dari Rollup secara sepihak tanpa perlu izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chainakun merkle root saldo off-chain, jika tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blokchain. 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 dengan tidak jujur mendistribusikannya ulang kepada pengguna lainnya.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain yang dapat dilihat dan diakses oleh pengguna, maka bagaimana mereka dapat menempatkan cabang mereka di dalam pohon agar dapat keluar kapan pun tanpa izin?
Rollup yang Sesuai
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasinya langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi sederhana, ringkasan akun Rollup akan memuat saldo untuk semua akun yang ada dalam Rollup, dan akun hanya ditambahkan dalam transaksi pembaruan Rollup.
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 dapat dengan mudah memindai rantai dan ‘menghitung kembali’ dari awal Rollup untuk mengetahui status saldo akun saat ini, yang memungkinkan mereka membangun kembali pohon Merkle saldo akun saat ini.
Dengan cara ini, pengguna dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan informasi yang diperlukan untuk keluar secara sepihak. Aturan rollup memerlukan data ini untuk dimasukkan ke dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa Berlaku
Metode lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar Blok. Ini memunculkan masalah yang rumit, rollup masih perlu memastikan bahwa data tetap tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, secara khusus dirancang sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke Blok BTCB, aturan Konsensus dapat menjamin kebenarannya secara mutlak. Namun, ketika data tersebut dipublikasikan ke sistem eksternal, yang dapat dilakukan hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan bukti data ada di luar on-chain, akhirnya ini adalah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Bloknya sendiri, yang terbaik yang bisa dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup Blok setelah dihasilkan benar-benar disiarkan secara terbuka. Itu tidak bisa memverifikasi apakah informasi eksternal benar-benar terbuka untuk semua orang.
Ini membuka pintu untuk serangan penahanan data, yaitu membuat komitmen terhadap data yang dipublikasikan dan menggunakannya untuk mendorong rollup, tetapi data sebenarnya tidak tersedia. Ini mengakibatkan pengguna tidak dapat menarik dana. Satu-satunya solusi yang benar-benar efektif adalah bergantung sepenuhnya pada nilai dan struktur insentif di luar BTC.
Dilemma
Ini memberikan dilema bagi rollup. Ketika datang ke masalah ketersediaan data, ada pilihan biner untuk mempublikasikan data ke rantai blok BTC atau tempat lainnya. Pilihan ini memiliki dampak signifikan pada keamanan dan kedaulatan rollup serta skalabilitasnya.
Di satu sisi, menggunakan BTCBlok Blockchain sebagai lapisan ketersediaan data akan memberikan batasan absolut pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batasan pada jumlah rollup yang dapat ada dalam satu waktu dan total transaksi yang dapat ditangani off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya mengizinkan data untuk dikompresi hingga suatu tingkat tertentu, di mana tidak ada potensi perluasan lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas atas peningkatan skalabilitas yang kaku, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin diekstraksi oleh pengguna tidak dipublikasikan secara otomatis ke dalam blockchain, maka status Rollup tidak akan berubah. Dalam Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok tanpa harus secara aktif menyiarkan Blok tersebut, sehingga membuat data tersedia.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, dengan benar-benar mewujudkan penarikan unilateral pengguna, bagaimana itu akan terjadi?