Uygulama toplamalarında (app rollups) ölçeklendirme

Estimated read time 13 min read

Uygulama toplamaları, belirli bir Ethereum uygulamaları kümesini ölçeklendirmede açık ara lider olarak karşımıza çıkıyor. Bu uygulamalar izinsiz ve güçlü sahiplik garantilerinden yararlanır ancak tüm uygulama kullanıcıları arasında eşzamanlı etkileşim gerektirmez. Tamamen zincirleme oyunlar (FOG’lar) bu tanıma uyan en iyi örnektir. FOG’lar güçlü oyun içi varlık sahipliğinden, izinsiz oyun katılımından ve izinsiz oyun modlamasından yararlanır. Yine de çoğu oyun, tüm oyuncuların aynı anda birbirleriyle etkileşime geçmesini gerektirmez. Uygulama toplama ölçeklendirme stratejilerinden yararlanabilecek diğer uygulamalar arasında NFT pazaryerleri, Sürekli borsalar ve zincir içi yapay zeka çıkarımı yer alır.

Uygulama toplamaları, bu kullanım durumlarının çoğu için zaten başvurulacak uygulamadır. Ancak standart toplama uygulamaları, yani EVM toplamaları hala önemli ölçeklenebilirlik sınırlarına sahiptir. Muhtemelen saniyede 100 işlem civarında verim elde edebilirler. Bu tür bir verim, oyun türüne bağlı olarak bazı zincir üstü oyunlar için yeterli olabilir. Ancak çoğu oyun, çok sayıda (> 1000) eşzamanlı oyuncuyu desteklemek için çok daha yüksek bir verime ihtiyaç duyar. Bu makale, yüz binlerce eşzamanlı katılımcıya ulaşmak için uygulama toplamalarını ölçeklendirme yaklaşımlarına odaklanmaktadır. Her yaklaşım için uygun uygulama/oyun türünü ve bunun karşı karşıya olduğu zorlukları inceler.

Uygulama toplamalarında Yatay Ölçeklendirme

Yatay ölçeklenebilirlik, uygulama toplamalarını ölçeklendirmenin en basit yaklaşımıdır. Bununla birlikte, basitlik, şekillendirilebilirliği kaybetme pahasına gelir; bu da onları yalnızca tek oyunculu oyunlar gibi küçük bir dizi uygulama için uygun kılar.

Yatay ölçeklenebilirlik, birden fazla uygulama toplamasının (OP veya ZK) tüm toplamalara dağıtılan aynı akıllı sözleşmeyle dağıtılması anlamına gelir. Uygulamanın ön ucu, kapasiteye, konuma veya belirli uygulama seçeneklerine bağlı olarak kullanıcıyı sorunsuz bir şekilde toplamalardan birine yönlendirir. Alt Layer yakın zamanda ölçeklenebilir bir 2048 FOCG başlatarak bu konsepti gösterdi. Oyunun ön kısmında kullanıcı, coğrafi konumuna göre hangi toplamaya katılacağını seçme seçeneğine sahiptir. Bu toplamaların döndürülmesi ve yönetilmesiyle ilgili tüm altyapı işlerini yürüten Caldera gibi hizmet olarak Toplama sağlayıcılarının basitliği ve kullanılabilirliği nedeniyle , bu yaklaşım oyun geliştiricileri tarafından kolayca benimsenebilir.

Basitliğine rağmen çoklu toplama ölçeklendirme yaklaşımında birkaç sorun vardır. Bunlardan ilki, toplama ağ anahtarlamasıdır. Mevcut cüzdanlar, örneğin Metamask, yeni bir ağa, yani toplama örneğine bağlanmak için manuel onay gerektirir. Bu, aynı oyunu oynamak için birden fazla “ağa” manuel olarak bağlanması gereken oyuncular için zor ve kafa karıştırıcı bir kullanıcı deneyimine yol açmaktadır. Neyse ki AA çözümleriyle bu karmaşıklığı ortadan kaldırmak mümkün. Yani, EIP 4337 gibi gömülü cüzdanlar.

