[go: up one dir, main page]

Layer2 Dalgasını ve Bilmeniz Gereken zkEVM Devrelerini ve Denetimini Kaydıracak

Orta SeviyeDec 27, 2023
Bu makale, Scroll'un mimarisi ve teknolojisinin ayrıntılı bir analizini sunarak okuyucuların Scroll'un mevcut ağ durumunu ve gelecekteki gelişim yönlerini anlamalarına yardımcı olur. Ayrıca Scroll zkEVM devrelerini ve denetimlerini de açıklar.
Layer2 Dalgasını ve Bilmeniz Gereken zkEVM Devrelerini ve Denetimini Kaydıracak

10 Ekim saat 14:00'te, Ethereum Layer 2 çözümü Scroll ana ağı ilk bloğunu oluşturarak Scroll'un ana ağının başarılı bir şekilde başlatılmasını işaret etti. 25 Ekim itibarıyla 7600'den fazla ETH, çapraz zincirler aracılığıyla Scroll ağına bağlandı ve 24 merkezi olmayan ticaret platformu, toplam yaklaşık 10 milyon dolarlık TVL ile Scroll ana ağında yayına girdi.

17 Ekim'de Scroll, açık kaynak ve merkeziyetsizlik konusundaki kararlılığını sürdürmeye devam ederken ana ağının lansmanını resmen duyurdu. Bir sonraki aşamada Scroll, merkezi olmayan bir hisse kanıtı ağı ve sıralayıcı oluşturmaya odaklanacak. Bu makalede herkesin Scroll'un mevcut ağ durumunu ve gelecekteki gelişim yönünü anlamasına yardımcı olmak için Scroll'un mimarisi ve teknolojisinin ayrıntılı bir analizini sunacağız. Ayrıca zk projelerine yönelik güvenlik önlemlerini güçlendirmek için Scroll'un zkEVM devresini ve denetim bilgisini de açıklayacağız.

Layer2 dalgasının itici gücü Scroll kimdir?

Scroll, Ethereum ağının işlem verimini ve hızını artırmayı amaçlayan, sıfır bilgi kanıt teknolojisine dayanan bir Ethereum Layer 2 ölçeklendirme çözümüdür. Optimistic Rollup ile karşılaştırıldığında Scroll, sıfır bilgi kanıtları aracılığıyla ölçeklenebilirlik elde eder ve donanım hızlandırma yoluyla sıfır bilgi kanıtlarının oluşturulmasını ve doğrulanmasını hızlandırır. Bayt kodu düzeyinde EVM uyumluluğu sağlamaya kararlıdır. Bu, geliştiricilerin akıllı sözleşmeler oluşturmak ve bunları herhangi bir değişiklik yapmadan Scroll'da dağıtmak için Solidity ve Ethereum ile ilgili geliştirme araçlarını doğrudan kullanabileceği anlamına gelir.

Scroll'un resmi web sitesine göre, Scroll ekibinin şu anda Asya, Amerika ve Avrupa'ya dağılmış 10 çekirdek üyesi bulunuyor. Çoğu prestijli üniversitelerden mezun ve doktora derecesine sahip olan ekip üyeleri, zkRollup geliştirme ve endüstri operasyonlarında zengin deneyime sahiptir.

Şu anda Scroll ekosistemi, cüzdanlar, geliştirme araçları, güvenlik tesisleri ve daha fazlasını içeren altyapı projeleriyle oldukça zengindir. Amaç, projelere tasarım, geliştirme, operasyon ve güvenlik denetimine kadar tüm yaşam döngüsü boyunca kapsamlı destek sağlamaktır. Şu anda Scroll ana ağında 180'den fazla ekosistem projesi var.

  1. Cüzdan
    Scroll şu anda neredeyse tüm ana akım cüzdanları desteklemektedir: Metamask, TrustWallet, MathWallet, TokenPocket, WalletConnect, Binance Chain Wallet, SafePal Wallet. Ek olarak Scroll ekosistem cüzdanı aynı zamanda OKX Cüzdanı, Versa Cüzdanı ve benzerlerini de içerir.

  2. Çapraz Zincir Köprüsü
    Scroll'un resmi çapraz zincir altyapısı Celer Network, Stargate, Orbiter Finance, Hop Protokolü, LI.FI, Connext vb.'yi içerir. Ek olarak, zincirler arası likidite protokolü Synapse Protokolü, Katman 2 çapraz zincir köprülerine odaklanan Owlto Finance, Ethereum Katman 1 ve Katman 2 çapraz zincir köprüsü Pheasant Network, Symbiosis, Catalyst vb.'yi de içerir.

  3. DeFi
    Scroll ekosisteminde, kredi protokolü Aave, çok zincirli DEX toplayıcı DODO, DEX SushiSwap, DEX toplayıcı OpenOcean, çok zincirli DeFi protokolü iZUMi Finance, DEX Syncswap, getiri protokolü Pendle Finance, kredi verme dahil olmak üzere birçok köklü DeFi projesi bulunmaktadır. dForce protokolü ve kaldıraçlı ticaret toplayıcı MUX Protokolü. GMX gibi geniş çapta benimsenmemiş yenilikçi projeler de var.

  4. Diğerleri
    NFT, oyun ve sosyal yönler açısından Scroll ekosistemindeki diğer projeler arasında NFTScan, Web3 görev platformu QuestN, TaskOn, elektronik protokol imzalama platformu EthSign, Galaxy Blitz, OmniKingdoms ve diğer çevrimiçi blockchain oyunları yer alıyor.

Scroll teknolojisini diğerlerinden ayıran nedir?

1. Genel Mimari

Scroll'un mimarisi üç bileşenden oluşur:

Scroll Node: Scroll ağı üzerinde kullanıcı işlemlerine göre bloklar oluşturur, bu işlemleri Ethereum taban katmanına gönderir ve Ethereum ile Scroll arasında mesaj geçişini yönetir.

