Danksharding ve Proto-danksharding: Yeni Başlayanlar İçin Kılavuz
Ethereum ağı, akıllı sözleşme yetenekleri sayesinde merkeziyetsiz uygulamalar (dApp'ler) için en çok tercih edilen platformdur. Blok zinciri uygulamaları için en popüler ağ olmayı sürdürse de, bu durumun bir bedeli var. Ağ, barındırdığı platform, protokol, uygulama ve token sayısının fazlalığı nedeniyle yoğun baskı altında; bu da işlem sürelerinin yavaşlamasına ve yüksek ücretlere yol açıyor.
Ethereum'un ölçeklenebilirlik sorununu çözmek için geliştirme planında çeşitli iyileştirmeler önerildi. Merge güncellemesiyle birlikte Ethereum, proof-of-stake ağına dönüştü; böylece enerji kullanımı önemli ölçüde azaldı ve PoS ağlarının yenilikçi özellikler sunmasının önü açıldı. Ancak, işlemlerin daha uygun maliyetli ve verimli hâle gelmesi için Ethereum'un hâlâ atması gereken adımlar var.
Çözüm olarak sharding
Ethereum blok zincirinde ağ tıkanıklığını ve ücretleri azaltmak için olası bir çözüm, zinciri daha küçük parçalara bölmek anlamına gelen sharding uygulamasıdır. Ancak, işlemleri daha hızlı ve uygun maliyetli hâle getirmek için alternatif bir çözüm olarak danksharding öne çıkıyor.
Ethereum ağına yükseltmeler uygulamak, yüksek ağ aktivitesi ve ona bağlı çok sayıda uygulama nedeniyle zordur. Bu nedenle, ağın konsensüsünde yapılacak önemli değişiklikler aylar hatta yıllar sürebilir. Bu yüzden özelleştirilmiş bir çözüm gereklidir. Proto-dank sharding, mevcut Ethereum ağı ile gelecekteki danksharding sürümü arasındaki boşluğu dolduran çözümdür.
Öncelikle, danksharding'in ne anlama geldiğine bakalım.
Danksharding nedir?
Danksharding, mevcut Ethereum layer two çözümleriyle iletişim kurmak için, tüm Ethereum ağını sharding'e tabi tutmaktan çok daha kolay uygulanabilen bir yöntem sunar. Ayrıca, blok başına daha fazla veri işlenmesini sağlar; böylece ağın hızından veya gas ücretlerinden ödün vermeden daha karmaşık işlemler yapılabilir.
Buradaki amaç, blok zinciri rollup'larının verimliliğini artırmaktır. Bunun nasıl sağlandığını anlamak için, blok zinciri rollup'larının Ethereum blok zinciriyle nasıl etkileşime girdiğini inceleyelim.
Şu anda rollup'lar, Ethereum işlemlerini kendi Layer-2 zincirlerinde toplu olarak işler ve ardından "validity proof"u Ethereum ana zincirine gönderir. Bu yaklaşım maliyetleri azaltsa da, rollup işlem maliyetlerinin %90'ından fazlası hâlâ bu kanıtı ana Ethereum ağına göndermek için harcanmaktadır.
Danksharding ile Ethereum ağı, layer two rollup'lardan gelen toplu işlemleri, tüm verileri kalıcı olarak depolamadan işleyebilir. Bu, uzun vadede Ethereum ana ağındaki veri yükünü azaltır.
Proto-danksharding (EIP-4844) nedir?
Proto-danksharding, danksharding'i Ethereum ağına kazandırmayı amaçlayan bir tekliftir. Ethereum Improvement Proposal 4844'te önerilmiş ve Ethereum araştırmacıları Dankrad Feist ile Proto Lambda'nın isimlerinden türetilmiştir. Ethereum'un Dencun Yükseltmesi kapsamında, 13 Mart 2024 tarihinde uygulamaya alınmıştır.
Proto-danksharding nasıl çalışır?
Danksharding'e hazırlık aşamasında, proto-danksharding "blob-carrying transactions" adı verilen yeni bir işlem türü ve buna bağlı "blobs" veri tipini tanıttı. Bu özellikler, Ethereum ağının blok zinciri rollup'larından gelen verileri daha verimli işlemesini sağlar. Şimdi nasıl çalıştığına daha yakından bakalım.
Blobs (Binary Large Objects) nedir?
Blobs, standart bir geçici veri depolama yöntemidir. Ethereum ağı için görece yenidir; ancak Javascript ve Python gibi programlama dillerinde uzun süredir kullanılmaktadır.
Şu anda Ethereum, tüm verilerini ağdaki her bir node'da süresiz olarak saklar. Bu, calldata — kalıcı bir hafıza deposu — sayesinde mümkündür. Ancak bu yöntem kaynak açısından yoğundur ve yüksek maliyetlidir.
Buna karşılık, blobs'lar bakım açısından daha ekonomiktir; çünkü 4096 epoch (yaklaşık 18 gün) sonra süresi dolar. Bu, depolama maliyetlerini önemli ölçüde azaltır. Tek bir blob 128 kb'a kadar veri tutabilir ve her blokta 16 blob'a kadar veri taşınabilir. Bu da kısa vadeli amaçlar için geniş bir depolama alanı sunar. Sonuç olarak, Ethereum ağı zaman içinde blok başına daha az veri saklamış olur.
Blob-carrying transactions nedir?
Blob-carrying transactions, blobs'ları işlemek ve Ethereum zincirinin, blob'un kendisini okumadan geçerliliğini doğrulamak için kullanabileceği validity proof'u taşımak için tasarlanmıştır.
KZG commitment scheme mekanizmasıyla, EVM gerçek blob verisine erişmeden, sıfır bilgi ispatları (Zero-Knowledge proofs) aracılığıyla bir blob'a olan bağlılığı gözlemleyebilir. Blobs taşıyan işlemler, EVM'den ayrı bir mempool'da tutulur; böylece veri güvenliği sağlanırken blok alanı da maksimuma çıkarılır.
Yeni bir işlem türü olarak, blob-carrying transactions için yeni bir ücret mekanizması da getirilmiştir. Bu işlemler için fiyatlandırma yapısı dinamiktir ve arz-talep dengesine göre belirlenir. İşlem başına üçten fazla blob olması genellikle daha yüksek ücretlere yol açar ve bu ücretler bloktan bloka yaklaşık %12,5 oranında değişebilir.
Danksharding'in avantajları nelerdir?
Gas ücretlerini düşürmek
Danksharding'in avantajlarından biri, işlem ücretlerini azaltmasıdır. Çünkü Ethereum ağındaki yüksek gas ücretlerinin ana nedeni ağ tıkanıklığıdır. Ağ tıkanıklığı, çok sayıda kullanıcının aynı anda Ethereum üzerindeki blok zinciri uygulamalarına ve platformlara erişmesiyle oluşabilir.
Bildiğiniz gibi, Ethereum çoğu dApp'e ev sahipliği yapar ve bu nedenle ağ tıkanıklığı kullanıcılar için yaygın bir sorundur. Danksharding, rollup işlemlerinin ağda daha kolay işlenmesini sağlayarak Ethereum'un tıkanıklığı önlemesine yardımcı olur. Bu da yalnızca L2 zincirlerinde değil, genel olarak Ethereum ağında gas ücretlerini olumlu yönde etkiler.- Daha hızlı işlemler
Danksharding, Ethereum'un işlemleri daha hızlı gerçekleştirmesini sağlar. Verileri geçici olarak depolayarak ağdaki node'lara fayda sunar. Danksharding öncesinde, her bir node'un blok zincirinin tüm geçmişinin tamamını saklaması gerekiyordu ve bu oldukça zahmetliydi.
Ancak danksharding ile node'lar daha az veri saklayıp işleyerek daha verimli çalışabilir. Sonuç olarak, işlemler çok daha hızlı gerçekleşir ki bu da önemli bir avantajdır.
Danksharding'in dezavantajları nelerdir?
- Güvenlik sorunları
Danksharding, Ethereum'un ölçeklenebilirlik sorunlarına çözüm olarak önerilmiş olsa da, güvenliği konusunda bazı endişeler gündeme gelmiştir.
Danksharding yöntemi, blob-carrying transactions işlemlerinin zincir dışında doğrulanmasını içerdiğinden, sharding'e göre ağda daha basit bir uygulamadır. Ancak bu durum bir güvenlik riski doğurur; çünkü kötü niyetli kişiler, daha küçük ve deneyimsiz zincirlerin saldırıya açık olması nedeniyle daha az popüler rollup'ları hedefleyebilir.
Bu nedenle, kötü amaçlı blob-carrying transactions işlemleri Ethereum ana ağına kadar ulaşabilir. Rollup'larda bu tür saldırılara karşı güvenlik önlemleri bulunsa da, bu önlemler Ethereum ana ağı kadar güçlü değildir.
Ethereum'da Proto-danksharding için sırada ne var?
Ethereum blok zinciri, artan talebe ayak uydurmak için altyapısını ölçeklendirme konusunda çeşitli zorluklarla karşılaştı. Ancak, ölçeklendirme için yapılan sürekli çalışmalar — sharding ve Ethereum Dencun yükseltmesi — ağın kapasite ve performansını artırma konusunda umut verici ilerlemeler kaydedildiğini gösteriyor. Ethereum Dencun Yükseltmesi 13 Mart'ta devreye alındı. Ethereum ağının potansiyel büyümesini karşılamak için farklı çözümler aramaya devam etmesi bekleniyor. Danksharding, bu çözümlerden yalnızca biri.