Bir diğer zorluk ise toplamalar arasındaki geçiş sırasında oyuncuların durumunun yönetimidir. Kapasite düşüşleri gibi bazı durumlarda, kaynak tasarrufu sağlamak için uygulamanın birden fazla toplama örneğini tek bir örnekte birleştirmesi gerekebilir. Böyle bir durumda tüm aktif oyuncunun durumunun yeni örneğe taşınması gerekir. Mevcut köprüleme çözümleri, özellikle zk köprüleri, bu sorunun çözümünde kritik öneme sahip olabilir. Bu çözümleri kullanarak, oyuncunun oyun durumunu yeni bir toplama örneğine köprüleyerek bu durumun geçerliliğine dair bir kanıt sağlamak mümkündür. Ancak mevcut köprüleme çözümlerinin gecikme süresi oyun kullanım durumları için daha az uygun olabilir.

Uygulama toplamalarında ZK State Kanalları

Poker gibi çok oyunculu oyunlar için daha uygun olan bir diğer uygulama toplama ölçeklendirme yaklaşımı da zk state kanallarıdır. Bu oyunlarda oyuncu etkileşimleri az sayıda oyuncu arasında, örneğin 2-10 oyuncu arasında gerçekleşir. Bu oyuncular arasındaki oyun yalnızca oyun ilerledikçe önemlidir. Ancak oyunun nihai sonucu daha önemlidir çünkü her oyuncunun varlık dengesini etkiler. Bu nedenle sonucun paylaşılan kalıcı bir katmanda saklanması önemlidir.

Bu durumda uygulama toplaması, oyun sonuçlarının depolandığı ve oyun varlıklarının bulunduğu paylaşılan bilgi katmanını temsil eder. Toplamadaki her oyun için, bu oyuna hizmet verecek bir ZK State Kanalı başlatılabilir. Oyun sırasında her oyuncu işlemler üretir ve oyunun kurallarına uyduğunu kanıtlayan bir ZKP oluşturur. Diğer oyuncu etkileşimlerinden elde edilen kanıtlar, özyinelemeli prova kullanarak önceki kanıtları bir araya getirir. Oyun bittiğinde, oyunun geçerliliğini ve nihai sonucun geçerliliğini kanıtlamak için son ZKP, uygulama toplamasına gönderilir. Oyunda ortaya çıkan durum değişikliği, uygulama toplamasındaki oynatıcı durumlarını değiştirir.

ZK durumu kanalları oyun etkileşimlerini zincirin dışına taşır. Bu nedenle oyun içi etkinlikler ve işlemler, uygulama toplamanın verimine dahil edilmez. Bu yaklaşımı kullanarak uygulama toplamaları, on veya yüz binlerce eşzamanlı oynatıcıyı destekleyecek şekilde büyük ölçüde ölçeklenebilir. Uygulama toplama işlemleri yalnızca oluşturulan ZKP’lerin ve 100-1000x ölçeklendirme faktörüyle sonuçlanan durum güncelleme işlemlerinin doğrulanması olacaktır. Ontropy’nin de aralarında bulunduğu birçok ekip bu teknolojiyi geliştirmeye odaklanıyor.

Bu yaklaşımın dezavantajı, oyuncuların oyun mantığını çalıştırmasını ve ZKP’leri cihazlarında oluşturmasını gerektirmesidir. Çoğu zaman bu provalar hafiftir ve Halo2 gibi en son teknolojiye sahip ispat sistemlerinden faydalanıldığında, ispat birkaç saniyeden kısa sürebilir. Ancak bu yine de kaynakları sınırlı cihazlara sahip oyuncular için kullanıcı deneyiminin bozulmasına neden olabilir.

Bu sorunu hafifletebilecek bu yaklaşımda yapılan bir değişiklik, zk durum kanalı katılımcılarından birinin geçici sıralayıcı olarak atanmasıdır. Bu sıralayıcı, her oyuncunun işlemlerini alacak ve karşılık gelen ZKP’leri oluşturacak ve ZKP’yi tüm kanal katılımcılarıyla paylaşacaktır. Bu değişiklik, uygulama toplamasına uyum sağlayan geçici ZK L3’ler olarak düşünülebilir. Kartuş ekibi , Katana adı verilen özel bir sıralayıcı tasarlayarak bu mimariyi uyguluyor.

Zk durum kanalı yaklaşımının büyük bir potansiyeli vardır. Ancak zk durum kanalı içindeki yürütme ortamına ve kanıt özyinelemesi için bunun nasıl optimize edileceğine ilişkin birkaç açık soru vardır. Mevcut zkEVM ortamları çok verimli değildir ve çoğu şu anda kanıt özyinelemesini desteklememektedir. Alternatifler arasında hafif zkVM’ler ve hatta oynatıcı için mümkün olan eylem sayısı sınırlıysa oyuncu etkileşimleri için özel zk devrelerinin kullanılması yer alır.

