Catatan Penulis: init4adalah kolektif riset yang bekerja pada alat-alat Ethereum generasi berikutnya. Ini adalah catatan riset, bukan dokumen pengungkapan. Meskipun kami akan membahas nuansa dan celah dalam model keamanan sistem yang telah dan akan diusulkan, akan berlebihan untuk menggambarkan ini sebagai "kerentanan" atau "tidak diketahui sebelumnya".
Resistensi pensensoran tetap menjadi nilai inti dari mata uang kripto secara umum, dan EthereumkhususnyaKami percaya bahwa manfaat transaksi on-chain harus tersedia untuk siapa saja, dan bahwa aturan dari rantai tersebut harus berlaku bagi semua pengguna dan penggunaan dengan sama. Nilai-nilai mendorong ruang ini maju. Rekayasa adalah proses pengujian nilai-nilai kami terhadap realitas untuk menemukan di mana dan bagaimana mereka rusak.
Dominos juga berjalan secara berurutan :) Foto oleh Tom WilsonpadaUnsplash
Kami cenderung memodelkan sensor sebagai penghalang yang sengaja mencegah transaksi muncul dalam urutan yang sah (yaitu pengecualian transaksi). Kami menganggap pesanan adil atau netral ketika mereka sepenuhnya bergantung pada hasil ekonomi untuk sistem pengurutan, dan tidak adil atau disensor ketika mereka bergantung pada informasi lain. Misalnya, ketika membuat blok, boleh menolak untuk menyertakan transaksi dengan biaya rendah, tetapi tidak boleh menolak untuk menyertakan transaksi karena dikirim oleh orang tertentu. Oleh karena itu, kami mengatakan transaksi disensor jika inklusinya bergantung pada informasi non-ekonomi. Jika transaksi menciptakan keuntungan yang lebih terlihat bagi sistem pengurutan daripada transaksi yang disertakan, tetapi tidak disertakan, maka transaksi tersebut dianggap disensor. Definisi ini memotivasi kerja pada mekanisme inklusi paksa untuk resistensi sensor. Jika pengguna dapat memaksa inklusi transaksinya, maka transaksi tersebut tidak dapat disensor menurut definisi ini.
Salah satu tujuan keamanan inti dari rantai OP Stack adalah bahwa Pemroses seharusnya tidak dapat mencegah pengguna untuk mengirimkan transaksi ke rantai L2.
Rollup modern cenderung memiliki urutan terpusat. Ini berarti resistensi oleh pengurut adalah hal yang remeh, karena mereka dapat dengan mudah memilih untuk tidak menyertakan transaksi pengguna tertentu apa pun. Untuk meredam hal ini, beberapa rollup - termasuk OptimismedanArbitrum- memiliki mekanisme inklusi paksa. Mekanisme ini memungkinkan pengguna untuk memastikan bahwa transaksi mereka akan dieksekusi oleh rollup setelah beberapa penundaan waktu, terlepas dari perilaku sequencer. Inklusi dipaksa melalui kontrak yang diterapkan di L1. Oleh karena itu, transaksi inklusi paksa (secara teoritis) memiliki resistensi pensensoran yang sama dengan transaksi Ethereum lainnya.
Pemasukan paksa menentukan sub-range yang harus dipertahankan dalam setiap urutan yang valid.
Mekanisme inklusi paksa juga telah diusulkan untuk Ethereum melalui EIP-7547Daftar inklusi akan memungkinkan proposal blok untuk sebagian menentukan isi blok berikutnya. Dengan asumsi bahwa para pengusul blok memiliki lebih sedikit insentif untuk mensensor dibandingkan dengan pembangun blok, ini akan memberikan mitigasi yang efektif terhadap sensor.
Secara umum, mekanisme inklusi paksa menciptakan batasan baru pada urutan yang valid. Mereka membuat kelas-kelas luas urutan menjadi tidak valid sesuai dengan aturan protokol.1. Inklusi paksa harus dipikirkan sebagai memungkinkan pengguna untuk menentukan subset dari urutan masa depan. Semua urutan yang valid harus memperluas subset yang dipaksa.
Sayangnya, konfirmasi transaksi adalah sarana, bukan tujuan. Model pengecualian kami tidak lengkap!
Penghambatan harus didefinisikan dalam hal tujuan. Pengguna ingin mengirim token, membeli NFT, meminjam dana, dan sebagainya. Konfirmasi transaksi bersifat insidental terhadap tujuan tersebut2. Censor, begitu juga, memiliki tujuan tertentu. Tujuan itu mungkin untuk mencegah beberapa transaksi hack berhasil, untuk mematuhi beberapa hukum, atau untuk mengganggu bisnis pesaing. Menghormati niat kedua belah pihak, kita perlu mendefinisikan kembali penyunatan.
Dengan ini diingatkan, kita harus memperluas definisi kita tentang penyensoran menjadi: suatu transaksi disensor jika pihak ketiga dapat mencegahnya mencapai tujuannya. Artinya, sensor tidak perlu mencegah transaksi tersebut dikonfirmasi; mereka hanya perlu membuat eksekusi kontrak pintar berbalik. Membuat transaksi EVM berbalik adalah penyensoran terhadap transaksi tersebut, meskipun transaksi tersebut merupakan bagian dari rantai kanonik. Model ancaman yang tidak memperhatikan isi transaksi tidak secara akurat memodelkan penyensoran, dan oleh karena itu tidak dapat melindungi pengguna dari penyensoran secara efektif.
Secara semi-formal, kita dapat mengatakan bahwa untuk setiap interaksi tertentu dengan rantai, ada beberapa predikat penilaian f yang mengevaluasi hasil pengurutan, dan menghasilkan 0 (tujuan gagal) atau 1 (tujuan tercapai). Dalam model ini, fungsi penilaian sensor hanya berupa negasi: f' = !f. Sensor mencapai tujuannya ketika pengguna tidak melakukannya.3
Meskipun tujuan pengguna mungkin tersembunyi, transaksi itu sendiri hampir selalu mengandung informasi yang cukup untuk menyimpulkannya. Perdagangan Uniswap memiliki tujuan yang jelas. Selain itu, karena blockchain bersifat deterministik, sensor dapat dengan sempurna memprediksi pengaturan mana yang akan memenuhi predikat sensor. Akibatnya, pengguna tidak dapat mengandalkan informasi tersembunyi untuk melindungi mereka dari penyensoran dalam model EVM. Detail transaksi haruslah publik, yang berarti bahwa informasi tentang tujuan pengguna adalah publik.
Untuk kesederhanaan, mari kita asumsikan bahwa kita bekerja dalam model urutan maju standar4Kami akan menangani inklusi paksa di bawah rotasi pengurut nanti. Dalam model ini, pengurut memiliki kontrol total atas urutan, dan dapat mensimulasikan dengan sempurna setiap hasil. Artinya, mereka bebas memilih dari himpunan semua kemungkinan urutan. Pertanyaan semi-formal kami tentang resistensi sensor maka menjadi “apakah ada urutan valid di mana f dievaluasi menjadi 0”? Jika ada urutan tersebut, maka pengurut dapat memilihnya.
Dari sana, kita dapat memperluas model kita untuk memperhitungkan inklusi yang dipaksa. "Apakah ada urutan yang valid, yang mencakup sub-urutan pengguna, di mana f dievaluasi menjadi 0?" Jika urutan tersebut ada, pengurut dapat memilihnya. Inklusi yang dipaksa tidak mencegah pengurut untuk mengendalikan urutan, tetapi hanya membatasi perilaku mereka. Sayangnya, inklusi yang dipaksa memiliki masalah mendasar yang mencegahnya menjadi mekanisme resistensi pensensoran yang efektif untuk banyak transaksi.
Mekanisme inklusi paksa berarti pengurutan terjadi dalam salah satu dari dua mode: tidak dipaksa atau dipaksa. Ada titik yang ditentukan di mana itu berubah dari tidak dipaksa menjadi dipaksa (dan sebaliknya). Titik tersebut adalah penyerahan. Penyerahan menimbulkan masalah yang sulit bagi desain mekanisme inklusi paksa.
Harus ada serah terima dari inklusi yang tidak dipaksa menjadi inklusi yang dipaksa.
Transaksi paksa dieksekusi pada saat penyerahan. Jadi sekali lagi, persaingan status5muncul. Ketika penyerahan terjadi dalam sekelompok transaksi (seperti blok), pencipta kelompok dapat mengendalikan status saat penyerahan terjadi. Jika transaksi inklusi paksa membaca status publik apa pun, maka pencipta kelompok dapat menulis ulang status tersebut sebelum dan setelah eksekusi transaksi paksa. Kontensi sudah cukup untuk resistensi pensensoran.
Karena pembuat batch dapat mengendalikan status pada saat penyerahan, maka dapat mempengaruhi hasil dari transaksi yang dipaksa. Jika dapat mempengaruhi hasilnya, dapat berpotensi mempengaruhi hasil dari predikat skor. Sebagai contoh, pertimbangkan interaksi AMM sederhana. Pengguna menetapkan harga minimum yang dapat diterima, namun pembuat batch dapat memastikan bahwa pada saat penyerahan harga pasar berada di bawah harga minimum yang dapat diterima. Hal ini menyebabkan transaksi pengguna dibatalkan, secara efektif mensensor pengguna.67
Menariknya, sensor melalui persaingan negara lebih efektif daripada sensor melalui pengecualian. Transaksi yang dikeluarkan dapat dimasukkan dalam blok di masa depan. Transaksi yang disensor melalui persaingan secara permanen tidak valid. Transaksi tersebut telah dimasukkan dalam rantai, dan tidak dapat dimasukkan lagi. Transaksi tersebut tidak akan pernah mencapai tujuan pengguna. Untuk mencoba lagi, pengguna harus membuat ulang dan mengirim ulang transaksi (yang kemudian dapat disensor kembali).
[A]ny user can bypass the Sequencer entirely to submit any Arbitrum transaction (including one that, say, initiates an L2 to L1 message to withdraw funds) directly from layer 1. Thus [sic] mechanism thereby preserves censorship resistance even if the Sequencer is being completely unresponsive or even malicious.
Dalam model urutan pelari, pelari memiliki kontrol yang hampir sempurna atas lokasi penyerahan dalam urutan, dan membayar biaya yang lebih rendah (karena mereka tidak perlu memberi tip dan dapat mengendalikan sebagian basis biaya EIP-1559). Akibatnya, pelari berada dalam posisi istimewa untuk menggunakan persaingan status untuk mensensor aksi pengguna. Ini remeh. Masalah penyerahan memastikan bahwa pelari dapat mensensor kelas-kelas transaksi yang besar.
Untuk EIP-7547, para pembangun memilih di mana penyerahan blok terjadi.8Sebagai hasilnya, pembangun mampu memilih lokasi penyerahan dalam blok. Ini berarti bahwa mereka dapat memilih awalan dan akhiran sesuai keinginan,9asalkan mereka menghormati aturan gas blok. Awalan dapat menempatkan rantai dalam keadaan di mana transaksi akan mundur, sedangkan akhiran akan mengembalikan rantai ke keadaan normal. Daftar inklusi EIP-7547 tidak cukup untuk mencegah penyensoran untuk transaksi apa pun yang mengakses keadaan yang kontroversial. Masalah penyerahan mencegah IL dari menjamin eksekusi transaksi dalam kebanyakan kasus.
Pemasukan paksa tidak efektif dalam melindungi pengguna dari sensor untuk sebagian besar penggunaan blockchain yang tidak sepele. Masalah penyerahan memastikan bahwa pengensor memiliki kewenangan yang cukup atas keadaan meskipun mereka tidak memiliki kewenangan yang cukup atas urutan. Masalah ini memengaruhi AMM, pasar pinjaman, lelang, dan sebagian besar tindakan DeFi lainnya. Banyak tindakan penting dapat diensor bahkan jika Anda dapat menjamin inklusi transaksi. Persaingan keadaan menciptakan batasan yang sulit terhadap efektivitas pemasukan paksa sebagai mekanisme resistensi sensor.
Untuk melihat efek yang luas dari ini, pertimbangkan pengguna yang meminjam USDC di pasar pinjaman di Optimism. Ketika pengguna ingin menarik USDC dari pasar, mereka mengirimkan transaksi Optimism, yang disensor oleh sequencer. Mereka kemudian menggunakan mekanisme inklusi paksa resmi untuk mengantrikan transaksi mereka di Ethereum, menghindari sequencer.
Sequencer dapat melihat transaksi tersebut dalam antrian, dan dapat memilih untuk menyelipkannya. Untuk menyensor transaksi, sequencer meminjam semua USDC yang tersedia dari pasar segera sebelum transaksi dipaksa. Karena pasar tidak lagi memiliki likuiditas, transaksi dipaksa dibatalkan. Sequencer kemudian dapat mengembalikan USDC segera.
Sequncer atau builder dapat memanipulasi status saat penyerahan.
Ini mengharuskan pemutus urutan untuk memiliki jaminan yang cukup untuk meminjam USDC, tetapi hanya memberlakukan biaya pinjaman yang sangat kecil.10Selain itu, agunan dapat digunakan kembali untuk semua resistensi, karena pinjaman tidak pernah terbuka. Akibatnya, pengguna AAVE atau Compound di Optimism (atau Arbitrum atau rollup berurutan sentral lainnya) tidak memiliki jaminan bahwa mereka akan dapat menarik agunan kapan pun. Pihak yang mem-urutkan dapat memblokir penarikan dari pasar pinjaman kapan saja. Inklusi paksa tidak cukup untuk melindungi pengguna dari penyensoran.
Kami memiliki beberapa area penelitian lanjutan yang perlu ditindaklanjuti.
Pertama, EIP-7547 dapat ditingkatkan dengan mudah dengan mengharuskan transaksi IL diproses pada akhir blok berikutnya. Dalam konteks lelang PBS, resistensi adalah MEV. Builder mendapatkan beberapa nilai non-ekonomi, yang harus mereka berikan nilai subjektif yang dinominasikan dalam ETH. Pencabutan sensor oleh builder menyebabkan peningkatan tawaran blok builder.11Hal ini berlaku juga pada para pencari, yang mungkin membuat bundel penyesuaian. Beberapa nilai ekonomi dari sensor ini kemudian ditangkap oleh pengusul, memberikan insentif untuk mentolerir sensor bahkan ketika tidak ikut serta secara langsung. Menempatkan transaksi inklusi paksa di akhir blok menghilangkan kemampuan pembangun blok untuk dengan mudah menyelipkan transaksi IL, dan meningkatkan biaya ekonomi dari sensor yang kontroversial. Misalnya, menyensor interaksi AMM melalui konten negara bisa membutuhkan pengorbanan beberapa arbitrase AMM atau biaya tinggi untuk mendorong pasar keluar dari kisaran yang tidak dapat dikembalikan dengan menutup sandwich. Selain itu, ini akan membatasi bundel sensor yang diproduksi oleh Pencari (bukan pembangun) menjadi satu per blok.12Kami akan merekomendasikan eksekusi puncak blok, karena awalan lebih signifikan daripada akhiran, namun, hal itu akan secara drastis meningkatkan biaya transaksi IL, karena akan memungkinkan ekstraksi MEV puncak blok melalui inklusi paksa.13 Menghapus hak sensor untuk membubuhkan transaksi IL secara atom adalah perbaikan kecil.
Kedua, masalah hand-off ada karena sensor dapat melihat ke depan melalui simulasi transaksi dan melakukan kontrol atas status input. Banyak mekanisme resistensi MEV memperkenalkan informasi tersembunyi untuk menghilangkan kemampuan sensor untuk memperoleh informasi tentang tujuan pengguna dan untuk mensimulasikan hasil. Biasanya ini adalah skema pengungkapan komitmen, di mana beberapa informasi transaksi bersifat pribadi sampai setelah pemesanan terjadi. Pemisahan pemesanan-eksekusi dan informasi tersembunyi tampaknya menjanjikan, tetapi sebagian besar tidak kompatibel dengan rantai pasokan MEV, proses konsensus Ethereum, dan model rollup berurutan. Beberapa cara untuk neGate kemampuan untuk mensimulasikan transaksi akan membahas sensor dan kelas besar MEV, tetapi akan sangat invasif terhadap protokol, operator protokol, aplikasi, dan pengguna akhir.
Ketiga, ada kelas menarik dari fungsi skor “independen dari urutan”. Ini adalah tujuan yang tidak dapat disensor oleh kontensi negara, baik karena mereka tidak mengakses konten negara yang kontroversial, atau karena konten negara kontroversial yang mereka akses memiliki batasan yang cukup untuk membuatnya “handal” dalam beberapa arti. Tindakan independen dari urutan termasuk mengirim ETH ke EOA, sebagian besar pengiriman ERC-20,14dan beberapa interaksi DeFi seperti menambahkan jaminan ke pasar. Tindakan-tindakan ini dilindungi dari sensur melalui kontensi. Kelas tujuan ini juga memiliki korespondensi menarik dalam komunikasi cross-chain yang aman dan resistensi MEV dan layak untuk studi yang lebih mendalam. Aplikasi dan protokol mungkin dirancang untuk hanya memasukkan tindakan-tindakan mandiri dalam beberapa kasus, tetapi perlu studi lebih lanjut.
Negara kaya memungkinkan aktor jahat untuk menyensor transaksi sambil tetap memasukkannya. Masalah hand-off sangat penting untuk mekanisme inklusi paksa, dan hanya dapat dimitigasi. Dalam rollup yang diurutkan secara terpusat, tidak ada mitigasi yang dimungkinkan. Inklusi paksa tidak dapat mengatasi penyensoran di hadapan negara yang kontroversial. Kelas besar transaksi yang penting secara ekonomi dapat disensor, bahkan jika dimasukkan dengan paksa. Masalah hand-off adalah endemik dalam rollup modern, dan hadir dalam EIP resistensi sensor Ethereum. Akibatnya, inklusi paksa, meskipun bermanfaat, tidak pernah cukup untuk memberikan perlawanan sensor bagi rantai negara kaya. Rollup tidak "mewarisi" properti keamanan Ethereum dan konyol untuk menyarankan agar mereka melakukannya. Ketika Anda berhenti terobsesi dengan inklusi, menjadi jelas bahwa resistensi sensor adalah kasus khusus resistensi MEV.
Kami ingin mengucapkan terima kasih Mike Neuder, Tarun Chitra, dan Brandon Curtisuntuk ditinjau dan umpan balik.
Seperti biasa, untuk L1 ini dicapai dengan menolak blok yang tidak valid, sedangkan pada rollups ini dicapai dengan memaksa urutan yang tidak valid menjadi urutan yang valid melalui beberapa fungsi filtrasi.
Ini bukanlah sebuah pos tentang niat, dunia tidak memerlukan lebih dari itu pada saat ini.
Ini jelas merupakan model yang tidak lengkap, karena tidak memperhitungkan nilai-nilai subjektif dari hasil-hasil tersebut. Misalnya, sensor dapat kehilangan sejumlah uang jika sensor gagal (misalnya, karena mereka bisa ditangkap oleh polisi Perancis jika gagal untuk mensensor perilaku tertentu). Di sisi lain, pengguna bisa mengalami keuntungan/kerugian sejumlah uang jika tujuan mereka tidak tercapai dalam jangka waktu tertentu (misalnya, mereka telah mengambil pinjaman sebesar $100 juta+ terhadap token mereka sendiri dan perlu melakukan rekollateralisasi posisi sebelum mereka dilikuidasi).
Berlawanan dengan model urutan berbasis. Pada kebanyakan rollup modern, urutan 'berjalan lebih dulu' dari Ethereum karena menyediakan inklusi dan eksekusi penegasan untuk transaksi sebelum transaksi tersebut di-commit ke Ethereum. Dalam model ini, Sequencer memiliki kontrol total atas urutan, dan hasil transaksi harus independen dari reorgs Ethereum.
Ketika beberapa pengguna ingin mengakses kontrak, aset, atau status yang sama, transaksi mereka "bersaing" satu sama lain dan berpotensi mengganggu hasil satu sama lain. Perselisihan dapat timbul secara kebetulan, atau sengaja. Ini adalah masalah negara kaya yang sulit dipecahkan dalam sistem blockchain. Akses publik ke negara bersama adalah akar dari MEV, masalah skalabilitas, dan penurunan kesopanan dalam masyarakat modern.
Secara umum, Anda harus memikirkan penyensoran melalui pertikaian negara sebagai kasus khusus MEV. Karena nilai yang diekstraksi adalah off-chain, tidak dapat diamati, dan berpotensi sangat besar, mungkin sulit untuk memprediksi kapan sensor melalui pertikaian negara akan terjadi.
Kami secara khusus membahas penggunaan pertentangan negara untuk mengembalikan transaksi dalam artikel 2017 kami "Para penambang bukanlah temanmu”. Saat itu istilah "MEV" belum digunakan.
Sudah diketahui bahwa PBS secara dramatis mempersulit resistensi sensor. Lihat VB's @vbuterin/pbs_censorship_resistance">catatan penelitian.
Prefiks dan postfiks transaksi umumnya disebut "sandwiching" dan dipahami dengan baik sebagai metode menggunakan pertentangan negara untuk mengekstrak MEV.
Pinjaman hanya ditahan selama beberapa detik, jika memang begitu. Sequencer rollup dalam beberapa kasus dapat menahan timestamp atau batas blok untuk membuat waktu pinjaman efektif 0.
Pembangun akan bersedia membayar hingga nilai subjektif dari resistensi pensensoran, yang potensial mendorong penawaran di atas nilai ekstraksi yang dapat diamati secara objektif dari blok tersebut. Dalam kasus ekstrim hal ini dapat mengakibatkan kejadian di mana penapis memiliki perubahan saldo ETH negatif (yaitu mereka membayar lebih banyak ETH untuk memproduksi blok daripada yang mereka terima sebagai biaya dan imbalan).
Perlu diingat bahwa ini bergantung pada aturan lelang MEV yang mencegah transaksi interleaving dari bundle yang berbeda dan tidak mengizinkan transaksi “must revert”. Jika aturan tersebut dilonggarkan untuk mengizinkan bundle txn diinterleaved, dan/atau jika pembangun mulai mendukung blok “must revert” dalam bundle, perlindungan akan hilang. Dinamika ini muncul karena jika transaksi IL harus berada di akhir blok, tidak ada transaksi non-forced yang dapat diinterleaved, dan oleh karena itu paling banyak satu bundle sensorship searcher yang dapat terjadi.
Secara efektif memungkinkan pembuat untuk membuat paket antar-blok yang terbatas. Sistem pra-konsensus seperti FOCILdapat meredam ini.
Untuk token ERC-20 standar, panggilan transfer biasanya tidak dapat dipersensor melalui perselisihan, karena pihak ketiga tidak dapat mengurangi saldo pengguna. Namun, pertimbangkan panggilan transferFrom. Jika transferor yang disetujui adalah kontrak yang memungkinkan perselisihan pada keadaannya sendiri, maka tindakan tersebut dapat dipersensor melalui perselisihan tersebut (mengkonsumsi persetujuan yang diperlukan untuk transferFrom dengan cara yang tidak diinginkan).
Catatan Penulis: init4adalah kolektif riset yang bekerja pada alat-alat Ethereum generasi berikutnya. Ini adalah catatan riset, bukan dokumen pengungkapan. Meskipun kami akan membahas nuansa dan celah dalam model keamanan sistem yang telah dan akan diusulkan, akan berlebihan untuk menggambarkan ini sebagai "kerentanan" atau "tidak diketahui sebelumnya".
Resistensi pensensoran tetap menjadi nilai inti dari mata uang kripto secara umum, dan EthereumkhususnyaKami percaya bahwa manfaat transaksi on-chain harus tersedia untuk siapa saja, dan bahwa aturan dari rantai tersebut harus berlaku bagi semua pengguna dan penggunaan dengan sama. Nilai-nilai mendorong ruang ini maju. Rekayasa adalah proses pengujian nilai-nilai kami terhadap realitas untuk menemukan di mana dan bagaimana mereka rusak.
Dominos juga berjalan secara berurutan :) Foto oleh Tom WilsonpadaUnsplash
Kami cenderung memodelkan sensor sebagai penghalang yang sengaja mencegah transaksi muncul dalam urutan yang sah (yaitu pengecualian transaksi). Kami menganggap pesanan adil atau netral ketika mereka sepenuhnya bergantung pada hasil ekonomi untuk sistem pengurutan, dan tidak adil atau disensor ketika mereka bergantung pada informasi lain. Misalnya, ketika membuat blok, boleh menolak untuk menyertakan transaksi dengan biaya rendah, tetapi tidak boleh menolak untuk menyertakan transaksi karena dikirim oleh orang tertentu. Oleh karena itu, kami mengatakan transaksi disensor jika inklusinya bergantung pada informasi non-ekonomi. Jika transaksi menciptakan keuntungan yang lebih terlihat bagi sistem pengurutan daripada transaksi yang disertakan, tetapi tidak disertakan, maka transaksi tersebut dianggap disensor. Definisi ini memotivasi kerja pada mekanisme inklusi paksa untuk resistensi sensor. Jika pengguna dapat memaksa inklusi transaksinya, maka transaksi tersebut tidak dapat disensor menurut definisi ini.
Salah satu tujuan keamanan inti dari rantai OP Stack adalah bahwa Pemroses seharusnya tidak dapat mencegah pengguna untuk mengirimkan transaksi ke rantai L2.
Rollup modern cenderung memiliki urutan terpusat. Ini berarti resistensi oleh pengurut adalah hal yang remeh, karena mereka dapat dengan mudah memilih untuk tidak menyertakan transaksi pengguna tertentu apa pun. Untuk meredam hal ini, beberapa rollup - termasuk OptimismedanArbitrum- memiliki mekanisme inklusi paksa. Mekanisme ini memungkinkan pengguna untuk memastikan bahwa transaksi mereka akan dieksekusi oleh rollup setelah beberapa penundaan waktu, terlepas dari perilaku sequencer. Inklusi dipaksa melalui kontrak yang diterapkan di L1. Oleh karena itu, transaksi inklusi paksa (secara teoritis) memiliki resistensi pensensoran yang sama dengan transaksi Ethereum lainnya.
Pemasukan paksa menentukan sub-range yang harus dipertahankan dalam setiap urutan yang valid.
Mekanisme inklusi paksa juga telah diusulkan untuk Ethereum melalui EIP-7547Daftar inklusi akan memungkinkan proposal blok untuk sebagian menentukan isi blok berikutnya. Dengan asumsi bahwa para pengusul blok memiliki lebih sedikit insentif untuk mensensor dibandingkan dengan pembangun blok, ini akan memberikan mitigasi yang efektif terhadap sensor.
Secara umum, mekanisme inklusi paksa menciptakan batasan baru pada urutan yang valid. Mereka membuat kelas-kelas luas urutan menjadi tidak valid sesuai dengan aturan protokol.1. Inklusi paksa harus dipikirkan sebagai memungkinkan pengguna untuk menentukan subset dari urutan masa depan. Semua urutan yang valid harus memperluas subset yang dipaksa.
Sayangnya, konfirmasi transaksi adalah sarana, bukan tujuan. Model pengecualian kami tidak lengkap!
Penghambatan harus didefinisikan dalam hal tujuan. Pengguna ingin mengirim token, membeli NFT, meminjam dana, dan sebagainya. Konfirmasi transaksi bersifat insidental terhadap tujuan tersebut2. Censor, begitu juga, memiliki tujuan tertentu. Tujuan itu mungkin untuk mencegah beberapa transaksi hack berhasil, untuk mematuhi beberapa hukum, atau untuk mengganggu bisnis pesaing. Menghormati niat kedua belah pihak, kita perlu mendefinisikan kembali penyunatan.
Dengan ini diingatkan, kita harus memperluas definisi kita tentang penyensoran menjadi: suatu transaksi disensor jika pihak ketiga dapat mencegahnya mencapai tujuannya. Artinya, sensor tidak perlu mencegah transaksi tersebut dikonfirmasi; mereka hanya perlu membuat eksekusi kontrak pintar berbalik. Membuat transaksi EVM berbalik adalah penyensoran terhadap transaksi tersebut, meskipun transaksi tersebut merupakan bagian dari rantai kanonik. Model ancaman yang tidak memperhatikan isi transaksi tidak secara akurat memodelkan penyensoran, dan oleh karena itu tidak dapat melindungi pengguna dari penyensoran secara efektif.
Secara semi-formal, kita dapat mengatakan bahwa untuk setiap interaksi tertentu dengan rantai, ada beberapa predikat penilaian f yang mengevaluasi hasil pengurutan, dan menghasilkan 0 (tujuan gagal) atau 1 (tujuan tercapai). Dalam model ini, fungsi penilaian sensor hanya berupa negasi: f' = !f. Sensor mencapai tujuannya ketika pengguna tidak melakukannya.3
Meskipun tujuan pengguna mungkin tersembunyi, transaksi itu sendiri hampir selalu mengandung informasi yang cukup untuk menyimpulkannya. Perdagangan Uniswap memiliki tujuan yang jelas. Selain itu, karena blockchain bersifat deterministik, sensor dapat dengan sempurna memprediksi pengaturan mana yang akan memenuhi predikat sensor. Akibatnya, pengguna tidak dapat mengandalkan informasi tersembunyi untuk melindungi mereka dari penyensoran dalam model EVM. Detail transaksi haruslah publik, yang berarti bahwa informasi tentang tujuan pengguna adalah publik.
Untuk kesederhanaan, mari kita asumsikan bahwa kita bekerja dalam model urutan maju standar4Kami akan menangani inklusi paksa di bawah rotasi pengurut nanti. Dalam model ini, pengurut memiliki kontrol total atas urutan, dan dapat mensimulasikan dengan sempurna setiap hasil. Artinya, mereka bebas memilih dari himpunan semua kemungkinan urutan. Pertanyaan semi-formal kami tentang resistensi sensor maka menjadi “apakah ada urutan valid di mana f dievaluasi menjadi 0”? Jika ada urutan tersebut, maka pengurut dapat memilihnya.
Dari sana, kita dapat memperluas model kita untuk memperhitungkan inklusi yang dipaksa. "Apakah ada urutan yang valid, yang mencakup sub-urutan pengguna, di mana f dievaluasi menjadi 0?" Jika urutan tersebut ada, pengurut dapat memilihnya. Inklusi yang dipaksa tidak mencegah pengurut untuk mengendalikan urutan, tetapi hanya membatasi perilaku mereka. Sayangnya, inklusi yang dipaksa memiliki masalah mendasar yang mencegahnya menjadi mekanisme resistensi pensensoran yang efektif untuk banyak transaksi.
Mekanisme inklusi paksa berarti pengurutan terjadi dalam salah satu dari dua mode: tidak dipaksa atau dipaksa. Ada titik yang ditentukan di mana itu berubah dari tidak dipaksa menjadi dipaksa (dan sebaliknya). Titik tersebut adalah penyerahan. Penyerahan menimbulkan masalah yang sulit bagi desain mekanisme inklusi paksa.
Harus ada serah terima dari inklusi yang tidak dipaksa menjadi inklusi yang dipaksa.
Transaksi paksa dieksekusi pada saat penyerahan. Jadi sekali lagi, persaingan status5muncul. Ketika penyerahan terjadi dalam sekelompok transaksi (seperti blok), pencipta kelompok dapat mengendalikan status saat penyerahan terjadi. Jika transaksi inklusi paksa membaca status publik apa pun, maka pencipta kelompok dapat menulis ulang status tersebut sebelum dan setelah eksekusi transaksi paksa. Kontensi sudah cukup untuk resistensi pensensoran.
Karena pembuat batch dapat mengendalikan status pada saat penyerahan, maka dapat mempengaruhi hasil dari transaksi yang dipaksa. Jika dapat mempengaruhi hasilnya, dapat berpotensi mempengaruhi hasil dari predikat skor. Sebagai contoh, pertimbangkan interaksi AMM sederhana. Pengguna menetapkan harga minimum yang dapat diterima, namun pembuat batch dapat memastikan bahwa pada saat penyerahan harga pasar berada di bawah harga minimum yang dapat diterima. Hal ini menyebabkan transaksi pengguna dibatalkan, secara efektif mensensor pengguna.67
Menariknya, sensor melalui persaingan negara lebih efektif daripada sensor melalui pengecualian. Transaksi yang dikeluarkan dapat dimasukkan dalam blok di masa depan. Transaksi yang disensor melalui persaingan secara permanen tidak valid. Transaksi tersebut telah dimasukkan dalam rantai, dan tidak dapat dimasukkan lagi. Transaksi tersebut tidak akan pernah mencapai tujuan pengguna. Untuk mencoba lagi, pengguna harus membuat ulang dan mengirim ulang transaksi (yang kemudian dapat disensor kembali).
[A]ny user can bypass the Sequencer entirely to submit any Arbitrum transaction (including one that, say, initiates an L2 to L1 message to withdraw funds) directly from layer 1. Thus [sic] mechanism thereby preserves censorship resistance even if the Sequencer is being completely unresponsive or even malicious.
Dalam model urutan pelari, pelari memiliki kontrol yang hampir sempurna atas lokasi penyerahan dalam urutan, dan membayar biaya yang lebih rendah (karena mereka tidak perlu memberi tip dan dapat mengendalikan sebagian basis biaya EIP-1559). Akibatnya, pelari berada dalam posisi istimewa untuk menggunakan persaingan status untuk mensensor aksi pengguna. Ini remeh. Masalah penyerahan memastikan bahwa pelari dapat mensensor kelas-kelas transaksi yang besar.
Untuk EIP-7547, para pembangun memilih di mana penyerahan blok terjadi.8Sebagai hasilnya, pembangun mampu memilih lokasi penyerahan dalam blok. Ini berarti bahwa mereka dapat memilih awalan dan akhiran sesuai keinginan,9asalkan mereka menghormati aturan gas blok. Awalan dapat menempatkan rantai dalam keadaan di mana transaksi akan mundur, sedangkan akhiran akan mengembalikan rantai ke keadaan normal. Daftar inklusi EIP-7547 tidak cukup untuk mencegah penyensoran untuk transaksi apa pun yang mengakses keadaan yang kontroversial. Masalah penyerahan mencegah IL dari menjamin eksekusi transaksi dalam kebanyakan kasus.
Pemasukan paksa tidak efektif dalam melindungi pengguna dari sensor untuk sebagian besar penggunaan blockchain yang tidak sepele. Masalah penyerahan memastikan bahwa pengensor memiliki kewenangan yang cukup atas keadaan meskipun mereka tidak memiliki kewenangan yang cukup atas urutan. Masalah ini memengaruhi AMM, pasar pinjaman, lelang, dan sebagian besar tindakan DeFi lainnya. Banyak tindakan penting dapat diensor bahkan jika Anda dapat menjamin inklusi transaksi. Persaingan keadaan menciptakan batasan yang sulit terhadap efektivitas pemasukan paksa sebagai mekanisme resistensi sensor.
Untuk melihat efek yang luas dari ini, pertimbangkan pengguna yang meminjam USDC di pasar pinjaman di Optimism. Ketika pengguna ingin menarik USDC dari pasar, mereka mengirimkan transaksi Optimism, yang disensor oleh sequencer. Mereka kemudian menggunakan mekanisme inklusi paksa resmi untuk mengantrikan transaksi mereka di Ethereum, menghindari sequencer.
Sequencer dapat melihat transaksi tersebut dalam antrian, dan dapat memilih untuk menyelipkannya. Untuk menyensor transaksi, sequencer meminjam semua USDC yang tersedia dari pasar segera sebelum transaksi dipaksa. Karena pasar tidak lagi memiliki likuiditas, transaksi dipaksa dibatalkan. Sequencer kemudian dapat mengembalikan USDC segera.
Sequncer atau builder dapat memanipulasi status saat penyerahan.
Ini mengharuskan pemutus urutan untuk memiliki jaminan yang cukup untuk meminjam USDC, tetapi hanya memberlakukan biaya pinjaman yang sangat kecil.10Selain itu, agunan dapat digunakan kembali untuk semua resistensi, karena pinjaman tidak pernah terbuka. Akibatnya, pengguna AAVE atau Compound di Optimism (atau Arbitrum atau rollup berurutan sentral lainnya) tidak memiliki jaminan bahwa mereka akan dapat menarik agunan kapan pun. Pihak yang mem-urutkan dapat memblokir penarikan dari pasar pinjaman kapan saja. Inklusi paksa tidak cukup untuk melindungi pengguna dari penyensoran.
Kami memiliki beberapa area penelitian lanjutan yang perlu ditindaklanjuti.
Pertama, EIP-7547 dapat ditingkatkan dengan mudah dengan mengharuskan transaksi IL diproses pada akhir blok berikutnya. Dalam konteks lelang PBS, resistensi adalah MEV. Builder mendapatkan beberapa nilai non-ekonomi, yang harus mereka berikan nilai subjektif yang dinominasikan dalam ETH. Pencabutan sensor oleh builder menyebabkan peningkatan tawaran blok builder.11Hal ini berlaku juga pada para pencari, yang mungkin membuat bundel penyesuaian. Beberapa nilai ekonomi dari sensor ini kemudian ditangkap oleh pengusul, memberikan insentif untuk mentolerir sensor bahkan ketika tidak ikut serta secara langsung. Menempatkan transaksi inklusi paksa di akhir blok menghilangkan kemampuan pembangun blok untuk dengan mudah menyelipkan transaksi IL, dan meningkatkan biaya ekonomi dari sensor yang kontroversial. Misalnya, menyensor interaksi AMM melalui konten negara bisa membutuhkan pengorbanan beberapa arbitrase AMM atau biaya tinggi untuk mendorong pasar keluar dari kisaran yang tidak dapat dikembalikan dengan menutup sandwich. Selain itu, ini akan membatasi bundel sensor yang diproduksi oleh Pencari (bukan pembangun) menjadi satu per blok.12Kami akan merekomendasikan eksekusi puncak blok, karena awalan lebih signifikan daripada akhiran, namun, hal itu akan secara drastis meningkatkan biaya transaksi IL, karena akan memungkinkan ekstraksi MEV puncak blok melalui inklusi paksa.13 Menghapus hak sensor untuk membubuhkan transaksi IL secara atom adalah perbaikan kecil.
Kedua, masalah hand-off ada karena sensor dapat melihat ke depan melalui simulasi transaksi dan melakukan kontrol atas status input. Banyak mekanisme resistensi MEV memperkenalkan informasi tersembunyi untuk menghilangkan kemampuan sensor untuk memperoleh informasi tentang tujuan pengguna dan untuk mensimulasikan hasil. Biasanya ini adalah skema pengungkapan komitmen, di mana beberapa informasi transaksi bersifat pribadi sampai setelah pemesanan terjadi. Pemisahan pemesanan-eksekusi dan informasi tersembunyi tampaknya menjanjikan, tetapi sebagian besar tidak kompatibel dengan rantai pasokan MEV, proses konsensus Ethereum, dan model rollup berurutan. Beberapa cara untuk neGate kemampuan untuk mensimulasikan transaksi akan membahas sensor dan kelas besar MEV, tetapi akan sangat invasif terhadap protokol, operator protokol, aplikasi, dan pengguna akhir.
Ketiga, ada kelas menarik dari fungsi skor “independen dari urutan”. Ini adalah tujuan yang tidak dapat disensor oleh kontensi negara, baik karena mereka tidak mengakses konten negara yang kontroversial, atau karena konten negara kontroversial yang mereka akses memiliki batasan yang cukup untuk membuatnya “handal” dalam beberapa arti. Tindakan independen dari urutan termasuk mengirim ETH ke EOA, sebagian besar pengiriman ERC-20,14dan beberapa interaksi DeFi seperti menambahkan jaminan ke pasar. Tindakan-tindakan ini dilindungi dari sensur melalui kontensi. Kelas tujuan ini juga memiliki korespondensi menarik dalam komunikasi cross-chain yang aman dan resistensi MEV dan layak untuk studi yang lebih mendalam. Aplikasi dan protokol mungkin dirancang untuk hanya memasukkan tindakan-tindakan mandiri dalam beberapa kasus, tetapi perlu studi lebih lanjut.
Negara kaya memungkinkan aktor jahat untuk menyensor transaksi sambil tetap memasukkannya. Masalah hand-off sangat penting untuk mekanisme inklusi paksa, dan hanya dapat dimitigasi. Dalam rollup yang diurutkan secara terpusat, tidak ada mitigasi yang dimungkinkan. Inklusi paksa tidak dapat mengatasi penyensoran di hadapan negara yang kontroversial. Kelas besar transaksi yang penting secara ekonomi dapat disensor, bahkan jika dimasukkan dengan paksa. Masalah hand-off adalah endemik dalam rollup modern, dan hadir dalam EIP resistensi sensor Ethereum. Akibatnya, inklusi paksa, meskipun bermanfaat, tidak pernah cukup untuk memberikan perlawanan sensor bagi rantai negara kaya. Rollup tidak "mewarisi" properti keamanan Ethereum dan konyol untuk menyarankan agar mereka melakukannya. Ketika Anda berhenti terobsesi dengan inklusi, menjadi jelas bahwa resistensi sensor adalah kasus khusus resistensi MEV.
Kami ingin mengucapkan terima kasih Mike Neuder, Tarun Chitra, dan Brandon Curtisuntuk ditinjau dan umpan balik.
Seperti biasa, untuk L1 ini dicapai dengan menolak blok yang tidak valid, sedangkan pada rollups ini dicapai dengan memaksa urutan yang tidak valid menjadi urutan yang valid melalui beberapa fungsi filtrasi.
Ini bukanlah sebuah pos tentang niat, dunia tidak memerlukan lebih dari itu pada saat ini.
Ini jelas merupakan model yang tidak lengkap, karena tidak memperhitungkan nilai-nilai subjektif dari hasil-hasil tersebut. Misalnya, sensor dapat kehilangan sejumlah uang jika sensor gagal (misalnya, karena mereka bisa ditangkap oleh polisi Perancis jika gagal untuk mensensor perilaku tertentu). Di sisi lain, pengguna bisa mengalami keuntungan/kerugian sejumlah uang jika tujuan mereka tidak tercapai dalam jangka waktu tertentu (misalnya, mereka telah mengambil pinjaman sebesar $100 juta+ terhadap token mereka sendiri dan perlu melakukan rekollateralisasi posisi sebelum mereka dilikuidasi).
Berlawanan dengan model urutan berbasis. Pada kebanyakan rollup modern, urutan 'berjalan lebih dulu' dari Ethereum karena menyediakan inklusi dan eksekusi penegasan untuk transaksi sebelum transaksi tersebut di-commit ke Ethereum. Dalam model ini, Sequencer memiliki kontrol total atas urutan, dan hasil transaksi harus independen dari reorgs Ethereum.
Ketika beberapa pengguna ingin mengakses kontrak, aset, atau status yang sama, transaksi mereka "bersaing" satu sama lain dan berpotensi mengganggu hasil satu sama lain. Perselisihan dapat timbul secara kebetulan, atau sengaja. Ini adalah masalah negara kaya yang sulit dipecahkan dalam sistem blockchain. Akses publik ke negara bersama adalah akar dari MEV, masalah skalabilitas, dan penurunan kesopanan dalam masyarakat modern.
Secara umum, Anda harus memikirkan penyensoran melalui pertikaian negara sebagai kasus khusus MEV. Karena nilai yang diekstraksi adalah off-chain, tidak dapat diamati, dan berpotensi sangat besar, mungkin sulit untuk memprediksi kapan sensor melalui pertikaian negara akan terjadi.
Kami secara khusus membahas penggunaan pertentangan negara untuk mengembalikan transaksi dalam artikel 2017 kami "Para penambang bukanlah temanmu”. Saat itu istilah "MEV" belum digunakan.
Sudah diketahui bahwa PBS secara dramatis mempersulit resistensi sensor. Lihat VB's @vbuterin/pbs_censorship_resistance">catatan penelitian.
Prefiks dan postfiks transaksi umumnya disebut "sandwiching" dan dipahami dengan baik sebagai metode menggunakan pertentangan negara untuk mengekstrak MEV.
Pinjaman hanya ditahan selama beberapa detik, jika memang begitu. Sequencer rollup dalam beberapa kasus dapat menahan timestamp atau batas blok untuk membuat waktu pinjaman efektif 0.
Pembangun akan bersedia membayar hingga nilai subjektif dari resistensi pensensoran, yang potensial mendorong penawaran di atas nilai ekstraksi yang dapat diamati secara objektif dari blok tersebut. Dalam kasus ekstrim hal ini dapat mengakibatkan kejadian di mana penapis memiliki perubahan saldo ETH negatif (yaitu mereka membayar lebih banyak ETH untuk memproduksi blok daripada yang mereka terima sebagai biaya dan imbalan).
Perlu diingat bahwa ini bergantung pada aturan lelang MEV yang mencegah transaksi interleaving dari bundle yang berbeda dan tidak mengizinkan transaksi “must revert”. Jika aturan tersebut dilonggarkan untuk mengizinkan bundle txn diinterleaved, dan/atau jika pembangun mulai mendukung blok “must revert” dalam bundle, perlindungan akan hilang. Dinamika ini muncul karena jika transaksi IL harus berada di akhir blok, tidak ada transaksi non-forced yang dapat diinterleaved, dan oleh karena itu paling banyak satu bundle sensorship searcher yang dapat terjadi.
Secara efektif memungkinkan pembuat untuk membuat paket antar-blok yang terbatas. Sistem pra-konsensus seperti FOCILdapat meredam ini.
Untuk token ERC-20 standar, panggilan transfer biasanya tidak dapat dipersensor melalui perselisihan, karena pihak ketiga tidak dapat mengurangi saldo pengguna. Namun, pertimbangkan panggilan transferFrom. Jika transferor yang disetujui adalah kontrak yang memungkinkan perselisihan pada keadaannya sendiri, maka tindakan tersebut dapat dipersensor melalui perselisihan tersebut (mengkonsumsi persetujuan yang diperlukan untuk transferFrom dengan cara yang tidak diinginkan).