MEV, MEV-Boost ve MEV Ödülleri

Önceki bölümde, node operatörlerinin öncelik ücretlerini nasıl kazandığını öğrendiniz. Öncelik ücretleri bir node operatörünün gelirine büyük bir katkı sağlar, ancak Execution layer'da size sunulan tek likit ödül türü değildir. MEV ödülleri olarak bilinen ek bir ödül türü mevcuttur.

NOT

Hızlı bir hatırlatma olarak, farklı ödül türlerinin ve hangi layer'da sağlandıklarının bir dökümü:

  • Consensus Layer (çekimler yapılana kadar kilitli): attestation'lar, blok önerileri, sync komiteleri, slashing raporları
  • Execution Layer (likit): blok önerilerinden öncelik ücretleri ve MEV

MEV Nedir

Validator'ünüz bir blok oluşturduğunda, genellikle bunu çok basit bir algoritma ile yapar: bekleyen işlemlerin bir listesini tutun, oluşturduğunuz bloğa bunlardan mümkün olduğunca çoğunu paketleyin (en yüksek bahşişlere sahip olanlar öncelikli olacak şekilde önceliklendirin) ve bu bloğu zincire gönderin.

Ancak, Ethereum ağı kullanıcıları, halka açık bekleyen işlemler havuzunu (mempool olarak bilinir) görebilmenin ilginç bir yan etkisini keşfettiler. Bu bilgiye sahip olmak, bu işlemlerin sıralamasını değiştirmek ve bazı durumlarda aralarına yeni işlemler eklemek için akıllı ve sofistike algoritmalar kullanmalarına olanak tanır. Bu iki tekniğin birleşimi, bir blok önerisinden ek ETH çıkarmak için kullanılabilir.

Bu ekstra ETH, Maximal Extractable Value veya kısaca MEV olarak bilinir.

Genel olarak, MEV'in iki "türü" vardır:

  • Büyük bir alım veya satımdan sonra borsalar arasında arbitraj yapmanın ilk kişisi olmak gibi "zararsız" kaynaklardan gelen MEV
  • Kullanıcıların işlemlerinin önüne geçerek ve kullanıcının ortaya çıkan slippage'ından kar elde ederek Ethereum kullanıcılarının pahasına gelen MEV (bu teknik hakkında daha fazla bilgi için Sandwich Saldırıları'na bakın)

Block Builder'lar ve Relay'ler

MEV fırsatlarını bulmak kolay bir şey değildir; searcher olarak bilinen son teknoloji fırsat bulucular, son derece güçlü bilgisayarlar gerektirir ve MEV'i hızlıca tanımlamak ve çıkarmak için karmaşık AI algoritmaları kullanır. Searcher'lar daha sonra bu fırsatları alır ve block builder'lara sağlar - bu fırsat paketlerini bir araya getirerek tam bir Ethereum bloğu oluşturan varlıklar (searcher'ların kendileri veya diğer taraflar olabilir).

Karlı bir searcher çalıştırmanın donanım ve yazılım gereksinimleri, çoğu node operatörünün bunları kullanmasını (veya en azından rekabetçi bir şekilde kullanmasını) engeller ve bu nedenle kendi MEV fırsatlarını bulmalarını ve bunlardan yararlanmalarını engeller. Neyse ki, sadece MEV fırsatlarını bulmak denklemin yalnızca yarısıdır.

Her Epoch'ta (6.4 dakika veya 32 slot), Beacon Chain rastgele olarak tüm aktif validator'lar listesinden bir validator seçer ve o Epoch'taki slotlardan birine sığacak bir blok önermesini ister. Bu liste bir sonraki gelecek Epoch için görülebilir, bu da herkesin birkaç dakika öncesinden hangi validator'ların her slot'a atandığını görebileceği anlamına gelir.

Bazı akıllı varlıklar bu ön bilgiyi kullanarak esasen bir tür "pazar yeri" oluşturmuştur. Bu pazar yerinde, validator'lar yaklaşan blok önerileri olduğunda kendilerini kaydedebilir ve block builder'lar validator'ların önermesini istedikleri bloklar için teklifler sunabilir. Bu teklifler her zaman bloktaki her işlemin öncelik ücretlerini öneren kişiye verir ve ayrıca builder'ın kendisi için çıkarabildiği MEV'den gelen ek bir bahşiş sunar.

Validator'lar daha sonra bu teklifleri inceleyebilir, hangisinin nihayetinde en fazla kâr sağladığını belirleyebilir ve kendi bloklarını oluşturmak yerine o bloğu önerebilir.