Yürütme Ortamını Değiştirme

Uygulama toplamanın ölçeklenebilirliğine yönelik üçüncü bir yaklaşım, toplamanın yürütme ortamını değiştirmektir. EVM geliştirme araçlarının olgunluğuna ve çokluğuna rağmen oyunlar gibi yüksek performanslı uygulamalar için uygun değiller. Ayrıca, EVM tek iş parçacıklı yürütme ve depolama modeli, iyileştirilebilecek bir verimin azalmasına yol açar.

Bu yaklaşımın temel avantajı, toplama veriminin iyileştirilmesinin şekillendirilebilirlikten ödün verilmesini veya kullanım senaryolarının sayısının kısıtlanmasını gerektirmemesidir. Bu yaklaşım, yürütme ortamı uygulamanın gerektirdiği verimi elde edebildiği sürece herhangi bir Web3 uygulaması için işe yarayabilir. Bu, onları AMM’ler, borç verme protokolleri ve diğer DeFi uygulamaları gibi paylaşılan bir duruma erişmeyi gerektiren uygulamalar için tek geçerli çözüm haline getiriyor.

EVM işlevselliğini ön derlemeler yoluyla genişletme

İlk yaklaşım, toplamanın EVM uyumlu kalması ve ön derlemeler yoluyla bazı üretim sınırlamalarını ele almasıdır. Buradaki fikir basit. Ön derleme, hesaplama açısından pahalı EVM işlemlerini düğüm düzeyine taşımaktır. Yüzlerce veya binlerce EVM OP’si gerektiren ve 100k+ gaz tüketen bir operasyon, 100 kat daha düşük gaz maliyetleriyle tek bir operasyonla basitleştirilebilir. Toplama ortamının ön derlemelerle genişletilmesine genellikle EVM+ adı verilir. Bu yaklaşımın örnekleri arasında zincir içi gizliliğin desteklenmesi ve BLS imzaları gibi daha verimli imza şemalarının desteklenmesi yer alır. Örneğin, zkHoldem poker oyunu, özel poker kartı dağıtımı ve açığa çıkarılmasını sağlamak için özel bir FHE ve zk işlemlerini kullanır. Bu özel ön derlemelerin geliştirilmesi, genellikle uygulama toplama geliştiricisi ile uygulama toplamalarının dağıtımını ve bakımını alt düzeyde yöneten Raas sağlayıcıları arasında paylaşılan bir çabadır.

EVM olmayan bir yürütme ortamı kullanma

Toplama yürütme ortamını iyileştirmeye yönelik başka bir yaklaşım da EVM’den kurtulmaktır. Bu yaklaşım, Ethereum ekosistemine yeni giren geliştiriciler ve Solidity’nin karmaşık uygulamalar geliştirmek için en iyi dil olmadığına inanan geliştiriciler arasında daha popüler hale geliyor.

Bugün WASM, SVM, Kahire ve hatta Linux çalışma zamanlarında çalışan toplama uygulamalarımız var. Bu yaklaşımların çoğu, geliştiricilerin akıllı sözleşmelerini Rust veya C gibi üst düzey dillerde yazmalarına olanak tanır. Dezavantajı ise mevcut Solidity sözleşmeleriyle birlikte çalışabilirliğin sıklıkla kaybolmasıdır. Ancak yine de EVM ile uyumluluk oluşturmak mümkündür. Örneğin, Arbitrum’un kalemi, Stylus sözleşmelerini EVM ile uyumlu hale getirmek için bir ortak işlemci kullanır. Bu tasarım Stylus’u EVM olmayan bir mimariye kıyasla EVM+ mimarisine yaklaştırıyor.

Hibrit yürütme ortamları

FOG’larda özellikle popüler olan üçüncü bir yaklaşım, önceki iki yaklaşımın en iyi özelliklerini bir araya getirmektir. Bu yaklaşım EVM uyumluluğunu özelleştirilmiş EVM olmayan yürütme ortamıyla birleştirir. EVM olmayan ortamlar, temel oyun temellerinin yüksek performanslı yürütülmesine odaklanır. Oyun içi varlık yönetimi, örneğin oyun içi NFT’lerin ticareti, standart Solidity sözleşmeleriyle gerçekleştirilebilir.