Roller: Roller, akıllı sözleşmeleri zkEVM devrelerine dönüştürmekten sorumludur ve ardından işlemlerin doğruluğunu kanıtlayacak kanıtlar üretir. Scroll ağında, işlemleri paralel olarak işleyen ve donanım aracılığıyla kanıt oluşturmayı hızlandıran birden fazla Silindir vardır. Scroll, EVM bayt kodu işlemenin doğruluğunu doğrudan kanıtlayarak EVM ile bayt kodu düzeyinde uyumluluk elde eder.

Toplama ve Köprü Sözleşmesi: Bu sözleşmeler Scroll işlemleri için veri kullanılabilirliği sağlar ve zkEVM tarafından oluşturulan geçerlilik kanıtlarını doğrular. Scroll'un Rollup ve Bridge sözleşmeleri aracılığıyla Ethereum temel katmanına bağlandığı söylenebilir. Bu sözleşmeler aracılığıyla kullanıcılar, Ethereum ve Scroll arasında isteğe bağlı mesaj alışverişi yapabilir ve ağ geçidi sözleşmeleri yardımıyla ERC-20 varlıklarını her iki yönde de aktarabilir.


kaynak: https://scroll.mirror.xyz/nDAbJbSIJdQIWqp9kn8J0MVS4s6pYBwHmK7keidQs-k

Scroll, Ethereum blok zincirinde kullanılan ana sözleşmedir:

Ağ Geçidi Yönlendirme Proxy Sözleşmesi (Zincirler arası işlemlerde belirteçlerin doğru eşlenmesini sağlamak): 0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6

Mesaj Proxy Sözleşmesi (L1 ve L2 arasında mesaj iletme): 0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367

Bu sözleşmelerin proxy yöneticisi ve sahibi tarafından değiştirilebileceğini belirtmekte fayda var. Ek olarak Scroll, Scroll içindeki belirli adresler için gas ücretlerinin ayarlanmasını sağlayan bir beyaz liste işlevine sahiptir. Şu anda Scroll sıralayıcısı merkezi bir şekilde çalışıyor ve bu da Scroll ağındaki mesajların ve işlemlerin incelenmesine izin veriyor. Ayrıca mesaj kuyruğundaki herhangi bir mesajı atlayıp belirli bir mesajı doğrudan onaylama imkanı da bulunmaktadır.

2. zkEVM iş akışını kaydırın

Scroll bir blok oluşturduktan sonra, birleştirilmiş kanıtlar oluşturmak için bir koordinatörden ve birden fazla kanıtlayıcıdan (Rollers) geçer. Bu kanıtlar daha sonra doğrulama için Ethereum Toplama sözleşmesine gönderilir. Detaylı süreç aşağıdaki gibidir:

1、Sıralayıcı yeni işlemleri alır. Sanal makine, her işlemle ilişkili bayt kodunu okur, bir yürütme izi oluşturur ve bunu koordinatöre gönderir. Eş zamanlı olarak sıralayıcı, işlem verilerini Toplama sözleşmesine gönderir.

2、Silindirler koordinatörden alınan yürütme izlerini zkEVM devrelerine dönüştürür. Yürütme izindeki her adım bir zkEVM devresine karşılık gelir. zk dostu olmayan işlevler için (hash ve Keccak gibi), Scroll, yürütme izlemesindeki bu işlevlerin giriş ve çıkışlarını arama tablosuyla eşlemek üzere arama tabloları oluşturur. Arama tablosunun doğruluğunu doğrulamak için ek devreler kullanılır. Silindirler daha sonra bu zkEVM devreleri için kanıtlar üretir.

3、Kanıtları oluşturduktan sonra Silindirler bunları koordinatöre geri gönderir. Her birkaç blokta, koordinatör toplama görevlerini rastgele bir Silindire atar. Atanan Silindir daha sonra birden fazla blok için kanıtları tek bir kanıtta birleştirir.

4、Son olarak koordinatör toplu kanıtı Toplama sözleşmesine sunar. Toplama sözleşmesi, daha önce gönderilen durum ve işlem verilerinin doğruluğunu doğrulamak için bu kanıtı kullanır ve böylece bloğun doğruluğunu onaylar.

zkEVM Devreleri ve Denetimi ilerleyin

1. Ana Devreler

zkEVM, her biri EVM'nin (Ethereum Sanal Makinesi) belirli bir yönünü doğrulamakla görevli birden fazla devreden oluşur. Bu devreler sonunda işlemin yürütüldüğüne dair kanıt oluşturmak için birleştirilir veya toplanır. Aşağıdaki diyagram bu devreler ve tablolar arasındaki ilişkiyi göstermektedir.

ECDSA devresi ve işlem koduyla ilgili alt devreler gibi, devrenin kombinasyonunu etkileyecek şekilde diğer tablolar ve devrelerle etkileşime girmeyen daha küçük alt devreler vardır. Bu alt devreler netlik sağlamak amacıyla şemada yer almamıştır.

EVM Devresi

Ethereum Sanal Makinesi (EVM), Ethereum protokolü içindeki geçerli durum geçişlerine ilişkin kuralları belirleyen bir durum makinesidir. Bu geçişleri gerçekleştirmek için talimatları (işlem kodları) yürütür ve bir yürütme izi oluşturur. EVM devresinin amacı, yürütme izini temsil eden ve sıfır bilgi kanıt sistemi kullanılarak doğrulanabilen bir kısıtlama sistemi oluşturmaktır.

EVM devresinin üst düzey tasarımı, go-ethereum gibi EVM'nin tasarımına biraz benzer. Go-ethereum'da yorumlayıcı, yürütme izindeki tüm talimat işlem kodlarını yineler. Her talimat için yorumlayıcı, gaz, yığın ve bellek gibi ilgili bağlam bilgilerini kontrol eder ve ardından işlem kodunu, işlem kodunun yürütülmesine ilişkin ayrıntılı talimatlar sağlayan JumpTable'a gönderir.

Benzer şekilde, EVM devrelerinde Scroll, yürütme izini temel alarak yürütme adımları oluşturur ve işlem kodları ve yürütme bağlamları için kanıtlar sağlar. Her yürütme adımı için bağlamsal bilgileri kontrol etmek amacıyla bir dizi kısıtlama uygulanır. Her işlem kodu için davranışını doğrulamak amacıyla bir dizi kısıtlama uygulanır. Yürütme izlemesinde aynı işlem kodunun aynı kısıtlamalara sahip olması gerekir. Scroll, yürütme takibinde aynı işlem koduna sahip tüm adımları "açmak" için seçicileri kullanır ve davranışlarını kanıtlamak için arka uç kanıt sistemini kullanır.

