Sei yeni bir beyaz kağıt yayınladı ve burada en son Giga güncellemesini tanıttı. Çoğu okuyucu, 17 sayfalık derin teknik içeriğin okunmasının zor olduğunu düşünüyor. Bu nedenle, bu makale güncellemenin içeriğini ve blok zinciri performansını farklı seviyelerde nasıl artıracağınızı açıklayacaktır.
Asenkron yürütme ile blok oluşturma hakkında
Giga'nın temel düşüncesi ve temeli aşağıdaki gibidir:
"Eğer işlem listemiz düzenli ve blok zincirinin başlangıç durumu uyumluysa ve tüm dürüst düğümler bu işlemleri aynı sırayla işliyorsa, o zaman düğümler aynı nihai duruma ulaşacaktır."
Bu durumda, sonuç yalnızca başlangıç durumuna ve işlem sırasına bağlıdır. Bu, konsensüsün yalnızca blok içindeki işlemlerin sırası üzerinde anlaşması gerektiği anlamına gelir; her düğüm nihai durumu bağımsız olarak hesaplayabilir.
Bu modelde, konsensüs ile yürütme ayrılır ve blokların asenkron olarak yürütülmesine izin verilir.
Blok nihai olarak belirlendiğinde, düğüm bunu işler ve sonraki bloklarda durumunu sunar.
Ardından, tüm düğümlerin doğru nihai durumu hesapladığından emin olmak için bu bloğu durum konsensüsü ile doğrulayın.
Buradaki önemli bir ayrıntı, yürütme ile konsensüsün (üretim) paralel olarak gerçekleşmesidir. Düğümler, bir bloğun hesaplamasını yürütürken, diğer blokları da alır.
Bu nedenle, bloklar aslında toplam sıraya göre (paralel değil) işlenir ve blok oluşturma süreci kendisi gerçekten konsensüs ile paralel olarak gerçekleşir. Ancak, belirli bir blok için bu süreçler tamamen asenkroniktir.
Açıkça, aynı blok üzerinde hem konsensüs sağlamak hem de yürütmek mümkün görünmüyor. Bu nedenle, blok n'i yürütürken, düğüm bir sonraki adım için blok n+1'i alır.
Eğer konsensusta bir sapma olursa (örneğin, ağda üçte bir oranında düğüm kötü niyetli hareket ederse), zincir duraklatılacak ve bu standart BFT protokolüne benzer.
Block içindeki başarısız işlemler, o bloğu geçersiz kılmaz; sadece başarısız durumunu korur, çünkü blok oluşturma ve yürütme ayrıdır ve mevcut bloğun nihai durumu sonraki bloklarda sunulacaktır.
Çoklu önerici modeli nasıl uygulanır ve Autobahn nedir?
Bu konsensüs protokolü kendisi «Autobahn» olarak adlandırılır (sınırsız hızda gidebileceğiniz Alman otoyolu gibi). Autobahn, veri kullanılabilirliğini ve işlem sıralamasını ayırır ve arkasında ilginç bir model vardır.
Herhangi bir otoyol şeridi gibi, birden fazla şerit vardır ve her düğümün kendi kanalı vardır. Düğümler, işlem sıralaması hakkında önerilerde bulunmak için bu kanalları kullanır. Öneri, işlemlerin sıralı bir koleksiyonudur.
Autobahn bazen "tipcut" işlemi gerçekleştirir, yani işlemlerin sırasını nihai olarak belirlemek için birden fazla öneriyi birleştirir.
Daha önce de belirtildiği gibi, her bir doğrulayıcının işlem gruplarını önermek için kendi kanalı vardır.
Bir düğüm geçerli bir öneri aldığında, bu önerinin alındığını onaylamak için oy gönderir.
Oylamadan sonra toplanan öneriler, verilerin ağdaki en az bir dürüst düğüm tarafından alındığını garanti eden bir kullanılabilirlik kanıtı (PoA) oluşturacaktır.
Tipcut'un gerçekleşme zamanı milisaniye cinsindendir ve Autobahn'dan gelen birçok öneri en sonunda "cut." olarak kesilecektir.
Önericilerin blok yayınlamayı bekleme motivasyonu vardır ve mümkünse tek bir blok yayınlarlar, ancak her blok için yürütme süresi sınırı (Gas sınırına benzer şekilde) bu dinamiği biraz değiştirir.
Bir koridordaki bir öneri genellikle bir bloğa eşdeğerdir, bu da Tipcut gerçekleştiğinde birden fazla bloğun aynı anda kesileceği anlamına gelir.
Bundan sonra, bu slot'un lideri, sıralamayı tamamlamak için Tipcut'u diğer düğümlere gönderir. Düğümler aslında tek bir Tipcut'a oy verirken, bir sonraki Tipcut'u hazırlamaktadır.
Kaçırılan bir grubun düğümleri, PoA'da listelenen doğrulayıcılardan asenkron olarak alınabilir: bu, veri kullanılabilirliğinin temel nedenidir.
Eşzamanlı koşullar altında, eğer lider doğruysa, Autobahn iki iletişim turunda öneri onayını tamamlayacaktır. Eğer lider arızalanırsa, bu mekanizma süreci sürdürebilmek için yeni bir lider seçer.
Bir sonraki tip-cut önerisi, mevcut tip-cut'un gönderim aşamasında başlayabilir, böylece gecikmeyi azaltır çünkü yürütme ile üretim eş zamanlı olarak gerçekleşir.
Aslında, tüm model çoklu önerici bir modeldir; burada birçok düğüm aynı anda bloklarını sıralamak için önerilerde bulunabilir. Her doğrulayıcı kendi blokunu önerir ve ağın bu bloklara sahip olduğuna dair kanıtlar (PoA) alır, bu da ağın verimliliğini ve genel etkinliğini artırmaya yardımcı olur.
Paralel yürütme ve uygulanabilir durumları
Daha önce bahsedildiği gibi, blok yürütme süreci ile konsensüs paralel olarak gerçekleşir, ancak blok kendisi aslında sırayla yürütülmektedir. Gerçekten de bu durumun gerçek bir paralel yürütme oluşturup oluşturmadığını merak edebilirsiniz.
Cevap hem olumlu hem de olumsuzdur.
Bloklar sıralı olarak işlenmesine rağmen, blok içindeki işlemler paralel olarak yürütülebilir. Eğer işlemler aynı durumu değiştirmiyorsa (yazmıyorsa) ve bir işlemin sonucu diğerini etkilemiyorsa, o zaman paralel olarak yürütülebilirler.
Kısacası, yürütme yolları birbirine bağımlı olmamalıdır. Giga'nın bir hafıza havuzu yoktur, işlemler hemen düğümler tarafından dahil edilir.
Giga, çoğu işlem arasında çelişki olmadığını varsayar ve bu işlemleri birden fazla işlemci çekirdeğinde aynı anda işler.
Her işlemdeki değişiklikler, hemen blok zincirine uygulanmadan önce geçici olarak özel bir tamponda saklanacaktır.
İşlem tamamlandıktan sonra, sistem bu işlemin önceki işlemlerle bir çelişki olup olmadığını kontrol edecektir.
Eğer bir çelişki varsa, işlem yeniden işlenecektir. Eğer çelişki yoksa, değişiklikler blok zincirine uygulanacak ve nihai hale getirilecektir.
Yüksek frekanslı çakışmaların da olabileceği durumlar vardır; bu durumda sistem, işlemlerin ilerleyebilmesini sağlamak için bir seferde bir işlemi işleme alacak şekilde geçiş yapar.
Kısacası, paralel yürütme, işlemleri birden fazla çekirdeğe atar, böylece çakışmayan işlemler aynı anda çalışabilir.
Depolama sorunları ve optimizasyon
Yüksek işlem hacmi nedeniyle, verilerin hem güvenli hem de erişilebilir olması gerektiğinden, depolama şekli geleneksel blok zinciri depolamasından biraz farklı olmalıdır. Giga, verileri basit bir anahtar-değer (key-value) formatında depolar; bu, veri değişiklikleri sırasında gereken birden fazla güncelleme veya kontrolü azaltmaya yardımcı olan nispeten düz bir yapıdır.
Ayrıca, Giga katmanlı depolama yöntemini de kullanıyor: yakın tarihli veriler SSD'lerde (yüksek hızlı) tutulurken, daha az kullanılan veriler daha yavaş ve maliyet açısından daha etkili depolama sistemlerine taşınıyor.
Eğer bir düğüm çöküyorsa, doğru durumu geri kazanmak için günlükleri tekrar oynatabilir ve verileri düzenlemek için RocksDB (özel bir veritabanı) üzerine güncellemeler uygulayabilir.
Bu depolama sistemi, verilerin doğruluğunu ağır hesaplamalar yapmadan kanıtlayabilen bir Kriptografik Akümülator kullanmaktadır. Akümülator, güncellemeleri toplu işleme yöntemiyle gerçekleştirir, böylece doğrulayıcılar ve hafif düğümler, blok zincirinin mevcut durumu üzerinde hızla uzlaşabilir.
Birden fazla önerici EVM L1 blok zinciri olmak ne anlama geliyor?
L1 altyapısı çeşitli iyileştirmeler yapabilir, farklı L1'ler ise MEV gibi ekonomik sorunlardan durum yönetimi gibi teknik sorunlara kadar çeşitli teknik zorluklarla karşı karşıyadır.
Çoklu önerici destekleyen ilk L1 zinciri olmak oldukça zorlu bir durumdur, özellikle EVM L1 için, çünkü EVM'nin tasarım amacı çoklu önerici sistemleri desteklemek değildir.
Ancak, Sei EVM'yi ve birçok geliştiricinin alışkın olduğu araçları korumak için farklı yöntemler deniyor.
Paralel işlem yürütme, yürütme sürecinde uzlaşma sağlama ve birden fazla önericiyle paralel çalışma, performansı artırmaya yardımcı olur; yürütme throughput'u yaklaşık 50 kat artabilir. Ancak, bu iyileştirmeler yukarıda bahsedilen bazı risklerle de karşılaşabilir.
Bu, Sei'nin ikinci büyük güncellemesi. Daha önce Sei, Cosmos zincirinden EVM zincirine dönüşmüştü ve şimdi Sei, hız optimizasyonuna odaklanan bir yürütme istemcisi sundu.
Gelecek gelişmeler ve bu optimizasyon önlemlerinin sonraki etkileri dikkat edilmeye değer.
The content is for reference only, not a solicitation or offer. No investment, tax, or legal advice provided. See Disclaimer for more risks disclosure.
Sei Yeni White Paper'ı Yorumlamak: Giga Yükseltmesi Hangi Teknolojik Yenilikleri Getiriyor?
Yazı: Pavel Paramonov, Hazeflow Kurucusu
Derleme: PANews
Sei yeni bir beyaz kağıt yayınladı ve burada en son Giga güncellemesini tanıttı. Çoğu okuyucu, 17 sayfalık derin teknik içeriğin okunmasının zor olduğunu düşünüyor. Bu nedenle, bu makale güncellemenin içeriğini ve blok zinciri performansını farklı seviyelerde nasıl artıracağınızı açıklayacaktır.
Asenkron yürütme ile blok oluşturma hakkında
Giga'nın temel düşüncesi ve temeli aşağıdaki gibidir:
"Eğer işlem listemiz düzenli ve blok zincirinin başlangıç durumu uyumluysa ve tüm dürüst düğümler bu işlemleri aynı sırayla işliyorsa, o zaman düğümler aynı nihai duruma ulaşacaktır."
Bu durumda, sonuç yalnızca başlangıç durumuna ve işlem sırasına bağlıdır. Bu, konsensüsün yalnızca blok içindeki işlemlerin sırası üzerinde anlaşması gerektiği anlamına gelir; her düğüm nihai durumu bağımsız olarak hesaplayabilir.
Bu modelde, konsensüs ile yürütme ayrılır ve blokların asenkron olarak yürütülmesine izin verilir.
Blok nihai olarak belirlendiğinde, düğüm bunu işler ve sonraki bloklarda durumunu sunar.
Ardından, tüm düğümlerin doğru nihai durumu hesapladığından emin olmak için bu bloğu durum konsensüsü ile doğrulayın.
Buradaki önemli bir ayrıntı, yürütme ile konsensüsün (üretim) paralel olarak gerçekleşmesidir. Düğümler, bir bloğun hesaplamasını yürütürken, diğer blokları da alır.
Bu nedenle, bloklar aslında toplam sıraya göre (paralel değil) işlenir ve blok oluşturma süreci kendisi gerçekten konsensüs ile paralel olarak gerçekleşir. Ancak, belirli bir blok için bu süreçler tamamen asenkroniktir.
Açıkça, aynı blok üzerinde hem konsensüs sağlamak hem de yürütmek mümkün görünmüyor. Bu nedenle, blok n'i yürütürken, düğüm bir sonraki adım için blok n+1'i alır.
Eğer konsensusta bir sapma olursa (örneğin, ağda üçte bir oranında düğüm kötü niyetli hareket ederse), zincir duraklatılacak ve bu standart BFT protokolüne benzer.
Block içindeki başarısız işlemler, o bloğu geçersiz kılmaz; sadece başarısız durumunu korur, çünkü blok oluşturma ve yürütme ayrıdır ve mevcut bloğun nihai durumu sonraki bloklarda sunulacaktır.
Çoklu önerici modeli nasıl uygulanır ve Autobahn nedir?
Bu konsensüs protokolü kendisi «Autobahn» olarak adlandırılır (sınırsız hızda gidebileceğiniz Alman otoyolu gibi). Autobahn, veri kullanılabilirliğini ve işlem sıralamasını ayırır ve arkasında ilginç bir model vardır.
Herhangi bir otoyol şeridi gibi, birden fazla şerit vardır ve her düğümün kendi kanalı vardır. Düğümler, işlem sıralaması hakkında önerilerde bulunmak için bu kanalları kullanır. Öneri, işlemlerin sıralı bir koleksiyonudur.
Autobahn bazen "tipcut" işlemi gerçekleştirir, yani işlemlerin sırasını nihai olarak belirlemek için birden fazla öneriyi birleştirir.
Daha önce de belirtildiği gibi, her bir doğrulayıcının işlem gruplarını önermek için kendi kanalı vardır.
Bir düğüm geçerli bir öneri aldığında, bu önerinin alındığını onaylamak için oy gönderir.
Oylamadan sonra toplanan öneriler, verilerin ağdaki en az bir dürüst düğüm tarafından alındığını garanti eden bir kullanılabilirlik kanıtı (PoA) oluşturacaktır.
Tipcut'un gerçekleşme zamanı milisaniye cinsindendir ve Autobahn'dan gelen birçok öneri en sonunda "cut." olarak kesilecektir.
Önericilerin blok yayınlamayı bekleme motivasyonu vardır ve mümkünse tek bir blok yayınlarlar, ancak her blok için yürütme süresi sınırı (Gas sınırına benzer şekilde) bu dinamiği biraz değiştirir.
Bir koridordaki bir öneri genellikle bir bloğa eşdeğerdir, bu da Tipcut gerçekleştiğinde birden fazla bloğun aynı anda kesileceği anlamına gelir.
Bundan sonra, bu slot'un lideri, sıralamayı tamamlamak için Tipcut'u diğer düğümlere gönderir. Düğümler aslında tek bir Tipcut'a oy verirken, bir sonraki Tipcut'u hazırlamaktadır.
Kaçırılan bir grubun düğümleri, PoA'da listelenen doğrulayıcılardan asenkron olarak alınabilir: bu, veri kullanılabilirliğinin temel nedenidir.
Eşzamanlı koşullar altında, eğer lider doğruysa, Autobahn iki iletişim turunda öneri onayını tamamlayacaktır. Eğer lider arızalanırsa, bu mekanizma süreci sürdürebilmek için yeni bir lider seçer.
Bir sonraki tip-cut önerisi, mevcut tip-cut'un gönderim aşamasında başlayabilir, böylece gecikmeyi azaltır çünkü yürütme ile üretim eş zamanlı olarak gerçekleşir.
Aslında, tüm model çoklu önerici bir modeldir; burada birçok düğüm aynı anda bloklarını sıralamak için önerilerde bulunabilir. Her doğrulayıcı kendi blokunu önerir ve ağın bu bloklara sahip olduğuna dair kanıtlar (PoA) alır, bu da ağın verimliliğini ve genel etkinliğini artırmaya yardımcı olur.
Paralel yürütme ve uygulanabilir durumları
Daha önce bahsedildiği gibi, blok yürütme süreci ile konsensüs paralel olarak gerçekleşir, ancak blok kendisi aslında sırayla yürütülmektedir. Gerçekten de bu durumun gerçek bir paralel yürütme oluşturup oluşturmadığını merak edebilirsiniz.
Cevap hem olumlu hem de olumsuzdur.
Bloklar sıralı olarak işlenmesine rağmen, blok içindeki işlemler paralel olarak yürütülebilir. Eğer işlemler aynı durumu değiştirmiyorsa (yazmıyorsa) ve bir işlemin sonucu diğerini etkilemiyorsa, o zaman paralel olarak yürütülebilirler.
Kısacası, yürütme yolları birbirine bağımlı olmamalıdır. Giga'nın bir hafıza havuzu yoktur, işlemler hemen düğümler tarafından dahil edilir.
Giga, çoğu işlem arasında çelişki olmadığını varsayar ve bu işlemleri birden fazla işlemci çekirdeğinde aynı anda işler.
Her işlemdeki değişiklikler, hemen blok zincirine uygulanmadan önce geçici olarak özel bir tamponda saklanacaktır.
İşlem tamamlandıktan sonra, sistem bu işlemin önceki işlemlerle bir çelişki olup olmadığını kontrol edecektir.
Eğer bir çelişki varsa, işlem yeniden işlenecektir. Eğer çelişki yoksa, değişiklikler blok zincirine uygulanacak ve nihai hale getirilecektir.
Yüksek frekanslı çakışmaların da olabileceği durumlar vardır; bu durumda sistem, işlemlerin ilerleyebilmesini sağlamak için bir seferde bir işlemi işleme alacak şekilde geçiş yapar.
Kısacası, paralel yürütme, işlemleri birden fazla çekirdeğe atar, böylece çakışmayan işlemler aynı anda çalışabilir.
Depolama sorunları ve optimizasyon
Yüksek işlem hacmi nedeniyle, verilerin hem güvenli hem de erişilebilir olması gerektiğinden, depolama şekli geleneksel blok zinciri depolamasından biraz farklı olmalıdır. Giga, verileri basit bir anahtar-değer (key-value) formatında depolar; bu, veri değişiklikleri sırasında gereken birden fazla güncelleme veya kontrolü azaltmaya yardımcı olan nispeten düz bir yapıdır.
Ayrıca, Giga katmanlı depolama yöntemini de kullanıyor: yakın tarihli veriler SSD'lerde (yüksek hızlı) tutulurken, daha az kullanılan veriler daha yavaş ve maliyet açısından daha etkili depolama sistemlerine taşınıyor.
Eğer bir düğüm çöküyorsa, doğru durumu geri kazanmak için günlükleri tekrar oynatabilir ve verileri düzenlemek için RocksDB (özel bir veritabanı) üzerine güncellemeler uygulayabilir.
Bu depolama sistemi, verilerin doğruluğunu ağır hesaplamalar yapmadan kanıtlayabilen bir Kriptografik Akümülator kullanmaktadır. Akümülator, güncellemeleri toplu işleme yöntemiyle gerçekleştirir, böylece doğrulayıcılar ve hafif düğümler, blok zincirinin mevcut durumu üzerinde hızla uzlaşabilir.
Birden fazla önerici EVM L1 blok zinciri olmak ne anlama geliyor?
L1 altyapısı çeşitli iyileştirmeler yapabilir, farklı L1'ler ise MEV gibi ekonomik sorunlardan durum yönetimi gibi teknik sorunlara kadar çeşitli teknik zorluklarla karşı karşıyadır.
Çoklu önerici destekleyen ilk L1 zinciri olmak oldukça zorlu bir durumdur, özellikle EVM L1 için, çünkü EVM'nin tasarım amacı çoklu önerici sistemleri desteklemek değildir.
Ancak, Sei EVM'yi ve birçok geliştiricinin alışkın olduğu araçları korumak için farklı yöntemler deniyor.
Paralel işlem yürütme, yürütme sürecinde uzlaşma sağlama ve birden fazla önericiyle paralel çalışma, performansı artırmaya yardımcı olur; yürütme throughput'u yaklaşık 50 kat artabilir. Ancak, bu iyileştirmeler yukarıda bahsedilen bazı risklerle de karşılaşabilir.
Bu, Sei'nin ikinci büyük güncellemesi. Daha önce Sei, Cosmos zincirinden EVM zincirine dönüşmüştü ve şimdi Sei, hız optimizasyonuna odaklanan bir yürütme istemcisi sundu.
Gelecek gelişmeler ve bu optimizasyon önlemlerinin sonraki etkileri dikkat edilmeye değer.