Bitcoin Magazine: Apa masalah yang dihadapi oleh Rollup?

robot
Pembuatan abstrak sedang berlangsung

Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wu Zhu, Golden Finance

Rollups telah menjadi fokus skala Bitcoin baru-baru ini, menjadi sesuatu yang benar-benar mengambil perhatian dari Jaringan Lighting, dengan peningkatan perhatian yang lebih luas. Rollups bertujuan menjadi lapisan off-chain kedua yang tidak terbatas atau terpengaruh oleh pembatasan atau kendala Likuiditas inti Jaringan Lighting, di mana pengguna akhir memerlukan alokasi dana (atau ‘pinjaman’) sebelumnya untuk menerima pembayaran, atau Node perantara perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.

Sistem-sistem ini awalnya dijalankan pada Ethereum dan sistem Turing Complete lainnya, tetapi belakangan ini fokus telah beralih ke memindahkan mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud untuk membahas implementasi saat ini di BTC, tetapi untuk membahas fungsi idealisasi Rollup yang telah lama dicari orang, yang bergantung pada kemampuan untuk memverifikasi Zero-Knowledge Proof (ZKP) secara langsung di BTC yang saat ini tidak didukung.

Struktur dasar dari Roll adalah sebagai berikut: Satu akun tunggal (disebut UTXO dalam BTC) menyimpan saldo semua pengguna dalam Rollup. UTXO ini berisi komitmen dalam bentuk root Merkle tree yang mewakili saldo terkini dari semua akun dalam Rollup. Semua akun ini diberi otorisasi dengan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu untuk melakukan pengeluaran off-chain. Bagian struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa perlu izin, hanya dengan membuat bukti transaksi bahwa akun mereka adalah bagian dari Merkle tree, mereka dapat keluar dari Rollup secara sepihak tanpa perlu izin dari operator.

Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chain saldo merkle root selama proses transaksi off-chain, jika tidak ada ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan dalam blok rantai. 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 dengan tidak jujur mengalokasikannya ulang ke 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 Sesuai

Dalam Rollup yang tepat, setiap kali transaksi off-chain baru dikonfirmasi dan status Rollup akun berubah, informasi akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tapi hanya informasi yang diperlukan untuk membangun kembali 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 tinggi, menggunakan perbedaan saldo. Ini pada dasarnya merupakan ringkasan dari akun mana yang telah menambah atau mengurangi dana selama proses update. 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 untuk membangun kembali pohon Merkle saldo saat ini.

Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (dan dengan demikian menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses ke informasi yang diperlukan untuk keluar satu arah. Aturan rollup memerlukan data ini dimasukkan dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, sehingga transaksi yang tidak termasuk 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 rantai. Ini memperkenalkan masalah yang halus, rollup masih perlu memastikan bahwa data tersedia di tempat lain. Secara tradisional, rantai Blok lain digunakan untuk tujuan ini, secara khusus dirancang sebagai lapisan ketersediaan data untuk sistem seperti rollup.

Hal ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data diposting langsung ke BTCBlok chain, aturan Konsensus dapat memastikan bahwa itu benar-benar benar. Namun, ketika itu diposting ke sistem eksternal, hal terbaik yang bisa dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah diposting ke sistem lain.

Ini memerlukan bukti bahwa data ada dalam on-chain lainnya, ini akhirnya adalah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun kecuali apa yang terjadi dalam Blok on-chainnya sendiri, yang terbaik yang bisa dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah Blok yang berisi data rollup benar-benar disiarkan secara terbuka setelah dihasilkan. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.

Serangan penahanan data ini membuka pintu, yakni menciptakan janji terhadap data yang dipublikasikan dan menggunakannya untuk mendorong rollup, namun data sebenarnya tidak tersedia. Ini mengakibatkan pengguna tidak bisa menarik dana. Satu-satunya solusi sebenarnya adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.

Berjalan Mundur

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

Di satu sisi, menggunakan BTCBlok Blockchain sebagai lapisan ketersediaan data akan menempatkan batas keras pada skalabilitas rollup. Ruang Blok terbatas, yang menempatkan batasan pada jumlah rollup yang dapat ada pada satu waktu dan jumlah transaksi yang dapat diproses secara off-chain untuk semua rollup. Setiap kali rollup diperbarui, Blok space yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir diperlukan. Teori informasi hanya memungkinkan data dikompresi hingga sejauh tertentu, pada titik ini tidak ada potensi skalabilitas lebih lanjut.

Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan keras dari keuntungan skalabilitas, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang perlu diekstrak oleh pengguna tidak secara otomatis dipublikasikan 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, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok daripada menyiarakan Blok tersebut, sehingga data tersedia.

Jadi, jika kita benar-benar berhasil mewujudkan implementasi Rollup yang ideal di BTC, yang benar-benar memungkinkan penarikan satu arah oleh pengguna, bagaimana itu akan terjadi?

BTC0.55%
ETH0.62%
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)