Block builder'ların validator'larla etkileşimde bulunduğu bu "pazar yeri" relay olarak bilinir. Farklı relay'ler farklı kurallara sahiptir (yukarıda bahsedilen MEV "türlerinden" hangisine block builder'lardan izin verdikleri ve belirli hükümet yaptırım düzenlemelerine uyup uymadıkları gibi), ancak sonuçta hepsi bu aynı pazar yeri işlevini yerine getirir.

Rocket Pool şu anda node operatörlerine birden fazla farklı relay'e erişim sunmaktadır:

İsimDüzenlemeMEV Türleri
FlashbotsOFAC Yaptırımlarına Uyar*Tüm türler
bloXroute Max ProfitOFAC Yaptırımlarına Uyar*Tüm türler
bloXroute RegulatedOFAC Yaptırımlarına Uyar*Tüm türler
Ultra SoundDüzenlenmemişTüm türler
Ultra Sound FilteredOFAC Yaptırımlarına Uyar*Tüm türler
AESTUSDüzenlenmemişTüm türler
Titan GlobalDüzenlenmemişTüm türler
Titan RegionalOFAC Yaptırımlarına Uyar*Tüm türler
BTCS OFAC+OFAC Yaptırımlarına Uyar*Tüm türler
NOT

*OFAC yaptırımlarına uyan relay'ler, Birleşik Devletler Dış Varlıklar Kontrol Ofisi'nin (OFAC) tuttuğu adres kara listesini takip eder. OFAC yaptırımları, ağ sansürü hakkında daha fazla bilgi edinmenizi ve bu yaptırımlara uymanız gerektiğine ve hangi relay'leri kullanmakta rahat olduğunuza dair dikkatli bir şekilde bilinçli bir karar vermenizi şiddetle tavsiye ediyoruz.

Daha fazla bilgi şu gibi makalelerde bulunabilir:

Relay'lerin her birinden göreli pazar payını ve blok başına ortalama bahşişleri keşfetmek istiyorsanız, https://www.mevboost.org/'a göz atın. Bu site, relay'lerin popülerliğini ve getirilerini daha iyi anlamanız için çeşitli MEV relay'leri hakkında birçok metrik yakalar.

MEV-Boost

Dışarıda birçok relay var ve node'unuzun her biriyle otomatik olarak kayıt olması ve iletişimi sürdürmesi zahmetli bir görev olabilir. Neyse ki, Flashbots'taki mühendisler, bu relay yönetimini özellikle ele almak için tasarlanmış MEV-Boost olarak bilinen bir program üretip sürdürmektedirler.

MEV-Boost basit bir programdır: ona hangi relay'leri kullanmak istediğinizi söylersiniz ve Consensus client'ınıza nasıl ulaşacağını söylersiniz, o da tüm kayıt, teklif verme, kör imzalama ve öneri yönetimini Consensus client'ınızla birlikte halleder. Bu builder-proposer-marketplace'e pasif olarak katılmanıza izin verir ve böylece sizin tarafınızdan sıfır çaba ile ekstra ödüller kazanırsınız.

MEV-Boost açık kaynaklıdır ve denetlenmiştir.

Aşağıda tüm MEV ekosisteminin nasıl çalıştığının ve MEV-Boost'un nereye uyduğunun iyi bir görsel tasviri bulunmaktadır:

Görsel Flashbots'un izniyle

Rocket Pool Smartnode, varsayılan olarak doğrudan MEV-Boost ile paketlenmiş olarak gelir ve Docker Mode ve Hybrid Mode node operatörlerimizin sorunsuz bir şekilde bundan faydalanmasını sağlar. Native Mode kullanıcılarının bunu manuel olarak ayarlaması gerekecektir.

Rocket Pool ve MEV

Rocket Pool validator'ları kısmen rETH staker'ları tarafından finanse edildiği için, protokol MEV ödüllerinin (ayrıca öncelik ücretlerinin) rETH staker'larıyla paylaşılmasını gerektirir (elbette node operatörünün komisyonu düşüldükten sonra). Node operatörlerinin bir Rocket Pool validator'ı ile önerirken tüm MEV ödülünü kendileri için cebe indirmelerine izin verilmez.

Bu amaçla, MEV-Boost birkaç nedenden dolayı Rocket Pool ağının kritik bir bileşenidir:

  • MEV relay'ler ağına kolay erişim sağlar
  • Node operatörünün kendi bloklarını oluşturmadığından emin olur; bu, bir node operatörünün kendi searcher'ını çalıştırmadığından ve MEV'i rETH staker'larıyla paylaşmadan çalmadığından emin olmak için önemlidir
  • rETH staker'ları için genel getirileri artırır, bu da protokolü diğer daha merkezi staking sağlayıcılarıyla rekabetçi tutar

