paint-brush
ZKBase'de Teknik Analiz: Ölçeklenebilir ve Güvenli ETH İşlemleri için Yüksek Performanslı ZK Toplamaile@zkbase
2,864 okumalar
2,864 okumalar

ZKBase'de Teknik Analiz: Ölçeklenebilir ve Güvenli ETH İşlemleri için Yüksek Performanslı ZK Toplama

ile ZKBase6m2024/08/07
Read on Terminal Reader

Çok uzun; Okumak

ZKBase, ZK Stack ve çoklu grafik işlemcisi kanıtlayıcıyı temel alan yüksek performanslı bir ZK-Rollup'tır. Bu çözüm, işlem işleme kapasitesini artırır ve uygun maliyetli bir ağ deneyimi sağlar. Temel avantajı, zincir dışı işlemlerin hızlı bir şekilde doğrulanmasına olanak tanıyan sıfır bilgi kanıtı (ZKP) teknolojisinin benimsenmesinde yatmaktadır.
featured image - ZKBase'de Teknik Analiz: Ölçeklenebilir ve Güvenli ETH İşlemleri için Yüksek Performanslı ZK Toplama
ZKBase HackerNoon profile picture


ZKBase, ZK Stack ve çoklu grafik işlemcisi kanıtlayıcıyı temel alan yüksek performanslı bir ZK-Rollup'tır. Bu çözüm, işlem işleme kapasitesini artırır ve uygun maliyetli bir ağ deneyimi sağlar. Temel avantajı, işlem gizliliğini ve veri bütünlüğünü korurken zincir dışı işlemlerin hızlı bir şekilde doğrulanıp onaylanmasına olanak tanıyan sıfır bilgi kanıtı (ZKP) teknolojisinin benimsenmesinde yatmaktadır. Tüm geçerlilik kanıtları Ethereum üzerinde doğrulandığından, kullanıcılar L1'dekiyle aynı güvenlik garantilerinden yararlanabilirler. ZKBase, Ethereum'a benzer şekilde çalışır ancak daha yüksek verim ve daha düşük ücretlerle çalışır. Akıllı sözleşmeler Solidity/Vyper'da yazılmıştır ve diğer EVM uyumlu zincirlerle aynı istemciler kullanılarak çağrılabilir. Bu makale ZKBase'in temel mühendisliğini ve teknik uygulamasını tanıtacaktır.

1. ZKBase'in Temel Bileşenleri

Tree ve TreeBackup : Bu bileşenler, L2 depolama ağacının yerel kopyalarını korumak için RocksDB'yi kullanır. Veritabanı, mevcut sistem durumunu sürekli olarak yansıtan en son durum kök karmasıyla senkronize kalır.


StateKeeper/VM : İşlemleri yürütür ve kapalı blokları yerel RocksDB veritabanında güvenli bir şekilde saklayarak veri bütünlüğünü ve sürekli durum güncellemelerini sağlar.


