Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wuzhu, Jinse Keuangan Emas
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 menjadi lapisan kedua off-chain yang tidak terbatas atau dibatasi oleh batasan inti Likuiditas Jaringan Lighting, yang berarti pengguna akhir perlu dialokasikan (atau ‘meminjam’) dana 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 fokus baru-baru ini telah bergeser untuk memindahkannya ke blockchain yang berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas implementasi saat ini di BTC, tetapi membahas fitur ideal Rollup yang telah lama dicari orang, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) secara langsung di BTC, yang saat ini tidak didukung.
Arsitektur dasar Roll adalah sebagai berikut: Satu akun tunggal (UTXO di BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi komitmen, yang ada dalam bentuk akar Merkle dari pohon Merkle, yang mengkomitkan semua saldo saat ini dari akun di Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten menggunakan 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 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 tersebut, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan terhadap saldo akun off-chain telah diotorisasi oleh pemilik akun dan apakah operator tidak secara jahat memperbarui saldo untuk mencuri dana pengguna atau mendistribusikannya secara tidak jujur kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan pada on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga dapat keluar kapan pun mereka mau tanpa izin?
Rollup yang Sesuai
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasi akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu konyol, tetapi informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi sederhana, ringkasan 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. Pada dasarnya ini adalah ringkasan dari akun mana yang mendapatkan atau kehilangan 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’ dari awal Rollup untuk mendapatkan status saldo akun saat ini, yang memungkinkan mereka merekonstruksi pohon Merkle saldo saat ini.
Dengan cara ini, biaya dan ruang Blok dapat dihemat (sehingga menghemat dana), sambil tetap memungkinkan pengguna memastikan informasi yang diperlukan untuk keluar dari satu pihak. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan oleh Blok chain untuk pengguna, di mana transaksi yang tidak mencakup ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa berlaku
Metode lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan menempatkan data di tempat lain di luar Blok. Ini memunculkan masalah yang rumit, di mana rollup masih perlu memastikan bahwa data tetap tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data langsung dipublikasikan ke rantai Blok BTCBlok, aturan Konsensus dapat menjamin bahwa itu benar-benar benar. Namun, ketika itu dipublikasikan ke sistem eksternal, yang terbaik yang bisa dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lainnya, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Blok on-chainnya sendiri, yang terbaik yang dapat dilakukannya hanyalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dibuat. Itu tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Serangan penahanan data ini membuka pintu, yaitu menciptakan 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 efektif adalah mengandalkan struktur nilai dan insentif sistem selain BTC secara penuh.
Berada dalam situasi sulit
Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, 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 BTCBlokchain sebagai lapisan ketersediaan data akan memberikan batasan maksimal untuk skalabilitas rollup. Ruang Blok terbatas, yang mengatur batas maksimum jumlah rollup yang dapat ada dan total transaksi yang dapat ditangani di luar rantai. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan kompresi data sampai tingkat 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 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 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.
Saat ini, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok tanpa benar-benar menyiarkan Blok tersebut, sehingga data tersedia.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan pengguna satu arah, bagaimana itu akan terjadi?
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: Menghadapi Masalah Apa Rollup?
Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wuzhu, Jinse Keuangan Emas
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 menjadi lapisan kedua off-chain yang tidak terbatas atau dibatasi oleh batasan inti Likuiditas Jaringan Lighting, yang berarti pengguna akhir perlu dialokasikan (atau ‘meminjam’) dana 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 fokus baru-baru ini telah bergeser untuk memindahkannya ke blockchain yang berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas implementasi saat ini di BTC, tetapi membahas fitur ideal Rollup yang telah lama dicari orang, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) secara langsung di BTC, yang saat ini tidak didukung.
Arsitektur dasar Roll adalah sebagai berikut: Satu akun tunggal (UTXO di BTC) menyimpan saldo semua pengguna di dalam Rollup. UTXO ini berisi komitmen, yang ada dalam bentuk akar Merkle dari pohon Merkle, yang mengkomitkan semua saldo saat ini dari akun di Rollup. Semua akun ini diotorisasi dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten menggunakan 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 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 tersebut, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blok. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan terhadap saldo akun off-chain telah diotorisasi oleh pemilik akun dan apakah operator tidak secara jahat memperbarui saldo untuk mencuri dana pengguna atau mendistribusikannya secara tidak jujur kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan pada on-chain, pengguna dapat melihat dan mengaksesnya, bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga dapat keluar kapan pun mereka mau tanpa izin?
Rollup yang Sesuai
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasi akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu konyol, tetapi informasi yang diperlukan untuk membangun kembali pohon. Dalam implementasi sederhana, ringkasan 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. Pada dasarnya ini adalah ringkasan dari akun mana yang mendapatkan atau kehilangan 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’ dari awal Rollup untuk mendapatkan status saldo akun saat ini, yang memungkinkan mereka merekonstruksi pohon Merkle saldo saat ini.
Dengan cara ini, biaya dan ruang Blok dapat dihemat (sehingga menghemat dana), sambil tetap memungkinkan pengguna memastikan informasi yang diperlukan untuk keluar dari satu pihak. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan oleh Blok chain untuk pengguna, di mana transaksi yang tidak mencakup ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa berlaku
Metode lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan menempatkan data di tempat lain di luar Blok. Ini memunculkan masalah yang rumit, di mana rollup masih perlu memastikan bahwa data tetap tersedia di tempat lain. Secara tradisional, Blok lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem seperti rollup.
Ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data langsung dipublikasikan ke rantai Blok BTCBlok, aturan Konsensus dapat menjamin bahwa itu benar-benar benar. Namun, ketika itu dipublikasikan ke sistem eksternal, yang terbaik yang bisa dilakukannya hanyalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lainnya, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Blok on-chainnya sendiri, yang terbaik yang dapat dilakukannya hanyalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dibuat. Itu tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Serangan penahanan data ini membuka pintu, yaitu menciptakan 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 efektif adalah mengandalkan struktur nilai dan insentif sistem selain BTC secara penuh.
Berada dalam situasi sulit
Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, 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 BTCBlokchain sebagai lapisan ketersediaan data akan memberikan batasan maksimal untuk skalabilitas rollup. Ruang Blok terbatas, yang mengatur batas maksimum jumlah rollup yang dapat ada dan total transaksi yang dapat ditangani di luar rantai. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan kompresi data sampai tingkat 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 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 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.
Saat ini, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mengambil alih dana pengguna BTCRollup dengan memproduksi Blok tanpa benar-benar menyiarkan Blok tersebut, sehingga data tersedia.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, dan benar-benar mewujudkan penarikan pengguna satu arah, bagaimana itu akan terjadi?