EVM, Ethereum'un temel bir parçasıdır ve akıllı sözleşmeleri çalıştırmak ve işlemleri işlemekten sorumludur. Bir hesaplama motoru olarak, EVM, Java sanal makinesi spesifikasyonuna benzer şekilde, hesaplama ve depolama için bir soyutlama sunar. EVM, genellikle Solidity tarafından derlenen kendi bytecode talimat setini yürütür.
EVM, yarı Turing tam bir durum makinesidir. "Yarı" ifadesi, tüm yürütme adımlarının sınırlı kaynak olan Gas harcayacağını, böylece olası bir sonsuz döngünün Ethereum platformunun tamamının durmasına neden olmasını önleyecektir.
EVM'in zamanlama işlevi yoktur, Ethereum'un yürütme modülü bloklardan işlemleri alır, EVM sırayla yürütmekten sorumludur. Yürütme sürecinde en son dünya durumu değiştirilir, bir işlem tamamlandığında durum toplamı yapılır ve blok tamamlandıktan sonra en son dünya durumuna ulaşılır. Bir sonraki blokta yürütme, bir önceki blok yürütme sonrası dünya durumuna katı bir şekilde bağlıdır, bu nedenle Ethereum'un işlem lineer yürütme süreci paralel yürütme optimizasyonu yapmakta zorluk yaşar.
Bu anlamda, Ethereum protokolü işlemlerin sıralı bir şekilde gerçekleştirilmesini öngörmektedir. Sıralı işlem gerçekleştirme, işlemlerin ve akıllı sözleşmelerin belirli bir sırayla yürütülmesini sağlarken güvenliği temin etse de, yüksek yük altında ağ tıkanıklığı ve gecikmelere yol açabilir; bu da Ethereum'un büyük performans darboğazlarına sahip olmasının ve Layer2 ölçeklendirmesine ihtiyaç duymasının nedenidir.
Yüksek Performanslı Layer1'in Paralel Yolu
Çoğu yüksek performanslı Layer1, Ethereum'un paralel işleme yapamama eksikliği temelinde kendi optimizasyon çözümlerini tasarlamıştır, burada sadece yürütme katmanının optimizasyonu, yani sanal makine ve paralel yürütme üzerine konuşacağız.
Sanal Makine
EVM, 256 bitlik bir sanal makine olarak tasarlanmıştır, amacı Ethereum'un hash algoritmalarını daha kolay bir şekilde işlemektir. Ancak EVM'yi çalıştıran bilgisayar, 256 bitlik baytları yerel mimariye eşleştirerek akıllı sözleşmeleri yürütmek zorundadır, bu da tüm sistemi oldukça verimsiz ve kullanışsız hale getirir. Bu nedenle, sanal makine seçiminde, yüksek performanslı Layer1'ler daha çok WASM, eBPF bayt kodu veya Move bayt kodu tabanlı sanal makineleri tercih etmektedir, EVM yerine.
WASM, küçük boyutlu, hızlı yüklenen, taşınabilir ve sandbox güvenlik mekanizmasına dayalı bir bytecode formatıdır. Geliştiriciler, akıllı sözleşmeleri birçok programlama dili kullanarak yazabilir ve ardından bunları WASM bytecode'a derleyip çalıştırabilir. WASM, birçok blok zinciri projesi tarafından standart olarak benimsenmiştir ve Ethereum da gelecekte WASM'yi entegre edecektir. Bu, Ethereum'un yürütme katmanının daha verimli, basit olmasını ve tamamen merkeziyetsiz bir hesaplama platformu olarak uygun olmasını sağlayacaktır.
eBPF'nin öncüsü BPF'dir, başlangıçta ağ veri paketlerinin verimli filtrelenmesi için kullanılıyordu, daha sonra evrim geçirerek eBPF'yi oluşturdu, daha zengin bir komut seti sunuyor ve kaynak kodunu değiştirmeden işletim sistemi çekirdeğine dinamik müdahale etme ve davranışını değiştirme olanağı tanıyor. Bir blok zincirinde yürütülen akıllı sözleşmeler SBF (eBPF tabanlı) bayt koduna derlenir ve bu blok zinciri ağı üzerinde çalıştırılır.
Move, esneklik, güvenlik ve doğrulanabilirliğe odaklanan yeni bir akıllı sözleşme programlama dilidir. Move dili, varlıklar ve işlemlerle ilgili güvenlik sorunlarını çözmek için tasarlanmış olup, varlıkların ve işlemlerin kesin bir şekilde tanımlanmasını ve kontrol edilmesini sağlar. Move'un bytecode doğrulayıcısı, Move bytecode'unu analiz eden ve gerekli tür, bellek ve kaynak güvenliği kurallarına uyup uymadığını belirleyen bir statik analiz aracıdır; bu, akıllı sözleşme düzeyinde uygulanmasına ve çalışma zamanında kontrol edilmesine gerek kalmadan yapılır. Bazı blok zincir projeleri, Move'dan miras almış veya kendi özel sürümleriyle akıllı sözleşmelerini yazmak için onu kullanmıştır.
Paralel Yürütme
Blok zincirindeki paralel yürütme, birbirleriyle ilgisi olmayan işlemlerin aynı anda işlenmesi anlamına gelir. İlgisiz işlemleri birbirini etkilemeyen olaylar olarak düşünün. Örneğin, iki kişi farklı işlem platformlarında token ticareti yapıyorsa, işlemleri aynı anda işlenebilir. Ancak, aynı platformda işlem yapıyorlarsa, işlemlerin belirli bir sıraya göre gerçekleştirilmesi gerekebilir.
Paralel yürütmenin ana zorluğu, hangi işlemlerin birbirinden bağımsız olduğunu ve hangilerinin bağımsız olduğunu belirlemektir. Çoğu yüksek performanslı Layer1, iki yönteme dayanır: durum erişim yöntemi ve iyimser paralel model.
Durum erişim yönteminin, her işlemin blok zinciri durumunun hangi kısmına erişebileceğini önceden bilmesi gerekir, böylece hangi işlemlerin bağımsız olduğunu analiz edebilir.
Bazı blok zincirlerinde, programlar (akıllı sözleşmeler) durumsuzdur çünkü işlem süresince sürekli olarak var olan herhangi bir durumu kendileri erişemez (okuyamaz veya yazamazlar). Duruma erişmek veya durumu korumak için programların bir hesap kullanması gerekir. Her işlem, işlem yürütülürken hangi hesapların erişileceğini belirtmelidir, böylece işlem işleme zamanı çakışmayan işlemleri paralel olarak yürütmek için planlayabilir ve veri tutarlılığını garanti edebilir.
Bazı blok zincirlerinde, her bir akıllı sözleşme bir modüldür ve fonksiyonlar ile yapı tanımları içerir. Yapılar, fonksiyonlar içinde örneklendirilir ve diğer modüllere fonksiyon çağrılarıyla aktarılabilir. Çalışma zamanı depolamasındaki yapı örnekleri nesne olarak var olur ve üç farklı nesne türü vardır: sahip nesnesi, paylaşılan nesne ve değiştirilemez nesne. Paralelleştirme stratejisi yukarıdakine benzer, işlemler hangi nesnelerin kullanılacağını da belirtmelidir.
Optimistik paralel model, tüm işlemlerin bağımsız olduğu varsayımı altında çalışır, yalnızca bu varsayımı geriye dönük olarak doğrular ve gerektiğinde ayarlamalar yapar.
Bazı blok zincirleri, optimistik paralel yürütmeyi uygulamak için Block-STM (Blok Yazılım İşlem Belleği) yöntemini kullanır. Block-STM'de, işlemler öncelikle blok içinde belirli bir sıraya göre ayarlanır ve ardından farklı işlem iş parçaları arasında bölünerek eşzamanlı olarak yürütülür. Bu işlemleri işlerken, sistem her işlemin değiştirdiği bellek konumlarını takip eder. Her işleme turundan sonra sistem, tüm işlem sonuçlarını kontrol eder. Eğer bir işlemin daha önceki bir işlemin değiştirdiği bellek konumuna dokunduğunu tespit ederse, sonuçlarını siler ve yeniden çalıştırır. Bu süreç, blok içindeki her işlemin işlenene kadar devam eder.
Paralel EVM
Paralel EVM (Parallel EVM) 2021 yılında gündeme geldi, o zamanlar birden fazla işlemi aynı anda işleyebilen EVM'yi ifade ediyordu. Mevcut EVM'nin performansını ve verimliliğini geliştirmeyi amaçlıyordu. Temsilci çözümler arasında bir platformun Block-STM tabanlı paralel EVM'si ve bir platformun iş birliği ile geliştirilen paralel EVM yer alıyor.
Ancak 2023 yılının sonunda, sektör uzmanları 2024 yılı trendlerini değerlendirirken paralel EVM'den bahsettiler ve paralel yürütme teknolojisini benimseyen EVM uyumlu Layer1'leri, Monand ve Sei dahil, yeniden gündeme getirdiler.
Günümüzde, bazı Layer1 ve Layer2 projeleri peş peşe paralel EVM etiketini yapıştırıyor, göz kamaştırıcı.
Bence paralel EVM'yi tanımlayabilen yalnızca üç tür vardır:
Paralel yürütme teknolojisi kullanılmayan EVM uyumlu Layer1'in paralel yürütme yükseltmesi;
Paralel yürütme teknolojisi kullanan EVM uyumlu Layer1;
Paralel yürütme teknolojisi kullanan EVM uyumlu olmayan Layer1 için EVM uyumlu çözüm.
Burada birkaç temsilci projeyi kısaca tanıtacağım.
Monad, PoS mekanizması kullanan, EVM ile uyumlu yüksek performanslı bir Layer1'dir ve paralel yürütme yoluyla ölçeklenebilirliği ve işlem hızını önemli ölçüde artırmayı amaçlamaktadır. Monad, verimliliği artırmak için blok içinde işlemleri paralel olarak yürütmeye olanak tanır. Optimist paralel modeli kullanarak, bir önceki işlemenin tamamlanmasından önce yeni işlemlere başlamaktadır. Yanlış sonuçlarla başa çıkmak için Monad, girdi/çıktıları takip eder ve tutarsız işlemleri yeniden yürütür. Statik kod analizörü, bağımlılıkları tahmin edebilir, geçersiz paralellikten kaçınır ve belirsizlik durumunda basit moda geri döner. Bu paralel yürütme, throughput'u artırırken işlem hatası olasılığını azaltmaktadır.
Sei, DeFi için tasarlanmış bir halka açık blok zinciri olan Cosmos SDK üzerinde geliştirilmiş bir Layer1'dir. Sei V2, Sei ağının kapsamlı bir yükseltmesidir ve tamamen paralel bir EVM olmayı hedeflemektedir. Monad gibi, Sei V2 de optimistik paralelleştirme kullanacaktır. Bu, blok zincirinin geliştiricilerin herhangi bir bağımlılığı tanımlamasına gerek kalmadan işlemleri aynı anda gerçekleştirmesine olanak tanır. Çatışma meydana geldiğinde, blok zinciri her işlemin eriştiği depolama alanlarını takip edecek ve bu işlemleri sırasıyla yeniden çalıştıracaktır. Bu süreç, tüm çözülmemiş çatışmalar çözülene kadar özyinelemeli olarak devam edecektir.
Artela, geliştiricilerin zengin özelliklere sahip merkeziyetsiz uygulamalar (dApp'ler) inşa etmelerini sağlayan ölçeklenebilir bir blockchain ağıdır. Artela'nın sunduğu EVM++ yüksek ölçeklenebilirlik + yüksek performansa sahip paralel EVM'yi temsil eder ve iki aşamada gerçekleştirilir. İlk aşama, paralel yürütme etrafında tasarlanacak ve paralel yürütme temelinde, esnek hesaplama ile ağ düğümlerinin hesaplama gücünün ölçeklenebilirliğini sağlayarak, nihayetinde esnek blok alanı elde edilecektir. Paralel yürütme, işlem bağımlılık çelişki analizine göre işlemleri gruplandırarak paralel yürütmeyi destekler.
Bir platform üzerindeki EVM uyumlu çözüm, o platform üzerinde EVM işlemlerini gerçekleştiren bir çözümdür. Gerçekten de o platform üzerinde bir akıllı sözleşmedir; bu sözleşme içinde bir EVM yorumlayıcısı uygulanmış ve belirli bir bytecode'a derlenmiştir. İçinde bir Ethereum işlem modeli ve hesap modeli seti uygulanmıştır, kullanıcıların yalnızca EVM GAS ücretlerini ödeyerek işlem göndermeleri yeterlidir. O platformun ağındaki ücretler, aracılar tarafından ödenmektedir. O platform, işlemlerin hesap listesi sağlamasını zorunlu kılmaktadır; paketlenmiş işlemler de bunun istisnası değildir, bu nedenle aracının sorumlulukları arasında bu hesap listesini oluşturmak yer almakta ve aynı zamanda o platformun işlem paralel yürütme yeteneğinden faydalanmaktadır.
Benzer şekilde, EVM'yi akıllı sözleşmelerin çalıştırılması için EVM uyumlu çözümler olarak kullanan birkaç başka proje daha bulunmaktadır. Teorik olarak, bazı platformlarda bu çözüm, müdahale etmeyen EVM uyumluluğunu sağlamak için de kullanılabilir. Bu tür çalışmaları yürüten projeler var; bunlar, herhangi bir dağıtık ortamda Move tabanlı altyapı, uygulama ve blok zinciri inşa etmek ve dağıtmak için modüler bir çerçeve geliştirmektedir. Söz konusu projenin bazı modülleri, EVM opcode'larını Move opcode'larına sorunsuz bir şekilde dönüştürebilir, bu da Solidity projelerinin Move'un performans ve güvenlik avantajlarından yararlanabileceği anlamına gelir; üstelik bir satır Move kodu yazmadan.
EVM uyumluluğu, geliştiricilerin Ethereum uygulamalarını zincire kolayca taşımalarını sağlar ve büyük ölçekli değişiklikler yapmalarını gerektirmez, bu da ekosistem inşa etmek için iyi bir yöndür.
Özet
Blok zincirinin paralel teknolojisi artık çok bilinen bir konu haline geldi, anlatım her bir süre zarfında yeniden öne çıkıyor, ancak şu anda esasen belirli bir blok zincirinin Block-STM mekanizmasına dayanan iyimser yürütme modelinin modifikasyonu ve taklidi üzerinde duruluyor, bu nedenle somut bir atılım olmadığı için popülaritesi sürdürülemiyor.
Geleceğe baktığımızda, daha fazla yeni Layer1 projesinin EVM paralel rekabetine katılacağını göreceğiz. Eski Layer1 projeleri için de EVM paralel yükseltmeleri veya EVM uyumlu çözümler uygulanacak, iki yön de aynı hedefe ulaşacak ve performans artışı ile ilgili yeni anlatılar ortaya çıkacak.
Ancak yüksek performanslı EVM anlatısına kıyasla, blok zincirinin çok çeşitli yönleriyle ortaya çıkması, WASM, SVM ve Move VM gibi anlatıların da daha fazla beklenti oluşturması belki daha değerlidir.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
10 Likes
Reward
10
6
Share
Comment
0/400
BlockImposter
· 19h ago
gas gerçekten pahalı
View OriginalReply0
RektHunter
· 19h ago
gas arttı, başka bir zincir var. Kim oynarsa o geri zekalı.
View OriginalReply0
degenonymous
· 19h ago
Gas ücreti eklersen başım dertte olur değil mi?
View OriginalReply0
SchrodingerGas
· 19h ago
gas savaşı gerçekten çok saçma. Önceki gece geç saatte minting yaparken üç haneli bıçağımı kaybettim.
Paralel EVM'nin Yükselişi: Yüksek Performanslı Layer1'in Evrim Yolu
EVM: Ethereum'in temel bileşeni
EVM, Ethereum'un temel bir parçasıdır ve akıllı sözleşmeleri çalıştırmak ve işlemleri işlemekten sorumludur. Bir hesaplama motoru olarak, EVM, Java sanal makinesi spesifikasyonuna benzer şekilde, hesaplama ve depolama için bir soyutlama sunar. EVM, genellikle Solidity tarafından derlenen kendi bytecode talimat setini yürütür.
EVM, yarı Turing tam bir durum makinesidir. "Yarı" ifadesi, tüm yürütme adımlarının sınırlı kaynak olan Gas harcayacağını, böylece olası bir sonsuz döngünün Ethereum platformunun tamamının durmasına neden olmasını önleyecektir.
EVM'in zamanlama işlevi yoktur, Ethereum'un yürütme modülü bloklardan işlemleri alır, EVM sırayla yürütmekten sorumludur. Yürütme sürecinde en son dünya durumu değiştirilir, bir işlem tamamlandığında durum toplamı yapılır ve blok tamamlandıktan sonra en son dünya durumuna ulaşılır. Bir sonraki blokta yürütme, bir önceki blok yürütme sonrası dünya durumuna katı bir şekilde bağlıdır, bu nedenle Ethereum'un işlem lineer yürütme süreci paralel yürütme optimizasyonu yapmakta zorluk yaşar.
Bu anlamda, Ethereum protokolü işlemlerin sıralı bir şekilde gerçekleştirilmesini öngörmektedir. Sıralı işlem gerçekleştirme, işlemlerin ve akıllı sözleşmelerin belirli bir sırayla yürütülmesini sağlarken güvenliği temin etse de, yüksek yük altında ağ tıkanıklığı ve gecikmelere yol açabilir; bu da Ethereum'un büyük performans darboğazlarına sahip olmasının ve Layer2 ölçeklendirmesine ihtiyaç duymasının nedenidir.
Yüksek Performanslı Layer1'in Paralel Yolu
Çoğu yüksek performanslı Layer1, Ethereum'un paralel işleme yapamama eksikliği temelinde kendi optimizasyon çözümlerini tasarlamıştır, burada sadece yürütme katmanının optimizasyonu, yani sanal makine ve paralel yürütme üzerine konuşacağız.
Sanal Makine
EVM, 256 bitlik bir sanal makine olarak tasarlanmıştır, amacı Ethereum'un hash algoritmalarını daha kolay bir şekilde işlemektir. Ancak EVM'yi çalıştıran bilgisayar, 256 bitlik baytları yerel mimariye eşleştirerek akıllı sözleşmeleri yürütmek zorundadır, bu da tüm sistemi oldukça verimsiz ve kullanışsız hale getirir. Bu nedenle, sanal makine seçiminde, yüksek performanslı Layer1'ler daha çok WASM, eBPF bayt kodu veya Move bayt kodu tabanlı sanal makineleri tercih etmektedir, EVM yerine.
WASM, küçük boyutlu, hızlı yüklenen, taşınabilir ve sandbox güvenlik mekanizmasına dayalı bir bytecode formatıdır. Geliştiriciler, akıllı sözleşmeleri birçok programlama dili kullanarak yazabilir ve ardından bunları WASM bytecode'a derleyip çalıştırabilir. WASM, birçok blok zinciri projesi tarafından standart olarak benimsenmiştir ve Ethereum da gelecekte WASM'yi entegre edecektir. Bu, Ethereum'un yürütme katmanının daha verimli, basit olmasını ve tamamen merkeziyetsiz bir hesaplama platformu olarak uygun olmasını sağlayacaktır.
eBPF'nin öncüsü BPF'dir, başlangıçta ağ veri paketlerinin verimli filtrelenmesi için kullanılıyordu, daha sonra evrim geçirerek eBPF'yi oluşturdu, daha zengin bir komut seti sunuyor ve kaynak kodunu değiştirmeden işletim sistemi çekirdeğine dinamik müdahale etme ve davranışını değiştirme olanağı tanıyor. Bir blok zincirinde yürütülen akıllı sözleşmeler SBF (eBPF tabanlı) bayt koduna derlenir ve bu blok zinciri ağı üzerinde çalıştırılır.
Move, esneklik, güvenlik ve doğrulanabilirliğe odaklanan yeni bir akıllı sözleşme programlama dilidir. Move dili, varlıklar ve işlemlerle ilgili güvenlik sorunlarını çözmek için tasarlanmış olup, varlıkların ve işlemlerin kesin bir şekilde tanımlanmasını ve kontrol edilmesini sağlar. Move'un bytecode doğrulayıcısı, Move bytecode'unu analiz eden ve gerekli tür, bellek ve kaynak güvenliği kurallarına uyup uymadığını belirleyen bir statik analiz aracıdır; bu, akıllı sözleşme düzeyinde uygulanmasına ve çalışma zamanında kontrol edilmesine gerek kalmadan yapılır. Bazı blok zincir projeleri, Move'dan miras almış veya kendi özel sürümleriyle akıllı sözleşmelerini yazmak için onu kullanmıştır.
Paralel Yürütme
Blok zincirindeki paralel yürütme, birbirleriyle ilgisi olmayan işlemlerin aynı anda işlenmesi anlamına gelir. İlgisiz işlemleri birbirini etkilemeyen olaylar olarak düşünün. Örneğin, iki kişi farklı işlem platformlarında token ticareti yapıyorsa, işlemleri aynı anda işlenebilir. Ancak, aynı platformda işlem yapıyorlarsa, işlemlerin belirli bir sıraya göre gerçekleştirilmesi gerekebilir.
Paralel yürütmenin ana zorluğu, hangi işlemlerin birbirinden bağımsız olduğunu ve hangilerinin bağımsız olduğunu belirlemektir. Çoğu yüksek performanslı Layer1, iki yönteme dayanır: durum erişim yöntemi ve iyimser paralel model.
Durum erişim yönteminin, her işlemin blok zinciri durumunun hangi kısmına erişebileceğini önceden bilmesi gerekir, böylece hangi işlemlerin bağımsız olduğunu analiz edebilir.
Bazı blok zincirlerinde, programlar (akıllı sözleşmeler) durumsuzdur çünkü işlem süresince sürekli olarak var olan herhangi bir durumu kendileri erişemez (okuyamaz veya yazamazlar). Duruma erişmek veya durumu korumak için programların bir hesap kullanması gerekir. Her işlem, işlem yürütülürken hangi hesapların erişileceğini belirtmelidir, böylece işlem işleme zamanı çakışmayan işlemleri paralel olarak yürütmek için planlayabilir ve veri tutarlılığını garanti edebilir.
Bazı blok zincirlerinde, her bir akıllı sözleşme bir modüldür ve fonksiyonlar ile yapı tanımları içerir. Yapılar, fonksiyonlar içinde örneklendirilir ve diğer modüllere fonksiyon çağrılarıyla aktarılabilir. Çalışma zamanı depolamasındaki yapı örnekleri nesne olarak var olur ve üç farklı nesne türü vardır: sahip nesnesi, paylaşılan nesne ve değiştirilemez nesne. Paralelleştirme stratejisi yukarıdakine benzer, işlemler hangi nesnelerin kullanılacağını da belirtmelidir.
Optimistik paralel model, tüm işlemlerin bağımsız olduğu varsayımı altında çalışır, yalnızca bu varsayımı geriye dönük olarak doğrular ve gerektiğinde ayarlamalar yapar.
Bazı blok zincirleri, optimistik paralel yürütmeyi uygulamak için Block-STM (Blok Yazılım İşlem Belleği) yöntemini kullanır. Block-STM'de, işlemler öncelikle blok içinde belirli bir sıraya göre ayarlanır ve ardından farklı işlem iş parçaları arasında bölünerek eşzamanlı olarak yürütülür. Bu işlemleri işlerken, sistem her işlemin değiştirdiği bellek konumlarını takip eder. Her işleme turundan sonra sistem, tüm işlem sonuçlarını kontrol eder. Eğer bir işlemin daha önceki bir işlemin değiştirdiği bellek konumuna dokunduğunu tespit ederse, sonuçlarını siler ve yeniden çalıştırır. Bu süreç, blok içindeki her işlemin işlenene kadar devam eder.
Paralel EVM
Paralel EVM (Parallel EVM) 2021 yılında gündeme geldi, o zamanlar birden fazla işlemi aynı anda işleyebilen EVM'yi ifade ediyordu. Mevcut EVM'nin performansını ve verimliliğini geliştirmeyi amaçlıyordu. Temsilci çözümler arasında bir platformun Block-STM tabanlı paralel EVM'si ve bir platformun iş birliği ile geliştirilen paralel EVM yer alıyor.
Ancak 2023 yılının sonunda, sektör uzmanları 2024 yılı trendlerini değerlendirirken paralel EVM'den bahsettiler ve paralel yürütme teknolojisini benimseyen EVM uyumlu Layer1'leri, Monand ve Sei dahil, yeniden gündeme getirdiler.
Günümüzde, bazı Layer1 ve Layer2 projeleri peş peşe paralel EVM etiketini yapıştırıyor, göz kamaştırıcı.
Bence paralel EVM'yi tanımlayabilen yalnızca üç tür vardır:
Paralel yürütme teknolojisi kullanılmayan EVM uyumlu Layer1'in paralel yürütme yükseltmesi;
Paralel yürütme teknolojisi kullanan EVM uyumlu Layer1;
Paralel yürütme teknolojisi kullanan EVM uyumlu olmayan Layer1 için EVM uyumlu çözüm.
Burada birkaç temsilci projeyi kısaca tanıtacağım.
Monad, PoS mekanizması kullanan, EVM ile uyumlu yüksek performanslı bir Layer1'dir ve paralel yürütme yoluyla ölçeklenebilirliği ve işlem hızını önemli ölçüde artırmayı amaçlamaktadır. Monad, verimliliği artırmak için blok içinde işlemleri paralel olarak yürütmeye olanak tanır. Optimist paralel modeli kullanarak, bir önceki işlemenin tamamlanmasından önce yeni işlemlere başlamaktadır. Yanlış sonuçlarla başa çıkmak için Monad, girdi/çıktıları takip eder ve tutarsız işlemleri yeniden yürütür. Statik kod analizörü, bağımlılıkları tahmin edebilir, geçersiz paralellikten kaçınır ve belirsizlik durumunda basit moda geri döner. Bu paralel yürütme, throughput'u artırırken işlem hatası olasılığını azaltmaktadır.
Sei, DeFi için tasarlanmış bir halka açık blok zinciri olan Cosmos SDK üzerinde geliştirilmiş bir Layer1'dir. Sei V2, Sei ağının kapsamlı bir yükseltmesidir ve tamamen paralel bir EVM olmayı hedeflemektedir. Monad gibi, Sei V2 de optimistik paralelleştirme kullanacaktır. Bu, blok zincirinin geliştiricilerin herhangi bir bağımlılığı tanımlamasına gerek kalmadan işlemleri aynı anda gerçekleştirmesine olanak tanır. Çatışma meydana geldiğinde, blok zinciri her işlemin eriştiği depolama alanlarını takip edecek ve bu işlemleri sırasıyla yeniden çalıştıracaktır. Bu süreç, tüm çözülmemiş çatışmalar çözülene kadar özyinelemeli olarak devam edecektir.
Artela, geliştiricilerin zengin özelliklere sahip merkeziyetsiz uygulamalar (dApp'ler) inşa etmelerini sağlayan ölçeklenebilir bir blockchain ağıdır. Artela'nın sunduğu EVM++ yüksek ölçeklenebilirlik + yüksek performansa sahip paralel EVM'yi temsil eder ve iki aşamada gerçekleştirilir. İlk aşama, paralel yürütme etrafında tasarlanacak ve paralel yürütme temelinde, esnek hesaplama ile ağ düğümlerinin hesaplama gücünün ölçeklenebilirliğini sağlayarak, nihayetinde esnek blok alanı elde edilecektir. Paralel yürütme, işlem bağımlılık çelişki analizine göre işlemleri gruplandırarak paralel yürütmeyi destekler.
Bir platform üzerindeki EVM uyumlu çözüm, o platform üzerinde EVM işlemlerini gerçekleştiren bir çözümdür. Gerçekten de o platform üzerinde bir akıllı sözleşmedir; bu sözleşme içinde bir EVM yorumlayıcısı uygulanmış ve belirli bir bytecode'a derlenmiştir. İçinde bir Ethereum işlem modeli ve hesap modeli seti uygulanmıştır, kullanıcıların yalnızca EVM GAS ücretlerini ödeyerek işlem göndermeleri yeterlidir. O platformun ağındaki ücretler, aracılar tarafından ödenmektedir. O platform, işlemlerin hesap listesi sağlamasını zorunlu kılmaktadır; paketlenmiş işlemler de bunun istisnası değildir, bu nedenle aracının sorumlulukları arasında bu hesap listesini oluşturmak yer almakta ve aynı zamanda o platformun işlem paralel yürütme yeteneğinden faydalanmaktadır.
Benzer şekilde, EVM'yi akıllı sözleşmelerin çalıştırılması için EVM uyumlu çözümler olarak kullanan birkaç başka proje daha bulunmaktadır. Teorik olarak, bazı platformlarda bu çözüm, müdahale etmeyen EVM uyumluluğunu sağlamak için de kullanılabilir. Bu tür çalışmaları yürüten projeler var; bunlar, herhangi bir dağıtık ortamda Move tabanlı altyapı, uygulama ve blok zinciri inşa etmek ve dağıtmak için modüler bir çerçeve geliştirmektedir. Söz konusu projenin bazı modülleri, EVM opcode'larını Move opcode'larına sorunsuz bir şekilde dönüştürebilir, bu da Solidity projelerinin Move'un performans ve güvenlik avantajlarından yararlanabileceği anlamına gelir; üstelik bir satır Move kodu yazmadan.
EVM uyumluluğu, geliştiricilerin Ethereum uygulamalarını zincire kolayca taşımalarını sağlar ve büyük ölçekli değişiklikler yapmalarını gerektirmez, bu da ekosistem inşa etmek için iyi bir yöndür.
Özet
Blok zincirinin paralel teknolojisi artık çok bilinen bir konu haline geldi, anlatım her bir süre zarfında yeniden öne çıkıyor, ancak şu anda esasen belirli bir blok zincirinin Block-STM mekanizmasına dayanan iyimser yürütme modelinin modifikasyonu ve taklidi üzerinde duruluyor, bu nedenle somut bir atılım olmadığı için popülaritesi sürdürülemiyor.
Geleceğe baktığımızda, daha fazla yeni Layer1 projesinin EVM paralel rekabetine katılacağını göreceğiz. Eski Layer1 projeleri için de EVM paralel yükseltmeleri veya EVM uyumlu çözümler uygulanacak, iki yön de aynı hedefe ulaşacak ve performans artışı ile ilgili yeni anlatılar ortaya çıkacak.
Ancak yüksek performanslı EVM anlatısına kıyasla, blok zincirinin çok çeşitli yönleriyle ortaya çıkması, WASM, SVM ve Move VM gibi anlatıların da daha fazla beklenti oluşturması belki daha değerlidir.