Pengguna Bitcoin hanya perlu BTC di Bitcoin untuk memaksa penarikan BTC mereka dari BOB kembali ke Bitcoin. Kami sedang mengerjakan solusi hibrida: beralih ke Ethereum sebagai DA sambil memungkinkan pengguna untuk memasukkan transaksi pada BOB melalui transaksi khusus di Bitcoin. Kami sangat bersemangat untuk membagikan hasil kerja kami dalam posting blog ini.
tl;dr
Salah satu sifat inti dari L2 adalah bahwa keadaannya harus berkembang bahkan ketika Sequencer sedang offline. L2 mencapai ini dengan membaca dan menulis status mereka dari lapisan Ketersediaan Data (DA) yang dapat diperbarui secara independen dari L2 yang sedang online. Dengan cara ini, pengguna dapat memaksa inklusi transaksi mereka bahkan ketika pemutus urutan tidak online, atau pemutus urutan tidak menerima transaksi mereka secara langsung.
Untuk jembatan BitVM BOB, ini menimbulkan masalah menarik. Saat ini, BOB menggunakan blob Ethereum EIP-4844 sebagai lapisan DA-nya. Pengguna di Ethereum dapat dengan mudah memicu penarikan kembali ke Bitcoin melalui jembatan BitVM. Namun, ini membutuhkan pengguna untuk memiliki ETH di Ethereum.
Ini tidak cukup bagus bagi kami: pengguna Bitcoin hanya perlu memiliki BTC di Bitcoin untuk memaksa penarikan BTC mereka dari BOB kembali ke Bitcoin. Kami sedang mengerjakan solusi hibrida: beralih ke Ethereum sebagai DA sambil memungkinkan pengguna memasukkan transaksi pada BOB melalui transaksi khusus di Bitcoin. Kami senang untuk berbagi perkembangan kami dalam posting blog ini.
Proses derivasisangat penting bagi L2s: seluruh keadaan L2 BOB harus dibangun dari L1 dan lapisan DA. Ini memungkinkan L2s menikmati ketahanan sensor yang sama seperti lapisan DA, dalam kasus kami, Ethereum.
DisederhanakanDi dalam rollups (khususnya rantai OP Stack), kita memiliki dua jenis data pada L1:
Jika kita ingin Bitcoin sebagai lapisan DA, mengapa tidak beralih sepenuhnya ke penggunaan Bitcoin secara keseluruhan sebagai lapisan DA? Jawabannya sebagian besar adalah biaya. Bitcoin memiliki sedikit ruang penyimpanan yang tersedia (sekitar 4MB setiap 10 menit), dan oleh karena itu, biaya penyimpanan tinggi.
Namun, dalam kasus kami, BOB masih dapat menggunakan Ethereum sebagai lapisan DA "utama" di mana ia memposting seluruh data transaksinya, tetapi menambahkan Bitcoin sebagai lapisan cadangan yang sangat tahan sensor jika Ethereum DA tidak tersedia. Pada dasarnya, Ethereum menjadi lapisan DA yang optimis sementara Bitcoin menjadi pilihan terakhir yang mahal tetapi toleran terhadap kesalahan.
Solusi dasar adalah menambahkan Bitcoin ke BOB sebagai bagian dari pipeline derivasi, sehingga BOB (dan khususnya “op-node”) memproses input dalam urutan ini:
Mari kita masuk ke solusi yang mungkin untuk mengkodekan transaksi penarikan terpaksa Bitcoin ke dalam pipa turunan BOB. Perhatikan bahwa ini masih dalam penelitian, jadi perubahan mungkin terjadi.
Kami akan memerlukan tiga bagian untuk membuat transaksi penarikan paksa:
Tumpukan OPtransaksi depositmemiliki struktur berikut:
Transaksi penarikan paksa memerlukan inklusi transaksi penarikan yang telah dienkripsi dalam bidang data transaksi deposit. Hal ini dilakukan dengan menciptakan transaksi di BOB yang memicu penarikan dari BOB ke Bitcoin dan akan berfungsi dengan persis sama jika transaksi tersebut dikirim dari Ethereum.
Kemudian kita dapat menyimpan versi (terkompresi) transaksi penarikan paksa di Bitcoin yang mencakup semua data di atas.
Karena data untuk transaksi penarikan paksa lebih besar dari biasanya yang seharusnya disimpan dalam output OP_RETURN, kemungkinan besar kami akan menggunakan Taprootoutput untuk menyimpan data.
Meskipun mudah untuk mengidentifikasi transaksi deposit (yang mungkin termasuk penarikan) di Ethereum karena dikirim ke kontrak OptimismPortal milik BOB, tidak mudah untuk mengidentifikasi transaksi penarikan paksa di Bitcoin.
Serialisasi Data: Transaksi penarikan paksa diserialisasi menggunakan skrip Taproot dalam struktur 'envelope'. Ini adalah noops di jaringan Bitcoin dan digunakan, misalnya, untuk Ordinals juga. Kami menyesuaikan struktur ini sesuai dengan kebutuhan kami.
Tidak diatur
OP_FALSE OP_IF
OP_PUSH "bob"
OP_1
OP_PUSH "transaksi"
OP_0
OP_PUSH $WITHDRAWAL_TRANSACTION_DATA
OP_ENDIF
Skema Komitmen/Reveal Dua Fase:
Seperti halnya Ordinal, pengguna harus mengirimkan dua transaksi ke Bitcoin:
Ini adalah masalah yang paling terbuka hingga saat ini, dengan dua opsi yang saat ini sedang dipertimbangkan:
Kami juga sedang mencoba beberapa ide lain, jadi tetap terhubung untuk pembaruan lebih lanjut!
Siapa pun dapat menentukan status BOB hanya dengan memeriksa data di Bitcoin dan Ethereum:
Konsistensi Data: Meskipun menjaga konsistensi data antara rantai Ethereum dan Bitcoin penting, keberadaan data transaksi di kedua rantai tersebut tidak menjamin keabsahan. Transaksi harus mewakili perubahan status yang valid sesuai dengan fungsi transisi status rollup untuk dianggap sah. Solusi ini memerlukan implementasi logika validasi di dalam op-node (atau implementasi lapis konsensus lainnya) yang pertama kali memverifikasi apakah transaksi menghasilkan perubahan status yang valid sebelum menerimanya.
Bukti Penipuan dan Validitas: Sistem bukti penipuan untuk BitVM dan Ethereum perlu diperkuat untuk menangani data dari kedua rantai, yang dapat membuat penyelesaian sengketa menjadi lebih kompleks. Untuk mengatasi hal ini, kita perlu menghitung dengan akurat transaksi yang mungkin terjadi dari Bitcoin dan Ethereum sebagai bagian dari jembatan BitVM dan penyelesaian BOB di Ethereum.
Penambahan Penyimpanan: Selain itu, node BOB dalam jaringan menghadapi peningkatan kebutuhan penyimpanan dan bandwidth karena perlu mengolah dan menyimpan data dari Bitcoin dan Ethereum. Namun, kita dapat menguranginya dengan meminta agar transaksi BOB yang dilakukan di Bitcoin harus dimasukkan ke dalam blob Ethereum dengan referensi ke blok Bitcoin terbaru. Dengan cara ini, node hanya perlu menyinkronkan blok Bitcoin terbaru.
Kami sangat bersemangat untuk mendorong batas-batas rollups hybrid yang menggabungkan keamanan Bitcoin dengan inovasi Ethereum. Dalam masalah konkret ini, kami tertarik untuk memiliki ketahanan sensorship transaksi Bitcoin yang digabungkan dengan tumpukan rollup BOB. Kami akan memperbarui pos blog ini dengan informasi lebih lanjut seiring dengan kemajuan yang kami buat.
Pengguna Bitcoin hanya perlu BTC di Bitcoin untuk memaksa penarikan BTC mereka dari BOB kembali ke Bitcoin. Kami sedang mengerjakan solusi hibrida: beralih ke Ethereum sebagai DA sambil memungkinkan pengguna untuk memasukkan transaksi pada BOB melalui transaksi khusus di Bitcoin. Kami sangat bersemangat untuk membagikan hasil kerja kami dalam posting blog ini.
tl;dr
Salah satu sifat inti dari L2 adalah bahwa keadaannya harus berkembang bahkan ketika Sequencer sedang offline. L2 mencapai ini dengan membaca dan menulis status mereka dari lapisan Ketersediaan Data (DA) yang dapat diperbarui secara independen dari L2 yang sedang online. Dengan cara ini, pengguna dapat memaksa inklusi transaksi mereka bahkan ketika pemutus urutan tidak online, atau pemutus urutan tidak menerima transaksi mereka secara langsung.
Untuk jembatan BitVM BOB, ini menimbulkan masalah menarik. Saat ini, BOB menggunakan blob Ethereum EIP-4844 sebagai lapisan DA-nya. Pengguna di Ethereum dapat dengan mudah memicu penarikan kembali ke Bitcoin melalui jembatan BitVM. Namun, ini membutuhkan pengguna untuk memiliki ETH di Ethereum.
Ini tidak cukup bagus bagi kami: pengguna Bitcoin hanya perlu memiliki BTC di Bitcoin untuk memaksa penarikan BTC mereka dari BOB kembali ke Bitcoin. Kami sedang mengerjakan solusi hibrida: beralih ke Ethereum sebagai DA sambil memungkinkan pengguna memasukkan transaksi pada BOB melalui transaksi khusus di Bitcoin. Kami senang untuk berbagi perkembangan kami dalam posting blog ini.
Proses derivasisangat penting bagi L2s: seluruh keadaan L2 BOB harus dibangun dari L1 dan lapisan DA. Ini memungkinkan L2s menikmati ketahanan sensor yang sama seperti lapisan DA, dalam kasus kami, Ethereum.
DisederhanakanDi dalam rollups (khususnya rantai OP Stack), kita memiliki dua jenis data pada L1:
Jika kita ingin Bitcoin sebagai lapisan DA, mengapa tidak beralih sepenuhnya ke penggunaan Bitcoin secara keseluruhan sebagai lapisan DA? Jawabannya sebagian besar adalah biaya. Bitcoin memiliki sedikit ruang penyimpanan yang tersedia (sekitar 4MB setiap 10 menit), dan oleh karena itu, biaya penyimpanan tinggi.
Namun, dalam kasus kami, BOB masih dapat menggunakan Ethereum sebagai lapisan DA "utama" di mana ia memposting seluruh data transaksinya, tetapi menambahkan Bitcoin sebagai lapisan cadangan yang sangat tahan sensor jika Ethereum DA tidak tersedia. Pada dasarnya, Ethereum menjadi lapisan DA yang optimis sementara Bitcoin menjadi pilihan terakhir yang mahal tetapi toleran terhadap kesalahan.
Solusi dasar adalah menambahkan Bitcoin ke BOB sebagai bagian dari pipeline derivasi, sehingga BOB (dan khususnya “op-node”) memproses input dalam urutan ini:
Mari kita masuk ke solusi yang mungkin untuk mengkodekan transaksi penarikan terpaksa Bitcoin ke dalam pipa turunan BOB. Perhatikan bahwa ini masih dalam penelitian, jadi perubahan mungkin terjadi.
Kami akan memerlukan tiga bagian untuk membuat transaksi penarikan paksa:
Tumpukan OPtransaksi depositmemiliki struktur berikut:
Transaksi penarikan paksa memerlukan inklusi transaksi penarikan yang telah dienkripsi dalam bidang data transaksi deposit. Hal ini dilakukan dengan menciptakan transaksi di BOB yang memicu penarikan dari BOB ke Bitcoin dan akan berfungsi dengan persis sama jika transaksi tersebut dikirim dari Ethereum.
Kemudian kita dapat menyimpan versi (terkompresi) transaksi penarikan paksa di Bitcoin yang mencakup semua data di atas.
Karena data untuk transaksi penarikan paksa lebih besar dari biasanya yang seharusnya disimpan dalam output OP_RETURN, kemungkinan besar kami akan menggunakan Taprootoutput untuk menyimpan data.
Meskipun mudah untuk mengidentifikasi transaksi deposit (yang mungkin termasuk penarikan) di Ethereum karena dikirim ke kontrak OptimismPortal milik BOB, tidak mudah untuk mengidentifikasi transaksi penarikan paksa di Bitcoin.
Serialisasi Data: Transaksi penarikan paksa diserialisasi menggunakan skrip Taproot dalam struktur 'envelope'. Ini adalah noops di jaringan Bitcoin dan digunakan, misalnya, untuk Ordinals juga. Kami menyesuaikan struktur ini sesuai dengan kebutuhan kami.
Tidak diatur
OP_FALSE OP_IF
OP_PUSH "bob"
OP_1
OP_PUSH "transaksi"
OP_0
OP_PUSH $WITHDRAWAL_TRANSACTION_DATA
OP_ENDIF
Skema Komitmen/Reveal Dua Fase:
Seperti halnya Ordinal, pengguna harus mengirimkan dua transaksi ke Bitcoin:
Ini adalah masalah yang paling terbuka hingga saat ini, dengan dua opsi yang saat ini sedang dipertimbangkan:
Kami juga sedang mencoba beberapa ide lain, jadi tetap terhubung untuk pembaruan lebih lanjut!
Siapa pun dapat menentukan status BOB hanya dengan memeriksa data di Bitcoin dan Ethereum:
Konsistensi Data: Meskipun menjaga konsistensi data antara rantai Ethereum dan Bitcoin penting, keberadaan data transaksi di kedua rantai tersebut tidak menjamin keabsahan. Transaksi harus mewakili perubahan status yang valid sesuai dengan fungsi transisi status rollup untuk dianggap sah. Solusi ini memerlukan implementasi logika validasi di dalam op-node (atau implementasi lapis konsensus lainnya) yang pertama kali memverifikasi apakah transaksi menghasilkan perubahan status yang valid sebelum menerimanya.
Bukti Penipuan dan Validitas: Sistem bukti penipuan untuk BitVM dan Ethereum perlu diperkuat untuk menangani data dari kedua rantai, yang dapat membuat penyelesaian sengketa menjadi lebih kompleks. Untuk mengatasi hal ini, kita perlu menghitung dengan akurat transaksi yang mungkin terjadi dari Bitcoin dan Ethereum sebagai bagian dari jembatan BitVM dan penyelesaian BOB di Ethereum.
Penambahan Penyimpanan: Selain itu, node BOB dalam jaringan menghadapi peningkatan kebutuhan penyimpanan dan bandwidth karena perlu mengolah dan menyimpan data dari Bitcoin dan Ethereum. Namun, kita dapat menguranginya dengan meminta agar transaksi BOB yang dilakukan di Bitcoin harus dimasukkan ke dalam blob Ethereum dengan referensi ke blok Bitcoin terbaru. Dengan cara ini, node hanya perlu menyinkronkan blok Bitcoin terbaru.
Kami sangat bersemangat untuk mendorong batas-batas rollups hybrid yang menggabungkan keamanan Bitcoin dengan inovasi Ethereum. Dalam masalah konkret ini, kami tertarik untuk memiliki ketahanan sensorship transaksi Bitcoin yang digabungkan dengan tumpukan rollup BOB. Kami akan memperbarui pos blog ini dengan informasi lebih lanjut seiring dengan kemajuan yang kami buat.