Ultra Ölçeklenebilir Parachain

Orientus Prime
6 min readNov 23, 2021

--

Son A’dan Z’ye Blockchain Teknolojileri yazımda da bahsettiğim üzere Bitcoin gibi para transferi odaklı ağlarda sınırsız parallellik sebebiyle işlem gücü anlamında bir limit bulunmamaktadır. Bu sebeple Bitcoin gibi ağlarda ölçeklenirken tedirginlik yaratabilecek tek şey veri boyutudur. Bu tartışmayı da block boyutları üzerinde görmüştük.

Herkes bu mevcut Bitcoin geliştiricileri gibi veri artışı konusunda bu kadar hassas değil tabiki. O zaman neden mevcut akıllı kontrat platformlarının tamamı ölçeklenme sorunu yaşıyor? Çünkü Ethereum’un uyguladığı şekliyle akıllı kontratlar Paralel işlem yeteneğinden mahrumdur. İşlemler sırayla ve aynı anda sadece bir işlem ilerleyebilecek şekilde dizayn edilmiştir. Bu sıralı işlemi de süper bilgisayar da kullansanız ölçekleyemezsiniz. Çünkü süper bilgisayarlarından da gücünün kaynağı işlemleri paralel ilerletmeleridir. Dolayısıyla Ethereum Sanal Makinesi en güçlü tekil işlemci çekirdeğinin çalıştırabildiği kadar hızlandırılabilir. O konuda da gelişmeler yavaşladığından günlük işlemcilerde de çok çekirdekli işlemcilere geçtik zaten.

Bu Paralel işleyememe sorununu çözmek için çeşitli yaklaşımlar mevcut. Solana’da örneğin yapılan işlemlerde kullanılacak veriler önden istenerek birbirinden bağımsız çalışacak işlemler tespit edilerek bunlar Paralel çalıştırılır. Sharding sistemlerinde ise işlem ortamı birbirinden izole parçalara ayrılır. Polkadot da temelde bir Sharding altyapısı. Polkadot’un özelleştirilebilir Shardları olan Parachain’lerde kolaylıkla Ethereum stili akıllı kontrat desteği aktif hale getirilebilir. Bunun için ekstra bir çaba gerekmez. Bu durumda oluşturduğunuz Shard sayısı kadar bir Paralellik sağlarsınız. Fakat oluşturulabilecek güvenli miktarda Shard sayısı sınırlıdır. Sınırlı olmasaydı da bu tercih edilmezdi çünkü Shard’lara bölündükçe uygulamaların ve kullanıcıların birbirleriyle iletişimi arasına ekstra bir bariyer giriyor. Bu sebeple Shard miktarının normal şartlarda 100 adedin üzerine çıkmasını beklememek lazım. Crypto’nun mevcut durumunda bu da önemli bir başarı sayılabilir fakat Polkadot bundan daha fazlasını bizlere Parachain’lerin özelleşebilme yetenekleri sayesinde sunuyor.

Sharding yoluyla birden fazla işlem ortamı oluştururken elde edilen Paralellik bu ortamlara atanan Validator’lerin iş yükünü paylaşmasıyla ekstra kapasiteye dönüştürülüyor. Fakat bu paylaştırmayı yaptıktan sonra dahi eğer Shard’lar klasik mantıkla işlemeye devam ediyorsa hala geliştirilebilecek noktalar var demektir. Çünkü Paralel’liğe sadece işlemleri farklı bilgisayarlara dağıtmak için değil kendi bilgisayarlarımız içinde de ihtiyaç duyuyoruz. Özellikle işlemcilerde GHZ limitine takıldığımızdan ve çok çekirdekli dönemin başlamasından sonra.

Enerji verimliliği ile öne çıkarak cep telefonu gibi küçük elektronik cihazlarda yaygınlık kazanan ARM tabanlı işlemcilerin artık Bilgisayarlarda ve Server’larda da yaygınlık kazandığını görüyoruz. Mevcut sistemlerde de ARM tabanlı sistemlerde de görülen bir trend var ki işlemcilerdeki çekirdek sayıları artmaya devam edecek. GPU’lar da bu konuda yine önemli yer tutuyor. GPU ile hızlandırılabilir işlerde GPU’ların Paralel işlem yetenekleri sayesinde önemli hız artışları sağlanabiliyor.

