Rumah > web3.0 > teks badan

Artikel baharu bersama Solana: Mekanisme peneraju serentak Solana menyelesaikan MEV dan membina enjin penemuan harga global

王林
Lepaskan: 2024-07-12 17:29:52
asal
715 orang telah melayarinya

Pengarang: Anatoly Yakovenko

Disusun oleh: Deep Tide TechFlow

Solana 联创新文:Solana 的并发领导者机制,解决 MEV 并构建全球价格发现引擎

Ikhtisar masalah blok tanpa akses

. Seperti kebanyakan rantaian blok tanpa kebenaran, matlamat Solana adalah untuk meminimumkan MEV yang diekstrak pengendali rantaian daripada pengguna.

Pendekatan Solana adalah untuk mengurangkan MEV dengan memaksimumkan persaingan di kalangan pemimpin (iaitu pengeluar blok). Ini bermakna memendekkan masa slot, mengurangkan bilangan slot yang boleh dijadualkan oleh seorang pemimpin secara berturut-turut, dan meningkatkan bilangan ketua serentak bagi setiap slot.

Secara umumnya, lebih ramai pemimpin sesaat bermakna pengguna mempunyai lebih banyak pilihan untuk memilih tawaran terbaik daripada pemimpin yang akan datang selepas menunggu T saat. Lebih ramai pemimpin juga bermakna kos yang lebih rendah untuk pemimpin yang baik menyediakan ruang blok, menjadikannya lebih mudah bagi pengguna untuk hanya berurus niaga dengan pemimpin yang baik dan mengecualikan urus niaga daripada pemimpin yang tidak baik. Pasaran harus menentukan apa yang baik dan apa yang buruk.

Visi Solana yang lebih besar adalah untuk membina enjin penemuan harga tanpa kebenaran global yang mampu bersaing dengan prestasi terbaik mana-mana pertukaran terpusat (CEX).

Jika peristiwa yang mempengaruhi pasaran berlaku di Singapura, mesej masih perlu dihantar melalui gentian optik pada kelajuan cahaya ke CEX di New York. Sebelum mesej itu sampai ke New York, pemimpin dalam rangkaian Solana sepatutnya menyiarkan mesej itu dalam blok tersebut. Melainkan partition Internet fizikal berlaku pada masa yang sama, status Solana sudah akan mencerminkan mesej apabila ia sampai ke New York. Oleh itu, tidak sepatutnya ada peluang timbang tara antara CEX dan Solana di New York.

Untuk mencapai matlamat ini sepenuhnya, Solana memerlukan ramai pemimpin serentak dengan jaminan pengesahan yang sangat optimistik.

Mengkonfigurasi berbilang pemimpin

Sama seperti jadual ketua semasa, sistem mengkonfigurasi setiap slot dengan 2 ketua dan bukannya 1 ketua. Untuk membezakan antara kedua-dua pemimpin, satu saluran dilabelkan A dan satu saluran dilabelkan B. A dan B boleh berputar secara bebas. Soalan yang perlu dijawab untuk melaksanakan rancangan ini ialah:

  • Bagaimana jika blok A dan B tiba pada masa yang berbeza atau gagal?

  • Bagaimana untuk menggabungkan pesanan transaksi dalam blok A dan B?

  • Bagaimana untuk memperuntukkan kapasiti blok antara A dan B?

    🎜

Mengirim blok serentak

Untuk memahami proses tertentu, kita perlu memahami Turbin dengan cepat.

Pemimpin membelah bongkah menjadi serpihan apabila membinanya. Sekumpulan 32 serpihan ialah kod pemadaman 32 serpihan kod. Banyak 64 serpihan telah ditandatangani merkuri dan ditandatangani akar, dan ini dikaitkan dengan lot sebelumnya.

Setiap serpihan dihantar melalui laluan rawak penentu bebas. Pemancar semula setiap kumpulan terakhir menandatangani akar.

Dari perspektif penerima, setiap penerima perlu menerima 32 serpihan daripada pemancar semula yang disahkan. Mana-mana bahagian yang hilang dibaiki secara rawak.

Nombor ini boleh ditambah atau dikurangkan dengan kesan minimum pada kependaman.

Dengan mengandaikan bahawa pensampelan laluan serpihan pemancar semula cukup rawak dan ditimbang mengikut syer, syer yang diperlukan untuk rangkaian yang dipisahkan secara kooperatif adalah jauh lebih banyak daripada ε syer, baik dari segi masa ketibaan dan data. Jika penerima mengesan bahawa setiap kumpulan serpihan 32/64 (boleh dikonfigurasikan) tiba dalam masa T, maka kemungkinan besar setiap nod juga melakukannya. Ini kerana 32 nod rawak cukup besar dan tidak mungkin semuanya berada dalam partition yang sama secara rawak.