Durum Devresi

Yürütme sırasında EVM'nin tüm okuma ve yazma işlemleri rw_table'a kaydedilir ve rw_counter değişkeni tarafından sıralanır. Durum devresinin amacı rw_table'ın doğru şekilde oluşturulduğunu göstermektir.

MPT Devresi

Merkle Patricia Ağacı (MPT), Ethereum depolama katmanında kullanılan önemli bir veri yapısıdır. Scroll'un zkevm Devrelerinde MPT, esasen seyrek bir Merkle Patricia Trie ikilisi olan zkTrie'ye değiştirildi. zkevm-Circuits'te Scroll, MPT işlemlerinin durum geçişlerini adım adım izlemek için MPT tablosunu kullanır. MPT tablosu aşağıdaki düzene sahiptir:

MPT devresinin amacı yukarıda belirtilen MPT tablosunun doğruluğunu doğrulamaktır. MPT tablosuna kaydedilen her güncellemenin doğru bir değişiklikle sonuçlanmasını sağlar. Bu, her güncelleme için MPT devresinin değişiklik yapmanın yalnızca bir olası yolu olduğunu garanti ettiği anlamına gelir. Bu, kazara veya yetkisiz değişiklikleri önler ve MPT'nin bütünlüğünü ve doğruluğunu sağlar. Spesifik olarak, hesaplardaki veya depolamadaki güncellemeler nedeniyle MPT'de değişiklikler meydana geldiğinde, MPT devresinin bu güncellemelerin belirlenen kurallara göre gerçekleştirildiğini kanıtlaması gerekir. Ek olarak kök karmasının tüm değişikliklerin sonuçlarını doğru bir şekilde yansıttığını göstermesi gerekir.

Keccak Devresi

Scroll, NIST Keccak spesifikasyonunu ve Keccak ekibinin spesifikasyonunu takip ederek kendi Keccak256 sürümünü uyguladı.

Ve Keccak devresi Keccak256 işleminin doğruluğunu kanıtlamak için kullanılır. Bu devrenin uygulanması karmaşıktır, bunun temel nedeni keccak256 algoritmasının kendisinin zk dostu olmamasıdır.

Tx Devresi

Tx devresi, bir işlemin doğruluğunu doğrulamak için kısıtlamalar sağlar. Öncelikle işlemin aşağıdaki yönlerini kontrol eder:

  1. CallDataLength ve kümülatif CallDataGasCost'un doğruluğu: Özel geçidi belirleyin ve tx tablosundaki çağrı verileri baytlarının son satırını bulun;

  2. TxSign ve TxHash ile ilgili verilerin doğruluğu: RLP tablosunda ve Keccak tablosunda arama yapın;

  3. “Tx_type L1Msg ise msg_hash”ın doğruluğunu kanıtlayın: RLP tablosunu arayarak doğrulayın;

  4. ECDSA'yı kullanarak tx imzasını doğru şekilde yürütün ve arayanın adresini ECDSA imzasından doğru şekilde kurtarın: Sig tablosunu arayarak doğrulayın;

  5. Tx kimliği, cum_num_txs ve call_data_length'in doğru geçiş davranışı;

  6. Belirli gösterge değişkenlerinin Boolean değerleri gibi bazı temel kısıtlamalar.

Bayt Kodu Devresi

EVM devrelerinin doğru bayt kodu bilgisini içeren bir bayt kodu tablosunu araması gerekir. Bu, sözleşmede saklanan baytların tablodan yüklenen baytlarla eşleşmesini sağlar. Bayt kodu devresinin amacı bayt kodu tablosunun doğruluğunu sağlamaktır. Bu içerir:

  1. Etiketler (etiket) ile sınır davranışına ilişkin kısıtlamalar: İlk ve son satırlardaki kısıtlamalar, etiket == bayttan başlığa ve etiketten başlığa dönüşüm; başlıktan başlığa dönüşüm;

  2. Kod boyutuna ilişkin kısıtlamalar: Bayt kodunun son baytının indeksinin kısıtlaması yoluyla bayt kodu uzunluğunun hesaplanması dahil;

  3. Kod karması üzerindeki kısıtlamalar: Kod karması içindeki baytların RLC davranışını doğru şekilde kısıtlamak ve Keccak tablosuna bakarak kod karmasını doğrulamak;

  4. PUSH davranışının doğruluğunun sağlanması: is_code = Push_data_left == 0 (bir boole değeri olmalıdır) ve PUSH1-PUSH32 için itilen verinin boyutunun push_table'a bakarak doğrulanması;

  5. Bayt kodunun her satırında doğru yayılmanın sağlanması.

2. Güvenlik Denetimi