Sözün özü Sharding ile Validator’ler arası iş bölümü ile bir Paralelik yakalansa dahi bu Validator’lerin Paralel işlem yeteneği olmayan EVM (Ethereum Sanal Makinesi) gibi bir sistem kullanması yine de israftır. Çünkü günümüz bilgisayarların hızının en büyük kaynağı Paralel işlem yeteneklerinden gelir.

Paralellik konusuna gelmeden önce EVM’ye göre iyi bir kazanç sağlamaktaki bir diğer faktöre de değinelim: WASM(Webassebmly). WASM modern dilleri native performansa yakın şekilde çalıştırabilmesiyle meşhur bir işlem ortamı bizlere sunuyor. EVM’deki gibi 256bit integer çalıştırmak için modifiye etmediğiniz sürece de önemli performans kazançları sağlayabiliyor. Vitalik Buterin’in en büyük dizayn hatası olarak gördüğü EVM’in 256bit integerlarını desteklemesi için dizayn edilen Ethereum varyantı eWASM ise bu sebepten pek başarılı olamadı. Webassembly akıllı kontrat desteği Acala ve Astar gibi Parachain’lerde EVM’in yanında ekstra olarak sunulacak.

Gear

Gear diğer WASM destekleyecek Parachain’lerden farklı olarak EVM desteği sunmayacak. Ethereum uygulamalarının mevcut yaygınlığından faydalanmakla ilgilenmiyor. Gear’ın ana odağı en hızlı, yüksek kapasiteli ve kabiliyetli akıllı kontrat ortamını kullanıcılara sunabilmek.

Gear’ın Paralel işlem yeteneği için uyguladığı sistem Actor Model’dir. Actor Model’de Actor’ler programlardır. Bu programlar mesaj alabilir, mesaj gönderebilir ve kendi local verilerini değiştirebilir. Aldıkları mesajlar kendilerine ait mesaj sırasında işlem sıralarını bekler. Kendi local verilerine erişimleri vardır yani ortak bir Global State mevcut değildir. Mesaj iletim sistemi ortak bir Queue ile sağlanır. Queue’deki mesajlar sırasıyla hedeflerine iletilir.

Bu sistemin farkını anlamak için bir de Ethereum’daki EVM örneğine tekrar bakalım. Bütün blockchain Global State olarak tutulur. Global Queue’deki transferler işlenirken bir transferin işlemi bitmeden diğeri başlamaz. Gear’de mesajın iletimi bekleniyordu Ethereum’da ise mesajın iletimi tek başına yeterli değil işlemin tamamının bitmesi gerekiyor.

Durumu standart bir alışverişe benzetirsek Ethereum bir mağaza. Markete ilk müşteri giriyor. İçerde alacaklarını seçiyor, sonra ödemesini yapıp alışverişini tamamlayor ve marketten çıkıyor. Ancak ilk müşteri mağazadan çıktıktan sonra ikincinin içeri girmesine müsade ediliyor.

Gear ise bir AVM. İlk giriş kapısında bir genel sıra mevcut. İlk müşteri kapıda güvenlikten geçtikten sonra A mağazasına doğru yol alıyor. Bu sırada ise ikinci müşteri de güvenlikten geçip B mağazasına doğru yol alıyor. İkisi de aynı anda alışverişlerine devam edebiliyorlar. Eğer kapıdakilerin çoğunluğu A mağazasına gitmek istiyorsa A mağazasına ulaştıktan sonra yine de sıra beklemeleri gerekir. Fakat bu diğer mağazalara gidenleri etkilemez.

