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, 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 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 belakangan ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (misalnya BTC). Artikel ini tidak bermaksud untuk membahas status implementasi saat ini di BTC, tetapi untuk membahas fitur idealisasi Rollup yang telah lama dicari, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Arsitektur dasar dari Roll adalah sebagai berikut: Satu akun tunggal (UTXO di BTC) menyimpan saldo dari semua pengguna di dalam Rollup. UTXO ini berisi janji yang ada dalam bentuk root Merkle dari pohon Merkle, yang menjanjikan saldo saat ini dari semua akun yang ada di Rollup. Semua akun ini diberi wewenang dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten dengan Kunci Rahasia. Bagian ini dari struktur 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 unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun saldo on-chain selama proses transaksi off-chain, jika tidak transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blokchain. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan akun off-chain telah diotorisasi dengan tepat oleh pemegang akun, dan bahwa 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, pengguna dapat melihat dan mengaksesnya, bagaimana mereka memasukkan cabang mereka ke 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 yang 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, menggunakan perbedaan saldo. Ini pada dasarnya adalah ringkasan dana yang ditambahkan atau dikurangi dari akun selama proses pembaruan. Ini membuat 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 membangun kembali pohon Merkle saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan informasi yang diperlukan untuk keluar secara satu arah. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan kepada pengguna menggunakan Blokchain, di mana transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap 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, rollup masih perlu memastikan secara ketat bahwa data tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Hal ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok Bitcoin, aturan Konsensus dapat memastikan bahwa itu benar-benar benar. Namun, ketika itu dipublikasikan ke sistem eksternal, yang terbaik yang dapat dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan validasi data ada di luar bukti on-chain lainnya, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memvalidasi apa pun yang terjadi di luar Bloknya sendiri on-chain, yang terbaik yang dapat dilakukan adalah memvalidasi ZKP. Namun, ZKP tidak dapat memvalidasi apakah data rollup dari Blok telah benar-benar disiarkan secara terbuka setelah dihasilkan. Ini tidak dapat memvalidasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu menciptakan janji terhadap data yang dipublikasikan dan menggunakannya untuk memajukan 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 dilema
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 sangat berdampak pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok Blockchain sebagai lapisan ketersediaan data akan memberikan batasan keras pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas jumlah rollup yang dapat ada sekaligus serta total transaksi yang dapat ditangani off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan data untuk dikompresi hingga batas tertentu, pada titik ini, tidak ada potensi perluasan lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas maksimum peningkatan skala yang keras, 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 secara otomatis dipublikasikan ke blockchain, maka status Rollup tidak akan berubah. Dalam menggunakan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Saat ini, produsen Blok apa pun pada sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok daripada secara efektif menyiarkan Blok tersebut, sehingga membuat data dapat diakses.
Jadi, bagaimana jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, yang memungkinkan penarikan satu arah oleh pengguna?
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, 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 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 belakangan ini fokus telah beralih ke porting mereka ke blockchain berbasis UTXO (misalnya BTC). Artikel ini tidak bermaksud untuk membahas status implementasi saat ini di BTC, tetapi untuk membahas fitur idealisasi Rollup yang telah lama dicari, yang bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Arsitektur dasar dari Roll adalah sebagai berikut: Satu akun tunggal (UTXO di BTC) menyimpan saldo dari semua pengguna di dalam Rollup. UTXO ini berisi janji yang ada dalam bentuk root Merkle dari pohon Merkle, yang menjanjikan saldo saat ini dari semua akun yang ada di Rollup. Semua akun ini diberi wewenang dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten dengan Kunci Rahasia. Bagian ini dari struktur 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 unilateral tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun saldo on-chain selama proses transaksi off-chain, jika tidak transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blokchain. Bukti ini memungkinkan orang untuk memverifikasi bahwa semua perubahan akun off-chain telah diotorisasi dengan tepat oleh pemegang akun, dan bahwa 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, pengguna dapat melihat dan mengaksesnya, bagaimana mereka memasukkan cabang mereka ke 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 yang 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, menggunakan perbedaan saldo. Ini pada dasarnya adalah ringkasan dana yang ditambahkan atau dikurangi dari akun selama proses pembaruan. Ini membuat 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 membangun kembali pohon Merkle saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan informasi yang diperlukan untuk keluar secara satu arah. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan kepada pengguna menggunakan Blokchain, di mana transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap 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, rollup masih perlu memastikan secara ketat bahwa data tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Hal ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok Bitcoin, aturan Konsensus dapat memastikan bahwa itu benar-benar benar. Namun, ketika itu dipublikasikan ke sistem eksternal, yang terbaik yang dapat dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan validasi data ada di luar bukti on-chain lainnya, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memvalidasi apa pun yang terjadi di luar Bloknya sendiri on-chain, yang terbaik yang dapat dilakukan adalah memvalidasi ZKP. Namun, ZKP tidak dapat memvalidasi apakah data rollup dari Blok telah benar-benar disiarkan secara terbuka setelah dihasilkan. Ini tidak dapat memvalidasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu menciptakan janji terhadap data yang dipublikasikan dan menggunakannya untuk memajukan 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 dilema
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 sangat berdampak pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok Blockchain sebagai lapisan ketersediaan data akan memberikan batasan keras pada skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas jumlah rollup yang dapat ada sekaligus serta total transaksi yang dapat ditangani off-chain oleh semua rollup. Setiap pembaruan rollup memerlukan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori informasi hanya memungkinkan data untuk dikompresi hingga batas tertentu, pada titik ini, tidak ada potensi perluasan lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas maksimum peningkatan skala yang keras, 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 secara otomatis dipublikasikan ke blockchain, maka status Rollup tidak akan berubah. Dalam menggunakan Validiums, jaminan ini sepenuhnya bergantung pada kemampuan sistem eksternal yang digunakan untuk melawan penipuan dan menyembunyikan data.
Saat ini, produsen Blok apa pun pada sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok daripada secara efektif menyiarkan Blok tersebut, sehingga membuat data dapat diakses.
Jadi, bagaimana jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, yang memungkinkan penarikan satu arah oleh pengguna?