Farklı zincirlerin, genellikle EVM'deki önceden derlenmiş sözleşmeleri ve işlem kodlarını değiştiren kendi özel iş modülü işlevleri vardır. Bunların arasında Scroll zkEVM, sıfır bilgi kanıtlarına dayanan ikinci katmanlı bir ölçeklendirme çözümüdür. Bu çözüm, devreleri kullanarak ilgili işlem kodlarını yeniden yapılandırır ve yürütme izlerine dayalı kanıtlar üretir. Bu karmaşık uygulama denetimin zorluğunu büyük ölçüde artırmaktadır. Beosin güvenlik uzmanları tarafından yapılan değerlendirmenin ardından zkEVM'nin güvenlik denetimi temel olarak aşağıdaki hususlara odaklanır:

  1. GAS: zkEVM devresinin yürütme takibi için kanıtlar üretirken aynı zamanda işlemlere ilişkin gaz tüketiminin doğruluğunu da doğrular. İşlem kodlarının uygulama devresinde kısıtlanmamış serbest değişkenler sıklıkla kullanılıyorsa, kanıt oluşturma hatasına veya diğer bilinmeyen hatalara neden olabilir.

  2. Bellek Güvenliği: Bazı zkEVM devreleri, Scroll tarafından kullanılan KZG taahhüdü gibi polinom taahhütlerine dayanmaktadır. Ancak polinom hesaplamaları otomatik olarak hizalanmaz; bu nedenle devrede kısıtlamalar yoksa, bilgisayar programlarındaki bayt aralığıyla tutarsız bir değer aralığı ortaya çıkabilir. Bazı durumlarda, sözleşme geliştiricileri gaz optimizasyonunu etkinleştirdiğinde, verilerin kompakt düzenlenmesi, Polygon zkEVM'deki BYTE_C4096 sabit polinomu gibi bellek güvenliği sorunlarına yol açabilir. Polinomlar, parametre değerlerinin maksimum bayt değeri aralığı olan 255'i aşmasına izin verir; bu da potansiyel olarak kötü niyetli sıralayıcıların, AMM modelini benimseyen bazı değişim platformlarında kâr amacıyla parametreleri değiştirmesine olanak tanıyabilir. Temel olarak bu tür güvenlik açıkları, devrenin temsil ettiği sayısal geçerlilik aralığı ile programın değişken değer aralığı arasındaki tutarsızlıklardan kaynaklanmaktadır. Bunun bir örneği, Beosin güvenlik araştırmacıları tarafından Snarkjs kütüphanesinde keşfedilen CVE-2023-33252 güvenlik açığıdır.

  3. İşlem Kodu Güvenliği: zkEVM işlem kodlarını uygularken, özellikle hassasiyetle ilgili yaygın güvenlik sorunları vardır. Örneğin temel devredeki iki sayıyı karşılaştırırken programdaki karşılaştırma işleminin hassasiyeti 1 byte ise devre kısıtlarının değer aralığını belirtmesi gerekir. Aksi takdirde devredeki işlemlerin hassasiyeti programın hassasiyetini aşacak ve hatalı sonuçlara yol açacaktır.

  4. Güvenli EIP Desteği: EIP-2 ve EIP-155 gibi güvenlik odaklı EIP'ler için destek.

  5. Sequencer'da merkezileştirme sorunu: Şu anda Scroll tarafından oluşturulan tüm provalar, Sequencer tarafından oluşturulan yürütme izine bağlıdır. Sequencer kötü niyetli davranırsa zkEVM, kullanıcı varlıklarının güvenliğini garanti edemez.

  6. Uyumluluk sorunu: zkEVM, yürütme izini temel alarak devre kanıtları oluşturur ve bunları sözleşmede doğrular. Sıralayıcıdaki küçük yükseltmeler bile, temel dil düzeyinde oluşturulan yürütme izinde önemli farklılıklara neden olabilir.

Scroll'un Geleceğe Bakışı

  1. Scroll şu anda Halo2 prova sisteminin iki katmanlı KZG versiyonunu benimsiyor ve prova üretimini hızlandırmak için GPU donanım hızlandırmasını kullanıyor. Darboğaz artık tanık oluşturma ve veri kopyalamaya kaymıştır. Ayrıca Roller'in merkezileştirme düzeyi ve donanım işletim maliyetleri de Scroll'un çok aşamalı prova sistemlerinin gelecekteki gelişimi için dikkate alması gereken unsurlardır.

  2. EVM yürütme izi dinamik olarak değiştiği için çeşitli devre kısıtlamaları ve ölçekleri vardır. Şu anda, dinamik olarak değişen yürütme izine uyum sağlamak için yürütme izinin her adımının en büyük devre ölçeğini karşılaması gerekiyor, bu da ek bellek israfına neden oluyor.

  3. Scroll's Roller'in şu anda ağ işlem ücretlerinden kar elde etmesi bekleniyor. Ancak Scroll ağındaki mevcut kullanıcı sayısı ve işlem ücretleri, Roller ve sıralayıcının işletme maliyetlerini karşılayamıyor. Gelecekte, Scroll ağının kullanıcıları çekmek ve istikrarlı ağ işleyişini sürdürmek için nasıl ekonomik teşvikler sağladığı dikkate alınması gereken bir sorudur.

Beosin şu anda zk projesinin denetimini de destekliyor. ZK ile ilgili kapsamlı güvenlik araştırması için aşağıdaki makaleleri okuyabilirsiniz: 1. Groth16 Proof'un İşlem İşlenebilirlik Saldırısı; 2. ZKP Projelerindeki Dövülebilirlik Saldırılarını Ortaya Çıkarmak İçin Tornado Cash'i Derinlemesine Keşfetmek.

Beosin, dünya çapında lider bir blockchain güvenlik şirketi olarak dünya çapında 10'dan fazla ülke ve bölgede şube kurmuştur. Hizmetlerimiz, proje lansmanından önce kod güvenliği denetimlerini, güvenlik riskinin izlenmesini, proje operasyonu sırasında erken uyarı ve önlemeyi, çalınan sanal para birimleri için varlık kurtarmayı ve KYT/AML gibi güvenli uyumluluk hizmetlerini kapsar. Blockchain güvenlik ürünleri ve hizmetleri için tek elden çözüm sağlıyoruz. Şu anda dünya çapında 3000'den fazla blockchain kuruluşuna güvenlik teknolojisi hizmetleri sağladık ve 3000'den fazla akıllı sözleşmeyi denetledik. Bizimle iletişime geçmekten çekinmeyin.

Yasal Uyarı:

  1. Bu makale [Beosin]'den yeniden basılmıştır. Tüm telif hakları orijinal yazara [Beosin] aittir. Bu yeniden basıma itirazlarınız varsa lütfen Gate Learn ekibiyle iletişime geçin; onlar konuyu hemen halledeceklerdir.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve görüşler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirileri Gate Learn ekibi tarafından yapılır. Aksi belirtilmedikçe tercüme edilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.

Layer2 Dalgasını ve Bilmeniz Gereken zkEVM Devrelerini ve Denetimini Kaydıracak

