Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus perluasan BTC, menjadi sesuatu yang benar-benar mencuri perhatian dari Jaringan Lighting, secara lebih luas. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terbatas oleh batasan Likuiditas inti Jaringan Lighting, artinya pengguna akhir perlu dialokasikan (atau ‘pinjam’) dana 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 memindahkan mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas implementasi saat ini di BTC, tetapi membahas fitur yang diinginkan dalam Rollup yang ideal, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) langsung di BTC yang saat ini tidak didukung.
Arsitektur dasar Roll adalah sebagai berikut: Satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi janji yang ada dalam bentuk akar Merkle dari pohon Merkle, yang berjanji atas saldo saat ini dari semua akun yang ada di dalam Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu ketika 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 unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun saldo on-chain akun pada root merkle selama proses transaksi off-chain, jika tidak ada ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan terhadap akun off-chain telah mendapatkan otorisasi yang tepat dari pemegang akun, dan apakah operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau tidak jujur mengalokasikannya ulang kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan secara on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun mereka mau tanpa izin?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollupakun berubah, informasi akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi hanya informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi sederhana, ringkasan dari semua akun yang ada di Rollup 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 mendapatkan status saldo akun saat ini, yang memungkinkan mereka membangun kembali pohon Merkle saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar dari satu sisi. Aturan rollup memerlukan data ini dimasukkan dalam rollup resmi yang disediakan kepada pengguna menggunakan Blok chain, yaitu transaksi yang tidak mencakup 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 Blok. Hal ini memperkenalkan 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 seperti rollup.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke jaringan Blok BTCB, aturan Konsensus dapat menjamin kebenarannya. Namun, ketika data tersebut dipublikasikan ke sistem eksternal, yang dapat dilakukan hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lain, akhirnya ini 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 Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dihasilkan. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu membuat komitmen terhadap data yang dipublikasikan dan menggunakannya untuk mendorong 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 sistem di luar BTC.
Dilemma
Ini menghadirkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, ada pilihan biner antara mempublikasikan data ke blockchain BTC atau tempat lainnya. Pilihan ini memiliki dampak besar terhadap keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan menetapkan batas ketat bagi skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas atas pada jumlah rollup yang dapat ada pada satu waktu dan jumlah total transaksi yang dapat diproses di luar rantai. Setiap kali rollup diperbarui, ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir diperlukan. Teori informasi hanya memungkinkan data dikompresi hingga batas tertentu, pada titik ini tidak ada potensi skala lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas keras dari peningkatan skala, tetapi juga membawa isu 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, maka status Rollup tidak akan berubah. Dengan menggunakan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, produsen Blok di sistem ketersediaan data eksternal dapat menculik dana pengguna BTCRollup dengan memproduksi Blok daripada benar-benar menyiarkan Blok tersebut, sehingga membuat data menjadi tersedia.
Jadi, jika kita benar-benar berhasil mewujudkan implementasi Rollup yang ideal di BTC, dan 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; Terjemahan: Wu Zhu, Golden Finance
Rollups baru-baru ini telah menjadi fokus perluasan BTC, menjadi sesuatu yang benar-benar mencuri perhatian dari Jaringan Lighting, secara lebih luas. Rollups bertujuan untuk menjadi lapisan kedua off-chain yang tidak terbatas oleh batasan Likuiditas inti Jaringan Lighting, artinya pengguna akhir perlu dialokasikan (atau ‘pinjam’) dana 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 memindahkan mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas implementasi saat ini di BTC, tetapi membahas fitur yang diinginkan dalam Rollup yang ideal, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) langsung di BTC yang saat ini tidak didukung.
Arsitektur dasar Roll adalah sebagai berikut: Satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi janji yang ada dalam bentuk akar Merkle dari pohon Merkle, yang berjanji atas saldo saat ini dari semua akun yang ada di dalam Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu ketika 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 unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun saldo on-chain akun pada root merkle selama proses transaksi off-chain, jika tidak ada ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan terhadap akun off-chain telah mendapatkan otorisasi yang tepat dari pemegang akun, dan apakah operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau tidak jujur mengalokasikannya ulang kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan secara on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun mereka mau tanpa izin?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollupakun berubah, informasi akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi hanya informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi sederhana, ringkasan dari semua akun yang ada di Rollup 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 mendapatkan status saldo akun saat ini, yang memungkinkan mereka membangun kembali pohon Merkle saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar dari satu sisi. Aturan rollup memerlukan data ini dimasukkan dalam rollup resmi yang disediakan kepada pengguna menggunakan Blok chain, yaitu transaksi yang tidak mencakup 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 Blok. Hal ini memperkenalkan 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 seperti rollup.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke jaringan Blok BTCB, aturan Konsensus dapat menjamin kebenarannya. Namun, ketika data tersebut dipublikasikan ke sistem eksternal, yang dapat dilakukan hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lain, akhirnya ini 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 Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dihasilkan. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu membuat komitmen terhadap data yang dipublikasikan dan menggunakannya untuk mendorong 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 sistem di luar BTC.
Dilemma
Ini menghadirkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, ada pilihan biner antara mempublikasikan data ke blockchain BTC atau tempat lainnya. Pilihan ini memiliki dampak besar terhadap keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan menetapkan batas ketat bagi skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas atas pada jumlah rollup yang dapat ada pada satu waktu dan jumlah total transaksi yang dapat diproses di luar rantai. Setiap kali rollup diperbarui, ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir diperlukan. Teori informasi hanya memungkinkan data dikompresi hingga batas tertentu, pada titik ini tidak ada potensi skala lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas keras dari peningkatan skala, tetapi juga membawa isu 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, maka status Rollup tidak akan berubah. Dengan menggunakan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Sekarang, produsen Blok di sistem ketersediaan data eksternal dapat menculik dana pengguna BTCRollup dengan memproduksi Blok daripada benar-benar menyiarkan Blok tersebut, sehingga membuat data menjadi tersedia.
Jadi, jika kita benar-benar berhasil mewujudkan implementasi Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan unilateral pengguna, bagaimana itu akan terjadi?