Bitcoin Magazine: Apa Masalah yang Dihadapi Rollup?

robot
Pembuatan abstrak sedang berlangsung

Sumber: Bitcoin Magazine; Penerjemah: Wuzhu, Golden Finance

Rollups baru-baru ini telah menjadi fokus perluasan 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 atau terbatas oleh Likuiditas inti Jaringan Lighting, yang berarti pengguna akhir perlu memiliki dana yang dialokasikan (atau ‘dipinjam’) terlebih dahulu untuk menerima pembayaran, atau Node pencari rute perlu memiliki saldo kanal untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.

Sistem-sistem ini awalnya dijalankan di Ethereum dan 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 status implementasi saat ini di BTC, tetapi membahas fitur Rollup yang ideal yang telah lama dicari, yang bergantung pada kemampuan ZKP (Zero-Knowledge Proof) yang tidak didukung saat ini oleh BTC.

Struktur dasar dari Roll adalah sebagai berikut: sebuah akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna dalam Rollup. UTXO ini mengandung sebuah komitmen yang ada dalam bentuk Merkle root dari pohon Merkle, yang mengkomitkan semua saldo saat ini dari akun-akun Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga untuk mengeluarkan pengeluaran off-chain, pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani beberapa konten. 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 perlu izin dari operator.

Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun saldo on-chain saat menyelesaikan transaksi off-chain, jika tidak ada ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan pada akun off-chain telah mendapatkan otorisasi yang tepat dari pemegang akun, serta apakah operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau secara tidak jujur mendistribusikannya kembali kepada pengguna lain.

Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan secara on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun tanpa izin?

Rollup yang Sesuai

Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollupakun berubah, informasi tersebut langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi hanya informasi yang diperlukan untuk merekonstruksi 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 memungkinkan 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 akun saat ini.

Dengan cara ini, dapat menghemat biaya dan ruang Blok yang besar (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar satu arah. Aturan rollup mengharuskan data-data ini dimasukkan dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, yaitu transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi tidak valid.

Masa berlaku

Salah satu cara lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain di luar Blok. Ini memperkenalkan masalah halus di mana rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.

Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data diposting langsung ke rantai Blok Bitcoin, aturan Konsensus dapat menjamin bahwa itu benar-benar benar. Namun, ketika itu diposting ke sistem eksternal, yang terbaik yang bisa dilakukannya adalah memverifikasi bukti SPV, yaitu data telah diposting ke sistem lain.

Ini memerlukan validasi data yang ada pada bukti on-chain lainnya, ini pada akhirnya adalah 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 data rollup Blok setelah dibuat benar-benar disiarkan secara terbuka. Itu 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 mendorong rollup, tetapi data sebenarnya tidak tersedia. Ini mengakibatkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah sepenuhnya bergantung pada nilai dan struktur insentif sistem di luar BTC.

Terjebak dalam dilema

Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data muncul, ada pilihan biner untuk mempublikasikan data ke rantai blok BTC atau tempat lainnya. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.

Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan memberikan batasan maksimum untuk skalabilitas rollup. Ruang Blok terbatas, yang membatasi jumlah rollup yang dapat ada sekaligus dan total transaksi yang dapat diproses off-chain pada rollup. Setiap pembaruan rollup memerlukan 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 ekspansi lebih lanjut.

Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan keras dari peningkatan skalabilitas, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin 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 menahan penipuan dan menyembunyikan data.

Sekarang, produsen Blok apa pun di sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok daripada mengirimkan Blok tersebut secara nyata, sehingga membuat data tersedia.

Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal pada BTC, dengan benar-benar mewujudkan penarikan unilateral pengguna, bagaimana itu akan terjadi?

BTC1%
ETH1.58%
Lihat Asli
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.
  • Hadiah
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)