Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, Golden Finance
Rollups baru-baru ini telah menjadi pusat perhatian dalam 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 terikat oleh Likuiditas inti Jaringan Lighting, yang berarti pengguna akhir perlu memiliki dana yang dialokasikan (atau “pinjaman”) sebelumnya untuk menerima uang, atau Node perantara perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya dijalankan di Ethereum dan sistem Turing Complete lainnya, tetapi baru-baru ini fokus telah beralih untuk mengporting mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas implementasi saat ini di BTC, tetapi membahas fitur idealisasi Rollup yang telah lama dikejar, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) secara langsung 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 komitmen, yang hadir dalam bentuk akar Merkle dari pohon Merkle, yang berisi saldo saat ini semua akun dalam Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih perlu 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 unilateral tanpa perlu izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun saldo on-chain melalui merkle root selama proses transaksi off-chain. Tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan pada 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 di on-chain, bagaimana pengguna dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun mereka mau tanpa perlu izin?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasinya akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi informasi yang diperlukan untuk membangun ulang pohon. Dalam implementasi yang sederhana, ringkasan akun Rollup yang ada akan mencakup saldo dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
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 untuk membangun kembali pohon Merkle saldo saat ini.
Ini dapat menghemat biaya dan ruang Blok yang signifikan (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar sepihak. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa Berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data penarikan pengguna adalah dengan menempatkan data di tempat lain di luar Blok rantai. Ini menghadirkan masalah halus di mana rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blok rantai lain digunakan untuk tujuan ini, dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan sejenisnya.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok Bitcoin, aturan Konsensus dapat menjamin keabsolutan data tersebut. Namun, ketika data dipublikasikan ke sistem eksternal, hal terbaik yang bisa dilakukannya adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lain, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Blok on-chain-nya sendiri, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup dalam Blok setelah dibuat benar-benar disiarkan secara terbuka. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penyimpanan data, yaitu menciptakan janji terhadap data yang diterbitkan 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.
Masuk atau Mundur
Ini menjadi dilema bagi rollup. Ketika masalah ketersediaan data muncul, terdapat pilihan biner untuk menerbitkan data ke jaringan BTC atau tempat lainnya. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan memberikan batas maksimum skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas jumlah rollup yang dapat ada sekaligus dan total transaksi yang dapat diproses off-chain oleh semua rollup. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan kompresi data hingga batas tertentu, pada titik ini, tidak ada potensi skalabilitas lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas atas keuntungan skala, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin diekstrak 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.
Sekarang, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok daripada secara langsung menyiarkan Blok tersebut, sehingga membuat data menjadi tersedia.
Jadi, jika kita benar-benar berhasil mewujudkan implementasi Rollup yang ideal pada BTC, yang memungkinkan penarikan unilateral oleh pengguna, bagaimana hal 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: Apa Kendala yang Dihadapi oleh Rollup?
Sumber: Bitcoin Magazine; Terjemahan: Wu Zhu, Golden Finance
Rollups baru-baru ini telah menjadi pusat perhatian dalam 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 terikat oleh Likuiditas inti Jaringan Lighting, yang berarti pengguna akhir perlu memiliki dana yang dialokasikan (atau “pinjaman”) sebelumnya untuk menerima uang, atau Node perantara perlu memiliki saldo saluran untuk memfasilitasi aliran pembayaran dari pengirim ke penerima.
Sistem-sistem ini awalnya dijalankan di Ethereum dan sistem Turing Complete lainnya, tetapi baru-baru ini fokus telah beralih untuk mengporting mereka ke blockchain berbasis UTXO (seperti BTC). Artikel ini tidak bermaksud membahas implementasi saat ini di BTC, tetapi membahas fitur idealisasi Rollup yang telah lama dikejar, yang tergantung pada kemampuan verifikasi Zero-Knowledge Proof (ZKP) secara langsung 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 komitmen, yang hadir dalam bentuk akar Merkle dari pohon Merkle, yang berisi saldo saat ini semua akun dalam Rollup. Semua akun ini diotorisasi menggunakan Kunci Publik/Kunci Pribadi, sehingga untuk melakukan pengeluaran off-chain, pengguna masih perlu 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 unilateral tanpa perlu izin dari operator.
Operator Rollup harus menyertakan ZKP dalam transaksi untuk memperbarui akun saldo on-chain melalui merkle root selama proses transaksi off-chain. Tanpa ZKP ini, transaksi akan menjadi tidak valid dan tidak dapat dimasukkan ke dalam Blockchain. Bukti ini memungkinkan orang untuk memverifikasi apakah semua perubahan pada 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 di on-chain, bagaimana pengguna dapat menempatkan cabang mereka di dalam pohon sehingga mereka dapat keluar kapan pun mereka mau tanpa perlu izin?
Rollup yang Tepat
Dalam Rollup yang tepat, setiap kali ada konfirmasi transaksi off-chain baru dan status Rollup akun berubah, informasinya akan langsung dimasukkan ke dalam blockchain. Bukan seluruh pohon, itu terlalu absurd, tetapi informasi yang diperlukan untuk membangun ulang pohon. Dalam implementasi yang sederhana, ringkasan akun Rollup yang ada akan mencakup saldo dan akun hanya ditambahkan dalam transaksi Rollup yang diperbarui.
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 untuk membangun kembali pohon Merkle saldo saat ini.
Ini dapat menghemat biaya dan ruang Blok yang signifikan (sehingga menghemat dana), sambil tetap memungkinkan pengguna untuk memastikan akses informasi yang diperlukan untuk keluar sepihak. Aturan rollup mengharuskan data ini dimasukkan ke dalam rollup resmi yang disediakan oleh Blokchain kepada pengguna, sehingga transaksi yang tidak termasuk ringkasan akun atau perbedaan akun dianggap sebagai transaksi yang tidak valid.
Masa Berlaku
Salah satu cara lain untuk menangani masalah ketersediaan data penarikan pengguna adalah dengan menempatkan data di tempat lain di luar Blok rantai. Ini menghadirkan masalah halus di mana rollup masih perlu memastikan data tersedia di tempat lain. Secara tradisional, Blok rantai lain digunakan untuk tujuan ini, dirancang khusus sebagai lapisan ketersediaan data untuk sistem rollup dan sejenisnya.
Ini menciptakan dilema keamanan yang sama kuatnya. Ketika data dipublikasikan langsung ke rantai Blok Bitcoin, aturan Konsensus dapat menjamin keabsolutan data tersebut. Namun, ketika data dipublikasikan ke sistem eksternal, hal terbaik yang bisa dilakukannya adalah memverifikasi bukti SPV, yaitu data telah dipublikasikan ke sistem lain.
Ini memerlukan verifikasi data ada di Blok on-chain lain, ini pada akhirnya adalah sebuah masalah Mesin Oracle. Blok BTC tidak dapat sepenuhnya memverifikasi apa pun yang terjadi di luar Blok on-chain-nya sendiri, yang terbaik yang dapat dilakukannya adalah memverifikasi ZKP. Namun, ZKP tidak dapat memverifikasi apakah data rollup dalam Blok setelah dibuat benar-benar disiarkan secara terbuka. Ini tidak dapat memverifikasi apakah informasi eksternal benar-benar tersedia untuk semua orang.
Ini membuka pintu bagi serangan penyimpanan data, yaitu menciptakan janji terhadap data yang diterbitkan 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.
Masuk atau Mundur
Ini menjadi dilema bagi rollup. Ketika masalah ketersediaan data muncul, terdapat pilihan biner untuk menerbitkan data ke jaringan BTC atau tempat lainnya. Pilihan ini memiliki dampak besar pada keamanan, kedaulatan, dan skalabilitas rollup.
Di satu sisi, menggunakan BTCBlok sebagai lapisan ketersediaan data akan memberikan batas maksimum skalabilitas rollup. Ruang Blok terbatas, yang menetapkan batas jumlah rollup yang dapat ada sekaligus dan total transaksi yang dapat diproses off-chain oleh semua rollup. Setiap pembaruan rollup membutuhkan ruang Blok yang sebanding dengan jumlah akun yang mengalami perubahan saldo sejak pembaruan terakhir. Teori informasi hanya memungkinkan kompresi data hingga batas tertentu, pada titik ini, tidak ada potensi skalabilitas lebih lanjut.
Di sisi lain, menggunakan lapisan yang berbeda untuk mencapai ketersediaan data akan menghilangkan batas atas keuntungan skala, tetapi juga membawa masalah keamanan dan kedaulatan baru. Dalam Rollup yang menggunakan BTC untuk mencapai ketersediaan data, jika data yang ingin diekstrak 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.
Sekarang, setiap produsen Blok pada sistem ketersediaan data eksternal dapat mencuri dana pengguna BTCRollup dengan memproduksi Blok daripada secara langsung menyiarkan Blok tersebut, sehingga membuat data menjadi tersedia.
Jadi, jika kita benar-benar berhasil mewujudkan implementasi Rollup yang ideal pada BTC, yang memungkinkan penarikan unilateral oleh pengguna, bagaimana hal itu akan terjadi?