Rollups baru-baru ini telah menjadi fokus peningkatan kapasitas 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, yaitu pengguna akhir perlu dialokasikan (atau “meminjam”) dana terlebih dahulu untuk menerima pembayaran, atau Node perantara perlu saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya berjalan di Ethereum dan sistem-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, bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Arsitektur dasar Roll adalah sebagai berikut: satu akun (UTXO dalam BTC) menyimpan saldo semua pengguna di Rollup. UTXO ini berisi komitmen dalam bentuk root Merkle tree, yang mewakili semua saldo saat ini dari semua akun yang ada di Rollup. Semua akun ini diberi otorisasi dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten dengan Kunci Rahasia. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, hanya dengan membuktikan dengan transaksi bahwa akun mereka adalah bagian dari Merkle tree, mereka dapat keluar dari Rollup tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chain merkle root saldo akun 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 benar oleh pemegang akun, dan bahwa operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau dengan tidak jujur mengalokasikannya ulang kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain, pengguna dapat melihat dan mengaksesnya, maka bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun tanpa izin yang mereka inginkan?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali transaksi off-chain baru dikonfirmasi 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 dalam Rollup akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
Dalam implementasi yang lebih maju, varians keseimbangan digunakan. Ini pada dasarnya adalah ringkasan akun mana yang mengalami peningkatan atau penurunan pendanaan selama proses pembaruan. Hal ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang telah terjadi. Pengguna kemudian dapat dengan mudah memindai rantai dan “menghitung” dari awal Rollup untuk mendapatkan keadaan saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar dari satu sisi. Aturan rollup memerlukan data ini dimasukkan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, yaitu transaksi yang tidak mencakup ringkasan akun atau perbedaan akun dianggap tidak valid.
Masa Berlaku
Metode lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain selain dari Blokchain. Ini memunculkan masalah yang rumit, rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blokchain lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan lainnya.
Hal ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke BitcoinBlok rantai, 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 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-chain-nya, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dibuat. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu membuat komitmen terhadap data yang dipublikasikan dan menggunakannya untuk memajukan rollup, tetapi data sebenarnya tidak tersedia. Hal ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Dalam kebimbangan
Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, pada dasarnya ada pilihan biner antara mempublikasikan data ke blockchain BTC atau tempat lainnya. Pilihan ini memiliki dampak signifikan pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan memberikan batasan maksimum bagi skalabilitas rollup. Ruang Blok terbatas, yang membatasi jumlah rollup yang dapat ada dalam satu waktu dan total jumlah transaksi yang dapat diproses di luar rantai. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori Informasi hanya memungkinkan kompresi data hingga batas tertentu, pada titik ini, tidak ada potensi ekspansi lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan maksimum skalabilitas yang keras, tetapi juga menghadirkan masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang perlu 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 penyembunyian data.
Sekarang, produsen Blok pada sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok daripada melakukan siaran Blok tersebut secara nyata, sehingga data dapat digunakan.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, dengan mewujudkan penarikan unilateral pengguna, 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 Kendala Apa Rollup?
Sumber: Bitcoin Magazine; Diterjemahkan oleh: Wu Zhu, Jinse Finance
Rollups baru-baru ini telah menjadi fokus peningkatan kapasitas 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, yaitu pengguna akhir perlu dialokasikan (atau “meminjam”) dana terlebih dahulu untuk menerima pembayaran, atau Node perantara perlu saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya berjalan di Ethereum dan sistem-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, bergantung pada kemampuan yang saat ini tidak didukung oleh BTC, yaitu kemampuan untuk langsung memverifikasi Zero-Knowledge Proof (ZKP) di BTC.
Arsitektur dasar Roll adalah sebagai berikut: satu akun (UTXO dalam BTC) menyimpan saldo semua pengguna di Rollup. UTXO ini berisi komitmen dalam bentuk root Merkle tree, yang mewakili semua saldo saat ini dari semua akun yang ada di Rollup. Semua akun ini diberi otorisasi dengan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih harus menandatangani beberapa konten dengan Kunci Rahasia. Bagian dari struktur ini memungkinkan pengguna untuk keluar kapan saja tanpa izin, hanya dengan membuktikan dengan transaksi bahwa akun mereka adalah bagian dari Merkle tree, mereka dapat keluar dari Rollup tanpa izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun on-chain merkle root saldo akun 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 benar oleh pemegang akun, dan bahwa operator tidak dengan jahat memperbarui saldo untuk mencuri dana pengguna atau dengan tidak jujur mengalokasikannya ulang kepada pengguna lain.
Masalahnya adalah, jika hanya akar pohon merkle yang dipublikasikan on-chain, pengguna dapat melihat dan mengaksesnya, maka bagaimana mereka dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun tanpa izin yang mereka inginkan?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali transaksi off-chain baru dikonfirmasi 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 dalam Rollup akan mencakup saldo, dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
Dalam implementasi yang lebih maju, varians keseimbangan digunakan. Ini pada dasarnya adalah ringkasan akun mana yang mengalami peningkatan atau penurunan pendanaan selama proses pembaruan. Hal ini membuat setiap pembaruan Rollup hanya berisi perubahan saldo akun yang telah terjadi. Pengguna kemudian dapat dengan mudah memindai rantai dan “menghitung” dari awal Rollup untuk mendapatkan keadaan saldo akun saat ini, yang memungkinkan mereka untuk membangun kembali pohon Merkle dari saldo saat ini.
Dengan cara ini, dapat menghemat banyak biaya dan ruang Blok (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar dari satu sisi. Aturan rollup memerlukan data ini dimasukkan dalam rollup resmi yang disediakan oleh Blok chain kepada pengguna, yaitu transaksi yang tidak mencakup ringkasan akun atau perbedaan akun dianggap tidak valid.
Masa Berlaku
Metode lain untuk mengatasi masalah ketersediaan data penarikan pengguna adalah dengan meletakkan data di tempat lain selain dari Blokchain. Ini memunculkan masalah yang rumit, rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blokchain lain digunakan untuk tujuan ini, yang dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan lainnya.
Hal ini menyebabkan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke BitcoinBlok rantai, 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 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-chain-nya, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah Blok yang mengandung data rollup benar-benar disiarkan secara terbuka setelah dibuat. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penahanan data, yaitu membuat komitmen terhadap data yang dipublikasikan dan menggunakannya untuk memajukan rollup, tetapi data sebenarnya tidak tersedia. Hal ini menyebabkan pengguna tidak dapat menarik dana. Satu-satunya solusi nyata adalah bergantung sepenuhnya pada nilai dan struktur insentif sistem di luar BTC.
Dalam kebimbangan
Ini menimbulkan dilema bagi rollup. Ketika masalah ketersediaan data terjadi, pada dasarnya ada pilihan biner antara mempublikasikan data ke blockchain BTC atau tempat lainnya. Pilihan ini memiliki dampak signifikan pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan memberikan batasan maksimum bagi skalabilitas rollup. Ruang Blok terbatas, yang membatasi jumlah rollup yang dapat ada dalam satu waktu dan total jumlah transaksi yang dapat diproses di luar rantai. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan sebelumnya. Teori Informasi hanya memungkinkan kompresi data hingga batas tertentu, pada titik ini, tidak ada potensi ekspansi lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batasan maksimum skalabilitas yang keras, tetapi juga menghadirkan masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang perlu 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 penyembunyian data.
Sekarang, produsen Blok pada sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok daripada melakukan siaran Blok tersebut secara nyata, sehingga data dapat digunakan.
Jadi, jika kita benar-benar mewujudkan implementasi Rollup yang ideal di BTC, dengan mewujudkan penarikan unilateral pengguna, bagaimana itu akan terjadi?