Orta SeviyeDec 27, 2023
Bu makale, Scroll'un mimarisi ve teknolojisinin ayrıntılı bir analizini sunarak okuyucuların Scroll'un mevcut ağ durumunu ve gelecekteki gelişim yönlerini anlamalarına yardımcı olur. Ayrıca Scroll zkEVM devrelerini ve denetimlerini de açıklar.
Layer2 Dalgasını ve Bilmeniz Gereken zkEVM Devrelerini ve Denetimini Kaydıracak

10 Ekim saat 14:00'te, Ethereum Layer 2 çözümü Scroll ana ağı ilk bloğunu oluşturarak Scroll'un ana ağının başarılı bir şekilde başlatılmasını işaret etti. 25 Ekim itibarıyla 7600'den fazla ETH, çapraz zincirler aracılığıyla Scroll ağına bağlandı ve 24 merkezi olmayan ticaret platformu, toplam yaklaşık 10 milyon dolarlık TVL ile Scroll ana ağında yayına girdi.

17 Ekim'de Scroll, açık kaynak ve merkeziyetsizlik konusundaki kararlılığını sürdürmeye devam ederken ana ağının lansmanını resmen duyurdu. Bir sonraki aşamada Scroll, merkezi olmayan bir hisse kanıtı ağı ve sıralayıcı oluşturmaya odaklanacak. Bu makalede herkesin Scroll'un mevcut ağ durumunu ve gelecekteki gelişim yönünü anlamasına yardımcı olmak için Scroll'un mimarisi ve teknolojisinin ayrıntılı bir analizini sunacağız. Ayrıca zk projelerine yönelik güvenlik önlemlerini güçlendirmek için Scroll'un zkEVM devresini ve denetim bilgisini de açıklayacağız.

Layer2 dalgasının itici gücü Scroll kimdir?

Scroll, Ethereum ağının işlem verimini ve hızını artırmayı amaçlayan, sıfır bilgi kanıt teknolojisine dayanan bir Ethereum Layer 2 ölçeklendirme çözümüdür. Optimistic Rollup ile karşılaştırıldığında Scroll, sıfır bilgi kanıtları aracılığıyla ölçeklenebilirlik elde eder ve donanım hızlandırma yoluyla sıfır bilgi kanıtlarının oluşturulmasını ve doğrulanmasını hızlandırır. Bayt kodu düzeyinde EVM uyumluluğu sağlamaya kararlıdır. Bu, geliştiricilerin akıllı sözleşmeler oluşturmak ve bunları herhangi bir değişiklik yapmadan Scroll'da dağıtmak için Solidity ve Ethereum ile ilgili geliştirme araçlarını doğrudan kullanabileceği anlamına gelir.

Scroll'un resmi web sitesine göre, Scroll ekibinin şu anda Asya, Amerika ve Avrupa'ya dağılmış 10 çekirdek üyesi bulunuyor. Çoğu prestijli üniversitelerden mezun ve doktora derecesine sahip olan ekip üyeleri, zkRollup geliştirme ve endüstri operasyonlarında zengin deneyime sahiptir.

Şu anda Scroll ekosistemi, cüzdanlar, geliştirme araçları, güvenlik tesisleri ve daha fazlasını içeren altyapı projeleriyle oldukça zengindir. Amaç, projelere tasarım, geliştirme, operasyon ve güvenlik denetimine kadar tüm yaşam döngüsü boyunca kapsamlı destek sağlamaktır. Şu anda Scroll ana ağında 180'den fazla ekosistem projesi var.

  1. Cüzdan
    Scroll şu anda neredeyse tüm ana akım cüzdanları desteklemektedir: Metamask, TrustWallet, MathWallet, TokenPocket, WalletConnect, Binance Chain Wallet, SafePal Wallet. Ek olarak Scroll ekosistem cüzdanı aynı zamanda OKX Cüzdanı, Versa Cüzdanı ve benzerlerini de içerir.

  2. Çapraz Zincir Köprüsü
    Scroll'un resmi çapraz zincir altyapısı Celer Network, Stargate, Orbiter Finance, Hop Protokolü, LI.FI, Connext vb.'yi içerir. Ek olarak, zincirler arası likidite protokolü Synapse Protokolü, Katman 2 çapraz zincir köprülerine odaklanan Owlto Finance, Ethereum Katman 1 ve Katman 2 çapraz zincir köprüsü Pheasant Network, Symbiosis, Catalyst vb.'yi de içerir.

  3. DeFi
    Scroll ekosisteminde, kredi protokolü Aave, çok zincirli DEX toplayıcı DODO, DEX SushiSwap, DEX toplayıcı OpenOcean, çok zincirli DeFi protokolü iZUMi Finance, DEX Syncswap, getiri protokolü Pendle Finance, kredi verme dahil olmak üzere birçok köklü DeFi projesi bulunmaktadır. dForce protokolü ve kaldıraçlı ticaret toplayıcı MUX Protokolü. GMX gibi geniş çapta benimsenmemiş yenilikçi projeler de var.

  4. Diğerleri
    NFT, oyun ve sosyal yönler açısından Scroll ekosistemindeki diğer projeler arasında NFTScan, Web3 görev platformu QuestN, TaskOn, elektronik protokol imzalama platformu EthSign, Galaxy Blitz, OmniKingdoms ve diğer çevrimiçi blockchain oyunları yer alıyor.

Scroll teknolojisini diğerlerinden ayıran nedir?

1. Genel Mimari

Scroll'un mimarisi üç bileşenden oluşur:

Scroll Node: Scroll ağı üzerinde kullanıcı işlemlerine göre bloklar oluşturur, bu işlemleri Ethereum taban katmanına gönderir ve Ethereum ile Scroll arasında mesaj geçişini yönetir.

Roller: Roller, akıllı sözleşmeleri zkEVM devrelerine dönüştürmekten sorumludur ve ardından işlemlerin doğruluğunu kanıtlayacak kanıtlar üretir. Scroll ağında, işlemleri paralel olarak işleyen ve donanım aracılığıyla kanıt oluşturmayı hızlandıran birden fazla Silindir vardır. Scroll, EVM bayt kodu işlemenin doğruluğunu doğrudan kanıtlayarak EVM ile bayt kodu düzeyinde uyumluluk elde eder.