AVM tasfiriyle anlattığımız Gear’ın bu sistemi asenkron yapısı ile paralel işlem yapmayı sağlayan bir ölçeklenme modelidir. Yazılacak programlara bu sebeple kolay asenkron programlama imkanı sunmaktadır. Senkron programlar kendilerinden sonra çalışacak programların çalışmasını engeller. Asenkron programlarda ise bu sorun yoktur. Klasik senkron yapıya kıyasla Gear’ın asenkron yapısının nasıl bir avantaj sağladığını grafikteki örnekle de anlayabilirsiniz.

Bilgisayarlarımız üzerinden örnek vermek gerekirse EVM tarzı yapılarda aynı anda hem müzik dinleyip hem de twitterda dolaşamazsınız. Twitter’da dolaşacaksan müzik uygulamasını kapatman gerekir.

Gear gibi bir modelde ise hem müzik dinler hem twitterda dolaşır hem de yanda arkadaşınızla chatleşebilirsiniz.

Sharding’deki gibi ortamı neden bölmedik diye sorabilirsiniz. Fakir Sharding’i Rollup’ları Shard’ların üstüne ekleyebiliriz sonuçta. Bilgisayar analojisinden devam edersek o tarz bir modelde elimizdeki bilgisayarlar hala birden fazla işlem yapamıyor. Ama elimizde birden fazla bilgisayar var. Birinde tarayıcı çalışıyor, birinde müzik çalıyor, birinde de chat uygulaması açık. Tarayıcı’dan müzik indirdin ama hemen dinleyemiyorsun. Diğer bilgisayara yollaman lazım. Gönderim yavaş, 1 saat şarkıyı yollamakla uğraştın. Chatten sana güzel bir yazı geldi, facebooktan paylaşmak istiyorsun fakat tarayıcı diğer bilgisayarda. Yani beraber çalışmada ciddi engeller ortaya çıktı.

Nikolay Volf

Gear’ın kurucusu Nikolay daha önce Bitcoin, Ethereum ve Zcash gibi projelerde bulunmuş 2015'den beri ise Polkadot ve Substrate üzerinde çalışan bir geliştiricidir. Polkadot’un geliştirici ekibi Parity’nin de başlangıç üyelerindendir. Polkadot’da WebAssembly akıllı kontratların hayata geçirilmesini sağlayan kişidir. Polkadot’un geliştirmeleri tamamlanıp çalışır vaziyete geldikten sonra ise burdaki tecrübelerini Gear projesini oluşturmak için kullanmıştır. Geliştirilmesine protokol seviyesinde yıllarını verdiği Polkadot’a artık Parachain geliştiricisi olarak katkı vermeye devam edecek. Bu şekilde Polkadot’dan Parachain’lere geçişleri Parachain’ler dönemi geldikçe görüyoruz.

Yatırımcılar

Gear seed yatırım turunu tamamladı. Genel olarak önemli VC’lerden yatırım aldıklarını söylediler ama detayları henüz kamuoyuna açıklanmış değil. Her ne kadar hızlı ilerliyor olsalar da Gear hala çok yeni bir proje. Gear’i detaylı şekilde ilk anlatan kişi benim. Önemli bir projeden erken haberiniz oluyor yani.

Gear’in planları

Gear her Parachain projesinde olduğu gibi bir Kusama ağında bir de Polkadot ağında Parachain slotu almak istiyor. Polkadot’un şuanki slot dağıtımlarına yetişme şansları yok fakat sonraki batchlerde Gear’ı görmemiz olası. Henüz halka satış da yapmadıkları için bunlara katılmak da oldukça mantıklı olacaktır. İmkan olduğu taktirde direkt satıştan almak Crowdloan’lara göre daha tercih edilesi bir seçenek.

Topluluk

Gear yerel topluluklara oldukça önem veriyor. Bu sebeple de Türkiye’de de çeşitli etkinlikler yapılacak ve daha da önemlisi bu etkinliklerde sizlere çeşitli ödüller dağıtılacak. Ödüllü etkinliklerden, ön satışlardan ve Crowdloan süreçlerinden haberdar olmak için Gear Türkiye Telegram grubuna katılmayı unutmayın.

--

--