Yazarlar Notu: init4Gelecek nesil Ethereum araçları üzerinde çalışan bir araştırma kolektifi. Bu bir araştırma notudur, bir açıklama belgesi değil. Dağıtılan ve önerilen sistemlerin güvenlik modellerindeki ince noktaları ve boşlukları tartışacağız, ancak bunları 'zayıflıklar' veya 'daha önce bilinmeyen' olarak tanımlamak abartılı olurdu.
Sansür direnişi, genel olarak kripto para birimlerinin ve Ethereum'un temel bir değeri olarak kalmaktadır.özellikle. Biz, zincir üzerinde işlem yapmanın faydalarının herkes tarafından kullanılabilir olması gerektiğine ve zincirin kurallarının tüm kullanıcılar ve kullanımlar için eşit şekilde geçerli olması gerektiğine inanıyoruz. Değerler bu alanın ilerlemesini sağlar. Mühendislik, değerlerimizi gerçeklikle test etme sürecidir ve nerede ve nasıl kırıldıklarını buluruz.
Dominolar da bir sıraya girer :) FotoğrafTom WilsonüzerindeUnsplash
Sansür direnişinde zorlamalı dahil mekanizmaları üzerine çalışmaları teşvik eden bu tanım, bir işlemin dahil edilmesinin ekonomik olmayan bilgiye bağlı olduğu durumlarda, işlemin sansürlendiği söylenir. Bir işlem, dahil edilmesi durumunda herhangi bir dahil edilmiş işlemden daha fazla gözlemlenebilir kar elde ederse ancak dahil edilmezse sansürlendiği kabul edilir. Bir blok oluştururken, düşük bir ücretli işlemi dahil etmeyi reddetmek kabul edilebilirken, bir işlemin belirli bir kişi tarafından gönderildiği için dahil edilmemesi kabul edilemez. Dolayısıyla, bir işlemin dahil edilmesi ekonomik olmayan bilgiye bağlıysa sansürlenmiş olarak kabul edilir.
OP Stack zincirlerinin temel güvenlik hedeflerinden biri, Sıralayıcının kullanıcıların L2 zincire işlem göndermelerini engelleyememesidir.
Modern toplamalar, merkezi sıralamaya sahip olma eğilimindedir. Bu, sıralayıcı tarafından sansürün önemsiz olduğu anlamına gelir, çünkü herhangi bir kullanıcı işlemini dahil etmemeyi seçebilirler. Bunu azaltmak için, aşağıdakiler de dahil olmak üzere birkaç toplama OptimizmveArbitrum- zorunlu dahil etme mekanizmalarına sahiptir. Bu mekanizmalar, bir kullanıcının işleminin, sekansörün davranışına bakılmaksızın, belirli bir zaman gecikmesinden sonra rollup tarafından gerçekleştirileceğini garanti etmesine olanak tanır. Dahil etme, L1 üzerine dağıtılan bir sözleşme aracılığıyla zorlanır. Bu nedenle zorunlu dahil etme işlemleri (teorik olarak) diğer Ethereum işlemleri gibi sansür direnişine sahiptir.
Zorunlu dahil etme, herhangi bir geçerli sıralamada korunması gereken alt aralığı belirtir.
Ethereum için de zorunlu bir dahil etme mekanizması önerildi EIP-7547. Dahil etme listeleri, blok önerilerinin bir sonraki bloğun içeriğini kısmen belirtmesine izin verir. Blok önericilerinin sansür yapma teşviklerinin blok oluşturucularından daha az olduğu varsayımı altında, sansüre etkili bir önlem sağlar.
Genellikle, zorunlu dahil etme mekanizmaları geçerli sıralamalara yeni kısıtlamalar getirir. Protokol kurallarına göre geniş sıralama sınıflarını geçersiz kılarlar.1. Zorunlu dahil etme, kullanıcının gelecekteki sıralamanın bir alt kümesini belirlemesine izin vermek olarak düşünülmelidir. Tüm geçerli sıralamalar, zorunlu alt kümenin üzerine genişlemelidir.
Maalesef, işlem onayı bir amaç değil, bir araçtır. Sansür modelimiz eksiktir!
Sansür, hedefler açısından tanımlanmalıdır. Kullanıcılar token göndermek, NFT satın almak, fon borç almak istiyor, vs. İşlemin onayı, bu hedefe yanlışlıkla eklidir2. Sansürcülerin de benzer şekilde belirli hedefleri vardır. Bu hedef, bir hack işleminin başarılı olmasını engellemek, bir yasa gereğince uyum sağlamak veya bir rakibin işine müdahale etmek olabilir. Her iki tarafın niyetine saygı göstererek, sansürü yeniden tanımlamamız gerekiyor.
Bununla birlikte, sansürün tanımını genişletmemiz gerektiğini söyleyebiliriz: bir işlem, üçüncü bir tarafın onun hedefine ulaşmasını engelleyebiliyorsa sansürlenmiş demektir. Yani, sansürleyen kişi işlemi onaylamasını engellemek zorunda değildir; sadece akıllı sözleşme yürütmesini geri alması yeterlidir. Bir EVM işleminin geri alınması, o işlemin kanonik zincirin bir parçası olmasına rağmen sansürü oluşturur. Bir işlemin içeriğine kör olan tehdit modelleri sansürü doğru bir şekilde modellemez ve bu nedenle kullanıcıları bundan etkili bir şekilde koruyamaz.
Yarı resmi olarak, zincirle herhangi bir etkileşim için, sonuç sıralamasını değerlendiren ve 0 (hedef başarısız) veya 1 (hedef başarılı) üreten bazı puanlama ölçütleri f olduğunu söyleyebiliriz. Bu modelde, sansürün puanlama işlevi sadece negasyondur: f '=! F. Sansür, kullanıcı başarısız olduğunda hedefine ulaşır.3
Kullanıcının amacı gizli olabilirken, işlem genellikle bunu çıkarsamak için yeterli bilgi içerir. Uniswap işlemlerinin açık hedefleri vardır. Ayrıca, blok zincirleri deterministik olduğundan, sansür ustası, hangi sıralamaların sansür ustasının önerisini karşılayacağını mükemmel bir şekilde tahmin edebilir. Sonuç olarak, kullanıcılar EVM modelinde sansürden korunmak için gizli bilgilere güvenemeyebilir. İşlem detayları herkese açık olmalıdır, bu da kullanıcının amacı hakkında herkese açık bilgi anlamına gelir.
Basitlik açısından, standart önceden çalışan sıralayıcı modelinde çalıştığımızı varsayalım.4. Zorunlu dahilini daha sonra sıralayıcı dönüşü altında ele alacağız. Bu modelde, sıralayıcının sıra üzerinde tam kontrolü vardır ve herhangi bir sonucu mükemmel bir şekilde simüle edebilir. Yani, tüm olası sıralamalar kümesinden seçim yapmaya özgürdürler. Dolayısıyla, sansürle ilgili yarı formal sorumuz "f'nin 0'a değerlendiği bazı geçerli bir sıralama var mı?" olur. Böyle bir sıralama varsa, o zaman sıralayıcı onu seçebilir.
Oradan itibaren, zorunlu dahil etmeyi hesaba katmak için modelimizi genişletebiliriz. 'Kullanıcının alt sıralamasını içeren geçerli bir sıralama var mı, f 0'a değerlendirir mi?' Bu tür bir sıralama varsa, dizgici onu seçebilir. Zorunlu dahil etme, dizgicinin sıralama üzerinde kontrolünü engellemez, sadece davranışlarını kısıtlar. Ne yazık ki, zorunlu dahil etmenin birçok işlem için etkili bir sansür direnişi mekanizması olmasını engelleyen temel sorunları vardır.
Zorunlu dahil etme mekanizmaları, sıralamanın zorunlu veya zorlamasız olmak üzere iki modda gerçekleştiği anlamına gelir. Zorlamasızdan zorlamalıya (ve tam tersi) geçiş yapan tanımlanmış bir nokta vardır. Bu nokta teslimatı temsil eder. Teslimat, zorunlu dahil etme mekanizmalarının tasarımı için zor bir sorun teşkil eder.
Zorunlu katılımdan kaynaklanan zorlamasız geçiş olmalıdır.
Zorla gerçekleşen işlem, teslimdeki durumda gerçekleştirilir. Bu yüzden bir kez daha, durum çatışması5Çetrefilli bir şekilde ortaya çıkar. Bir toplu işlem yığını içinde (bir blok gibi) el değişimi gerçekleştiğinde, toplu işlem oluşturucu el değişimindeki durum üzerinde kontrol sağlayabilir. Zorunlu dahil işlemi herhangi bir genel durumu okursa, toplu işlem oluşturucusu zorunlu işlem yürütülmeden önce ve sonra bu durumu yeniden yazabilir. Sansür için yeterli olan çekişme.
Toplu oluşturucu, teslim sırasında durum üzerinde kontrol sağlayabildiği için zorunlu işlem sonucunu etkileyebilir. Sonucu etkileyebiliyorsa, skorlama öngörüsünün sonucunu potansiyel olarak etkileyebilir. Örneğin, basit bir AMM etkileşimini düşünün. Kullanıcı bir minimum kabul edilebilir fiyat belirler, ancak toplu oluşturucu, teslim noktasında piyasa fiyatının minimum kabul edilebilir fiyatın altında olmasını sağlayabilir. Bu, kullanıcının işleminin geri dönmesine neden olarak kullanıcının sansür edilmesine neden olur.67
İlginç bir şekilde, devlet mücadelesiyle sansür, dışlama yoluyla sansüre göre daha etkilidir. Bir dışlanmış işlem gelecekteki bloklara dahil edilebilir. Bir mücadele yoluyla sansürlenen işlem kalıcı olarak geçersiz kılınır. Zincire dahil edilmiştir ve bir daha asla dahil edilemez. Bu işlem, kullanıcının hedefine asla ulaşamaz. Tekrar denemek için kullanıcı işlemi yeniden oluşturmalı ve yeniden göndermelidir (bu süreçte tekrar sansürlenebilir).
Herhangi bir kullanıcı, Sequencer'ı tamamen yanıtsız veya hatta kötü niyetli bile olsa tamamen atlayarak (örneğin, fonları çekmek için L2'den L1 mesajı başlatan bir işlem dahil) doğrudan katman 1'den herhangi bir Arbitrum işlemi gönderebilir. Bu mekanizma, sansür direnişini korur.
Koşu-önü sıralama modelinde, sıralayıcı, el değiştirme konumu üzerinde neredeyse mükemmel kontrol sahibi ve düşük ücretler öder (bahşiş vermelerine gerek olmadığı ve EIP-1559 taban ücreti üzerinde bir miktar kontrol sağlayabilecekleri için). Sonuç olarak, sıralayıcı, durum çatışmasını kullanarak kullanıcı eylemlerini sansürleme konusunda ayrıcalıklı bir konumdadır. Bu basittir. El değiştirme problemi, sıralayıcının büyük bir sınıf işlemi sansürleyebilmesini sağlar.
EIP-7547 için, yapımcılar blok teslimatlarının nerede gerçekleşeceğini seçerler.8Sonuç olarak, yapımcı blok içindeki teslim noktasını seçebilir. Bu, istedikleri zaman bir önek ve bir sonek seçebilecekleri anlamına gelir.9Onlar blok gaz kurallarına saygı gösterdikleri sürece. Önek, işlemi geri alacak duruma sokabilir, son ek ise zinciri normal bir duruma geri getirecektir. EIP-7547 dahil listeler, çekişmeli duruma erişen herhangi bir işlem için sansürü engellemek için yeterli değildir. Devir sorunu, IL'lerin çoğu durumda işlem yürütmesini sağlamasını engeller.
Zorunlu dahil etme, blok zincirinin çoğu karmaşık olmayan kullanımında kullanıcıları sansürden korumada etkisizdir. Devre dışı bırakma sorunu, sansürün sıralama üzerinde yeterli takdir yetkisine sahip olmasa bile durum üzerinde yeterli takdir yetkisine sahip olmasını sağlar. Bu sorun AMM'leri, kredi piyasalarını, açık artırmaları ve çoğu diğer DeFi eylemlerini etkiler. İstediğiniz takdirde işlemin dahil edilmesini garanti edebilirsiniz, ancak birçok önemli eylem sansürlenebilir. Durum çatışması, zorunlu dahil etmenin sansür direnişi mekanizması olarak etkinliği üzerinde sert sınırlar oluşturur.
Bu durumun uzak etkilerini görmek için, bir kullanıcının Optimism'deki bir kredi piyasasında USDC ödünç verdiğini düşünün. Kullanıcı piyasadan USDC çekmek istediğinde, Optimism işlemini gönderir, ancak bu işlemi sıralayan kişi sansürler. Ardından Ethereum'da işlemlerini sıraya almak için resmi zorunlu dahil etme mekanizmasını kullanır.
Sıralayıcı, işlemi kuyrukta görebilir ve onu sandviç yapmayı seçebilir. İşlemi sansürlemek için, sıralayıcı zorunlu işlemden hemen önce piyasadan mevcut tüm USDC'yi ödünç alır. Piyasanın likiditesi artık olmadığı için, zorunlu işlem geri döner. Sıralayıcı daha sonra USDC'yi hemen geri ödeyebilir.
Sıralayıcı veya oluşturucu, teslimdeki durumu manipüle edebilir.
Bu, sıralayıcıdan USDC borç almak için yeterli teminatı olmasını gerektirir, ancak yalnızca son derece küçük bir borç maliyeti uygular.10Ayrıca, teminat tüm sansürler için tekrar kullanılabilir çünkü ödünç alma işlemi hiçbir zaman açık tutulmaz. Sonuç olarak, Optimism'de (veya Arbitrum veya diğer merkezi sıralı rollup'larda) AAVE veya Compound kullanıcısı, teminatı hiçbir zaman çekebilecekleri konusunda garantiye sahip değildir. Sıralayıcı herhangi bir ödünç verme piyasasından herhangi bir çekilmeyi herhangi bir zamanda sansürebilir. Zorunlu dahil etme, kullanıcıları sansüre karşı korumak için yeterli değildir.
Birkaç takip araştırma alanımız var.
İlk olarak, EIP-7547, IL işlemlerinin bir sonraki bloğun sonunda işlenmesinin zorunlu hale getirilerek basit bir şekilde iyileştirilebilir. PBS açık artırma bağlamında sansür MEV'dir. Oluşturucu, ETH cinsinden ifade edilen öznel bir değer atamak zorunda olduğu bazı ekonomik olmayan değerlerden elde eder. Dolayısıyla oluşturucu tarafından uygulanan sansür, oluşturucunun blok teklifinde bir artışa neden olur.11 Bu, sansür paketleri yapabilen arama yapanları da kapsar. Sansürün ekonomik değerinin bir kısmı daha sonra teklif sahibi tarafından ele geçirilir ve doğrudan katılmasa bile sansüre tahammül etmek için bir teşvik sağlar. Zorunlu dahil etme işlemlerini bloğun sonuna yerleştirmek, blok oluşturucunun IL işlemlerini önemsiz bir şekilde sandviçleme yeteneğini ortadan kaldırır ve çekişmeli sansürün ekonomik maliyetini artırır. Örneğin, durum çekişmesi yoluyla bir AMM etkileşimini sansürlemek, bir miktar AMM arbitrajından vazgeçmeyi veya piyasayı sandviçi kapatarak telafi edilemeyecek aralığın dışına itmek için yüksek bir maliyetten vazgeçmeyi gerektirebilir. Buna ek olarak, bu, Arama Yapanlar (inşaatçılar yerine) tarafından üretilen sansür paketlerini blok başına bir tane ile sınırlayacaktır.12Öneriyorum, blok başı yürütme, çünkü önek, sonekten daha anlamlıdır, ancak bu, zorunlu dahil etme aracılığıyla blok başı MEV çıkarma izin verdiği için bir IL işleminin maliyetini önemli ölçüde artırır.13Sansürün IL işlemlerini atomik olarak son eklemeye hakkı kaldırılması küçük bir iyileştirme.
İkinci olarak, el değiştirme sorunu, sansürün işlem simülasyonu yoluyla ileriye bakabilmesi ve giriş durumu üzerinde kontrol sağlayabilmesi nedeniyle var olur. Birçok MEV-direnç mekanizması, sansürün kullanıcıların hedefleri hakkında bilgi elde etmesini ve sonuçları simüle etmesini engellemek için gizli bilgiyi tanıtır. Genellikle bu, bazı işlem bilgilerinin sıralama gerçekleştikten sonra kadar özel olması durumunda gerçekleşen taahhüt-açığa çıkarma düzenlemeleridir. Sıralama-yürütme ayrımı ve gizli bilgi umut vadeder gibi görünse de, MEV tedarik zinciri, Ethereum fikir birliği süreçleri ve sıralı rollup modeliyle büyük ölçüde uyumsuzdur. İşlemleri simüle etme yeteneğini engellemenin sansürü ve birçok MEV sınıfını ele alacağı bir yol olabilir, ancak protokole, protokol işletmecilerine, uygulamalara ve son kullanıcıya son derece müdahaleci olurdu.
Üçüncüsü, ilginç bir "emirden bağımsız" puanlama fonksiyonları sınıfı vardır. Bunlar, ya çekişmeli duruma erişemedikleri için ya da eriştikleri çekişmeli devletin bir anlamda "güvenilir" olması için yeterli kısıtlamalara sahip olduğu için devlet çekişmesi tarafından sansürlenemeyecek hedeflerdir. Emirden bağımsız eylemler arasında bir EOA'ya ETH göndermek, çoğu ERC-20 gönderimi,14ve bir pazar için teminat eklemek gibi bazı DeFi etkileşimleri. Bu eylemler, çekişme yoluyla sansürden korunmaktadır. Bu sınıf hedefler ayrıca güvenli kesişen zincir iletişimi ve MEV direncinde ilginç karşılıklara sahiptir ve daha derinlemesine bir çalışmaya değerdir. Uygulamalar ve protokoller, bazı durumlarda yalnızca sıra bağımsız eylemleri içerecek şekilde tasarlanabilir, ancak daha fazla çalışma gerekmektedir.
Zengin durum, kötü niyetli aktörlerin işlemleri sansürlemesine izin verirken onları dahil etmeye devam eder. Devir sorunu, zorla dahil etme mekanizmaları için temeldir ve yalnızca hafifletilebilir. Merkezi olarak sıralanmış toplamalarda risk azaltma mümkün değildir. Zorla dahil etme, çekişmeli devletin varlığında sansürü ele alamaz. Ekonomik açıdan önemli büyük işlem sınıfları, zorla dahil edilse bile sansürlenebilir. Devir sorunu, modern rollup'larda endemiktir ve Ethereum'un sansür direnci EIP'lerinde mevcuttur. Sonuç olarak, zorla dahil etme, faydalı olsa da, zengin devlet zincirleri için sansür direnci sağlamak için asla yeterli değildir. Rollup'lar, Ethereum'un güvenlik özelliklerini "miras almaz" ve bunu yaptıklarını öne sürmek aptalcadır. Kapsayıcılık takıntısını bıraktığınızda, sansür direncinin MEV direncinin özel bir durumu olduğu ortaya çıkıyor.
Teşekkür etmek istiyoruzMike Neuder, Tarun Chitra, ve Brandon Curtisinceleme ve geri bildirim için.
Tipik olarak, L1'ler için bu, geçersiz blokları reddederek gerçekleştirilirken, rollup'larda geçersiz dizilerin bazı filtreleme fonksiyonu aracılığıyla geçerli dizilere zorlanarak gerçekleştirilir.
Bu noktada niyetlerle ilgili bir gönderi değil, dünyanın daha fazlasına ihtiyacı yok.
Bu açıkça eksik bir modeldir, çünkü sonuçların öznel değerlerini hesaba katmaz. Örneğin, sansür belirli bir davranışı sansürlemede başarısız olurlarsa Fransız polisi tarafından tutuklanabileceklerinden herhangi bir miktarda para kaybedebilirler. Öte yandan, kullanıcı belirli bir zaman aralığında hedeflerine ulaşılamazsa (örneğin, kendi token'larına karşı 100 milyon doların üzerinde borç aldılar ve pozisyonlarını yeniden teminatlandırmadan önce likide edilirlerse) herhangi bir miktarda para kazanıp kaybedebilirler.
Çoğu modern rollup modelde, bir “tabanlı” sıralayıcı modelinin aksine, sıralayıcı Ethereum'a işlemi taahhüt etmeden önce işlem için dahil edilme ve yürütme tanıklıkları sağladığı için Ethereum'dan “daha önde” çalışır. Bu modelde Sıralayıcı, sıralama üzerinde tam kontrol sahibidir ve işlemin sonucu Ethereum yeniden düzenlemelerinden bağımsız olmalıdır.
Aynı sözleşmeye, varlığa veya duruma erişmek isteyen birden fazla kullanıcının işlemleri birbiriyle 'yarışır' ve potansiyel olarak birbirlerinin sonuçlarına müdahale eder. Yarışma rastlantısal olarak ortaya çıkabilir veya kasıtlı olabilir. Bu, blok zincir sistemlerinde zengin durumun çözümsüz bir sorunudur. Paylaşılan duruma halkın erişimi, MEV, ölçeklenebilirlik sorunları ve modern toplumda nezaketin azalması sorununun temelidir.
Genellikle, sansürün devlet mücadelesi yoluyla düşünülmesi gerektiğini MEV'nin özel bir durumu olarak düşünmelisiniz. Çünkü çıkarılan değer off-chain, gözlemlenemeyen ve potansiyel olarak çok büyük olduğu için sansürün devlet mücadelesi yoluyla ne zaman meydana geleceğini tahmin etmek zor olabilir.
2017 makalemizde işlemleri geri almak için devlet çekişmesini kullanmayı özellikle ele aldık "Madenciler Arkadaşınız Değil”. O zamanlar “MEV” terimi henüz kullanımda değildi.
PBS'nin sansür direncini önemli ölçüde karmaşıklaştırdığı iyi bilinmektedir. VB'lere bakın @vbuterin/pbs_censorship_resistance">araştırma notu.
Bir işlemi ön eklemek ve sondalamak genellikle 'sandviçleme' olarak adlandırılır ve durum çekişmesini kullanarak MEV çıkarmak için iyi anlaşılan bir yöntem olarak bilinir.
Borç, sadece birkaç saniye boyunca tutulur, o kadar bile değil. Rollup sıralayıcıları bazı durumlarda saat damgalarını veya blok sınırlarını tutabilir, böylece etkili borç süresi 0 olur.
İnşaatçı, sansürün öznel değerine kadar ödemeye istekli olacak ve bu da teklifi nesnel olarak gözlemlenebilir çıkartılabilir blok değerinden daha yukarı çekebilecek potansiyel olarak. Aşırı durumlarda, sansürün, bloğu üretmek için aldığı ETH tutarından daha fazla ETH ödediği (yani ücretler ve ödüllerde aldığı tutardan daha az) negatif bir ETH bakiye değişikliği ile sonuçlanabileceği durumlar oluşabilir.
Dikkat edin, bu, farklı paketlerden aralıklı işlemlerin önlenmesine ve 'geri çevrilmeli' işlemlerin yapılmamasına dayanan MEV müzayede kurallarına güvenmektedir. Eğer bu kurallar, paket işlemlerinin aralıklı olmasına izin vermek için gevşetilirse ve/veya oluşturucular 'geri çevrilmeli' blokları desteklemeye başlarsa, koruma ortadan kalkar. Bu dinamik, eğer IL işlemleri bloğun sonunda olacaksa, zorunlu olmayan işlemler aralıklı olmayacağından en fazla bir arama sansürü paketi oluşabilir.
Yapımcının sınırlı ara blok paketleri oluşturmasına etkili bir şekilde izin vererek. Gate.io gibi önceden mutabakat sistemleriFOCILbunu hafifletebilir.
Standart bir ERC-20 tokeni için, üçüncü taraflar kullanıcının bakiyesini azaltamayacağından, transfer çağrısı genellikle çekişme yoluyla sansürlenemez. Ancak, bir transferFrom çağrısı düşünün. Onaylanan devreden, kendi durumu üzerinde çekişmeye izin veren bir sözleşme ise, eylem bu çekişme yoluyla sansürlenebilir (transfer için gerekli onayı istenmeyen bir şekilde tüketir).
Yazarlar Notu: init4Gelecek nesil Ethereum araçları üzerinde çalışan bir araştırma kolektifi. Bu bir araştırma notudur, bir açıklama belgesi değil. Dağıtılan ve önerilen sistemlerin güvenlik modellerindeki ince noktaları ve boşlukları tartışacağız, ancak bunları 'zayıflıklar' veya 'daha önce bilinmeyen' olarak tanımlamak abartılı olurdu.
Sansür direnişi, genel olarak kripto para birimlerinin ve Ethereum'un temel bir değeri olarak kalmaktadır.özellikle. Biz, zincir üzerinde işlem yapmanın faydalarının herkes tarafından kullanılabilir olması gerektiğine ve zincirin kurallarının tüm kullanıcılar ve kullanımlar için eşit şekilde geçerli olması gerektiğine inanıyoruz. Değerler bu alanın ilerlemesini sağlar. Mühendislik, değerlerimizi gerçeklikle test etme sürecidir ve nerede ve nasıl kırıldıklarını buluruz.
Dominolar da bir sıraya girer :) FotoğrafTom WilsonüzerindeUnsplash
Sansür direnişinde zorlamalı dahil mekanizmaları üzerine çalışmaları teşvik eden bu tanım, bir işlemin dahil edilmesinin ekonomik olmayan bilgiye bağlı olduğu durumlarda, işlemin sansürlendiği söylenir. Bir işlem, dahil edilmesi durumunda herhangi bir dahil edilmiş işlemden daha fazla gözlemlenebilir kar elde ederse ancak dahil edilmezse sansürlendiği kabul edilir. Bir blok oluştururken, düşük bir ücretli işlemi dahil etmeyi reddetmek kabul edilebilirken, bir işlemin belirli bir kişi tarafından gönderildiği için dahil edilmemesi kabul edilemez. Dolayısıyla, bir işlemin dahil edilmesi ekonomik olmayan bilgiye bağlıysa sansürlenmiş olarak kabul edilir.
OP Stack zincirlerinin temel güvenlik hedeflerinden biri, Sıralayıcının kullanıcıların L2 zincire işlem göndermelerini engelleyememesidir.
Modern toplamalar, merkezi sıralamaya sahip olma eğilimindedir. Bu, sıralayıcı tarafından sansürün önemsiz olduğu anlamına gelir, çünkü herhangi bir kullanıcı işlemini dahil etmemeyi seçebilirler. Bunu azaltmak için, aşağıdakiler de dahil olmak üzere birkaç toplama OptimizmveArbitrum- zorunlu dahil etme mekanizmalarına sahiptir. Bu mekanizmalar, bir kullanıcının işleminin, sekansörün davranışına bakılmaksızın, belirli bir zaman gecikmesinden sonra rollup tarafından gerçekleştirileceğini garanti etmesine olanak tanır. Dahil etme, L1 üzerine dağıtılan bir sözleşme aracılığıyla zorlanır. Bu nedenle zorunlu dahil etme işlemleri (teorik olarak) diğer Ethereum işlemleri gibi sansür direnişine sahiptir.
Zorunlu dahil etme, herhangi bir geçerli sıralamada korunması gereken alt aralığı belirtir.
Ethereum için de zorunlu bir dahil etme mekanizması önerildi EIP-7547. Dahil etme listeleri, blok önerilerinin bir sonraki bloğun içeriğini kısmen belirtmesine izin verir. Blok önericilerinin sansür yapma teşviklerinin blok oluşturucularından daha az olduğu varsayımı altında, sansüre etkili bir önlem sağlar.
Genellikle, zorunlu dahil etme mekanizmaları geçerli sıralamalara yeni kısıtlamalar getirir. Protokol kurallarına göre geniş sıralama sınıflarını geçersiz kılarlar.1. Zorunlu dahil etme, kullanıcının gelecekteki sıralamanın bir alt kümesini belirlemesine izin vermek olarak düşünülmelidir. Tüm geçerli sıralamalar, zorunlu alt kümenin üzerine genişlemelidir.
Maalesef, işlem onayı bir amaç değil, bir araçtır. Sansür modelimiz eksiktir!
Sansür, hedefler açısından tanımlanmalıdır. Kullanıcılar token göndermek, NFT satın almak, fon borç almak istiyor, vs. İşlemin onayı, bu hedefe yanlışlıkla eklidir2. Sansürcülerin de benzer şekilde belirli hedefleri vardır. Bu hedef, bir hack işleminin başarılı olmasını engellemek, bir yasa gereğince uyum sağlamak veya bir rakibin işine müdahale etmek olabilir. Her iki tarafın niyetine saygı göstererek, sansürü yeniden tanımlamamız gerekiyor.
Bununla birlikte, sansürün tanımını genişletmemiz gerektiğini söyleyebiliriz: bir işlem, üçüncü bir tarafın onun hedefine ulaşmasını engelleyebiliyorsa sansürlenmiş demektir. Yani, sansürleyen kişi işlemi onaylamasını engellemek zorunda değildir; sadece akıllı sözleşme yürütmesini geri alması yeterlidir. Bir EVM işleminin geri alınması, o işlemin kanonik zincirin bir parçası olmasına rağmen sansürü oluşturur. Bir işlemin içeriğine kör olan tehdit modelleri sansürü doğru bir şekilde modellemez ve bu nedenle kullanıcıları bundan etkili bir şekilde koruyamaz.
Yarı resmi olarak, zincirle herhangi bir etkileşim için, sonuç sıralamasını değerlendiren ve 0 (hedef başarısız) veya 1 (hedef başarılı) üreten bazı puanlama ölçütleri f olduğunu söyleyebiliriz. Bu modelde, sansürün puanlama işlevi sadece negasyondur: f '=! F. Sansür, kullanıcı başarısız olduğunda hedefine ulaşır.3
Kullanıcının amacı gizli olabilirken, işlem genellikle bunu çıkarsamak için yeterli bilgi içerir. Uniswap işlemlerinin açık hedefleri vardır. Ayrıca, blok zincirleri deterministik olduğundan, sansür ustası, hangi sıralamaların sansür ustasının önerisini karşılayacağını mükemmel bir şekilde tahmin edebilir. Sonuç olarak, kullanıcılar EVM modelinde sansürden korunmak için gizli bilgilere güvenemeyebilir. İşlem detayları herkese açık olmalıdır, bu da kullanıcının amacı hakkında herkese açık bilgi anlamına gelir.
Basitlik açısından, standart önceden çalışan sıralayıcı modelinde çalıştığımızı varsayalım.4. Zorunlu dahilini daha sonra sıralayıcı dönüşü altında ele alacağız. Bu modelde, sıralayıcının sıra üzerinde tam kontrolü vardır ve herhangi bir sonucu mükemmel bir şekilde simüle edebilir. Yani, tüm olası sıralamalar kümesinden seçim yapmaya özgürdürler. Dolayısıyla, sansürle ilgili yarı formal sorumuz "f'nin 0'a değerlendiği bazı geçerli bir sıralama var mı?" olur. Böyle bir sıralama varsa, o zaman sıralayıcı onu seçebilir.
Oradan itibaren, zorunlu dahil etmeyi hesaba katmak için modelimizi genişletebiliriz. 'Kullanıcının alt sıralamasını içeren geçerli bir sıralama var mı, f 0'a değerlendirir mi?' Bu tür bir sıralama varsa, dizgici onu seçebilir. Zorunlu dahil etme, dizgicinin sıralama üzerinde kontrolünü engellemez, sadece davranışlarını kısıtlar. Ne yazık ki, zorunlu dahil etmenin birçok işlem için etkili bir sansür direnişi mekanizması olmasını engelleyen temel sorunları vardır.
Zorunlu dahil etme mekanizmaları, sıralamanın zorunlu veya zorlamasız olmak üzere iki modda gerçekleştiği anlamına gelir. Zorlamasızdan zorlamalıya (ve tam tersi) geçiş yapan tanımlanmış bir nokta vardır. Bu nokta teslimatı temsil eder. Teslimat, zorunlu dahil etme mekanizmalarının tasarımı için zor bir sorun teşkil eder.
Zorunlu katılımdan kaynaklanan zorlamasız geçiş olmalıdır.
Zorla gerçekleşen işlem, teslimdeki durumda gerçekleştirilir. Bu yüzden bir kez daha, durum çatışması5Çetrefilli bir şekilde ortaya çıkar. Bir toplu işlem yığını içinde (bir blok gibi) el değişimi gerçekleştiğinde, toplu işlem oluşturucu el değişimindeki durum üzerinde kontrol sağlayabilir. Zorunlu dahil işlemi herhangi bir genel durumu okursa, toplu işlem oluşturucusu zorunlu işlem yürütülmeden önce ve sonra bu durumu yeniden yazabilir. Sansür için yeterli olan çekişme.
Toplu oluşturucu, teslim sırasında durum üzerinde kontrol sağlayabildiği için zorunlu işlem sonucunu etkileyebilir. Sonucu etkileyebiliyorsa, skorlama öngörüsünün sonucunu potansiyel olarak etkileyebilir. Örneğin, basit bir AMM etkileşimini düşünün. Kullanıcı bir minimum kabul edilebilir fiyat belirler, ancak toplu oluşturucu, teslim noktasında piyasa fiyatının minimum kabul edilebilir fiyatın altında olmasını sağlayabilir. Bu, kullanıcının işleminin geri dönmesine neden olarak kullanıcının sansür edilmesine neden olur.67
İlginç bir şekilde, devlet mücadelesiyle sansür, dışlama yoluyla sansüre göre daha etkilidir. Bir dışlanmış işlem gelecekteki bloklara dahil edilebilir. Bir mücadele yoluyla sansürlenen işlem kalıcı olarak geçersiz kılınır. Zincire dahil edilmiştir ve bir daha asla dahil edilemez. Bu işlem, kullanıcının hedefine asla ulaşamaz. Tekrar denemek için kullanıcı işlemi yeniden oluşturmalı ve yeniden göndermelidir (bu süreçte tekrar sansürlenebilir).
Herhangi bir kullanıcı, Sequencer'ı tamamen yanıtsız veya hatta kötü niyetli bile olsa tamamen atlayarak (örneğin, fonları çekmek için L2'den L1 mesajı başlatan bir işlem dahil) doğrudan katman 1'den herhangi bir Arbitrum işlemi gönderebilir. Bu mekanizma, sansür direnişini korur.
Koşu-önü sıralama modelinde, sıralayıcı, el değiştirme konumu üzerinde neredeyse mükemmel kontrol sahibi ve düşük ücretler öder (bahşiş vermelerine gerek olmadığı ve EIP-1559 taban ücreti üzerinde bir miktar kontrol sağlayabilecekleri için). Sonuç olarak, sıralayıcı, durum çatışmasını kullanarak kullanıcı eylemlerini sansürleme konusunda ayrıcalıklı bir konumdadır. Bu basittir. El değiştirme problemi, sıralayıcının büyük bir sınıf işlemi sansürleyebilmesini sağlar.
EIP-7547 için, yapımcılar blok teslimatlarının nerede gerçekleşeceğini seçerler.8Sonuç olarak, yapımcı blok içindeki teslim noktasını seçebilir. Bu, istedikleri zaman bir önek ve bir sonek seçebilecekleri anlamına gelir.9Onlar blok gaz kurallarına saygı gösterdikleri sürece. Önek, işlemi geri alacak duruma sokabilir, son ek ise zinciri normal bir duruma geri getirecektir. EIP-7547 dahil listeler, çekişmeli duruma erişen herhangi bir işlem için sansürü engellemek için yeterli değildir. Devir sorunu, IL'lerin çoğu durumda işlem yürütmesini sağlamasını engeller.
Zorunlu dahil etme, blok zincirinin çoğu karmaşık olmayan kullanımında kullanıcıları sansürden korumada etkisizdir. Devre dışı bırakma sorunu, sansürün sıralama üzerinde yeterli takdir yetkisine sahip olmasa bile durum üzerinde yeterli takdir yetkisine sahip olmasını sağlar. Bu sorun AMM'leri, kredi piyasalarını, açık artırmaları ve çoğu diğer DeFi eylemlerini etkiler. İstediğiniz takdirde işlemin dahil edilmesini garanti edebilirsiniz, ancak birçok önemli eylem sansürlenebilir. Durum çatışması, zorunlu dahil etmenin sansür direnişi mekanizması olarak etkinliği üzerinde sert sınırlar oluşturur.
Bu durumun uzak etkilerini görmek için, bir kullanıcının Optimism'deki bir kredi piyasasında USDC ödünç verdiğini düşünün. Kullanıcı piyasadan USDC çekmek istediğinde, Optimism işlemini gönderir, ancak bu işlemi sıralayan kişi sansürler. Ardından Ethereum'da işlemlerini sıraya almak için resmi zorunlu dahil etme mekanizmasını kullanır.
Sıralayıcı, işlemi kuyrukta görebilir ve onu sandviç yapmayı seçebilir. İşlemi sansürlemek için, sıralayıcı zorunlu işlemden hemen önce piyasadan mevcut tüm USDC'yi ödünç alır. Piyasanın likiditesi artık olmadığı için, zorunlu işlem geri döner. Sıralayıcı daha sonra USDC'yi hemen geri ödeyebilir.
Sıralayıcı veya oluşturucu, teslimdeki durumu manipüle edebilir.
Bu, sıralayıcıdan USDC borç almak için yeterli teminatı olmasını gerektirir, ancak yalnızca son derece küçük bir borç maliyeti uygular.10Ayrıca, teminat tüm sansürler için tekrar kullanılabilir çünkü ödünç alma işlemi hiçbir zaman açık tutulmaz. Sonuç olarak, Optimism'de (veya Arbitrum veya diğer merkezi sıralı rollup'larda) AAVE veya Compound kullanıcısı, teminatı hiçbir zaman çekebilecekleri konusunda garantiye sahip değildir. Sıralayıcı herhangi bir ödünç verme piyasasından herhangi bir çekilmeyi herhangi bir zamanda sansürebilir. Zorunlu dahil etme, kullanıcıları sansüre karşı korumak için yeterli değildir.
Birkaç takip araştırma alanımız var.
İlk olarak, EIP-7547, IL işlemlerinin bir sonraki bloğun sonunda işlenmesinin zorunlu hale getirilerek basit bir şekilde iyileştirilebilir. PBS açık artırma bağlamında sansür MEV'dir. Oluşturucu, ETH cinsinden ifade edilen öznel bir değer atamak zorunda olduğu bazı ekonomik olmayan değerlerden elde eder. Dolayısıyla oluşturucu tarafından uygulanan sansür, oluşturucunun blok teklifinde bir artışa neden olur.11 Bu, sansür paketleri yapabilen arama yapanları da kapsar. Sansürün ekonomik değerinin bir kısmı daha sonra teklif sahibi tarafından ele geçirilir ve doğrudan katılmasa bile sansüre tahammül etmek için bir teşvik sağlar. Zorunlu dahil etme işlemlerini bloğun sonuna yerleştirmek, blok oluşturucunun IL işlemlerini önemsiz bir şekilde sandviçleme yeteneğini ortadan kaldırır ve çekişmeli sansürün ekonomik maliyetini artırır. Örneğin, durum çekişmesi yoluyla bir AMM etkileşimini sansürlemek, bir miktar AMM arbitrajından vazgeçmeyi veya piyasayı sandviçi kapatarak telafi edilemeyecek aralığın dışına itmek için yüksek bir maliyetten vazgeçmeyi gerektirebilir. Buna ek olarak, bu, Arama Yapanlar (inşaatçılar yerine) tarafından üretilen sansür paketlerini blok başına bir tane ile sınırlayacaktır.12Öneriyorum, blok başı yürütme, çünkü önek, sonekten daha anlamlıdır, ancak bu, zorunlu dahil etme aracılığıyla blok başı MEV çıkarma izin verdiği için bir IL işleminin maliyetini önemli ölçüde artırır.13Sansürün IL işlemlerini atomik olarak son eklemeye hakkı kaldırılması küçük bir iyileştirme.
İkinci olarak, el değiştirme sorunu, sansürün işlem simülasyonu yoluyla ileriye bakabilmesi ve giriş durumu üzerinde kontrol sağlayabilmesi nedeniyle var olur. Birçok MEV-direnç mekanizması, sansürün kullanıcıların hedefleri hakkında bilgi elde etmesini ve sonuçları simüle etmesini engellemek için gizli bilgiyi tanıtır. Genellikle bu, bazı işlem bilgilerinin sıralama gerçekleştikten sonra kadar özel olması durumunda gerçekleşen taahhüt-açığa çıkarma düzenlemeleridir. Sıralama-yürütme ayrımı ve gizli bilgi umut vadeder gibi görünse de, MEV tedarik zinciri, Ethereum fikir birliği süreçleri ve sıralı rollup modeliyle büyük ölçüde uyumsuzdur. İşlemleri simüle etme yeteneğini engellemenin sansürü ve birçok MEV sınıfını ele alacağı bir yol olabilir, ancak protokole, protokol işletmecilerine, uygulamalara ve son kullanıcıya son derece müdahaleci olurdu.
Üçüncüsü, ilginç bir "emirden bağımsız" puanlama fonksiyonları sınıfı vardır. Bunlar, ya çekişmeli duruma erişemedikleri için ya da eriştikleri çekişmeli devletin bir anlamda "güvenilir" olması için yeterli kısıtlamalara sahip olduğu için devlet çekişmesi tarafından sansürlenemeyecek hedeflerdir. Emirden bağımsız eylemler arasında bir EOA'ya ETH göndermek, çoğu ERC-20 gönderimi,14ve bir pazar için teminat eklemek gibi bazı DeFi etkileşimleri. Bu eylemler, çekişme yoluyla sansürden korunmaktadır. Bu sınıf hedefler ayrıca güvenli kesişen zincir iletişimi ve MEV direncinde ilginç karşılıklara sahiptir ve daha derinlemesine bir çalışmaya değerdir. Uygulamalar ve protokoller, bazı durumlarda yalnızca sıra bağımsız eylemleri içerecek şekilde tasarlanabilir, ancak daha fazla çalışma gerekmektedir.
Zengin durum, kötü niyetli aktörlerin işlemleri sansürlemesine izin verirken onları dahil etmeye devam eder. Devir sorunu, zorla dahil etme mekanizmaları için temeldir ve yalnızca hafifletilebilir. Merkezi olarak sıralanmış toplamalarda risk azaltma mümkün değildir. Zorla dahil etme, çekişmeli devletin varlığında sansürü ele alamaz. Ekonomik açıdan önemli büyük işlem sınıfları, zorla dahil edilse bile sansürlenebilir. Devir sorunu, modern rollup'larda endemiktir ve Ethereum'un sansür direnci EIP'lerinde mevcuttur. Sonuç olarak, zorla dahil etme, faydalı olsa da, zengin devlet zincirleri için sansür direnci sağlamak için asla yeterli değildir. Rollup'lar, Ethereum'un güvenlik özelliklerini "miras almaz" ve bunu yaptıklarını öne sürmek aptalcadır. Kapsayıcılık takıntısını bıraktığınızda, sansür direncinin MEV direncinin özel bir durumu olduğu ortaya çıkıyor.
Teşekkür etmek istiyoruzMike Neuder, Tarun Chitra, ve Brandon Curtisinceleme ve geri bildirim için.
Tipik olarak, L1'ler için bu, geçersiz blokları reddederek gerçekleştirilirken, rollup'larda geçersiz dizilerin bazı filtreleme fonksiyonu aracılığıyla geçerli dizilere zorlanarak gerçekleştirilir.
Bu noktada niyetlerle ilgili bir gönderi değil, dünyanın daha fazlasına ihtiyacı yok.
Bu açıkça eksik bir modeldir, çünkü sonuçların öznel değerlerini hesaba katmaz. Örneğin, sansür belirli bir davranışı sansürlemede başarısız olurlarsa Fransız polisi tarafından tutuklanabileceklerinden herhangi bir miktarda para kaybedebilirler. Öte yandan, kullanıcı belirli bir zaman aralığında hedeflerine ulaşılamazsa (örneğin, kendi token'larına karşı 100 milyon doların üzerinde borç aldılar ve pozisyonlarını yeniden teminatlandırmadan önce likide edilirlerse) herhangi bir miktarda para kazanıp kaybedebilirler.
Çoğu modern rollup modelde, bir “tabanlı” sıralayıcı modelinin aksine, sıralayıcı Ethereum'a işlemi taahhüt etmeden önce işlem için dahil edilme ve yürütme tanıklıkları sağladığı için Ethereum'dan “daha önde” çalışır. Bu modelde Sıralayıcı, sıralama üzerinde tam kontrol sahibidir ve işlemin sonucu Ethereum yeniden düzenlemelerinden bağımsız olmalıdır.
Aynı sözleşmeye, varlığa veya duruma erişmek isteyen birden fazla kullanıcının işlemleri birbiriyle 'yarışır' ve potansiyel olarak birbirlerinin sonuçlarına müdahale eder. Yarışma rastlantısal olarak ortaya çıkabilir veya kasıtlı olabilir. Bu, blok zincir sistemlerinde zengin durumun çözümsüz bir sorunudur. Paylaşılan duruma halkın erişimi, MEV, ölçeklenebilirlik sorunları ve modern toplumda nezaketin azalması sorununun temelidir.
Genellikle, sansürün devlet mücadelesi yoluyla düşünülmesi gerektiğini MEV'nin özel bir durumu olarak düşünmelisiniz. Çünkü çıkarılan değer off-chain, gözlemlenemeyen ve potansiyel olarak çok büyük olduğu için sansürün devlet mücadelesi yoluyla ne zaman meydana geleceğini tahmin etmek zor olabilir.
2017 makalemizde işlemleri geri almak için devlet çekişmesini kullanmayı özellikle ele aldık "Madenciler Arkadaşınız Değil”. O zamanlar “MEV” terimi henüz kullanımda değildi.
PBS'nin sansür direncini önemli ölçüde karmaşıklaştırdığı iyi bilinmektedir. VB'lere bakın @vbuterin/pbs_censorship_resistance">araştırma notu.
Bir işlemi ön eklemek ve sondalamak genellikle 'sandviçleme' olarak adlandırılır ve durum çekişmesini kullanarak MEV çıkarmak için iyi anlaşılan bir yöntem olarak bilinir.
Borç, sadece birkaç saniye boyunca tutulur, o kadar bile değil. Rollup sıralayıcıları bazı durumlarda saat damgalarını veya blok sınırlarını tutabilir, böylece etkili borç süresi 0 olur.
İnşaatçı, sansürün öznel değerine kadar ödemeye istekli olacak ve bu da teklifi nesnel olarak gözlemlenebilir çıkartılabilir blok değerinden daha yukarı çekebilecek potansiyel olarak. Aşırı durumlarda, sansürün, bloğu üretmek için aldığı ETH tutarından daha fazla ETH ödediği (yani ücretler ve ödüllerde aldığı tutardan daha az) negatif bir ETH bakiye değişikliği ile sonuçlanabileceği durumlar oluşabilir.
Dikkat edin, bu, farklı paketlerden aralıklı işlemlerin önlenmesine ve 'geri çevrilmeli' işlemlerin yapılmamasına dayanan MEV müzayede kurallarına güvenmektedir. Eğer bu kurallar, paket işlemlerinin aralıklı olmasına izin vermek için gevşetilirse ve/veya oluşturucular 'geri çevrilmeli' blokları desteklemeye başlarsa, koruma ortadan kalkar. Bu dinamik, eğer IL işlemleri bloğun sonunda olacaksa, zorunlu olmayan işlemler aralıklı olmayacağından en fazla bir arama sansürü paketi oluşabilir.
Yapımcının sınırlı ara blok paketleri oluşturmasına etkili bir şekilde izin vererek. Gate.io gibi önceden mutabakat sistemleriFOCILbunu hafifletebilir.
Standart bir ERC-20 tokeni için, üçüncü taraflar kullanıcının bakiyesini azaltamayacağından, transfer çağrısı genellikle çekişme yoluyla sansürlenemez. Ancak, bir transferFrom çağrısı düşünün. Onaylanan devreden, kendi durumu üzerinde çekişmeye izin veren bir sözleşme ise, eylem bu çekişme yoluyla sansürlenebilir (transfer için gerekli onayı istenmeyen bir şekilde tüketir).