Toplama ve Köprü Sözleşmesi: Bu sözleşmeler Scroll işlemleri için veri kullanılabilirliği sağlar ve zkEVM tarafından oluşturulan geçerlilik kanıtlarını doğrular. Scroll'un Rollup ve Bridge sözleşmeleri aracılığıyla Ethereum temel katmanına bağlandığı söylenebilir. Bu sözleşmeler aracılığıyla kullanıcılar, Ethereum ve Scroll arasında isteğe bağlı mesaj alışverişi yapabilir ve ağ geçidi sözleşmeleri yardımıyla ERC-20 varlıklarını her iki yönde de aktarabilir.


kaynak: https://scroll.mirror.xyz/nDAbJbSIJdQIWqp9kn8J0MVS4s6pYBwHmK7keidQs-k

Scroll, Ethereum blok zincirinde kullanılan ana sözleşmedir:

Ağ Geçidi Yönlendirme Proxy Sözleşmesi (Zincirler arası işlemlerde belirteçlerin doğru eşlenmesini sağlamak): 0xF8B1378579659D8F7EE5f3C929c2f3E332E41Fd6

Mesaj Proxy Sözleşmesi (L1 ve L2 arasında mesaj iletme): 0x6774Bcbd5ceCeF1336b5300fb5186a12DDD8b367

Bu sözleşmelerin proxy yöneticisi ve sahibi tarafından değiştirilebileceğini belirtmekte fayda var. Ek olarak Scroll, Scroll içindeki belirli adresler için gas ücretlerinin ayarlanmasını sağlayan bir beyaz liste işlevine sahiptir. Şu anda Scroll sıralayıcısı merkezi bir şekilde çalışıyor ve bu da Scroll ağındaki mesajların ve işlemlerin incelenmesine izin veriyor. Ayrıca mesaj kuyruğundaki herhangi bir mesajı atlayıp belirli bir mesajı doğrudan onaylama imkanı da bulunmaktadır.

2. zkEVM iş akışını kaydırın

Scroll bir blok oluşturduktan sonra, birleştirilmiş kanıtlar oluşturmak için bir koordinatörden ve birden fazla kanıtlayıcıdan (Rollers) geçer. Bu kanıtlar daha sonra doğrulama için Ethereum Toplama sözleşmesine gönderilir. Detaylı süreç aşağıdaki gibidir:

1、Sıralayıcı yeni işlemleri alır. Sanal makine, her işlemle ilişkili bayt kodunu okur, bir yürütme izi oluşturur ve bunu koordinatöre gönderir. Eş zamanlı olarak sıralayıcı, işlem verilerini Toplama sözleşmesine gönderir.

2、Silindirler koordinatörden alınan yürütme izlerini zkEVM devrelerine dönüştürür. Yürütme izindeki her adım bir zkEVM devresine karşılık gelir. zk dostu olmayan işlevler için (hash ve Keccak gibi), Scroll, yürütme izlemesindeki bu işlevlerin giriş ve çıkışlarını arama tablosuyla eşlemek üzere arama tabloları oluşturur. Arama tablosunun doğruluğunu doğrulamak için ek devreler kullanılır. Silindirler daha sonra bu zkEVM devreleri için kanıtlar üretir.

3、Kanıtları oluşturduktan sonra Silindirler bunları koordinatöre geri gönderir. Her birkaç blokta, koordinatör toplama görevlerini rastgele bir Silindire atar. Atanan Silindir daha sonra birden fazla blok için kanıtları tek bir kanıtta birleştirir.

4、Son olarak koordinatör toplu kanıtı Toplama sözleşmesine sunar. Toplama sözleşmesi, daha önce gönderilen durum ve işlem verilerinin doğruluğunu doğrulamak için bu kanıtı kullanır ve böylece bloğun doğruluğunu onaylar.

zkEVM Devreleri ve Denetimi ilerleyin

1. Ana Devreler

zkEVM, her biri EVM'nin (Ethereum Sanal Makinesi) belirli bir yönünü doğrulamakla görevli birden fazla devreden oluşur. Bu devreler sonunda işlemin yürütüldüğüne dair kanıt oluşturmak için birleştirilir veya toplanır. Aşağıdaki diyagram bu devreler ve tablolar arasındaki ilişkiyi göstermektedir.

ECDSA devresi ve işlem koduyla ilgili alt devreler gibi, devrenin kombinasyonunu etkileyecek şekilde diğer tablolar ve devrelerle etkileşime girmeyen daha küçük alt devreler vardır. Bu alt devreler netlik sağlamak amacıyla şemada yer almamıştır.

EVM Devresi

Ethereum Sanal Makinesi (EVM), Ethereum protokolü içindeki geçerli durum geçişlerine ilişkin kuralları belirleyen bir durum makinesidir. Bu geçişleri gerçekleştirmek için talimatları (işlem kodları) yürütür ve bir yürütme izi oluşturur. EVM devresinin amacı, yürütme izini temsil eden ve sıfır bilgi kanıt sistemi kullanılarak doğrulanabilen bir kısıtlama sistemi oluşturmaktır.

EVM devresinin üst düzey tasarımı, go-ethereum gibi EVM'nin tasarımına biraz benzer. Go-ethereum'da yorumlayıcı, yürütme izindeki tüm talimat işlem kodlarını yineler. Her talimat için yorumlayıcı, gaz, yığın ve bellek gibi ilgili bağlam bilgilerini kontrol eder ve ardından işlem kodunu, işlem kodunun yürütülmesine ilişkin ayrıntılı talimatlar sağlayan JumpTable'a gönderir.

Benzer şekilde, EVM devrelerinde Scroll, yürütme izini temel alarak yürütme adımları oluşturur ve işlem kodları ve yürütme bağlamları için kanıtlar sağlar. Her yürütme adımı için bağlamsal bilgileri kontrol etmek amacıyla bir dizi kısıtlama uygulanır. Her işlem kodu için davranışını doğrulamak amacıyla bir dizi kısıtlama uygulanır. Yürütme izlemesinde aynı işlem kodunun aynı kısıtlamalara sahip olması gerekir. Scroll, yürütme takibinde aynı işlem koduna sahip tüm adımları "açmak" için seçicileri kullanır ve davranışlarını kanıtlamak için arka uç kanıt sistemini kullanır.

