Bitcoin Magazine: Apa Masalah yang Dihadapi oleh Rollup?

robot
Pembuatan abstrak sedang berlangsung

Sumber: Bitcoin Magazine; Terjemahan: Wuzhu, Golden Finance

Rollups baru-baru ini telah menjadi fokus peningkatan kapasitas BTC, menjadi sesuatu yang benar-benar mengambil perhatian dari Jaringan Lighting, dalam hal tingkat perhatian yang lebih luas. Rollups bertujuan menjadi lapisan kedua off-chain yang tidak terbatas atau terbatas oleh batasan inti Likuiditas Jaringan Lighting, yaitu pengguna akhir perlu memiliki dana yang dialokasikan (atau 'dipinjam') terlebih dahulu agar dapat menerima pembayaran, atau Node rute tengah membutuhkan saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.

Sistem-sistem ini awalnya berjalan di Ethereum dan sistem Turing Complete lainnya, tetapi belakangan ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud untuk membahas status implementasi saat ini di BTC, tetapi untuk membahas fitur Rollup yang diidealkan oleh orang-orang dalam jangka panjang, 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 di BTC) menyimpan saldo semua pengguna dalam Rollup. UTXO ini berisi komitmen, yang ada dalam bentuk akar Merkle dari pohon Merkle, yang mewakili saldo saat ini dari semua 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 sepihak tanpa izin dari operator.

Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chain saldo akun merkle root dalam proses menyelesaikan transaksi off-chain, jika tidak ada ZKP ini, maka transaksi akan menjadi tidak valid dan tidak dapat dimasukkan dalam Blokchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan terhadap 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 ke pengguna lain.

Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan di on-chain, bagaimana pengguna dapat menempatkan cabang mereka di dalam pohon agar dapat keluar kapan pun mereka mau tanpa perlu izin?

Rollup yang Tepat

Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollupakun 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, semua ringkasan akun Rollup yang ada akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi pembaruan Rollup.

Dalam implementasi yang lebih tinggi, menggunakan selisih saldo. Ini pada dasarnya adalah ringkasan dari akun mana yang menambah atau mengurangi dana selama proses pembaruan. Ini memungkinkan setiap pembaruan Rollup hanya mengandung 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 membangun kembali pohon Merkle saldo saat ini.

Ini akan menghemat biaya dan ruang Blok yang signifikan (dan menghemat dana), sambil tetap memungkinkan pengguna untuk memverifikasi informasi yang diperlukan untuk keluar secara sepihak. Aturan rollup mengharuskan data ini dimasukkan dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, di mana transaksi tanpa 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. Ini memperkenalkan masalah yang rumit, rollup masih perlu memastikan secara ketat bahwa data tersebut tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan sejenisnya.

Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke BTCBlok chain, aturan Konsensus dapat memastikan kebenarannya mutlak. Namun, ketika data itu dipublikasikan ke sistem eksternal, yang terbaik yang dapat dilakukannya adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.

Ini memerlukan verifikasi bahwa data ada dalam bukti on-chain lainnya, ini pada akhirnya adalah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun kecuali hal-hal yang terjadi di dalam Blok on-chainnya sendiri, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah Blok yang mengandung data rollup benar-benar telah 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 janji terhadap data yang dipublikasikan dan menggunakannya untuk mendorong rollup, tetapi data sebenarnya tidak tersedia. Ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah bergantung sepenuhnya pada nilai dan struktur insentif di luar BTC.

Dalam kebimbangan

Ini membawa dilema untuk rollup. Ketika datang ke masalah ketersediaan data, ada pilihan biner untuk menerbitkan data ke blockchain BTC atau tempat lain. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.

Di satu sisi, menggunakan BTCBlockchain sebagai lapisan ketersediaan data akan memberikan batasan keras terhadap skalabilitas rollup. Ruang Blockchain terbatas, ini menetapkan batasan terhadap jumlah rollup yang dapat ada sekaligus dan total transaksi yang dapat ditangani off-chain oleh semua rollup. Setiap pembaruan rollup membutuhkan ruang Blockchain yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan data dikompresi sampai tingkat tertentu, pada titik ini, tidak ada potensi perluasan lebih lanjut.

Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas atas keuntungan skala, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin diekstrak oleh pengguna tidak dipublikasikan secara otomatis ke blockchain, maka status Rollup tidak dapat berubah. Dalam menggunakan Validiums, jaminan ini sepenuhnya tergantung 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 daripada benar-benar menyiar Blok tersebut, sehingga membuat data tersedia.

Jadi, jika kita benar-benar mencapai implementasi Rollup yang ideal di BTC, dan benar-benar mengaktifkan penarikan unilateral pengguna, bagaimana itu akan terjadi?

Lihat Asli
  • Hadiah
  • Komentar
  • Bagikan
Komentar
Tidak ada komentar