Eclipse — Modüler Blokzincirler için Yeni Bir Çağ

Alperen Tunçkıran
9 min readFeb 18, 2023

--

1) Introduction

Eclipse, modüler ve düzenlenebilir modüler rolluplar ve app chainler oluşturabilmenize izin verir. Başlangıçta Celestia tarafından sağlanan Data Availability Katmanını kullanacak olan Eclipse, Solana VM çalıştıracak ve Solana ekosistemin yer alan herhangi bir uygulamanın, ilerleyen dönemlerde Eclipse Rollup’ı olarak hayatına devam etmesine olanak sağlayacak.

Celestia’nın Modular Fellows programında yer alan Eclipse, ayrıca Solana Foundation Grant Programından da yararlanmıştır. Bu projelerin dışında Polygon Ventures, Sreeram Kannan of EigenLayer, Galileo (Jack Zampolin & David Feiock of Cosmos), and Big Brain (Solana) gibi isimlerden ve şirketlerden de yatırım hakkı kazanmış olan Eclipse geliştiricileri, ekosistem içerisindeki projelerle ortaklık için de çalışmalarını yürütmektedir.

Neel Salamani ve Sam Thapaliya tarafından geliştirilen Eclipse, aralarında Zebeci Notifi ve Friktion’un da yer aldığı 50’den fazla projeyi desteklemeye hazırdır.

You can follow Eclipse on Twitter and Discord to learn more about Eclipse and become part of the Eclipse community.

2) Dizayn

2.a) Blockchain Ağ Katmanları

Blockchainler için tanımlı 4 adet ana katman bulunur.

1-> Data Availability katmanı, işlem verilerinin açıkça ve tamamen dağıtıldığından sorumludur.

2 -> Consensus katmanı, işlemlerin sırasının tanımlanmasından sorumludur.

3 -> Settlement katmanı, global ve herkes tarafından kabul edilen durumun uygulanmasından sorumludur.

4 -> Execution katmanı, ağın durum değişikliklerinin uygulanmasından sorumludur.

Data Availability ve Consensus katmanları ne kadar güçlü ve ölçeklenebilir ise, ağ o kadar güvenlidir. Her iki katmanın da güçlü bir şekilde var olması gerekmektedir.

Settlement ve Execution katmanları ise bir blockchain için gerekli ortamı oluşturur. Aynı settlement katmanını paylaşan execution katmanları güven gerektirmeyen bir küme oluşturur.

Güven gerektirmeyen bir küme ne demektir?

Monolithic çalışan, yani yukarıda bahsettiğimiz 4 katmanı da tek bir ağda çalıştıran blockchainler, bu 4 katmanın yükünü kendi üzerinde taşır. 4 Katmanın yükünün tek bir ağa yüklenmesi üst düzey güvenlik ve kullanım kolaylığı sağlarken, yüksek kullanım ücreti ve sınırlı bir ölçeklenebilirliğe kapı açmıştır.

2.b) Rollup

Ethereum yol haritasının Rollup temelli olarak değiştiğini hepimiz duymuşuzdur. Bu ne demek?

Ethereum, Layer2 dediğimiz Rollup uygulamaları için Data Availability, Consensus ve Settlement katmanlarını sağlarken Execution tamamen Rollup üzerinde gerçekleşmektedir.

Rollup zincirleri, kendi içlerinde execute ettikleri transferleri, rollup çeşidine özgü bir biçimde Ethereum’a göndermekte ve Ethereum ana ağının Execution yükünü azaltmaktadır.

Ethereum’un settlement katmanı üzerine inşaa edilen Rolluplar, kendi aralarında “güven gerektirmeyen küme” oluştururlar çünkü Ethereum ana ağında tüm Rollup durumu saklanır. İki rollup arasında veri transferi yapılmak istenirse Settlement Katmanında bulunan onaylanmış durumlar kontrol edilebilir.

Eğer bir Optimistic Rollup’tan bahsediyorsak, bu rollup türü kendi içerisinde execute ettiği tüm işlemleri Ethereum ana ağına gönderir ve gerektiği yerde Fraud Proof adı verilen kanıt türü Ethereum ana ağından Rollup’a geri gönderilir. İşlemlerin Ethereum ağına yayınlanmasından sonra, belirli bir süre içerisinde (challenge period) Fraud Proof oluşturulmalı ve Rollup’a gönderilmelidir.

Optimistic Rollup üzerindeki tek bir düğümün güvenilir olması, işlemlerin ve Fraud Proof’un doğrulanması için yeterlidir. Bu yapı, Optimistic Rollupları “honest minority security model”e ulaştırır.

