Danksharding
Danksharding Ethereum'un nasıl tamamen ölçeklendirebilir bir blok zincire dönüşebilir sorusunun cevabı, ancak o noktaya gelebilmek için yapılması gereken birkaç protokol yükseltmesi var. Proto-Danksharding de bu yolun ortalarında bulunan bir adım. İkisi de Katman 2'deki işlemleri kullanıcılar için mümkün olduğu kadar ucuz tutmaya ve Ethereumu >saniyede 100.000 işleme kadar ölçeklendirebilmeyi hedefliyor.
Proto-Danksharding nedir?
Proto-Danksharding, EIP-4844(opens in a new tab) olarak da bilinir ve toplamaların bloklara daha uygun veri ekleyebilmesini sağlayan bir yöntemdir. Bu iki kavramın isimleri fikri ortaya atan araştırmacılardan gelmektedir: Protolambda ve Dankrad Feist. Toplamalar tarihsel olarak, işlemlerini CALLDATA
'da gönderdikleri için kullanıcı işlemlerini ne kadar ucuz hale getirebilecekleri konusunda sınırlamaya tabiydi.
Bu, tüm Ethereum düğümleri tarafından işlendiği ve sonsuza kadar zincir üstünde kaldığı için pahalıdır, oysa toplamalar verilere yalnızca kısa bir süre için ihtiyaç duyar. Proto-Danksharding, bloklara gönderilebilen ve eklenebilen veri kümelerini blob'larını kullanıma sunuyor. Bu blob'lardaki verilere EVM tarafından erişilemez ve bu veriler belirli bir zaman aralığından sonra otomatik olarak silinir (bu belgenin yazımı sırasında 4096 dönem veya yaklaşık 18 gün olarak ayarlanmıştır). Bu, toplamaların verilerini çok daha ucuza gönderebileceklerini ve birikimleri de son kullanıcılara ucuz işlemler adı altında aktarabileceği anlamına gelir.
Veri damlaları nasıl onaylanır?
Toplamalar, yürüttükleri işlemleri veri blob'larına gönderir. Ayrıca veri için bir "taahhüt" de gönderirler. Bunu, verilere polinom bir fonksiyon sığdırıp yaparlar. Artık bu fonksiyon çeşitli noktalarda değerlendirilebilir. Örneğin aşırı basit bir fonksiyonu ele alırsak, f(x) = 2x-1
, bu fonksiyonu da sonra x = 1
, x = 2
, x = 3
için de değerlendirebiliriz ve vereceği sonuçlar 1, 3, 5
olur. Bir kanıtlayıcı aynı uygulamayı verilere uygular ve aynı noktalarda onu değerlendirir. Eğer orijinal veri değişmişse, fonksiyon aynı olmaz; bu yüzden her noktadaki değerler de farklı ölçülür. Gerçekte, taahhüt ve kanıt biraz daha karmaşıktır çünkü bunlar kriptografik fonksiyonlara sarılıdır.
KZG nedir?
KZG'nin açılımı Kate-Zaverucha-Goldberg'dür. Bunlar bir(opens in a new tab) veri bloğunu daha küçük bir veri bloğuna indirgeyen bir şemanın 3 orijinal yazarıdır: "kriptografik taahhüt"(opens in a new tab). Bir toplama tarafından gönderilen veri blob'unun, toplamanın hatalı davranmadığından emin olmak adına doğrulanması gerekir. Bu, bir kanıtlayıcının taahhüdün geçerliliğini kontrol etmek için blob'daki işlemleri yeniden yürütmesini gerektirir. Bu, yürütüm istemcilerinin Merkle kanıtlarını kullanarak Ethereum işlemlerinin geçerliliğini sorgulamasıyla kavramsal olarak aynıdır. KZG, verilere polinom denklemi yerleştiren alternatif bir kanıttır. Taahhüt, polinomu bazı gizli veri noktalarında değerlendirir. Kanıtlayıcı aynı polinomu tekrar tekrar veriye yerleştirir ve aynı değerlerle değerlendirirse, sonuç da hep aynı olur. Bu verinin sıfır bilgi teknikleriyle uyumlu olduğunu onaylamak için bazı toplamalar ve haliyle Ethereum protokolünün farklı bölümleri tarafından kullanılan bir yöntemdir.
KZG Töreni neydi?
KZG töreni, Ethereum topluluğundan birçok kişinin toplu olarak bazı verileri doğrulamak için gizli bir rastgele sayı dizisi oluşturmasını sağlayan bir yöntemdi. Bu sayı dizilerinin kimse tarafından bilinmemesi ve tekrar oluşturulmaması çok önemlidir. Bundan sağlamak için törene katılan her kişi önceki katılımcıdan bir dizi aldı. Sonrasında yeni rastgele değerler oluşturdular (ör. tarayıcılarının farelerinin hareketini ölçmesine izin vererek) ve önceki değer ile karıştırdılar. Daha sonrasında, değeri sıradaki katılımcıya gönderdiler ve kendi yerel makinelerinden tamamen sildiler. Törende bir kişi bunu dürüstçe yaptığı sürece, nihai değer saldırgan tarafından bilinemez.
EIP-4844 KZG töreni herkese açıktı ve on binlerce insan kendi entropisini (rastgelelik) eklemek için katıldı. Toplamda 140.000'den fazla katkı yapılarak dünyanın bu türden en büyük töreni gerçekleştirildi. Bu törenin baltanabilmesi için, katılımcıların %100'ünün aktif olarak sahtekar olması gerekirdi. Katılımcıların gözünde, eğer kendilerinin dürüst olduklarını biliyorlarsa, başkalarına güvenmeye gerek yoktu çünkü kendilerinin zaten töreni güvende tuttuklarını biliyorlardı (N'de 1 dürüst katılımcı gerekliliğini kişisel olarak sağlamışlardı).
DankSharding nedir?
Danksharding, Proto-Danksharing ile başlayan toplama ölçeklemesinin tamamen gerçekleştirilmesidir. Danksharding, sıkıştırılmış işlem verilerini boşaltabilmek adına Ethereum'a toplamalar için fazla miktarda alan sağlayacaktır. Bu da Ethereum'un yüzlerce bağımsız toplamayı kolaylıkla destekleyebileceği ve saniyede milyonlarca işlem gerçekleştirebileceği anlamına gelir.
Bunun çalışma biçimi, Proto-Danksharding'de bloklara bağlı blob'ların sayısının altıdan (6) tam Danksharding'de 64'e çıkarılması şeklindedir. Diğer gerekli değişiklikler, fikir birliği istemcilerinin yeni büyük damlalarla başa çıkabilmek için gereken çalışma biçimindeki güncellemelerdir. Bu değişiklerden bazıları, Danksharding'den bağımsız sebeplerden dolayı halihazırda yol haritasında bulunmaktadır. Örneğin, Danksharding, "önerici-inşa edici" ayrımının uygulanmış olmasını gerektirir. Bu, blok inşası ve blok önerisi görevlerini farklı doğrulayıcılara dağıtan bir yükseltmedir. Benzer şekilde Danksharding için, veri ulaşılabilirliği örneklemi gereklidir. Ancak, aynı zamanda yüklü miktarda geçmiş verileri depolamayan hafif istemcilerin (durumsuz istemciler) geliştirilmesinde de gereklidir.
Güncel ilerleme
Full Danksharding için birkaç yıl daha beklememiz gerekiyor. Bu arada, KZG töreninde 140.000'den fazla katkı gerçekleşti ve Proto-Danksharding için EIP(opens in a new tab) olgunlaştı. Bu öneri, tüm test ağlarında tam olarak uygulanmış ve Mart 2024'te Cancun-Deneb ("Dencun") ağ yükseltmesi ile Ana Ağda faaliyete alınmıştır.
Daha fazla bilgi
- Proto-Danksharding notları(opens in a new tab) - Vitalik Buterin
- Dankrad'ın Danksharding üzerine notları(opens in a new tab)
- Dankrad, Proto ve Vitali Danksharding hakkında konuşuyor(opens in a new tab)
- KZG töreni(opens in a new tab)
- Carl Beekhuizen'in güvenilir kurumlarla ilgili Devcon konuşması(opens in a new tab)
- Damlalar için veri kullanılabilirliği örneklendirmesi hakkında daha fazlası(opens in a new tab)
- Dankrad Feist'in KZG taahhütleri ve ispatları hakkındaki görüşleri(opens in a new tab)
- KZG polinom taahhütleri(opens in a new tab)