Verkle ağaçları ,temelde Merkle ağaçlarıyla aynı işi yaparlar. Verkle ağacında kriptografik hash fonksiyonlarının yerine vektör taahhütleri kullanılır. Ancak Verkle ağaçlarının sağladığı temel özellik, kanıt boyutunda çok daha verimli olmalarıdır.
Verkle ağaçlarının ve Merkle Patricia ağaçlarının yapısındaki tek gerçek fark verkle ağacının pratikte daha kısa ve şişman olmasıdır. Verkle ağaçlarında genişlik arttıkça ağacın boyu kısalır.
Ağacın boyuna değil yanlara doğru büyüdüğünü düşünün aynı veri sayısında verkle ağaçları daha kısa ve şişman olurken merkle ağaçları ise daha çok derinliğe sahip olur. Bant genişliği azalma, ağacın derinliğinden bağımsızdır sadece dallanma faktörüne bağlıdır.
Verkle ağaçları(VERy short merKLe), Ethereum'un stateless-client olma yolunda duran kilit sorunu olan kanıt boyutu sorununu çözer.
Vitalik’in makalesine göre bir ağaç bir milyar veri parçası içeriyorsa, geleneksel bir ikili Merkle ağacında bir ispat yapmak yaklaşık 1 kilobayt gerektirir, ancak bir Verkle ağacında ispat 150 bayttan az olur.Bu stateless-clientleri uygulayabilmek için nihayet yeterli bir azalma
Kaydedilen bu bant genişliği, verkle ağacını oluşturmak ve yaprak düğümlerinin kanıtlarını doğrulamak için gereken bazı ekstra hesaplamaları yanında getirir. Verkle ağaçları, ortalama durumda kanıt boyutlarının kabul edilebilir derecede küçük olmasına izin veriyor.
Verkle Ağaçları, bant genişliğini azaltma potansiyeline sahiptir. Bu potansiyel için bir şeyden fedakârlık verir. Taviz verebileceğimiz bir özellikten taviz verirken çok ciddi bir kazanım sağlarız.
Hesaplama gücü ile bant genişiliği arasında bir takas yaparız. Daha çok hesaplama gücüne ihtiyacımız olurken daha az bant genişliğine ihtiyaç duyarız. Merkle ağaçlarına göre daha az bant genişliği gerektirir. Bu kanıtın boyutu küçültülerek sağlanır.
Dallanma faktörü k = 3 olduğu bir verkle ağacı böyle gözükür. Gördüğünüz gibi dallanma faktörünü arttırdıkça ağacın node sayısı azalır. Dallanma faktörü, bu yüzden bant genişliğini azaltır. Merkle ağaçlarında çok fazla node vardır bu ağacın boyutunun artmasına neden olur.
Verkle Treeyi hesaplamadan önce ağacın dallanma faktörü olan k ya karar vermemiz gerekir. Daha sonra verilerimizi k ya göre gruplandırırız. Her grup için vektör taahhütü hesaplanır.
Sonra her veri(Fi) için C ye göre altküme olan bir kanıtı( πi) hesaplanır. Köke ulaşana kadar bu adım tekrarlanır. Sağladığımız her düğüm için, aslında onun üstündeki düğümün çocuğu olduğunu (ve doğru konumda olduğunu) kanıtlamamız gerekir.
9 verilik bir verkle ağacı k yani dallanma faktörü 3 alınırsa 3erli altkümelere bölünür. Her altküme üzerinde kanıtlarla ile bir vektör taahhüdü hesaplanır ve C1,C2,C3 taahhütlerini verir. Bu köke kadar devam eder.
C1, C2 ve C3 taahhütleri için π9, π10 ve π11 kanıtları ile birlikte bu üç taahhüt üzerinden Vektör Taahhüdü C4'ü hesaplıyoruz. Verkle Ağacının özeti, bu durumda C4 olan kök taahhüttür.
Merkle ağaçları çok fazla küçük dosyalarda büyük kanıtlar veriyor. Büyük boyutlu kanıtlar bant genişliği açısından verimli değildir. Vektör taahhütlerinde kaç veri bulunduğuna bakılmaksızın her kanıt sabit boyuta sahiptir
Merkle ağaçları çok hızlı hesaplanıyordu ancak bant genişliği açısından oldukça maliyetli olabiliyordu. Vektör Taahhüdünü oluşturmak için ihtiyaç duyduğumuz hesaplama ise maliyetli ancak bu bize sabit bir kanıt boyutu vadediyor.
Bu kabul edilebilir ve dikkate değer, çünkü hesaplama gücünde makul bir artış pahasına bant genişliğini azaltmamıza izin veriyor.Ayrıca kanıt boyutu yalnızca O(logkn) bu merkle ağaç kanıtlarından O(log2 k) kere daha küçük. Bunun tatmin edici bir takas olduğuna inanıyoruz
k = 1024 olarak ayarlarsak, kanıt boyutunda ve dolayısıyla bant genişliğinde Merkle ağaçlarına göre 10 kat azalma elde ederiz.(O(log2 k) 1024=2^10) Hesaplama gücünde ise 1024 kat bir maliyet artışı görürüz. Daha az hesaplama gücü isteniyorsa k düşürülebilir.
k'nin tam değeri, uygulamadan uygulamaya değişebilir. Hesaplama ve bant genişliği arasındaki ilişki için bir değer optimizasyonu sağlanmalı.
Ethereum için önerilen Verkle ağacının genişliği 256 ve hatta bazıları 1024'e yükseltmeyi tercih ediyor. Bu genişlik ağacın boyunu kısalttığı için hesaplamayı zorlaştırır ancak kanıt boyutunu da kısaltır.
Stateless-Clientler için tanık sağlamak kolay olacak
Tanık oluşturma şu anda yaklaşık 3 saniye sürüyor ancak daha fazla optimizasyon üzerinde çalışılıyor.
Tanık doğrulama ise birkaç yüz milisaniye içinde yapılabilir
"The Merge" kısaca PoW’dan PoS’a geçişin adıdır. Birleştirme demektir. Böyle denmesinin nedeni şuan çalışmakta olan Beacon Chain ve kullandığımız ana ağ zincirinin birleşecek olmasıdır. Birleştirme, tarihi verileri ve işlevselliği korurken konsensusu önemli ölçüde değiştirir.
Neden PoW yerine PoS tercih ediliyor?
PoW uzun süredir denenen bir konsensüs mekanizmasıdır. Bugüne kadar güvenilir olduğunu bize savaş meydanında kanıtlamıştır. Bu büyük bir avantaj ancak çok büyük bir enerji tüketimi vardır.
PoS için yüksek işlem gücüne sahip cihazlara ihtiyacınız yok sadece 32ETH sahip olmanız(Daha az ETH ile bir havuza katılabilirsiniz bu minimum miktarı oldukça düşürür) ve ETH2.0 clienti çalıştırabilecek mütevazı bir dizüstü bilgisayara sahip olmanız yeterli
@HopProtocol hakkında biraz konuşmak istiyorum. Nasıl çalıştığından ve neyi sağladığından bahsedelim. Kısaca bir giriş yapmak istersek rollup-to-rollup bir köprüdür. Şimdi önce sorunumuzun ne olduğuna bakalım daha sonra bu sorunu Hop nasıl çözüyor bunun üzerinde duracağım.
Biliyorsunuz ki ölçeklendirme çözümlerinin farklı kategorileri var. Poligon gibi yan zincirler, Arbitrum veya Optimism gibi optimistic-rolluplar ve zk-Sync gibi zk-Rolluplar.
Kısacası, işlem başına bir miktar veriyi zincir üzerinde tutarken hesaplama ve veri depolamayı zincir dışına taşıyarak Ethereum'un verimini arttırmayı amaçlarlar.
Gerçek dünyadan blockzincire açılan kapı olan DeFi için çok önemli olan Oracle kavramı nedir ? Nerede işimize yarar ?
Oracle'lar, blok zincirleri içindeki akıllı sözleşmelerin blok zincir dışından harici verileri (blok zincirde bulunmayan gerçek zamanlı veriler) almasına izin veren üçüncü taraf hizmetlerdir. Blockchainler ve dış dünya arasında köprü görevi görürler.
Oracle'lar blockchain ekosistemi içinde büyük öneme sahiptir çünkü akıllı kontratların kullanım alanlarını genişletirler. Blockchain oracle'lar olmadan akıllı kontratların kullanımları çok sınırlıdır çünkü bu kontratlar yalnızca kendi ağları içerisindeki verilere ulaşabilir.
Bugün Merkeziyetsiz Borsalarda (DEX) karşılaştığımız Sandwich attack nedir? Nasıl gerçekleşir ondan bahsadeceğim. 🥪
Merkeziyetsiz borsalar(DEX) kişilerin finansal varlıklarını saklama hakkını bir başka kişiye bırakmadan ticaret yapmasına izin verir.
DEX’lerde herkes işlem yapabilir. Bununla birlikte, blok zinciri tabanlı DEX'in şeffaflığı ile birlikte işlenecek işlemlerin uygulanmasındaki gecikme piyasa manipülasyonu mümkün hale getirir.
Geleneksel borsalarda fiyat manipülasyonu olduğu gibi bunu DEX’ler üzerinden de yapmak mümkün. Esasında bu saldırı DEX’lere özgü bir yöntem değildir. Ancak blockzincirinin halka açık doğası ve mempooldaki işlemlerin herkes tarafından görülebiliyor olması bunu kolaylaştırır.
Eth-1'in en büyük sorunlarından biri mevcut state boyutudur. Ethereum state boyutu sürekli büyüyor ve bu artan bir hızla devam ediyor.Büyüyen boyut, sadece "normal" bir kişi için tam bir düğüm çalıştırmayı zor hale getirmekle kalmayabilir.
Aynı zamanda Ethereum ağını kararsız ve kullanılamaz hale getirebilir. State, yeni gelen blokları ve işlemleri işleyebilmek için bir düğümün tutması gereken bilgileri ifade eder.(Adres tutarları,kontratlar vs)
Ancak ağa ve bu yeni verileri depolaması gereken düğümlere (ve gelecekte katılacak olan düğümlere) kalıcı olarak devam eden maliyetler yükler. Geliştiricilerin en çok endişe duyduğu konulardan biri budur. Bu yüzden onu görmezden gelemeyiz
Merkle Ağaçları blockchain için çok önemlidir. Bitcoin’de kullanılır. Ethereum’da ise modifiye edilmiş hali Merkle Patrica tree kullanılır. Peki neden merkle ağaçlarına ihtiyacımız var?
Merkle ağaçları olmadan bir blokzinciri yapmak teorik olarak mümkün olsa uzun vadede büyük ölçeklenebilirlik zorlukları ortaya çıkarır. Merkle ağaçları sayesinde irili ufaklı tüm bilgisayar ve dizüstü bilgisayarlarda, akıllı telefonlarda çalışan düğümler oluşturmak mümkün.
Blok zincirlerinin genellikle yüz binlerce bloktan oluştuğunu ve her bloğun birkaç bin işlem içerebildiğini düşündüğünüzde, bellek alanı ve bilgi işlem gücünün iki büyük sorun olduğu ortaya çıkıyor.