Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, 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-sistem Turing Complete lainnya, tetapi akhir-akhir ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud untuk membahas keadaan implementasi saat ini di BTC, tetapi membahas fitur Rollup ideal yang telah lama dikejar orang, yang bergantung pada kemampuan ZKP (Zero-Knowledge Proof) yang tidak didukung saat ini oleh BTC.
Arsitektur dasar Roll adalah sebagai berikut: satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi komitmen dalam bentuk akar Merkle dari pohon Merkle, yang mewakili saldo saat ini dari semua akun yang ada di dalam Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, oleh karena itu 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 membuktikan bahwa akun mereka adalah bagian dari pohon Merkle, mereka dapat keluar dari Rollup secara sepihak tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain saat menyelesaikan transaksi off-chain dengan benar, jika tanpa ZKP, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan pada saldo akun off-chain telah diotorisasi dengan benar oleh pemilik akun, dan apakah operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau secara tidak jujur mengalokasikannya ulang kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun tanpa izin?
Rollup yang Sesuai
Dalam Rollup yang tepat, setiap kali transaksi off-chain baru 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 ulang pohon. Dalam implementasi yang sederhana, ringkasan akun Rollup yang ada akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
Dalam implementasi yang lebih tinggi, menggunakan perbedaan saldo. Pada dasarnya ini adalah ringkasan dana yang ditambahkan atau dikurangi dari akun selama proses pembaruan. Ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang terjadi. Kemudian, pengguna dapat dengan mudah memindai rantai dan ‘menghitung’ dari awal Rollup untuk mendapatkan status saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna memastikan akses informasi yang diperlukan untuk keluar sepihak. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, yaitu transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi tidak valid.
Periode berlaku
Salah satu cara lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan menempatkan data di tempat lain di luar Blok. Ini menghadirkan masalah yang rumit, rollup masih perlu memastikan bahwa data tetap tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTCB, aturan Konsensus dapat menjamin kebenarannya secara mutlak. Namun, ketika data tersebut dipublikasikan ke sistem eksternal, yang dapat dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di luar Blok on-chain lainnya, 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 bisa dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak bisa memverifikasi apakah Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dibuat. Ini tidak bisa memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk serangan penahanan data, yaitu membuat janji terhadap data yang dipublikasikan dan menggunakan rollup untuk mendorongnya, tetapi data sebenarnya tidak tersedia. Ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah sepenuhnya bergantung pada nilai dan struktur insentif di luar BTC.
Dalam kebimbangan
Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, pada dasarnya ada pilihan biner 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 Blockchain sebagai lapisan ketersediaan data akan memberikan batasan maksimal yang keras pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas pada jumlah rollup yang dapat ada pada satu waktu dan total jumlah transaksi yang dapat diproses di off-chain. 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 pada titik ini, tidak ada lagi potensi ekspansi.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan keras dari manfaat skalabilitas, tetapi juga menimbulkan masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk ketersediaan data, jika data yang ingin diambil oleh pengguna tidak secara otomatis dipublikasikan ke blockchain, maka status Rollup tidak akan berubah. Dengan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, produsen Blok mana pun di sistem ketersediaan data eksternal dapat memanfaatkan dana pengguna BTCRollup dengan memproduksi Blok daripada benar-benar menyiar Blok tersebut.
Jadi, jika kita benar-benar berhasil menerapkan implementasi Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan unilateral 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 Saja Kendala yang Dihadapi oleh Rollup?
Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, 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-sistem Turing Complete lainnya, tetapi akhir-akhir ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud untuk membahas keadaan implementasi saat ini di BTC, tetapi membahas fitur Rollup ideal yang telah lama dikejar orang, yang bergantung pada kemampuan ZKP (Zero-Knowledge Proof) yang tidak didukung saat ini oleh BTC.
Arsitektur dasar Roll adalah sebagai berikut: satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi komitmen dalam bentuk akar Merkle dari pohon Merkle, yang mewakili saldo saat ini dari semua akun yang ada di dalam Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, oleh karena itu 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 membuktikan bahwa akun mereka adalah bagian dari pohon Merkle, mereka dapat keluar dari Rollup secara sepihak tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain saat menyelesaikan transaksi off-chain dengan benar, jika tanpa ZKP, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan pada saldo akun off-chain telah diotorisasi dengan benar oleh pemilik akun, dan apakah operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau secara tidak jujur mengalokasikannya ulang kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun tanpa izin?
Rollup yang Sesuai
Dalam Rollup yang tepat, setiap kali transaksi off-chain baru 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 ulang pohon. Dalam implementasi yang sederhana, ringkasan akun Rollup yang ada akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
Dalam implementasi yang lebih tinggi, menggunakan perbedaan saldo. Pada dasarnya ini adalah ringkasan dana yang ditambahkan atau dikurangi dari akun selama proses pembaruan. Ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang terjadi. Kemudian, pengguna dapat dengan mudah memindai rantai dan ‘menghitung’ dari awal Rollup untuk mendapatkan status saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna memastikan akses informasi yang diperlukan untuk keluar sepihak. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, yaitu transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi tidak valid.
Periode berlaku
Salah satu cara lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan menempatkan data di tempat lain di luar Blok. Ini menghadirkan masalah yang rumit, rollup masih perlu memastikan bahwa data tetap tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTCB, aturan Konsensus dapat menjamin kebenarannya secara mutlak. Namun, ketika data tersebut dipublikasikan ke sistem eksternal, yang dapat dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di luar Blok on-chain lainnya, 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 bisa dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak bisa memverifikasi apakah Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dibuat. Ini tidak bisa memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk serangan penahanan data, yaitu membuat janji terhadap data yang dipublikasikan dan menggunakan rollup untuk mendorongnya, tetapi data sebenarnya tidak tersedia. Ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah sepenuhnya bergantung pada nilai dan struktur insentif di luar BTC.
Dalam kebimbangan
Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, pada dasarnya ada pilihan biner 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 Blockchain sebagai lapisan ketersediaan data akan memberikan batasan maksimal yang keras pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas pada jumlah rollup yang dapat ada pada satu waktu dan total jumlah transaksi yang dapat diproses di off-chain. 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 pada titik ini, tidak ada lagi potensi ekspansi.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan keras dari manfaat skalabilitas, tetapi juga menimbulkan masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk ketersediaan data, jika data yang ingin diambil oleh pengguna tidak secara otomatis dipublikasikan ke blockchain, maka status Rollup tidak akan berubah. Dengan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, produsen Blok mana pun di sistem ketersediaan data eksternal dapat memanfaatkan dana pengguna BTCRollup dengan memproduksi Blok daripada benar-benar menyiar Blok tersebut.
Jadi, jika kita benar-benar berhasil menerapkan implementasi Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan unilateral pengguna, bagaimana hal itu akan terjadi?