Ethereum’un Geleceği Üzerine
Ledger CTO'su Charles Guillemet, Ethereum'un geleceği hakkındaki ve Ethereum protokolünün, Web 3.0'ın ana akım olarak benimsenmesini destekleme potansiyeli üzerine fikirlerini paylaşıyor.
Bilmeniz gerekenler: |
– Piyasa değeri itibarıyla dünyanın ikinci en büyük blok zinciri olan Ethereum, yakın zamanda “The Merge” (Birleşim) adında önemli bir yazılım yükseltmesi gerçekleştirerek İş İspatından Hisse İspatı konsensüsüne geçti. – Başarılı bir geçiş olsa da Web 3.0’ın gelişiminin bir sonraki aşaması için Ethereum’un ölçeklenebilirliği ve hazır olma durumu ile ilgili bazı soru işaretleri var. – Bu makalede, Ethereum’un ölçeklendirme açısından karşılaştığı zorluklar ele alınmakta ve ana akım benimsenme ihtiyaçlarını karşılama kabiliyeti değerlendirilmektedir. Henüz kusursuz bir ölçeklendirme çözümünün mevcut olmadığı ifade edilmekle birlikte, Optimistic ve Validity Rollup’ların yer aldığı Layer 2, blok zinciri üçlemi açısından iyi bir denge ile yüksek ölçeklenebilirlik için en iyi potansiyele sahiptir. – Daha net bir ifadeyle, ZKP teknolojisinin kullanıldığı Optimistic ve Validity Rollup’lar; belirli ölçeklerde güven ve izin gerektirmeyen karmaşık işlemleri mümkün kılarak Ethereum’un geleceğini şekillendirmede kilit bir role sahip olacaktır. |
Ethereum’u Ölçeklendirme: Çözüm Arayışı
Birçok blok zinciri gibi Ethereum da günümüzde sınırlı işlem gerçekleştirme kapasitesiyle karşı karşıyadır. Destekleyici ETH transferlerine ve binlerce DApp’e rağmen artan kullanım oranı, işlemleri daha yavaş ve daha pahalı hâle getirdi.
Bu durum, insanların yüksek ücretleri azaltmak üzere NFT piyasaları için “off-chain” (zincir dışı) merkezî hizmetler gibi güvenli olmayan tasarım kararlarına yönelmesine neden oldu. EIP-1559 ile birlikte ücret hesaplaması ve teşvik iyileşti ancak bu, ölçeklenebilirliği çok fazla geliştirmedi. Ölçeklenebilirlik konusunun zorluğu; Ölçeklenebilirlik, Merkeziyetsizlik ve Güvenlik unsurlarını kapsayan meşhur blok zinciri üçlemiyle en iyi şekilde anlaşılabilmektedir.
Blok zinciri üçlemi, şu üç özelliğe aynı anda sahip olmanın mümkün olmadığını iddia etmektedir: Merkeziyetsizlik, güvenlik ve ölçeklenebilirlik. Web 2.0’ın kanıtladığı gibi merkeziyetsizlikten ödün verildiğinde ölçeklenebilir ve güvenli bir sistem oluşturmak çok daha kolaydır. Konsensüs mekanizmanızdan ödün vererek ölçeklenebilirliğe öncelik verdiğinizde ise amaçsız, güvenli olmayan, merkeziyetsiz bir blok zinciri elde edersiniz. Blok zinciri üçleminin çözümü son derece karmaşıktır ve bu sorun son on yıldır devam etmektedir.
Hacmi Artırmak: Birden Çok Yaklaşım
Geçtiğimiz yıllarda, Ethereum blok zinciri üçlemini çözmeye yönelik birçok çözüm ortaya atıldı. Popüler önerilerden biri ise daha büyük bloklar veya saniye başı blok oluşumudur. Her ne kadar iyi bir fikir gibi görünse de bu, konsensüs için blok zinciri node’larına ve doğrulayıcılara/madencilere yönelik talebi yoğunlaştırarak merkeziyetin artmasına neden olmaktadır. Ayrıca yeniden yapılandırmayı yavaşlatmakta ve güvenlik risklerini artırmaktadır.
Alternatif bir çözüm ise Polygon ağında görüldüğü gibi ana zincirin yükünü azaltmak üzere bir yan zincir oluşturmaktır. Bu sistem, Ethereum’dan daha zayıf bir konsensüse (daha düşük piyasa değerine) bağlı olduğundan güvenlikten ödün verilmesine neden olmaktadır. Belirli kullanım alanlarına uymakla birlikte genellikle merkezîleşmeye yol açmakta ve Ethereum’un ölçeklenebilirlik sorunlarını tam olarak çözmemektedir. Her şey bir yana, Visa tarzında bir sistemi çalıştırmak için gereken on binlerce talebin çok uzağındadır.
Layer 2 ve Sharding: Ethereum’un Ölçeklenebilirlik Zorluklarını Çözebilir mi?
Sharding ve Layer 2, geniş bir kesim tarafından Ethereum’un blok zinciri üçleminden ödün vermeden ölçeklenmesi için en iyi seçenek olarak görülmektedir.
Bir yandan blok zinciri sharding’i, blok zinciri dünyasında uzun zamandır ölçeklenebilirliğin anahtarı olarak görülmektedir. Bu; 2019’da BLS imza şemasına, Hisse İspatı konsensüs mekanizmasına ve eWASM uygulamasına geçen Eth 2.0’ın ana özelliğiydi. Diğer yandan Layer 2, rollup mekanizmalarına yönelik devam eden araştırmalar ile hızlı ilerlemeler kaydetti. Şimdi bu iki rakip yaklaşımın mevcut durumunu ve gelecekte neler sunabileceklerini inceleyelim.
Blok Zinciri Sharding’i Nasıl Çalışır?
Sharding (parçalama) teriminin çıkış noktası, veri tabanının yatay bir şekilde shard (parça) olarak adlandırılan daha küçük ve yönetilebilir parçalara ayrıldığı veri tabanı bilimidir. Her shard, bir veri alt kümesi barındıran ayrı bir veri tabanıdır. Sharding, verileri ve sorguları birden çok sunucuya dağıtarak veri tabanlarını ölçeklendirmek için kullanılır ve veri tabanının tek ve güçlü bir sunucuya ihtiyaç duymadan yüksek veri hacimlerinin üstesinden gelmesini sağlar.
Blok zincirlerinde sharding’den yararlanma fikri de geliştiriciler arasında hızla popüler hâle geldi. Blok zinciri sharding’i, ağı “shard” (parça) olarak adlandırılan daha küçük alt ağlara böler ve shard’lar işlemlerin paralel bir şekilde işlenmesine olanak tanır. Shard’lara ayrılmış bir blok zincirinde her shard, bağımsız bir şekilde çalışan ayrı bir zincirdir. Yani her node, madenci/doğrulayıcı, yerel bir konsensüs oluşturmak üzere belirli bir shard’a odaklanabilir. İlk olarak, işlemlerin paralel bir şekilde işlenmesini sağlar. İkinci olarak, her shard’ın yönetmesi gereken daha az işlem vardır. Kulağa mükemmel geliyor. O hâlde bu işin bit yeniği nedir?
Sharding Zorlukları: Konsensüs, Shard’lar Arası İletişim ve Güvenlik
Blok zinciri sharding’inde genel konsensüsü tanımlamak kolay değildir. Ağın genel konsensüsü nedir? Her bir yerel konsensüsün birleşimi midir? Herkesin güvenebileceği genel bir konsensüs oluşturmak için bu yerel konsensüsleri nasıl ve nerede konumlandıracaksınız? Bu soruları yanıtlamak kolay değil.
Sharding’in uygulanmasıyla ilgili bir diğer önemli zorluk ise shard’lar arası iletişimdir. Konu veri tabanları olduğunda böyle bir sorun söz konusu değildir, çünkü veriler farklı shard’lara bölüştürülür ve ciddi bir sorun olmadan bunları bağımsız bir şekilde okuyabilir veya yazabilirsiniz. Ancak blok zinciri sharding’inde kodların yürütülmesi çok daha karmaşıktır. Her shard’ın kendi kodunu yürütebilmesi, farklı bir shard’ın durumuna danışabilmesi ve başka bir tanesinde kod yürütebilmesi gerekir. Bu azımsanacak bir şey değildir.
Sharding zorluğu ayrıca güvenlik sorunuyla da ilgilidir. Bu sorun, uzmanlar tarafından incelenmiştir ve farklı sharding şemalarının, birçok yeni saldırı biçimine karşı savunmasız olduğu kabul edilmektedir. Öncelikle, konsensüs mekanizmasıyla pek uyuşmamaktadır. 10 shard’ınız varsa ve madenciler her bir shard’a dağıtılmışsa bir shard’ı ele geçirmek, blok zincirinin tamamını ele geçirmekten 10 kat daha az maliyetlidir. Şematik olarak %51 saldırısı %5,1 saldırısı hâline gelir. Bunun bir çözümü, İş İspatı konsensüs mekanizmasını Hisse İspatı olarak değiştirmektir. Bu, Ethereum’un Hisse İspatına geçmesinin birincil nedeniydi.
Güvenlik açısından Birleşimin etkisi yoğun bir şekilde tartışılmaktadır. Merkeziyetsizlik açısından ise güncellenen Ethereum konsensüsü, token sahipliğine göre belirlenen ağ kontrolünden ötürü merkeziyeti desteklemektedir.
Ethereum’un yeni konsensüsünde birçok parametre, merkeziyeti teşvik etmektedir:
- Ethereum node’unuzu çalıştırmak basit değildir; kaynak ve çalışma zamanı gerektirir. Cüzdanınızın, onu dizüstü bilgisayarınızda ve hatta mobil cihazınızda çalıştırmasını önlemektedir.
- 32 ETH eşiği ve bilinmeyen bir tarihe kadar stake iptalinin mümkün olmaması nedeniyle, piyasanın büyük bir kısmını Lido’nun ve borsaların aldığı bir Havuz ve liquid staking’i oluşturdu. Günümüzde Ethereum blok zincirine stake edilen coin’lerin %55’inden fazlası 4 aktörün kontrolündedir (Lido %29,2, Coinbase %13,1, Kraken %7,6 ve Binance %6,2).
Neticede blok zinciri sharding’i, ölçeklenebilirliği artırmak için ilginç bir fikirdir ancak özellikle genel konsensüsü tanımlama ve etkili bir shard’lar arası protokol uygulama açısından karmaşık bir mimariyi gerektirmektedir. Bu hedeflere ulaşmak için birçok çalışma yapıldı ancak bunların uygulanması ve blok zinciri üçlemi üzerindeki etkilerinin görülmesi için daha epey yol katedilmesi gerekiyor.
Rollup’lar imdada yetişti
Rollup’lar, Ethereum tarafından yürütülmek üzere birden çok işlemi sıkıştırarak tek bir işleme dönüştürür ve birçok işlemin, Ethereum’un ödeme güvenliğiyle “off-chain” (zincir dışında) yürütülmesine olanak tanır. Bu fikirle ilgili iki ana uygulama vardır:
- Kullanıcıların, anlaşmazlık durumunda dolandırıcılık ispatları yayınlamasını sağlayan Optimistic Rollup’lar.
- L2 ağının doğruluk ispatlarını yayımladığı ZK Rollup’lar.
Optimistic Rollup’lar ve kesinlik sorunu:
Optimistic Rollup’lar, en EVM görünümlü Rollup’lar olarak tasarlanmıştır. Bunlara “optimistic” yani “iyimser” adı verilir çünkü kullanıcıların dolandırıcılık amaçlı işlemler göndermedikleri varsayılarak onların doğrudan blok zincirine yazmalarına izin verilir.
L2 doğrulayıcılarının, birkaç gün içinde (Optimistic’te 7 gün) yapılan “off-chain” (zincir dışı) işlemleri kontrol etmek için başlatabilecekleri, dolandırıcılık ispatları kullanan bir mekanizma vardır. Geçerli bir dolandırıcılık ispatı, işlem sürecindeki dolandırıcılık amaçlı adımları tespit eder ve işlemin geri alınmasıyla ve onaylayan doğrulayıcının cezalandırılmasıyla sonuçlanır. Bu, işlem hacmini artırmanın yanı sıra Ethereum ana zincirinin güvenliğini de korur.
Ancak Optimistic Rollup’lar yeni bir sorunu ortaya çıkarmakta: Kesinlik. Blok zincirlerinde onaylanan işlemler, konsensüs mekanizmasına bağlı olmakla birlikte kalıcıdır ve geri alınamaz. Örneğin İş İspatı zincirleri, yeniden yapılandırma olasılığı düşük olduğunda işlemleri kesin olarak kabul eder ve Bitcoin işlemleri ise 6 onaydan sonra kesinlik kazanır. Optimistic rollup’larda işlemler birkaç gün sonra geri alınabilmektedir ve bu da kesinlik durumunu zorlaştırır ve farklı bir taviz ortaya çıkarır.
Başka türden bir rollup: ZK Rollup’lar
Bir diğer Rollup türü olan ZK Rollup’lar, SNARK veya STARK gibi “Sıfır Bilgi İspatı” (Zero-Knowledge Proof, ZKP) teknolojisini kullandığı için böyle adlandırılmıştır. Sıfır bilgi özelliği aslında faydalı olmadığından bunlara “Validity Rollup” (Doğruluk Rollup’ı) demek daha doğru olabilir.
Rollup, birtakım işlemler gerçekleştirerek Ethereum blok zincirindeki, işlemlerin nihai sonucunu onaylayan bir akıllı sözleşme tarafından doğrulanan bir doğruluk ispatı oluşturur. Kriptografik ispat, Sıfır Bilgi kriptografik temelleri kullanılarak oluşturulur.
Daha geniş anlamda sıfır bilgi ispatları, bir tarafın (ispatlayan) belirli bilgilere sahip olduğunu bu bilgileri açıklamadan başka bir tarafa (doğrulayan) gösterebilmesini sağlamaktadır. İspatlayan, ispatlayanın argümanının içeriğini öğrenmeden bunun gerçekliğinden emin olabilir.
Esasında gizlilik amacıyla tasarlanan ZK Rollup’lar sıfır bilgi ispatlarını tamamen başka bir amaç için kullanır, yani sıkıştırma ve güvenilir bilişim için. Önde gelen sıfır bilgi teknolojilerinden ikisi, zk-STARK (Sıfır Bilgi Ölçeklenebilir Şeffaf Bilgi Argümanı ifadesinin kısaltmasıdır) ve zk-SNARK’tır (Sıfır Bilgi Kısa Etkileşimsiz Bilgi Argümanı ifadesinin kısaltmasıdır).
L2 için veri kullanılabilirliği sorunu:
Gördüğümüz gibi, ZKP teknolojileri L2 durumunun doğruluğundan emin olur ancak tek başına ispat, duruma erişim sağlamaz. Hacmi artırmak amacıyla yürütme süreci “off-chain”e (zincir dışına) taşınmıştır ancak veriler, yeniden inşa için erişilmeye hazır hâlde olmalıdır. Bunun için işlem verileri, verilerin gelecekte yeniden inşa için kullanılabilir olmasını sağlamak üzere Ethereum’da çağırma verileri olarak gönderilir. Bu veriler ayrıca IPFS veya Arweave gibi güvenilir merkeziyetsiz depolama alanlarında saklanabilir ve böylece herhangi bir kişinin L2’yi yeniden inşa etmesine ve merkeziyetsiz depolamanın iç teşviklerinden faydalanmasına olanak tanır.
Bu verileri “on-chain” (zincir içinde) saklama kabiliyeti daha da iyi olurdu ancak bu veriler sadece L2’nin durumunun/doğruluğunun yeniden inşası içindir ve yürütülmez. Dolayısıyla bu, blok zinciri kapasitesinin verimsiz ve pahalı bir şekilde kullanılması olurdu.
Ethereum geliştiricileri bu engeli aşmak için iki EIP önerdi: EIP-4488 ve EIP-4844 (bunları birbirine karıştırmama konusunda iyi şanslar dileriz). İlki çağrı verileri için gas masraflarını azaltırken ikincisi, L2 veri depolaması için yeni bir işlem türü oluşturmaktadır. Bu veriler değiştirilemez ve salt okunurdur. Ayrıca EVM tarafından erişilemez ve dolayısıyla yürütülemezler.
Bu EIP’ler, ZK Rollup yol haritası ile Yürütme Sharding’i yol haritasının tam olarak kesiştiği yerdir ve her ikisi de farklı amaçlarla aynı konsepti önermektedir. EIP-4488, önemli L2 verilerini saklamayı amaçlarken Proto Danksharding olarak da bilinen EIP-4844, Danksharding’in ve yürütme sharding’inin uygulanmasına yönelik bir adımdır.
Danksharding:
Danksharding, ayırmak ve işlemek üzere (genellikle paralel bir şekilde) büyük veri kümelerinin daha küçük parçalara bölünmesini içerir. Bu yöntem, öğrenme kümelerinin oldukça büyük olabildiği büyük verilerde ve yapay zeka alanlarında kullanılmaktadır.
Proto-danksharding (EIP-4844), sharding yöntemini uygulamaz ancak shard’lara ayrılabilen daha ucuz çağrı verileri depolaması sunar. Bu ucuz çağrı verileri depolaması, L2’de Ethereum’un ölçeklenebilirliğini büyük ölçüde geliştirerek sharding’i gereksiz kılacaktır.
Proto danksharding:
Proto danksharding ile Ethereum blok zinciri ölçeklenemez hesaplamalara ve ölçeklenebilir verilere sahip olacaktır. ZK Rollup’lar bu ölçeklenebilir verileri ve ölçeklenemez ancak güvenilir hesaplamaları ölçeklenebilir hesaplamalara dönüştürmektedir.
Blok zinciri üçleminde ZK Rollup’lar:
ZK Rollup’ların, altta yatan blok zinciri özelliklerini değiştirmeden sunabildiği güçlü ölçeklenebilirlik avantajları vardır. Sıfır Bilgi ispatını “on-chain” (zincir içinde) doğrulamak ana gereksinimdir; veri kullanılabilirliği ise “off-chain” (zincir dışı) uygulanabilir. Uzun vadede Layer 1’in basit, güvenli ve (umarız) merkeziyetsiz hâle geleceğini ve Layer 2’nin de ölçeklenebilirlik sunacağını bekleyebiliriz.
Bit yeniği ne mi?
L2 ölçeklendirme konusunda oldukça iyi. Ancak “on-chain” (L1 zincir içinde) işlemler için L2’nin genel durumuna ilişkin bir doğruluk ispatının oluşturulması gerekmektedir ve bu da merkeziyet sorunları yaratmaktadır. Şu anda L2 tasarımlarının sadece bir ispatlayanı vardır. Yani işlemleriniz sansürlenebilir. Fakat yerel köprüler kurulduğundan L1 varlıklarınızı gerçekten donduramazlar. Başka tarafların ispat gönderebileceği şekilde bu zorluğun üstesinden gelinmesine yönelik araştırmalar devam etmektedir ancak bu ispatlar arasındaki uyuşmazlıkların çözülmesiyle ilgili cevaplanması gereken zor sorular vardır. Her halükarda bu, gelecekte çözülmesi gereken önemli bir sorun.
Starknet bunu yol haritasındaki önemli bir konu olarak tanımlarken Arbitrum ise sansürlenme ihtimaline karşın fonların geri alınabilmesi için sorumluluğu, sıralayıcı gelen kutusu ile gecikmeli gelen kutusu arasında bölüştürmektedir.
Son notlar
Gördüğümüz gibi ölçeklenebilirlik, güvenlikten ve merkeziyetsizlikten ödün vermenize neden olabilmektedir. Bu bağlamda Layer 2 çözümleri, blok zinciri üçleminin diğer yönlerinden ödün vermeden ölçeklenebilirliği artırma konusunda en umut vadeden yöntemler olarak görülmektedir.
ZKP teknolojisinin kullanıldığı Optimistic ve Validity Rollup’lar, belirli ölçeklerde güven ve izin gerektirmeyen karmaşık işlemleri mümkün kılarak Ethereum’un geleceğini şekillendirmede hayati bir role sahip olacaktır. Validity Rollup’ların, Optimistic Rollup’lar üzerinde kısa sürede kesinlik sağlamak gibi çok önemli bir avantajı vardır. Ethereum’un yol haritası yakın zamanda blok zinciri düzeyinde bu rollup’ları destekleyecek şekilde değişti.
Blok zinciri ölçeklenebilirliğinin geleceği, merkeziyetsiz ve güvenli Layer 1 ile neredeyse sonsuz ölçeklenebilirlik olanağını tanıyan Layer 2’lerde çalışan karmaşık dApp’leri (veya geri dönüşümlü rollup’lar) içermektedir. Uzun vadede, dApp’lerin karmaşıklığının Layer 2’lere taşınmasıyla birlikte Layer 1, çözümleme katmanları hâline gelebilir.