Buradaki ikinci nokta önemlidir: Bir protokol olarak Rocket Pool, rETH staker'larının her zaman MEV ödüllerinden ve öncelik ücretlerinden adil paylarını almalarını sağlamak için sonuçta Trusted Block Builder (veya daha doğru bir şekilde, Trusted Relay) tasarımına dayanacaktır.

Yukarıda listelenen relay'lerin her biri şu anda bu rolde hareket etmektedir.

Trusted Block Builder tasarımına geçiş için üç aşamalı bir yaklaşım izliyoruz:

Aşama 1: Katılım İsteğe Bağlı!

Aşama 1'de, MEV-Boost tüm node operatörlerine isteğe bağlı bir yapılandırma olarak sağlanır. Node operatörleri bunu kullanmaya teşvik edilir çünkü rETH'nin getirilerini artırır ve böylece protokolü rekabetçi tutar, ancak bunu kullanmak zorunda değillerdir. Node operatörleri yukarıda listelenen güvenilir relay'lerden bir veya daha fazlasını kullanmayı seçebilir ancak özel (güvenilmez) bir relay kullanamazlar.

Bu aşama Kasım 2022'de sona erdi.

Aşama 2: Devre Dışı Bırakma İsteğe Bağlı

Aşama 2'de, MEV-Boost tüm node operatörleri için varsayılan olarak etkindir. Node operatörleri yukarıda listelenen güvenilir relay'lerden bir veya daha fazlasını kullanmayı seçebilir ancak özel (güvenilmez) bir relay kullanamazlar. MEV-boost'tan çıkmayı seçen node operatörleri, Smartnode'u başlatmadan önce bunu açıkça yapmalıdır.

Bu mevcut aşamadır.

Aşama 3: Zorunlu

Aşama 3'te, MEV-Boost artık isteğe bağlı değildir; tüm node operatörleri için gerekli olacaktır. Node operatörleri yukarıda listelenen güvenilir relay'lerden bir veya daha fazlasını kullanmayı seçmelidir ancak özel (güvenilmez) bir relay kullanamazlar.

Bu aşama için şu anda planlanmış bir tarih yoktur.

Smartnode'da MEV-Boost Yapılandırma

MEV-Boost'u nasıl yapılandıracağınızı öğrenmek için lütfen aşağıda hangi modu kullandığınızı seçin.

Docker Mode
Hybrid Mode
Native Mode

Smartnode'un yapılandırma TUI'si ile MEV-Boost'u yapılandırmak kolaydır. rocketpool service config komutunu çalıştırarak başlayın ve MEV-Boost seçeneğine gidin:

Etkinleştirmek için Enable MEV-Boost etiketli kutuyu işaretleyin.

Etkinleştirildikten sonra, ekran şöyle görünecektir (Smartnode v1.17.2 itibariyle):

Aşağıda her seçeneğin açıklaması ve nasıl kullanılacağı bulunmaktadır.

  • MEV-Boost Mode kutusu, Rocket Pool'un yönettiği bir MEV-Boost instance'ı ile kendi başınıza yönettiğiniz harici bir instance arasında geçiş yapmanıza olanak tanır. Bu, zaten MEV-Boost kurulumu olan ve Rocket Pool'un ikinci bir kopya çalıştırması yerine bunu kullanmak isteyen ileri düzey kullanıcılar içindir. Normal Docker Mode kullanıcıları bunu Locally Managed olarak bırakmalıdır.

  • Selection Mode kutusu, Profile Mode ve Relay Mode arasında geçiş yapmanıza olanak tanır.

  • Profile Mode varsayılandır. "Profilleri"ne göre hangi relay'leri etkinleştireceğinizi seçmenize olanak tanır. Bir relay'in profili aşağıdaki seçeneklerden oluşur:

  • Düzenlenmiş olup olmadığı (OFAC listesi gibi hükümet yaptırım listelerine uyar ve belirli adresleri kara listeye alır) veya düzenlenmemiş (herhangi bir kara listeye dayalı olarak herhangi bir işlemi sansürlemez)

  • Tüm MEV türlerine izin verip vermediği veya sandwich saldırıları veya Ethereum kullanıcılarının front-running'ini içeren paketleri açıkça yasaklayıp yasaklamadığı

  • Birden fazla profil seçebilirsiniz.

  • Seçtiğiniz her profilin uyduğu bir dizi relay vardır ve bunlar açıklama kutusunda listelenmiştir; bu profili etkinleştirmek tüm bu relay'leri etkinleştirecektir.

  • İleri düzey kullanıcılar bunu Relay Mode'a değiştirebilir, bu da hangi relay'leri kullanmak istediklerini açıkça seçmelerine olanak tanır.

  • Port kutusu Docker mode kullanıcıları için önemli değildir.

  • Expose API Port kutusu Docker mode kullanıcıları için önemli değildir.

  • Container Tag kutusu, Flashbots Smartnode güncellemesi yayınlanmadan önce kullanmak istediğiniz yeni bir yüksek öncelikli sürüm yayınlarsa, Smartnode'un çalıştırdığı MEV-Boost sürümünü manuel olarak yükseltmek için kullanışlıdır.

  • Additional Flags kutusu, MEV-Boost container'ına doğrudan ek yapılandırma flag'leri veya parametreleri eklemek istiyorsanız kullanılır. Normalde kullanışlı olmayacaktır.