Jika partition berlaku, konsensus perlu menyelesaikannya. Ini tidak menjejaskan keselamatan, tetapi agak perlahan.

Pengeluaran Berbilang Blok

Jika satu blok dihantar, setiap penerima (termasuk ketua seterusnya) akan melihat kumpulan serpihan tiba untuk setiap blok. Jika blok tidak lengkap untuk T milisaat, ketua semasa akan melangkau blok dan membina garpu tanpanya. Jika ketua salah, semua nod lain akan mengundi pada blok dan blok ketua akan dilangkau. Pemimpin yang tidak salah akan segera beralih ke garpu paling berat yang ditunjukkan dengan mengundi.

Dalam kes pemindahan berbilang blok, setiap nod perlu menunggu sehingga T milisaat sebelum mengundi pada partition blok yang diperhatikan. Untuk dua pemimpin serentak, senario yang mungkin adalah: A, B, atau A dan B. Kependaman tambahan hanya ditambah jika blok ditangguhkan. Di bawah operasi biasa, semua blok harus tiba pada masa yang sama, dan setiap pengesah boleh mengundi sebaik sahaja kedua-duanya tiba. Oleh itu, T mungkin hampir kepada sifar dalam amalan.

Apa yang perlu difokuskan oleh serangan ini ialah sama ada pemimpin dengan jumlah token yang dipertaruhkan yang sangat kecil boleh menghantar blok sedikit kemudian pada sempadan slot, dengan itu boleh dipercayai menyebabkan rangkaian berpecah dan memaksa rangkaian menghabiskan banyak masa untuk meluluskan mekanisme Konsensus untuk menyelesaikan masalah. Sebahagian daripada rangkaian akan mengundi untuk A, sebahagian akan mengundi untuk B, dan sebahagian daripada rangkaian akan mengundi untuk kedua-dua A dan B. Ketiga-tiga situasi perpecahan perlu diselesaikan melalui mekanisme konsensus.

Secara khusus, matlamat kejiranan sifar adalah untuk memastikan nod memulihkan blok pada masa yang sama. Jika penyerang mempunyai nod bekerjasama dalam kejiranan sifar, mereka boleh menghantar serpihan 31/64 secara normal dan membenarkan penyerang menghantar serpihan terakhir secara selektif dalam percubaan untuk mencipta partition. Nod jujur ​​boleh mengesan penghantar semula yang lewat dan menolak serpihan yang hilang ke mana-mana nod jujur ​​tunggal sebaik sahaja ia memulihkan blok itu. Pemancar semula boleh diteruskan jika mereka menerima serpihan dari mana-mana sahaja atau memulihkannya. Oleh itu, blok harus dipulihkan oleh semua nod sejurus selepas satu nod jujur ​​pulih. Ujian diperlukan untuk menentukan berapa lama menunggu, dan sama ada ia adalah mutlak, atau ditimbang mengikut masa ketibaan setiap serpihan, dan sama ada reputasi nod pancang harus digunakan.

Kebarangkalian ketua yang diselaraskan dan pemancar semula dalam setiap blok adalah lebih kurang syer ketua P (saham pemancar semula 64P). 1% pegangan boleh mencuba serangan dalam ½ kelompok serpihan yang diatur oleh penyerang sebagai ketua. Oleh itu, pengesanan dan mitigasi perlu cukup mantap.

Serangan ini memberi impak minimum kepada pemimpin seterusnya kerana pelaksanaan tak segerak membolehkan kapasiti yang tidak digunakan dibawa ke hadapan. Oleh itu, jika pemimpin semasa memaksa pemimpin seterusnya melangkau slot, dan pemimpin seterusnya mempunyai 4 slot berturut-turut, kapasiti slot yang dilangkau yang tidak digunakan boleh dibawa, membolehkan pemimpin memasukkan semula transaksi slot yang dilangkau.

Gabungkan blok serentak

Jika pengguna menghantar transaksi yang sama kepada kedua-dua pemimpin A dan B untuk meningkatkan peluang untuk disertakan atau menjadi yang pertama dalam blok, ini akan membawa kepada pembaziran sumber . Jika ini berlaku, menambah bilangan pemimpin serentak akan mempunyai peningkatan prestasi yang sangat terhad kerana mereka hanya akan memproses dua kali lebih banyak transaksi sampah.