Optimistic Rolluplar için 2 tür Fraud Proof mevcuttur.

Optimistic Rollup’a Non-Interacive Fraud Proof gönderildiği zaman, kanıt istenen blok içerisindeki tüm işlemlerin tekrar işlenmesi gerekmektedir. Bu işlemin maliyeti çok fazladır.

Optimistic Rollup’a Interactive Fraud Proof gönderilirse, öncelikle hem Rollup düğümlerinin hem de ana ağ düğümlerinin aktif olması gerekir. Daha sonra “Bisection Game” adı verilen bir challenge tamamlanır ve ana ağ düğümlerinin hangi işlemi geçersiz bulduğu belirlenir. “Bisection Game”, üçüncü bir taraf gerektirmektedir. Geçersiz işlem belirlendikten sonra ana zincir üzerinde, “Virtual Machine Interpreter” ile yeniden execute edilir.

Eğer bir ZK Rollup’tan bahsediyorsak, bu rollup üzerindeki işlemler execute edildikten sonra elde edilen bloğun sıkıştırılmış hali, Validity Proof adı verilen ve yine Rollup içerisinde oluşturulan kanıt türü ile beraber Ethereum ana ağına gönderilir. ZK Rollup mimarisi için Rollup üzerindeki herhangi bir düğümün güvenilir olması gerekli değildir. Oluşturulan sıkıştırılmış blok ve Validity Proof’un execute edilebilmesi için bir devre ya da makine tasarlanmalıdır. Prover’ın ürettiği sıkıştırılmış blok ve Validity Proof yapısının (probabilistically checkable proof (PCP)) oluşturulan makine ya da devre içerisinde bir çözümü olmalıdır.

Rollup zincirleri, ortak Data Availability ve Consensus katmanları kullandıkları için “Shared Security” sağlarlar. Yani Ethereum’a bağlı Rollup zincirleri Ethereum ana ağının güvenliğini paylaşırlar ve bu sayede üst düzey güvenlik sağlarlar.

Rollup zincirlerine rağmen Ethereum ana ağının hala ölçeklenebilirlik açısından sorunları mevcuttur. Bu noktadaki tartışmalar Ethereum ana ağının Data Availability katmanının ölçeklenemediğini öne sürenler yüzünden başlamaktadır.

2.c) Celestia

Bu noktadaki eksiği gören Celestia projesi, blockchain ağları için ortak bir Data Availability ve Consensus katmanı hizmeti vermektedir. Rollup zincirleri ile modüler çağı başlatan Ethereum’un eksikliklerini çok iyi gözlemleyen Celestia ekibi, modüler çağa seviye atlatarak ölçeklenebilirliğin önündeki engelleri olabildiğince kaldırmaktadır.

Peki Celestia bunu nasıl yapıyor?

Yazımın başında Data Availability ve Consensus katmanlarının, blockchain ağları için güvenlik sağladığından bahsetmiştim. Celestia üzerine inşa edilen blockchain ağları, Celestia’nın sağladığı Data Availability ve Consensus katmanlarını kullanarak yeni zincirler inşa edecekler ve Celestia üzerindeki diğer projelerle beraber ortak ve güçlendirilmiş bir güvenlik sağlayacaklar.

Reed Solomon Erasure Coding ile Data Availability Sampling sağlayacak olan Celestia, blockchain ağına paylaşılan herhangi bir verinin bütünlüğünü ve doğruluğunu, Fraud Proof ve Data Availability Proof adı verilen kanıtlar ile sağlayabilecek.

Bu aşamada karşımıza “Settlement Rollup” ve “Sovereign Rollup” adı verilen yeni Rollup zinciri türleri çıkmaktadır.

Blockchain ağları için 4 temel katmandan bahsetmiştim.

-> Execution

-> Settlement

-> Data Availability

-> Consensus

Sovereign Rollup, Data Availability ve Consensus katmanlarını bir zincire bırakırken kendi üzerinde Execution ve Settlement sağlamaktadır.

Sovereign Rollup Mimarisi

Settlement Rollup ise, Data Availability ve Consensus katmanlarını bir zincire bırakırken, kendi üzerinde herhangi bir execution gerçekleştirmez. Settlement Rollup olarak görev gören bir zincir, yeni Rolluplar için sadece Settlement Katmanı sağlar ve Execution görevini kendi üzerindeki yeni zincirlere bırakır.

Settlement Rollup Mimarisi

2.d) Yeni Çağ — Eclipse