Bu yaklaşımın avantajı, EVM uyumluluğunun daha geniş bir geliştirici ekosistemi ve mevcut ürünlerle uyum sağlamasıdır. Ayrıca izinsiz şekillendirilebilirliğe de olanak tanır. Geliştiriciler, EVM/sağlamlık akıllı sözleşmeleri ekleyerek oyun mantığını değiştirebilir ve genişletebilir. Bu arada, EVM olmayan özel oyun motoru, EVM’nin karşılayamayacağı yüksek verime ulaşıyor.

Bu yaklaşımın örnekleri Argus’tan World Engine ve Curio’dan Keystone’dur. World Engine, oyun mantığının yürütülmesini, EVM uyumlu katmanın üzerinde çalışan Game Shard adı verilen ayrı bir katmana ayırır. Game Shard ayrıca yatay ölçeklendirmenin toplam toplama verimini talebe göre ayarlamasına olanak tanıyacak şekilde tasarlanmıştır. Benzer şekilde Curio’nun Keystone mimarisi, yüksek verimli bir oyun motorunu toplama yürütme ortamı olarak EVM ile birleştirir. Buradaki zorluk, EVM motoru ile oyun motoru arasında kusursuz bir birlikte çalışabilirlik elde etmektir.

Veri Kullanılabilirliğiyle İlgili Hususlar

Önceki tartışmada, toplama işlemi verimini artıran uygulama toplamalarını ölçeklendirmenin ana yönüne odaklanılmıştı. Veri Kullanılabilirliği (DA), sıralayıcının merkezden dağıtılması ve yerleşim hızı gibi bu artan verimle ilgili başka konular da var. Veri kullanılabilirliği, yüksek verimli uygulama toplamaları için bu sorunların en acilidir.

Tek bir uygulama toplaması, potansiyel olarak 10 bin tps’yi aşan aktarım hızlarına ulaşabilir. Bu işlemler için Ethereum’un DA katmanı olarak kullanılması mümkün değildir. İlk olarak, basit bir L2 ETH transferinin verilerini L1’de yayınlamanın ortalama maliyeti 0,10 doları aşabilir. Bu maliyetler çoğu uygulama toplaması için çok yüksektir. Daha da önemlisi, Ethereum’un L1’i şu anda DA için L1’i kullanan toplamalar için kabaca 8k TPS’den fazlasını destekleyemiyor.

Uygulama toplamaları öncelikle harici DA çözümlerine bağlı olacaktır. Celestia ve EigenDA şu anda uygulama toplamaları için en uygun seçenek olarak konumlandırılıyor. Örneğin Eclipse, yüksek verimli SVM tabanlı toplama için Celestia’yı kullanmayı planlıyor. Argus ve yüksek verimli oyun motorları da başlangıçta Celestia’yı kullanmayı planlıyor. Benzer şekilde, 10 MB/sn’ye kadar veri çıkışı vaat eden EigenDA, birden fazla uygulamanın toplanması için uygun bir çözüm olabilir.

Ancak Celestia veya EigneDA’yı entegre etmenin temel dezavantajı ekonomik değer kaçağıdır. Uygulama toplamanın, Ethereum L1’deki uzlaşma ücretlerine ek olarak DA katmanı için ücret ödemesi gerekir. Uzlaştırma ücretleri, uygulamanın toplanması için kritik öneme sahiptir çünkü toplama güvenliğini Ethereum’un güvenliğiyle uyumlu hale getirir. DA garantileri, özellikle işlem değerlerinin çok daha küçük olduğu FOG’lar bağlamında daha az önemlidir. Ayrıca Celestia ve EigenDA, bu ağların yeni olması ve başlangıçta düşük kullanıma sahip olması nedeniyle düşük ücretler vaat ediyor. Bu DA ağları yüksek kullanıma ulaştığında DA ücretleri de aşırı hale gelebilir. Bana göre uygulama toplamaları, toplama verilerinin kullanılabilirliğini doğrulamak için bunun yerine basit bir Veri Kullanılabilirliği Komitesi (DAC) kullanmalıdır.

Sonuç olarak, genel olarak yüksek verimli uygulamaları ve özel olarak tamamen zincir üstü oyunları ölçeklendirmek için uygulama toplamalarının mevcut en iyi çözüm olduğuna inanıyorum. Bu uygulama toplamalarını ölçeklendirmek, yerel kripto kullanıcılarının ötesine geçen genel kabulü sağlamanın anahtarıdır. Alliance olarak bu vizyonu inşa eden kurucuları destekleyerek bu vizyonu gerçeğe dönüştürmek istiyoruz.