Untuk mengelakkan transaksi pendua, nombor N teratas pembayar yuran akan menentukan saluran peneraju mana transaksi itu sah. Dalam contoh ini, bit tertinggi akan memilih A atau B. Pembayar yuran mesti ditugaskan ke saluran eksklusif supaya pemimpin dapat memastikan bahawa pembayar yuran adalah sah dan tidak membelanjakan semua lampornya (unit terkecil mata wang dalam rantaian Solana) pada pemimpin lain.

Ini akan memaksa spammer untuk membayar sekurang-kurangnya dua kali untuk transaksi yang sama secara logik, tetapi untuk meningkatkan kebarangkalian menjadi transaksi pertama, spammer mungkin masih menghantar transaksi yang sama secara logik.

Untuk mengelakkan tingkah laku ini, pengguna boleh memilih untuk memasukkan bayaran pesanan bakar 100% tambahan sebagai tambahan kepada yuran keutamaan ketua. Pesanan dengan bayaran tertinggi dilaksanakan terlebih dahulu. Jika tidak, pesanan masuk dahulu keluar dahulu (FIFO) digunakan. Dalam kes seri, susunan diselesaikan menggunakan pilih atur rawak deterministik. Oleh itu, adalah lebih menjimatkan kos untuk spammer untuk meningkatkan yuran pesanan mereka dan melaksanakannya terlebih dahulu daripada membayar yuran kemasukan dua kali.

Untuk mengendalikan jujukan urus niaga yang digabungkan dan disusun semula, sistem perlu menyokong urus niaga yang digabungkan, yang boleh menambah yuran pesanan untuk menampung kos penjujukan keseluruhan jujukan urus niaga. Pembayar yuran hanya sah dalam saluran yang dijadualkan, jadi himpunan hanya boleh memanipulasi urutan dalam salurannya sendiri.

Sebagai alternatif, bayaran pesanan mungkin tidak diperlukan. Jika pesanan FIFO digunakan, dan pengirim spam sentiasa dikenakan yuran keutamaan dalam semua saluran, mungkin hanya membenarkan pasaran memutuskan bahawa membayar pemimpin N untuk meningkatkan kos peluang kemasukan adalah sama seperti membayar pemimpin terdekat yang berkemungkinan besar. untuk memasukkan transaksi dahulu kos pengendali.

Urus sumber blok

Dalam rangkaian blockchain, apabila terdapat dua pemimpin serentak, setiap had kapasiti blok seluruh sistem perlu diagihkan secara sama rata. Secara khusus, bukan sahaja jumlah kapasiti, tetapi setiap had khusus, seperti had kunci tulis - tiada akaun boleh menulis lebih daripada 6 juta unit pengiraan (CU), dan setiap pemimpin hanya boleh menjadualkan sehingga 24 juta CU. Dengan cara ini, walaupun dalam senario kes terburuk, blok yang digabungkan tidak akan melebihi jumlah had kapasiti sistem.

Mekanisme ini mungkin membawa kepada turun naik yuran dan kekurangan penggunaan sumber, kerana yuran untuk keutamaan penjadualan akan ditentukan oleh kapasiti setiap pemimpin, dan setiap pemimpin mempunyai sedikit pengetahuan tentang status penjadualan pemimpin serentak yang lain .

Untuk mengurangkan penggunaan sumber yang kurang dan mengakibatkan kenaikan bayaran, sebarang kapasiti blok yang tidak digunakan harus dipindahkan ke blok akan datang. Iaitu, jika blok gabungan semasa menggunakan kurang daripada X pada kunci tulis, jumlah bait, atau jumlah unit pengiraan (CU), K*X perlu ditambah ke blok seterusnya, di mana 0 < 1 , sehingga tertentu nilai maksimum. Pelaksanaan asynchronous boleh ketinggalan bahagian atas rantai sehingga satu zaman, jadi rolling kapasiti boleh menjadi agak agresif.

Berdasarkan data blok terkini, kebanyakan blok biasanya diisi 80%, manakala had kunci tulis berada di bawah 50%. Secara umumnya, perlu sentiasa ada beberapa kapasiti ganti untuk blok masa depan. Memandangkan blok mungkin melebihi had kapasiti buat sementara waktu, pelaksanaan mesti berlaku secara tidak segerak kepada proses konsensus. Untuk mendapatkan maklumat lanjut tentang cadangan pelaksanaan tak segerak, lihat artikel APE.

Atas ialah kandungan terperinci Artikel baharu bersama Solana: Mekanisme peneraju serentak Solana menyelesaikan MEV dan membina enjin penemuan harga global. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:chaincatcher.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!