📢 Tantangan Tag Pos Gate.io: #MyFavoriteToken# Pos dan MENANG $100!
Apakah Anda memiliki token favorit yang membuat Anda bersemangat? Baik itu untuk inovasi teknis, dukungan komunitas, atau potensi pasar, ikuti acara #MyFavoriteToken# dan bagikan wawasan Anda dengan kami!
💡 Bagaimana Cara Berparti
Bitcoin Magazine: Menghadapi Kendala Apa Rollup?
Sumber: Bitcoin Magazine; Diterjemahkan oleh: 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 oleh pembatasan Likuiditas inti Jaringan Lighting, yaitu pengguna akhir perlu memiliki dana yang dialokasikan (atau "dipinjam") terlebih dahulu untuk menerima pembayaran, atau Node rute tengah perlu memiliki saldo saluran untuk memfasilitasi aliran dana dari pengirim ke penerima.
Sistem-sistem ini awalnya dijalankan pada Ethereum dan sistem Turing Complete lainnya, tetapi baru-baru ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (misalnya BTC). Artikel ini tidak bermaksud membahas status quo implementasi saat ini di BTC, tetapi membahas fitur idealisasi Rollup yang telah lama dicari oleh orang-orang, yang tergantung pada kemampuan verifikasi langsung dari Bukti Pengetahuan Nol (ZKP) di BTC, yang saat ini tidak didukung.
Struktur dasar Roll adalah sebagai berikut: Satu akun tunggal (UTXO dalam BTC) menyimpan saldo semua pengguna dalam Rollup. UTXO ini berisi janji dalam bentuk akar Merkle dari pohon Merkle, yang menjanjikan saldo saat ini dari semua akun yang ada di Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga pengguna masih harus menggunakan Kunci Rahasia untuk menandatangani konten tertentu agar dapat melakukan pembayaran 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 sepihak tanpa perlu izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui root merkle saldo akun on-chain selama proses transaksi off-chain. Tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan pada saldo akun off-chain telah mendapat otorisasi yang tepat dari pemegang akun dan apakah operator tidak dengan jahat memperbarui saldo mereka untuk mencuri dana pengguna atau dengan tidak jujur membaginya dengan pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan saja tanpa izin?
Rollup yang Sesuai
Dalam Rollup yang sesuai, 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 Rollup yang diperbarui.
Dalam implementasi yang lebih canggih, menggunakan perbedaan saldo. Pada dasarnya, ini adalah ringkasan dana yang ditambahkan atau dikurangi dari akun selama proses pembaruan. Ini memungkinkan setiap pembaruan Rollup hanya berisi 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 biaya yang besar dan ruang Blok (sehingga menghemat dana), sambil masih memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar satu arah. Aturan rollup mengharuskan data-data ini disertakan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, yaitu 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 menyimpan 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, dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan lainnya.
Ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke BitcoinBlok chain, aturan Konsensus dapat menjamin bahwa itu benar-benar benar. Namun, ketika 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 pada Blok lain yang on-chain, ini pada akhirnya adalah masalah Mesin Oracle. Blok Bitcoin tidak dapat sepenuhnya memverifikasi apa pun di luar yang terjadi pada Bloknya sendiri yang on-chain, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah Blok yang berisi data rollup benar-benar disiarkan secara publik 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 yang benar-benar adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Dalam Kesulitan
Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data muncul, secara mendasar ada pilihan biner antara mempublikasikan data ke blockchain BTC atau tempat lain. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan memberikan batas maksimum yang keras untuk skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas untuk jumlah rollup yang dapat ada pada suatu waktu dan jumlah total transaksi yang dapat diproses pada off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan kompresi data hingga tingkat 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 manfaat skalabilitas, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk ketersediaan data, jika data yang perlu diekstraksi oleh pengguna tidak secara otomatis dipublikasikan ke blockchain, status Rollup tidak akan berubah. Dengan menggunakan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan penyembunyian data.
Sekarang, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok tanpa harus menyiarkan Blok tersebut, sehingga membuat data tersedia.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, di mana pengguna dapat melakukan penarikan satu arah secara nyata, bagaimana hal itu akan terjadi?