Eclipse, Cosmos üzerinde bir Sovereign Rollup olarak hayatına başlayacaktır. Data Availability ve Consensus Katmanları için Celestia’yı kullanacak olan proje, honest minority düzeyinde güvenlik sağlayacak olan Settlement katmanını 2023 yılının başlarında hayata geçirecek. Cosmos tarafından geliştirilen IBC (Inter-Blockchain Communication Protocol) ile diğer Cosmos zincirlerine bağlanabilecek Solana ekosistemini tüm Blockchain dünyasına açacak.

Eclipse’in sağlayacağı Execution Layer, Solana execution layer’ın bir forku olacak. Bu sayede Solana Virtual Machine, Sealevel (Paralel işlem yürütme aracı) ve Pipelining (Transaction Processing Unit / TPU ) gibi yenilikleri de Eclipse üzerinde göreceğiz.

Solana Execution katmanının forklanması, Solana ekosisteminin;

->Solana projelerinin multichain ekosisteme açılmasını ve IBC teknolojisine kullanmasına,

->Solana projelerine özerklik verilerek App-specific chain haline gelmelerine,

-> Yüksek likiditeye erişemesine ve

-> Tamamen özelleştirilebilir bir şekilde kendi zincirlerine geçiş imkanının sağlanmasına imkan vermektedir.

Eclipse aynı zamanda şu an Cosmos ekosisteminin sahip olmadığı, Decentralized Central Limit Order Books (CLOBs), CLOB yapısına uyumlu merkeziyetsiz uygulamalar, mesajlaşma ve oyunlar gibi gerçek dünya uygulamalarını Cosmos ekosistemine kazandırabilir.

Başlangıçta Optimistic Rollup olarak hayata geçecek olan Eclipse, ilerleyen zamanlar Zero Knowledge Rollup olarak da hayatına devam edebilir. Eclipse geliştirici ekibi, Optimistic Rollup mimarisine paralel olarak Zero Knowledge Rollup Mimarisi üzerinde de çalışmaktadır.

Eclipse, Solana tarafından kullanılan eBPF (extended Berkeley Packet Filter) sanal makinesini kullanacak. Optimistic Rollup mimarisi ile hayatına başlayacak olan Eclipse, Interactive Fraud Proof yapısını kullanacaktır. Bu noktada Eclipse için iki yol çıkmaktadır;

-> eBPF komut seti (ve onun Solana uygulaması), EVM komut setine göre daha kısıtlayıcı olduğu için, Virtual Machine Interpreter implementasyonu oluşturmak.

-> Re-execute edilecek tek işlem için bir zero knowledge proof oluşturulması.

Optimistic Rollup ile paralel olarak bir Zero Knowledge Rollup üzerinde de çalışan Eclipse ekibi, mevcut olan tüm Solana dApp’lerini destekleyecek bir proje ortaya çıkartmak istiyor. Bu sebeple Eclipse’in Zero Knowledge Rollup olarak çalışabilmesi için tüm eBPF Sanal Makinesini bir zero knowledge circuit olarak düzenlemeleri gerekmekte. Bir Zero Knowledge Sanal Makinesi tüm programları çalıştırabilmelidir.

Bu aşamada Eclipse ekibinin önüne iki seçenek çıkmaktadır;

-> Zero Knowledge girdilerini okuyabilecek, Cairo VM ya da Miden VM gibi aracı bir Sanal Makine geliştirmek,

-> EVM ya da eBPF gibi halihazırda mevcut bir Sanal Makineyi Zero Knowledge circuit olarak yeniden tasarlamak.

Ben bu yazının ingilizcesini yayınladıktan sonra Eclipse ekibi, Zero Knowledge Rollup için RiscZero tarafından geliştirilen teknolojiyi kullanacaklarını açıkladılar.

Bazı zk-EVM tasarımları halihazırda mevcuttur. Solana execution layerı ise daha karmaşık bir yapı içermektedir. LLVM derleyici yapısını kullanan Solana execution katmanı üzerine, yazılan kodu ZK circuit tarafından okunabilecek bir ELF (Executable and Linkable Format) formatına dönüştüren IR (intermediate representation) programı geliştirmek bir seçecektir. Yapı karmaşık geldiyse hemen özetleyelim;

— — —LLVM -> IR -> ELF -> ZK Circuit — — —

Eclipse ekibi bu noktada Scroll zk-EVM tasarımından ilham almışa benziyor. LLVM kullanarak üretilen ve ZK circuit’a girdi olarak verilecek bir EFL dosyası, ZK Circuit’a girdi olarak verilecek ve çıktı Settlement Katmana gönderilecek.

Eclipse ekibinin önünde çok zor bir geliştirme süreci olduğu daha da açık hale geliyor :)