Durum Devresi

Yürütme sırasında EVM'nin tüm okuma ve yazma işlemleri rw_table'a kaydedilir ve rw_counter değişkeni tarafından sıralanır. Durum devresinin amacı rw_table'ın doğru şekilde oluşturulduğunu göstermektir.

MPT Devresi

Merkle Patricia Ağacı (MPT), Ethereum depolama katmanında kullanılan önemli bir veri yapısıdır. Scroll'un zkevm Devrelerinde MPT, esasen seyrek bir Merkle Patricia Trie ikilisi olan zkTrie'ye değiştirildi. zkevm-Circuits'te Scroll, MPT işlemlerinin durum geçişlerini adım adım izlemek için MPT tablosunu kullanır. MPT tablosu aşağıdaki düzene sahiptir:

MPT devresinin amacı yukarıda belirtilen MPT tablosunun doğruluğunu doğrulamaktır. MPT tablosuna kaydedilen her güncellemenin doğru bir değişiklikle sonuçlanmasını sağlar. Bu, her güncelleme için MPT devresinin değişiklik yapmanın yalnızca bir olası yolu olduğunu garanti ettiği anlamına gelir. Bu, kazara veya yetkisiz değişiklikleri önler ve MPT'nin bütünlüğünü ve doğruluğunu sağlar. Spesifik olarak, hesaplardaki veya depolamadaki güncellemeler nedeniyle MPT'de değişiklikler meydana geldiğinde, MPT devresinin bu güncellemelerin belirlenen kurallara göre gerçekleştirildiğini kanıtlaması gerekir. Ek olarak kök karmasının tüm değişikliklerin sonuçlarını doğru bir şekilde yansıttığını göstermesi gerekir.

Keccak Devresi

Scroll, NIST Keccak spesifikasyonunu ve Keccak ekibinin spesifikasyonunu takip ederek kendi Keccak256 sürümünü uyguladı.

Ve Keccak devresi Keccak256 işleminin doğruluğunu kanıtlamak için kullanılır. Bu devrenin uygulanması karmaşıktır, bunun temel nedeni keccak256 algoritmasının kendisinin zk dostu olmamasıdır.

Tx Devresi

Tx devresi, bir işlemin doğruluğunu doğrulamak için kısıtlamalar sağlar. Öncelikle işlemin aşağıdaki yönlerini kontrol eder:

  1. CallDataLength ve kümülatif CallDataGasCost'un doğruluğu: Özel geçidi belirleyin ve tx tablosundaki çağrı verileri baytlarının son satırını bulun;

  2. TxSign ve TxHash ile ilgili verilerin doğruluğu: RLP tablosunda ve Keccak tablosunda arama yapın;

  3. “Tx_type L1Msg ise msg_hash”ın doğruluğunu kanıtlayın: RLP tablosunu arayarak doğrulayın;

  4. ECDSA'yı kullanarak tx imzasını doğru şekilde yürütün ve arayanın adresini ECDSA imzasından doğru şekilde kurtarın: Sig tablosunu arayarak doğrulayın;

  5. Tx kimliği, cum_num_txs ve call_data_length'in doğru geçiş davranışı;

  6. Belirli gösterge değişkenlerinin Boolean değerleri gibi bazı temel kısıtlamalar.

Bayt Kodu Devresi

EVM devrelerinin doğru bayt kodu bilgisini içeren bir bayt kodu tablosunu araması gerekir. Bu, sözleşmede saklanan baytların tablodan yüklenen baytlarla eşleşmesini sağlar. Bayt kodu devresinin amacı bayt kodu tablosunun doğruluğunu sağlamaktır. Bu içerir:

  1. Etiketler (etiket) ile sınır davranışına ilişkin kısıtlamalar: İlk ve son satırlardaki kısıtlamalar, etiket == bayttan başlığa ve etiketten başlığa dönüşüm; başlıktan başlığa dönüşüm;

  2. Kod boyutuna ilişkin kısıtlamalar: Bayt kodunun son baytının indeksinin kısıtlaması yoluyla bayt kodu uzunluğunun hesaplanması dahil;

  3. Kod karması üzerindeki kısıtlamalar: Kod karması içindeki baytların RLC davranışını doğru şekilde kısıtlamak ve Keccak tablosuna bakarak kod karmasını doğrulamak;

  4. PUSH davranışının doğruluğunun sağlanması: is_code = Push_data_left == 0 (bir boole değeri olmalıdır) ve PUSH1-PUSH32 için itilen verinin boyutunun push_table'a bakarak doğrulanması;

  5. Bayt kodunun her satırında doğru yayılmanın sağlanması.

2. Güvenlik Denetimi