MEV-Boost'u etkinleştirdikten ve istediğiniz relay'leri etkinleştirdikten sonra, kaydedin ve çıkın. Smartnode ilgili container'ları sizin için yeniden başlatacak ve her şeyi otomatik olarak ayarlayacaktır.

Beklendiği gibi çalışıp çalışmadığını kontrol etme talimatları için aşağıya bakın.

MEV-Boost'un Loglarını Kontrol Etme

MEV-Boost'un loglarını kontrol etmek için aşağıdaki komutu çalıştırın (Docker Mode kullanıcıları ve yerel olarak yönetilen container'a sahip Hybrid kullanıcıları için):

rocketpool service logs mev-boost

Çıktı size hangi relay'leri etkinleştirdiğinizi, bağlantı durumlarını gösterecek ve Beacon Node'unuzdan gelen trafiği dinlemeye başlayacaktır:

mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="mev-boost v1.3.1" module=cli
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="Using genesis fork version: 0x00000000" module=cli
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="using 4 relays" module=cli relays="[{0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net?id=rocketpool} {0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88 https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?id=rocketpool} {0x9000009807ed12c1f08bf4e81c6da3ba8e3fc3d953898ce0102433094e5f22f21102ec057841fcb81978ed1ea0fa8246 https://0x9000009807ed12c1f08bf4e81c6da3ba8e3fc3d953898ce0102433094e5f22f21102ec057841fcb81978ed1ea0fa8246@builder-relay-mainnet.blocknative.com?id=rocketpool} {0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io?id=rocketpool}]"
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="Checking relay" module=service relay="https://0xac6e77dfe25ecd6110b8e780608cce0dab71fdd5ebea22a16c0205200f2f8e2e3ad3b71d3499c54ad14d6c21b41a37ae@boost-relay.flashbots.net?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:06Z" level=info msg="Checking relay" module=service relay="https://0xb0b07cd0abef743db4260b0ed50619cf6ad4d82064cb4fbec9d3ec530f7c5e6793d9f286c4e082c0244ffb9f2658fe88@bloxroute.regulated.blxrbdn.com?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:07Z" level=info msg="Checking relay" module=service relay="https://0x9000009807ed12c1f08bf4e81c6da3ba8e3fc3d953898ce0102433094e5f22f21102ec057841fcb81978ed1ea0fa8246@builder-relay-mainnet.blocknative.com?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:07Z" level=info msg="Checking relay" module=service relay="https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io?id=rocketpool"
mev-boost_1      | time="2022-09-28T22:02:07Z" level=info msg="listening on 0.0.0.0:18550" module=cli

Bu, düzgün çalıştığını gösterir.

Zaten çalışan validator'larınız varsa, loglarda birkaç dakikada bir şöyle mesajlar göreceksiniz:

mev-boost_1      | time="2022-09-28T21:40:48Z" level=info msg="http: GET /eth/v1/builder/status 200" duration=0.147305645 method=GET module=service path=/eth/v1/builder/status status=200
mev-boost_1      | time="2022-09-28T21:40:48Z" level=info msg="http: POST /eth/v1/builder/validators 200" duration=0.052895118 method=POST module=service path=/eth/v1/builder/validators status=200

Bu, Beacon node'unuzun düzgün bir şekilde bağlanabildiğini ve validator'larını kaydedebildiğini gösterir; node'unuzun şu anda MEV relay'leriyle aktif olarak etkileşim kurduğunu ve block builder'lardan blok almaya hazır olduğunu gösterir!

Sonraki Adımlar

MEV-Boost kurulduğuna göre, yeni bir megapool validator oluşturmaya ve Ethereum ağında doğrulama yapmaya hazırsınız! Bu süreci anlatmak için bir sonraki bölümü okuyun.