Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus skalabilitas 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 oleh pembatasan atau batasan inti Likuiditas Jaringan Lighting, artinya pengguna akhir perlu memiliki dana yang dialokasikan (atau ‘dipinjam’) sebelum mereka dapat menerima uang, atau Node perantara perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya dijalankan di Ethereum dan sistem Turing Complete lainnya, tetapi belakangan ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (misalnya BTC). Artikel ini tidak bermaksud untuk membahas situasi saat ini di BTC, tetapi untuk mendiskusikan fitur Rollup yang ideal yang telah lama dicari orang, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Struktur dasar Roll adalah sebagai berikut: satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di Rollup. UTXO ini berisi komitmen dalam bentuk akar Merkle dari pohon Merkle, yang mewakili semua saldo saat ini akun di Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten dengan 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 satu arah tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain dalam proses transaksi off-chain, jika tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan saldo akun off-chain telah mendapatkan otorisasi yang tepat dari pemegang 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 diterbitkan di 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 Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasinya akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu konyol, tetapi informasi yang diperlukan untuk membangun ulang 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 tentang 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 mendapatkan status saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Ini dapat menghemat biaya dan ruang Blok yang signifikan (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan akses ke informasi yang diperlukan untuk keluar unilateral. Aturan rollup mengharuskan data ini disertakan dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, yaitu transaksi tanpa ringkasan akun atau perbedaan akun dianggap sebagai transaksi tidak valid.
Periode berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar Blok. Ini menghadirkan 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.
Hal ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTC, aturan Konsensus dapat menjamin keabsolutan data tersebut. Namun, ketika data dipublikasikan ke sistem eksternal, hal terbaik yang bisa dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lainnya, yang pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar bloknya sendiri, yang terbaik yang dapat dilakukannya hanyalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup di Blok setelah generasi benar-benar disiarkan secara publik. Itu tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk serangan penahanan data, yaitu menciptakan janji terhadap data yang dipublikasikan dan menggunakannya untuk mendorong rollup, tetapi data sebenarnya tidak tersedia. Hal ini mengakibatkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Dilema
Ini membawa dilema bagi rollup. Ketika masalah ketersediaan data terjadi, secara dasarnya ada pilihan biner antara mempublikasikan data ke blockchain BTC atau tempat lain. Pilihan ini memiliki dampak signifikan pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan mengatur batas maksimum skalabilitas rollup. Ruang Blok terbatas, ini membatasi jumlah rollup yang dapat ada pada satu waktu serta jumlah total transaksi yang dapat diproses di luar jaringan. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan data dikompresi dalam tingkat tertentu, pada titik ini, tidak ada potensi ekspansi lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan keras dari manfaat 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 dipublikasikan secara otomatis ke blockchain, 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 apa pun di sistem ketersediaan data eksternal dapat menculik dana pengguna BTCRollup dengan memproduksi Blok daripada secara aktif menyiar Blok tersebut, sehingga membuat data menjadi tersedia.
Jadi, jika kita benar-benar berhasil menerapkan Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan satu arah oleh 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 Masalah yang Dihadapi oleh Rollup?
Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus skalabilitas 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 oleh pembatasan atau batasan inti Likuiditas Jaringan Lighting, artinya pengguna akhir perlu memiliki dana yang dialokasikan (atau ‘dipinjam’) sebelum mereka dapat menerima uang, atau Node perantara perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya dijalankan di Ethereum dan sistem Turing Complete lainnya, tetapi belakangan ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (misalnya BTC). Artikel ini tidak bermaksud untuk membahas situasi saat ini di BTC, tetapi untuk mendiskusikan fitur Rollup yang ideal yang telah lama dicari orang, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Struktur dasar Roll adalah sebagai berikut: satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di Rollup. UTXO ini berisi komitmen dalam bentuk akar Merkle dari pohon Merkle, yang mewakili semua saldo saat ini akun di Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten dengan 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 satu arah tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui saldo akun on-chain dalam proses transaksi off-chain, jika tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan saldo akun off-chain telah mendapatkan otorisasi yang tepat dari pemegang 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 diterbitkan di 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 Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasinya akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu konyol, tetapi informasi yang diperlukan untuk membangun ulang 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 tentang 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 mendapatkan status saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Ini dapat menghemat biaya dan ruang Blok yang signifikan (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan akses ke informasi yang diperlukan untuk keluar unilateral. Aturan rollup mengharuskan data ini disertakan dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, yaitu transaksi tanpa ringkasan akun atau perbedaan akun dianggap sebagai transaksi tidak valid.
Periode berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar Blok. Ini menghadirkan 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.
Hal ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok BTC, aturan Konsensus dapat menjamin keabsolutan data tersebut. Namun, ketika data dipublikasikan ke sistem eksternal, hal terbaik yang bisa dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lainnya, yang pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar bloknya sendiri, yang terbaik yang dapat dilakukannya hanyalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup di Blok setelah generasi benar-benar disiarkan secara publik. Itu tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu untuk serangan penahanan data, yaitu menciptakan janji terhadap data yang dipublikasikan dan menggunakannya untuk mendorong rollup, tetapi data sebenarnya tidak tersedia. Hal ini mengakibatkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Dilema
Ini membawa dilema bagi rollup. Ketika masalah ketersediaan data terjadi, secara dasarnya ada pilihan biner antara mempublikasikan data ke blockchain BTC atau tempat lain. Pilihan ini memiliki dampak signifikan pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan mengatur batas maksimum skalabilitas rollup. Ruang Blok terbatas, ini membatasi jumlah rollup yang dapat ada pada satu waktu serta jumlah total transaksi yang dapat diproses di luar jaringan. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan data dikompresi dalam tingkat tertentu, pada titik ini, tidak ada potensi ekspansi lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan keras dari manfaat 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 dipublikasikan secara otomatis ke blockchain, 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 apa pun di sistem ketersediaan data eksternal dapat menculik dana pengguna BTCRollup dengan memproduksi Blok daripada secara aktif menyiar Blok tersebut, sehingga membuat data menjadi tersedia.
Jadi, jika kita benar-benar berhasil menerapkan Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan satu arah oleh pengguna, bagaimana itu akan terjadi?