— — — — — Yazar Yorumu — — — — —

Optimistic Rollup ve Zero Knowledge Rollup mimarilerini düşünürsek, Optimistic Rollup çok daha az iş yükü gerektiren bir yapıdır. Teknik olarak her şey hazır. Fakat Optimistic Rollup yapılarının başka bir Settlement Layer’a taşınması daha zordur.

Her iki Rollup mimarisi için de sahte kanıtlar üretilerek Rollup meşgul edilebilir ve işlem yapılması engellenebilir.

Zero Knowledge Rollup, mimarisi gereği yavaştır çünkü kanıt oluşturmak yüksek işlem gücü gerektirir. Ayrıca Zero Knowledge Rollup mimarisi için cevaplanmamış bir çok soru mevcuttur.

Teknik olarak kusursuz bir Zero Knowledge Rollup mimarisi oluşturulmadan Optimistic Rollup mimarisinin terk edilmesi Eclipse için iyi sonuçlar doğurmayacaktır.

İlerleyen dönemde bir Settlement Rollup haline gelmeyi planlayan Eclipse, kendi üzerinde uygulamasını çalıştırmak isteyen projeler için bir Settlement katmanı sağlayacak ve bu projeler kendi App Chain’ini oluşturacaklar. Bu app Chain’ler, sadece Execution’dan sorumlu olacaklar ve kendi zincirlerini istedikleri gibi özelleştirebilecekler. Layer3 olarak adlandırılan bu chainler, Data Availability katmanı olarak istedikleri zinciri seçebilecekler. Bu dizayn sayesinde ölçeklenebilirliğini üst düzeye çıkaracak olan Eclipse L2 üzerinde bazı küçük merkeziyetsiz uygulamalar da yer alabilecek.

— — — — — Yazar Yorumu — — — — —

Her app chain’in kendi Data Availability ve Consensus layerını seçmesi, app chainler için bir özgürlük sunuyor. Fakat yeterince güvenli ve ölçeklenebilir olmayan Data Availability ve Consensus Katmanı seçen app chainler için bir sıkıntı yaratıyor.

Aynı settlement katmanını paylaşan Rollup’lar arasında veri paylaşımı trust minimized bir şekilde yapılabiliyor. Bu sayede Eclipse üzerine inşa edilen app chainler, kendileri arasında trust minimized iletişim kurabilecekler. Fakat aynı Data Availability ve Consensus katmanını paylaşmayan app chainler arasında bir güvenlik farkı doğacaktır.

Rollup zincirleri için önemli bir konu da tokenomics. Birçok Rollup zinciri kendi tokenlerini yakın zamanda piyasaya sürdü. Bu sebeple Rollup zincirleri için tokenomics çok yeni bir konu.

Eclipse Token’in kullanım alanı olarak gelişltirici ekibi tarafından önerilen bir liste mevcut. Listedeki bazı maddeler şu şekilde;

  • Sequencer ve Prover ücretlerinin yakılması ya da Eclipse Token stake edenlere dağıtılması
  • MEV gelirlerinin stakerlara verilmesi
  • Eclipse üzerinde inşa edilen dAPP’lere fon ayrılması
  • Kurumsal uygulama zincirlerinin desteklenmesi
  • Zincir içi oy mekanizması
  • Eclipse Rollup’larından yield farming geliri elde etme

Ayrıca airdroplar, etkinlik ödülleri, contributor ödülleri gibi teşvikler de bu listeye dahil edilebilecek gibi duruyor.

3) Kapanış

Solana ekosistemini Blockchain Dünyasına açacak olan ve modüler yapısıyla yüksek ölçeklenebilirlik sağlayacak olan Eclipse, hem Cosmos ekosisteminin genişlemesine hem de Solana ekosisteminin tanınmasına olanak sağlayacak.

Üzerinde çalıştıkları Optimistic Rollup ve Zero Knowledge Rollup mimarileri ile modüler blockchain yapısını bir üst düzeye taşıyacak olan Eclipse, bazı Solana geliştirmelerinin de (Solana VM, Pipelining, Sealevel) gücünden yararlanarak hem kullanıcı tarafında hem de geliştirici tarafında üst düzey deneyim sunmayı hedeflemektedir.

Çıkışını merakla beklediğim Eclispe projesi 2023 yılının erken döneminde hayata geçecek ve ölçeklenebilirliği bambaşka bir seviyeye taşıyacak.

4) Kaynakça

Umarım keyifli ve öğretici bir yazı olmuştur. Sonraki yazılarda görüşmek üzere, sağlıcakla kalın.

Twitter: @BlockofChain

--

--