Pengarang: Cducrest
Sumber: etresearch.ch
Shutterized Beacon Chain memungkinkan transaksi dienkripsi secara selektif dan dimasukkan ke dalam rantai sebelum isinya dapat dilihat oleh siapa pun. Ini akan sangat meningkatkan resistensi sensor dan mengurangi MEV berbahaya. Artikel ini akan memperkenalkan konsep ini secara rinci.
Ringkasan
- MEV merupakan masalah penting, tetapi dapat diselesaikan secara langsung di rantai suar L1
- Shutter menawarkan solusi: sekelompok node menggunakan protokol DKG untuk menghitung kunci enkripsi, memungkinkan pengguna mengenkripsi transaksi mereka dengannya, dan melepaskan kunci dekripsi pada rantai transaksi terenkripsi.
- Dengan menggunakan set validator untuk menjalankan protokol DKG dan memperkenalkan mekanisme penjadwalan untuk transaksi terenkripsi, teknik ini dapat diterapkan pada rantai suar yang mirip dengan Ethereum.
pertanyaan
Miner Extractable Value (MEV) dan front running secara luas dianggap sebagai masalah fundamental terakhir yang belum terpecahkan di ruang blockchain. Sekarang ada catatan ratusan juta dolar dalam MEV, yang sebagian besar lebih berbahaya daripada menguntungkan bagi pengguna dan pedagang. Seiring waktu, masalah ini pasti akan menjadi lebih destruktif, dan pada akhirnya bahkan menjadi hambatan fatal yang mencegah komunitas kita menjadi arus utama.
Istilah MEV diciptakan oleh Phil Daian et al., untuk menggambarkan manfaat yang diperoleh produsen blok dengan memilih, memasukkan, memesan, dan meninjau transaksi. Nilai MEV yang diekstraksi pada tahun 2020 saja sudah lebih dari 314 juta dolar AS, yang hanya merupakan batas bawah. Biasanya, MEV tidak ditangkap oleh produsen blok itu sendiri, tetapi oleh entitas independen yang menggunakan bot canggih.
Bagian penting dari MEV adalah pendapatan dari apa yang disebut front-running, serangan yang ilegal di pasar tradisional tetapi tetap tidak diatur di ruang crypto. Pelari terdepan memantau jaringan untuk transaksi yang bermanfaat, dan begitu mereka mengidentifikasi target, mereka mengirimkan transaksi mereka sendiri dalam upaya untuk memasukkannya ke dalam rantai lebih awal. Mereka mencapai transaksi terdepan dengan membayar harga gas yang lebih tinggi, mengoperasikan infrastruktur jaringan yang tersebar di seluruh dunia, menjadi produsen blok itu sendiri, atau membayar melalui saluran terbalik.
Korban paling umum dari serangan front-running adalah pedagang di bursa terdesentralisasi. Berlari ke depan memaksa mereka untuk membayar harga yang lebih tinggi alih-alih mendapatkan imbalan yang adil atas informasi yang mereka berikan ke pasar. Pelari terdepan, di sisi lain, menyedot keuntungan dari korban mereka dengan cara yang hampir bebas risiko tanpa memberikan kontribusi yang berguna pada sistem. Contoh sederhananya adalah perdagangan arbitrase, menghasilkan selisih harga aset yang sama di dua bursa berbeda. Pedagang terdepan sering mendapat hadiah dengan menyalin perdagangan ini dari pelaku pasar lain dan mengeksekusinya lebih awal, sementara pedagang asli pergi dengan tangan kosong.
Selain pertukaran, banyak aplikasi lain juga terpengaruh, termasuk distribusi hadiah dan lelang. Yang penting, karena mereka mengandalkan pemungutan suara dalam sistem tata kelola (yang mewakili area besar dan berkembang pesat di Ethereum), mereka lebih rentan terhadap serangan terdepan. Tanpa sistem untuk melindungi dari jenis serangan ini, tantangan yang signifikan dapat muncul.
Dalam keuangan tradisional, front-running dapat dibatasi (sampai batas tertentu) oleh regulasi atau pengawasan dari berbagai perantara dan operator tepercaya. Ini tidak terjadi dalam sistem tanpa izin dan terdesentralisasi, sehingga ini bisa menjadi penghalang strategis untuk mengarusutamakan pengadopsian mata uang kripto.
Memerlukan
Kami percaya bahwa Beacon Chain harus memberikan perlindungan MEV kepada penggunanya tanpa biaya tambahan atau perubahan dalam pengalaman pengguna. Perlindungan ini juga tidak boleh disertai dengan jaminan keamanan tambahan, atau setidaknya kembali ke fitur perlindungan non-MEV standar ketika asumsi keamanan tambahan gagal. Pada akhirnya, itu harus memiliki tingkat desentralisasi yang sama dengan protokol konsensus.
Rana
Rana memungkinkan pengguna untuk mengirim transaksi terenkripsi dengan cara yang melindungi pengguna dari pelopor dalam perjalanan mereka melalui hutan gelap (setiap transaksi harus melalui tempat berburu pelopor). Misalnya, pedagang dapat menggunakan Shutter untuk membuat pesanan mereka tidak tembus pandang ke pedagang terdepan, yang berarti bahwa penyerang tidak dapat memastikan bahwa itu adalah pesanan beli atau jual, atau token mana yang dipertukarkan, atau berapa harganya. Sistem akan mendekripsi dan mengeksekusi transaksi hanya setelah transaksi meninggalkan hutan gelap, yaitu setelah lingkungan eksekusi transaksi ditentukan.
Kunci untuk enkripsi dan dekripsi disediakan oleh sekumpulan node khusus yang disebut Keypers. Pemegang kunci biasanya menghasilkan kunci enkripsi dengan menjalankan protokol pembangkitan kunci terdistribusi (DKG). Mereka kemudian mengeluarkan kunci dekripsi yang sesuai. Protokol menggunakan kriptografi ambang — sebuah teknik yang memungkinkan sekelompok pemegang kunci menyediakan kunci kriptografi yang hanya dapat dibuka ketika setidaknya sejumlah anggota tertentu bekerja sama. Ini memastikan bahwa tidak ada pihak atau sejumlah kecil keyer yang berkolusi dapat mendekripsi apa pun sebelumnya atau merusak protokol untuk mencegahnya melakukan transaksi. Selama sejumlah Keyper (“threshold”) tertentu tidak melanggar aturan, protokol dapat berjalan normal.
L1 Shutter dalam protokol inti
Kami telah mengembangkan rana on-chain, sebuah mekanisme untuk melindungi kontrak pintar individu dari serangan perintah L1, tetapi memiliki kelemahan dalam merusak komposisi. Kami sedang menyelidiki lebih lanjut penerapan rana langsung di dalam rollup. Di sini kami menjelaskan desain untuk mengintegrasikan sistem rana sebagai bagian dari rantai suar gaya Ethereum. Keuntungan dari ini adalah benar-benar keluar dari pengguna dan tetap dapat disusun.
Seperti di setiap sistem rana, protokol ini memerlukan satu set Keyper. Grup keyper memilih komite atau memblokir produsen di antara validator blockchain melalui proses serupa, kecuali mereka dipilih lebih jarang (misalnya sekali sehari). Keyper menggunakan rantai suar untuk menghasilkan kunci eon bersama. Kunci publik eon akan diberikan kepada pengguna untuk mengenkripsi transaksi mereka.
Pembuat blok mengumpulkan transaksi terenkripsi dan teks biasa untuk blok. Mereka berisi transaksi teks-jelas untuk dieksekusi di blok mereka, sementara transaksi terenkripsi dijadwalkan pada ketinggian blok di masa mendatang.
Setelah blok dihasilkan, Keyper harus menghasilkan kunci dekripsi untuk mendekripsi transaksi yang direncanakan untuk blok itu. Blok selanjutnya harus berisi kunci dekripsi agar dianggap valid. Post state dari sebuah blok dihitung dengan terlebih dahulu mengeksekusi transaksi terenkripsi yang dijadwalkan untuk blok tersebut, diikuti oleh transaksi plaintext yang terdapat dalam blok tersebut.
Urutan eksekusi dan konteks (nomor blok, stempel waktu, dll...) ditentukan oleh urutan di mana transaksi ciphertext dimasukkan dan konteks blok sebelumnya. Sebelum transaksi didekripsi, konteks eksekusi ditentukan, sehingga tidak mungkin menggunakan informasi tentang data transaksi untuk mengekstrak MEV. Ini juga mencegah informasi saluran samping yang dapat digunakan untuk perdagangan yang berjalan di depan secara optimis.
Biaya transaksi kriptografi
Pembuat blok perlu memastikan bahwa transaksi terenkripsi layak dimasukkan dalam blok, yaitu mereka dapat membayar biaya transaksi tanpa mengetahui data transaksi. Jika biaya akan dibayarkan pada saat eksekusi, produser blok tidak akan dijamin akan dibayar, karena akun dapat menghabiskan saldo antara inklusi dan eksekusi.
Dengan demikian, transaksi terenkripsi membenarkan penyertaannya dengan memberikan amplop bertanda tangan yang membayar biaya saat disertakan dalam rantai. Isi amplop meliputi: konsumsi gas, harga gas, dan tanda tangan di bidang ini untuk memulihkan alamat pembayar. Biaya ini akan dibayarkan kepada produsen blok saat transaksi ciphertext dimasukkan, yaitu bukan saat dijalankan. Konsumsi gas dari transaksi ciphertext termasuk dalam batas gas dari blok yang dimasukinya.
Tutup gas tradisional perlu diganti dengan konsumsi gas, artinya pengguna akan dikenakan biaya untuk semua gas yang mereka rencanakan untuk digunakan, bahkan jika mereka hanya menggunakan sebagian saja pada saat transaksi didekripsi dan diterapkan. Ini diperlukan agar biaya dibayarkan saat transaksi dimasukkan ke dalam rantai. Ini mencegah produsen blok mendekripsi transaksi dengan batas gas yang sangat tinggi (menggantikan transaksi lain dan biayanya) menjadi transaksi yang menggunakan sedikit gas (dan biaya).
Kerugian lain dari penggunaan transaksi amplop adalah metadata transaksi akan bocor, yaitu pembayar dan harga gas/batas konsumsi diketahui. Kemungkinannya, sebagian kecil MEV masih dapat diekstraksi menggunakan informasi yang bocor ini.
Ditunjukkan bahwa pendekatan zk-SNARK dapat dipertimbangkan untuk menyelesaikan masalah pembayaran biaya ini dan mencegah kebocoran informasi metadata.
ASD
Kunci publik eon dan kunci dekripsi yang dihasilkan oleh pengguna kunci memerlukan ambang t/n peserta yang jujur. Parameter t dan n dapat disesuaikan dengan protokol. Semakin tinggi t, semakin sulit bagi keyper untuk berkolusi dan mendekripsi transaksi sebelum waktunya (memungkinkan ekstraksi MEV). Di sisi lain, t yang lebih rendah dapat menjamin bahwa kunci dekripsi dapat dirilis tepat waktu.
Untuk menegakkan dekripsi dan penerapan transaksi ciphertext, kita harus menegakkan pencantuman kunci dekripsi di setiap blok. Dalam kasus ini, jika Kepers offline atau menolak membuat kunci dekripsi, produksi blok akan berhenti.
Kami dapat mengurangi aktivitas Keyper dengan mengizinkan blok dihasilkan tanpa kunci dekripsi jika tidak ada transaksi terenkripsi yang dijadwalkan untuk dieksekusi. Jika Keyper offline, rantai akan pulih dengan memisahkan blok dengan transaksi terenkripsi dan hanya menghasilkan blok dengan transaksi teks biasa.
Kami juga dapat memulihkan keaktifan dengan menyatakan bahwa jika tidak ada blok yang dibuat selama n slot (karena tidak ada kunci dekripsi), blok berikutnya tidak perlu berisi kunci dekripsi dan transaksi yang didekripsi akan diabaikan. Ini akan kembali ke fungsi perlindungan rantai non-MEV tradisional.
Perubahan yang diterapkan
Kami telah mengembangkan perangkat lunak Keyper, dan semua logika enkripsi/dekripsi. Kami juga mengembangkan logika yang memungkinkan Block Producer (atau Orderer/Sequencer) untuk berkomitmen pada sekumpulan transaksi terenkripsi, memberi sinyal kepada Keyper bahwa sekarang aman untuk melepaskan kunci dekripsi.
Yang perlu dilakukan sekarang adalah mengubah aturan yang menentukan kebenaran blok dalam penerapan klien, dan aturan untuk eksekusi transaksi. Antarmuka untuk mengirimkan transaksi ke klien harus didefinisikan ulang. Akhirnya, alat dan plugin mungkin perlu ditulis untuk memungkinkan dapp berintegrasi mulus dengan rantai yang dilindungi MEV yang memerlukan transaksi terenkripsi kunci publik.