Akıllı Sözleşme : Ethereum ana ağında konuşlandırılan bu akıllı sözleşmeler, zincir dışından gönderilen sıfır bilgi kanıtlarını (ZKP'ler) doğrular. Başarılı doğrulamanın ardından bu sözleşmeler Ethereum ağındaki hesap durumlarını günceller.


GPU Kanıtlayıcı : Sıfır bilgi kanıtlarıyla güvenli ve verimli işlem doğrulamayı sağlayan bir ZK-Rollup teknolojisi. Ethereum ana ağında bir toplu işlem gerçekleştiğinde, ZK toplama sistemi birden fazla işlemi Prover tarafından hesaplanan tek bir "geçerlilik kanıtına" sıkıştırarak grubun doğruluğunu gösterir. Bu kanıt daha sonra Ethereum ağına gönderilerek zincir dışında gerçekleşen büyük miktarda işlemin hızlı ve güvenli bir şekilde onaylanması sağlanır.


Köprü : ZKBase, varlıkların ZKBase ile Ethereum ana ağı arasında güvenli bir şekilde aktarılması için bir köprüleme mekanizması sağlayarak iki platform arasında birlikte çalışabilirlik ve varlık likiditesini sağlar.

2. ZKBase İş Akışı

Kullanıcılar, L2 isteklerini bir uygulama programlama arayüzü (API) aracılığıyla veya L1'de dağıtılan sözleşmeler aracılığıyla başlatabilir. Bu istekler gönderildikten sonra yürütülmeyi bekleyen bir bellek havuzuna girer. Özellikle, L1'den kaynaklanan işlemler (para yatırma gibi), hızlı bir şekilde işlenmelerini sağlamak için özel bir L1 öncelik kuyruğunda saklanır.


Bellek havuzu depolama yapısı bir btreeset'tir (btree tarafından uygulanan bir set). İndeksleme yapısı aşağıdaki gibidir:



Burada,fe_data gerçek puan hesaplamasına dahil değildir ancak ücret gerekliliklerini karşılamayan işlemlerin filtrelenmesine yardımcı olur. Puan, zaman damgasına göre sıralanır ve zaman damgaları aynıysa adrese göre sıralanır.

Bellek havuzundaki işlemler, Durum Bekçisi içindeki bellek havuzu alıcı bileşeni tarafından yönetilir. Süresi dolmuş işlemler dışında standart işlemler, btree geçişi tarafından tanımlanan sırayla bellek havuzundan alınır ve veritabanına kaydedilir. Daha sonra Durum Bekçisi/VM tarafından işlenir, yürütülür ve durum ağacını güncellemek için kullanılır.


Blok yerleşim şeması, bir blok içindeki işlemlerin organizasyonunu ve bir L1 grubu içindeki L2 bloklarının düzenini gösterir.



Her L1 grubunu başlatmak için operatörün önemli ayrıntıları girmesi gerekir: grubun zaman damgası, sıradaki konumu ve önceki grubun karma değeri.



Merkle ağacı kök karması, bu süreçte grubun geçerliliğini ve işlemlerin orijinalliğini sağlamak için temel kök karması olarak hizmet eder. Aynı zamanda, Devlet Sorumlusu belirli bir L2 bloğunun veya L1 grubunun ne zaman sonlandırılacağına karar verme ve böylece durumunu belirleme yetkisine de sahiptir. Bu karar, koşullu_sealer modülü tarafından yönetilen önceden tanımlanmış bir dizi kritere göre yönetilir. Bu kriterler arasında işlem sayısı, boyut sınırları ve gas kullanım eşikleri gibi parametreler yer alıyor. Bir işlemin gerçekleştirilmesinden sonra Devlet Bekçisi hangi mühürleme koşulunun karşılandığını kontrol eder.


Conditional_sealer aşağıdakileri içeren bir SealCriteria kaydını tutar:


  • İşlem sayısı limitleri,

  • L2 gaz limitleri,

  • Diğer düzenlemelerin yanı sıra, yayınlanan veri miktarına ilişkin üst sınırlar.


Dört karar senaryosu vardır: NoSeal, IncludeAndSeal, ExcludeAndSeal ve Unexecutable. İlk iki durumda süreç aynıdır; yürütme sonrası durum Durum Bekçisi'nde güncellenir. ExcludeAndSeal, önceden tanımlanmış toplu iş sınırlarını aşan işlemleri, işlem yürütme işlemini geri alarak ve bir sonraki L2 bloğuna dahil edilmek üzere kuyruğa geri yerleştirerek yönetir. Yürütülemez bir durum meydana gelirse, işlem yürütülemez ve reddedilir.


Her partinin sonunda önyükleyici, işlemleri tamamlamak ve bir sonraki döngüye hazırlanmak için bir yer tutucu L2 bloğu oluşturur. Çoğunlukla boş olmasına rağmen, bu blok dahili işlemler için çok önemlidir ve önyükleyici ile operatör arasındaki ücret hareketlerini kaydetmek için bir Transfer olay günlüğü içerir. Zaman doğruluğunu sağlamak amacıyla, grubun ve son alt bloğun zaman damgaları, sistemin zamanla ilgili sorunlara karşı dayanıklılığını artırmak amacıyla beklenen L1 zaman çerçevesiyle çapraz kontrol edilir.


Bir grup tamamlandığında kanıtlayıcı, bloğun yürütüldüğünü doğrulamak için kriptografik bir kanıt oluşturur. ZKBase'de kanıtlayıcının sorumluluğu, ZKBase Ethereum Sanal Makinesinin (EVM) doğru şekilde yürütüldüğünü kanıtlamaktır. Bu kanıt daha sonra Ethereum ağındaki akıllı bir sözleşmeyle doğrulanır. Kanıt oluşturulduktan sonra kanıtlayıcı bunu bir L1 işlemine paketler ve ETH_Sender'a gönderir. ETH_Sender, işlemi daha ileri işlemler için Ethereum ana ağında konuşlandırılan ZKBase sözleşmesine iletir.


Ethereum ana ağı kanıtın doğruluğunu doğrular ve başarılı doğrulamanın ardından durumu buna göre günceller.


Süreç boyunca EthWatcher, Ethereum ana ağıyla senkronizasyonu sağlamak için para yatırma ve sistem yükseltmeleri gibi belirli L1 olaylarını sürekli olarak izler.

3. Çoklu GPU Doğrulayıcı Mimarisi


Mimari, verileri paylaşmak için bir Postgres Veritabanından yararlanır ve kanıt oluşturma verimliliğini artırmak için birden fazla GPU Doğrulayıcı arasında paralel hesaplamaya olanak tanır. Anahtar bileşenler şunları içerir:


Operatör : Layer 2 hizmetlerini sağlayan sunucu.


Prover Gateway : Operatörü kanıtlama alt sistemine bağlayan bir iletişim modülü.


Tanık Oluşturucu : Kanıt hesaplama görevleri oluşturur ve ara eserleri saklar.


Vektör Oluşturucu : Tüm hesaplama görevlerini GPU hesaplamasına uygun bir vektör formatında toplar ve bunları kanıtlayıcılara gönderir.


Kanıtlayıcı: Kanıtların gerçek hesaplamasını ve doğrulanmasını gerçekleştirir.


Kompresör: Nihai kanıtı SNARK formuna sıkıştırır.

Kanıt Oluşturma İş Akışı

Toplu Üretim : Operatör işlemleri toplar ve yeni bir toplu iş oluşturur.


Toplu Alım : Prover Ağ Geçidi, yeni grubu Operatörden alır ve sıfır bilgi kanıtını oluşturmaya hazırlanmaya başlar.


Veritabanı Ekleme : Prover Ağ Geçidi toplu bilgileri Postgres veritabanına ekler. Daha sonraki veri işleme, veri tabanıyla doğrudan etkileşime girerek ilgili girdi tablolarından veri alır ve işlenmiş verileri ilgili çıktı tablolarına yerleştirir.


Tanık Oluşturma : Bu ilk aşama, bir kullanıcı bir tanık oluşturarak bir işlem başlattığında gerçekleşir. Tanık, herhangi bir işlem ayrıntısını açıklamadan, ağ mutabakatı kurallarına dayanarak işlemin geçerliliğini kanıtlar. Yeni işlem tanıkları gruplar halinde toplanır ve işlenir. Her parti aşağıdaki işlemlerden geçer:


  • Temel Devreler Tanık Jeneratör

  • YaprakToplamaWitnessGenerator

  • Düğüm Toplama

  • Zamanlayıcı


Vektör Oluşturma : Vektör Oluşturucu, tanık vektörleri üretmek için devreleri birleştirerek GPU hesaplama gücünün kullanımını optimize eder.


Kanıt Hesaplaması : Kanıtlayıcılar, sıfır bilgi kanıtlarını hesaplamak ve kanıt hesaplamalarının doğruluğunu doğrulamak için GPU'ları kullanır.


Sıkıştırma : Kompresör modülü, veri boyutunu küçültmek için kanıtı sıkıştırarak SNARK formuna dönüştürür.

4. Sonuç

ZK Stack ve Multi-GPU Prover üzerine kurulu ZKBase, yüksek performanslı Katman 2 ölçeklenebilirliğine ulaşır. Ancak Ethereum ölçeklendirme çözümü ZK-Rollup hala çok sayıda teknik zorlukla karşı karşıya. Gelecekte ZKBase, merkezi olmayan sıralama ve merkezi olmayan bir ZK hesaplamalı güç ağının uygulanmasını araştırmaya ve keşfetmeye devam edecek.