Sumber: Bitcoin Magazine; Terjemahan: Wuzhu, Golden Finance
Rollup baru-baru ini menjadi fokus penskalaan BTC, menjadi hal pertama yang benar-benar “mencuri perhatian” dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollup dirancang untuk menjadi lapisan off-chain 2 yang tidak dibatasi atau dibatasi oleh batasan Likuiditas inti Jaringan Lighting, yaitu pengguna akhir membutuhkan seseorang untuk mengalokasikan (atau “meminjamkan”) dana di muka untuk menerima uang, atau node routing perantara membutuhkan saldo saluran untuk memfasilitasi aliran jumlah pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya berjalan di Ethereum dan sistem Turing Complete lainnya, tetapi fokus baru-baru ini telah beralih ke porting mereka ke blockchain berbasis UTXO (mis. BTC). Artikel ini tidak bermaksud membahas status quo saat ini di BTC, tetapi membahas fitur Rollup yang ideal yang telah lama dikejar, tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) secara langsung di BTC yang saat ini tidak didukung.
Arsitektur dasar dari Roll adalah sebagai berikut: satu akun tunggal (UTXO di BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini termasuk suatu komitmen, yang ada dalam bentuk akar Merkle dari pohon Merkle, yang mengkomitmenkan semua saldo saat ini dari akun-akun dalam Rollup. Semua akun ini menggunakan Kunci Publik/Kunci Pribadi untuk otorisasi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten menggunakan Kunci Rahasia. 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 unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain selama proses transaksi off-chain, jika tidak transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan akun off-chain telah diotorisasi dengan benar oleh pemegang 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 di on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka bisa menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun tanpa izin?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasi akan 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 yang ada akan mencakup saldo, 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 ulang’ dari awal Rollup untuk mengetahui status saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Ini akan menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna memastikan akses informasi yang diperlukan untuk keluar secara sepihak. Aturan rollup meminta data ini dimasukkan dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa Berlaku
Salah satu cara lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan menyimpan data di tempat lain di luar Blok. Ini memunculkan masalah yang rumit, di mana rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, secara khusus dirancang sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Hal ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke jaringan Blok BTCB, aturan Konsensus dapat memastikan kebenarannya. Namun, ketika data dipublikasikan ke sistem eksternal, yang terbaik yang dapat dilakukan adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di luar Blok-on-chain lainnya, akhirnya ini adalah masalah Mesin Oracle. Rantai 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 yang dihasilkan oleh Blok benar-benar disiarkan secara terbuka setelah pembuatan. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk 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 efektif adalah bergantung sepenuhnya pada nilai dan struktur insentif di luar BTC.
Dalam kebimbangan
Ini menimbulkan dilema bagi rollup. Ketika ada masalah ketersediaan data, pada dasarnya ada dua pilihan 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 memberikan batasan maksimal bagi skalabilitas rollup. Ruang Blok terbatas, sehingga menetapkan batasan bagi jumlah rollup yang dapat ada dalam satu waktu dan total transaksi yang dapat diproses secara off-chain di semua rollup. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan kompresi data hingga batas tertentu, dan pada titik ini tidak ada potensi skalabilitas lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas maksimum peningkatan skalabilitas, 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, maka status Rollup tidak akan berubah. Dalam menggunakan 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 mencuri dana pengguna BTCRollup dengan memproduksi Blok bukan menyiarkan Blok secara aktual, sehingga membuat data tersedia.
Jadi, jika kita benar-benar mencapai implementasi Rollup yang ideal di BTC, dan benar-benar mencapai penarikan pengguna satu arah, 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; Terjemahan: Wuzhu, Golden Finance
Rollup baru-baru ini menjadi fokus penskalaan BTC, menjadi hal pertama yang benar-benar “mencuri perhatian” dari Jaringan Lighting, dalam hal perhatian yang lebih luas. Rollup dirancang untuk menjadi lapisan off-chain 2 yang tidak dibatasi atau dibatasi oleh batasan Likuiditas inti Jaringan Lighting, yaitu pengguna akhir membutuhkan seseorang untuk mengalokasikan (atau “meminjamkan”) dana di muka untuk menerima uang, atau node routing perantara membutuhkan saldo saluran untuk memfasilitasi aliran jumlah pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya berjalan di Ethereum dan sistem Turing Complete lainnya, tetapi fokus baru-baru ini telah beralih ke porting mereka ke blockchain berbasis UTXO (mis. BTC). Artikel ini tidak bermaksud membahas status quo saat ini di BTC, tetapi membahas fitur Rollup yang ideal yang telah lama dikejar, tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) secara langsung di BTC yang saat ini tidak didukung.
Arsitektur dasar dari Roll adalah sebagai berikut: satu akun tunggal (UTXO di BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini termasuk suatu komitmen, yang ada dalam bentuk akar Merkle dari pohon Merkle, yang mengkomitmenkan semua saldo saat ini dari akun-akun dalam Rollup. Semua akun ini menggunakan Kunci Publik/Kunci Pribadi untuk otorisasi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten menggunakan Kunci Rahasia. 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 unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain selama proses transaksi off-chain, jika tidak transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan akun off-chain telah diotorisasi dengan benar oleh pemegang 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 di on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka bisa menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun tanpa izin?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasi akan 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 yang ada akan mencakup saldo, 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 ulang’ dari awal Rollup untuk mengetahui status saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Ini akan menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna memastikan akses informasi yang diperlukan untuk keluar secara sepihak. Aturan rollup meminta data ini dimasukkan dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa Berlaku
Salah satu cara lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan menyimpan data di tempat lain di luar Blok. Ini memunculkan masalah yang rumit, di mana rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, secara khusus dirancang sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Hal ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke jaringan Blok BTCB, aturan Konsensus dapat memastikan kebenarannya. Namun, ketika data dipublikasikan ke sistem eksternal, yang terbaik yang dapat dilakukan adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di luar Blok-on-chain lainnya, akhirnya ini adalah masalah Mesin Oracle. Rantai 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 yang dihasilkan oleh Blok benar-benar disiarkan secara terbuka setelah pembuatan. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk 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 efektif adalah bergantung sepenuhnya pada nilai dan struktur insentif di luar BTC.
Dalam kebimbangan
Ini menimbulkan dilema bagi rollup. Ketika ada masalah ketersediaan data, pada dasarnya ada dua pilihan 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 memberikan batasan maksimal bagi skalabilitas rollup. Ruang Blok terbatas, sehingga menetapkan batasan bagi jumlah rollup yang dapat ada dalam satu waktu dan total transaksi yang dapat diproses secara off-chain di semua rollup. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan kompresi data hingga batas tertentu, dan pada titik ini tidak ada potensi skalabilitas lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas maksimum peningkatan skalabilitas, 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, maka status Rollup tidak akan berubah. Dalam menggunakan 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 mencuri dana pengguna BTCRollup dengan memproduksi Blok bukan menyiarkan Blok secara aktual, sehingga membuat data tersedia.
Jadi, jika kita benar-benar mencapai implementasi Rollup yang ideal di BTC, dan benar-benar mencapai penarikan pengguna satu arah, bagaimana itu akan terjadi?