Farklı zincirlerin, genellikle EVM'deki önceden derlenmiş sözleşmeleri ve işlem kodlarını değiştiren kendi özel iş modülü işlevleri vardır. Bunların arasında Scroll zkEVM, sıfır bilgi kanıtlarına dayanan ikinci katmanlı bir ölçeklendirme çözümüdür. Bu çözüm, devreleri kullanarak ilgili işlem kodlarını yeniden yapılandırır ve yürütme izlerine dayalı kanıtlar üretir. Bu karmaşık uygulama denetimin zorluğunu büyük ölçüde artırmaktadır. Beosin güvenlik uzmanları tarafından yapılan değerlendirmenin ardından zkEVM'nin güvenlik denetimi temel olarak aşağıdaki hususlara odaklanır:

  1. GAS: zkEVM devresinin yürütme takibi için kanıtlar üretirken aynı zamanda işlemlere ilişkin gaz tüketiminin doğruluğunu da doğrular. İşlem kodlarının uygulama devresinde kısıtlanmamış serbest değişkenler sıklıkla kullanılıyorsa, kanıt oluşturma hatasına veya diğer bilinmeyen hatalara neden olabilir.

  2. Bellek Güvenliği: Bazı zkEVM devreleri, Scroll tarafından kullanılan KZG taahhüdü gibi polinom taahhütlerine dayanmaktadır. Ancak polinom hesaplamaları otomatik olarak hizalanmaz; bu nedenle devrede kısıtlamalar yoksa, bilgisayar programlarındaki bayt aralığıyla tutarsız bir değer aralığı ortaya çıkabilir. Bazı durumlarda, sözleşme geliştiricileri gaz optimizasyonunu etkinleştirdiğinde, verilerin kompakt düzenlenmesi, Polygon zkEVM'deki BYTE_C4096 sabit polinomu gibi bellek güvenliği sorunlarına yol açabilir. Polinomlar, parametre değerlerinin maksimum bayt değeri aralığı olan 255'i aşmasına izin verir; bu da potansiyel olarak kötü niyetli sıralayıcıların, AMM modelini benimseyen bazı değişim platformlarında kâr amacıyla parametreleri değiştirmesine olanak tanıyabilir. Temel olarak bu tür güvenlik açıkları, devrenin temsil ettiği sayısal geçerlilik aralığı ile programın değişken değer aralığı arasındaki tutarsızlıklardan kaynaklanmaktadır. Bunun bir örneği, Beosin güvenlik araştırmacıları tarafından Snarkjs kütüphanesinde keşfedilen CVE-2023-33252 güvenlik açığıdır.

  3. İşlem Kodu Güvenliği: zkEVM işlem kodlarını uygularken, özellikle hassasiyetle ilgili yaygın güvenlik sorunları vardır. Örneğin temel devredeki iki sayıyı karşılaştırırken programdaki karşılaştırma işleminin hassasiyeti 1 byte ise devre kısıtlarının değer aralığını belirtmesi gerekir. Aksi takdirde devredeki işlemlerin hassasiyeti programın hassasiyetini aşacak ve hatalı sonuçlara yol açacaktır.

  4. Güvenli EIP Desteği: EIP-2 ve EIP-155 gibi güvenlik odaklı EIP'ler için destek.

  5. Sequencer'da merkezileştirme sorunu: Şu anda Scroll tarafından oluşturulan tüm provalar, Sequencer tarafından oluşturulan yürütme izine bağlıdır. Sequencer kötü niyetli davranırsa zkEVM, kullanıcı varlıklarının güvenliğini garanti edemez.

  6. Uyumluluk sorunu: zkEVM, yürütme izini temel alarak devre kanıtları oluşturur ve bunları sözleşmede doğrular. Sıralayıcıdaki küçük yükseltmeler bile, temel dil düzeyinde oluşturulan yürütme izinde önemli farklılıklara neden olabilir.

Scroll'un Geleceğe Bakışı

  1. Scroll şu anda Halo2 prova sisteminin iki katmanlı KZG versiyonunu benimsiyor ve prova üretimini hızlandırmak için GPU donanım hızlandırmasını kullanıyor. Darboğaz artık tanık oluşturma ve veri kopyalamaya kaymıştır. Ayrıca Roller'in merkezileştirme düzeyi ve donanım işletim maliyetleri de Scroll'un çok aşamalı prova sistemlerinin gelecekteki gelişimi için dikkate alması gereken unsurlardır.

  2. EVM yürütme izi dinamik olarak değiştiği için çeşitli devre kısıtlamaları ve ölçekleri vardır. Şu anda, dinamik olarak değişen yürütme izine uyum sağlamak için yürütme izinin her adımının en büyük devre ölçeğini karşılaması gerekiyor, bu da ek bellek israfına neden oluyor.

  3. Scroll's Roller'in şu anda ağ işlem ücretlerinden kar elde etmesi bekleniyor. Ancak Scroll ağındaki mevcut kullanıcı sayısı ve işlem ücretleri, Roller ve sıralayıcının işletme maliyetlerini karşılayamıyor. Gelecekte, Scroll ağının kullanıcıları çekmek ve istikrarlı ağ işleyişini sürdürmek için nasıl ekonomik teşvikler sağladığı dikkate alınması gereken bir sorudur.

Beosin şu anda zk projesinin denetimini de destekliyor. ZK ile ilgili kapsamlı güvenlik araştırması için aşağıdaki makaleleri okuyabilirsiniz: 1. Groth16 Proof'un İşlem İşlenebilirlik Saldırısı; 2. ZKP Projelerindeki Dövülebilirlik Saldırılarını Ortaya Çıkarmak İçin Tornado Cash'i Derinlemesine Keşfetmek.

Beosin, dünya çapında lider bir blockchain güvenlik şirketi olarak dünya çapında 10'dan fazla ülke ve bölgede şube kurmuştur. Hizmetlerimiz, proje lansmanından önce kod güvenliği denetimlerini, güvenlik riskinin izlenmesini, proje operasyonu sırasında erken uyarı ve önlemeyi, çalınan sanal para birimleri için varlık kurtarmayı ve KYT/AML gibi güvenli uyumluluk hizmetlerini kapsar. Blockchain güvenlik ürünleri ve hizmetleri için tek elden çözüm sağlıyoruz. Şu anda dünya çapında 3000'den fazla blockchain kuruluşuna güvenlik teknolojisi hizmetleri sağladık ve 3000'den fazla akıllı sözleşmeyi denetledik. Bizimle iletişime geçmekten çekinmeyin.

Yasal Uyarı:

  1. Bu makale [Beosin]'den yeniden basılmıştır. Tüm telif hakları orijinal yazara [Beosin] aittir. Bu yeniden basıma itirazlarınız varsa lütfen Gate Learn ekibiyle iletişime geçin; onlar konuyu hemen halledeceklerdir.
  2. Sorumluluk Reddi: Bu makalede ifade edilen görüş ve görüşler yalnızca yazara aittir ve herhangi bir yatırım tavsiyesi teşkil etmez.
  3. Makalenin diğer dillere çevirileri Gate Learn ekibi tarafından yapılır. Aksi belirtilmedikçe tercüme edilen makalelerin kopyalanması, dağıtılması veya intihal edilmesi yasaktır.
Şimdi Başlayın
Kaydolun ve
100 USD
değerinde Kupon kazanın!