EVM (Ethereum Sanal Makinesi), Ethereum'un çekirdeğidir ve akıllı sözleşmeleri çalıştırmak ve işlemleri işlemekten sorumludur.
Sanal makineler genellikle gerçek bilgisayarların sanallaştırılması için kullanılır ve sanal makine yöneticisi veya tüm işletim sistemi örneği tarafından sanallaştırılır. Gerçek donanım, sistem çağrıları ve diğer çekirdek işlevlerinin yazılım soyutlamasını sağlamaları gerekir.
EVM, daha sınırlı bir alanda çalışır: sadece Java sanal makinesi (JVM) spesifikasyonuna benzer bir hesaplama motoru sunar ve hesaplama ile depolama için soyutlama sağlar. Yüksek seviyede, JVM, altındaki ana işletim sistemi veya donanımdan bağımsız bir çalışma ortamı sunmayı amaçlar ve sistemler arası uyumluluğu gerçekleştirir. Benzer şekilde, EVM kendi bayt kodu talimat setini çalıştırır; bu talimat seti genellikle Solidity tarafından derlenir.
EVM, bir yarı Turing tam bir durum makinesidir. "Yarı" ifadesi, tüm yürütme adımlarının sınırlı kaynak olan Gas tüketmesi nedeniyle kullanılmaktadır. Bu nedenle, verilen herhangi bir akıllı sözleşmenin yürütülmesi, sınırlı hesaplama adımlarıyla sınırlıdır ve bu, yürütme sürecinde olası bir sonsuz döngüyü önleyerek tüm Ethereum platformunun durmasını engeller.
EVM'nin 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 biriktirilir ve blok tamamlandıktan sonraki en son dünya durumuna ulaşılır. Bir sonraki blokun yürütülmesi, bir önceki blok yürütüldükten sonraki dünya durumuna sıkı bir şekilde bağlıdır, bu nedenle Ethereum'un işlem doğrusal yürütme süreci iyi bir şekilde paralel yürütme optimizasyonu gerçekleştiremez.
Bu anlamda, Ethereum protokolü işlemlerin sıralı olarak gerçekleştirilmesini öngörmektedir. Sıralı yürütme, işlemlerin ve akıllı sözleşmelerin belirli bir sırayla yürütülmesini sağladığı için güvenliği garanti etse de, yüksek yük altında ağın tıkanmasına ve gecikmelere yol açabilir. Bu da, Ethereum'un büyük bir performans darboğazına sahip olmasının ve Layer2 Rollup ölçeklenmesine 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ğini temel alarak kendi optimizasyon çözümlerini tasarlamaktadır. Burada sadece yürütme katmanının optimizasyonundan, yani sanal makine ve paralel yürütmeden bahsedeceğiz.
Sanal Makine
EVM, Ethereum'in hash algoritmasını daha kolay işlemek amacıyla 256 bitlik bir sanal makine olarak tasarlanmıştır ve kesin olarak 256 bitlik bir çıktı üretir. Ancak, EVM'yi çalıştıran bilgisayarların, akıllı sözleşmeleri yürütmek için 256 bitlik baytları yerel mimariye eşleştirmesi gerektiğinden, tüm sistem oldukça verimsiz ve pratik değildir. Bu nedenle sanal makine seçiminde, yüksek performanslı Layer1'ler daha çok WASM, eBPF bayt kodu veya Move bayt koduna dayalı sanal makineler kullanmaktadır, EVM yerine.
WASM, küçük boyutlu, hızlı yüklenen, taşınabilir ve sandbox güvenlik mekanizmasına dayanan bir bytecode formatıdır. Geliştiriciler, akıllı sözleşmeleri yazmak için çeşitli programlama dilleri kullanabilir ve ardından bunları WASM bytecode'a derleyip çalıştırabilirler. WASM, EOS, Dfinity, Polkadot, Cosmos, Near gibi birçok blockchain projesi tarafından standart olarak kabul edilmiştir. Ethereum da gelecekte WASM'yi entegre edecek, böylece Ethereum'un yürütme katmanının daha verimli, basit hale gelmesini sağlayacak ve tamamen merkeziyetsiz bir hesaplama platformu olarak uygun olacaktır.
eBPF, BPF'nin (Berkeley Packet Filter, Berkeley Paket Filtreleme) bir evrimidir ve başlangıçta ağ veri paketlerinin verimli bir şekilde filtrelenmesi için kullanılmıştır. Daha sonra eBPF'ye dönüşerek daha zengin bir komut seti sunmuş ve kaynak kodunu değiştirmeden işletim sistemi çekirdeğine dinamik müdahale etme ve davranışını değiştirme imkanı sağlamıştır. Bu teknoloji daha sonra çekirdekten çıkarak kullanıcı alanı eBPF çalışma zamanı olarak gelişmiş, yüksek performans, güvenlik ve taşınabilirlik özellikleri kazanmıştır. Bir blok zincirinde yürütülen akıllı sözleşmeler, SBF (eBPF tabanlı) bayt koduna derlenir ve ağında ç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ıştır, böylece varlıklar ve işlemler kesin bir şekilde tanımlanabilir ve kontrol edilebilir. Move'un bayt kodu doğrulayıcısı, Move bayt kodunu 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 seviyesinde uygulanmasını ve çalışma zamanında kontrol edilmesini gerektirmez. Bazı yeni ortaya çıkan kamu blok zincirleri, Move'dan miras almış veya kendi özelleştirilmiş Move versiyonları ile akıllı sözleşmelerini yazmıştır.
Paralel Yürütme
Blok zincirindeki paralel yürütme, ilgisiz işlemlerin aynı anda işlenmesi anlamına gelir. İlgisiz işlemleri birbirini etkilemeyen olaylar olarak değerlendirin. Ö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 yaparlarsa, işlemlerin belirli bir sıraya göre yürütülmesi gerekebilir.
Paralel yürütmenin ana zorluğu, hangi işlemlerin birbirleriyle alakasız olduğunu ve hangilerinin bağımsız olduğunu belirlemektir. Çoğu yüksek performanslı Layer1, iki yöntemden birine dayanır: durum erişim yöntemi ve iyimser paralel model.
Durum erişim yöntemi, her bir işlemin blok zinciri durumunun hangi kısmına erişebileceğini önceden bilmesini gerektirir, böylece hangi işlemlerin bağımsız olduğunu analiz edebiliriz. Temsilci çözüm bazı yeni ortaya çıkan genel blok zincirlerdir.
Bazı kamu blok zincirlerinde, programlar (akıllı sözleşmeler) durumsuzdur çünkü kendileri işlemler sırasında sürekli var olan herhangi bir durumu erişemez (okuyamaz veya yazamazlar). Durumu erişmek veya korumak için programın bir hesap kullanması gerekir. Her işlem, işlem yürütülürken hangi hesapların erişileceğini belirtmelidir, bu şekilde işlem işleme zamanında çakışmayan işlemleri paralel olarak çalıştırabilir ve veri tutarlılığını garanti edebilir.
Bazı Move uygulamalarında, her akıllı sözleşme bir modül olup, fonksiyonlar ve yapı tanımları içerir. Yapılar, fonksiyonlar içinde örneklenebilir ve diğer modüllere fonksiyon çağrıları aracılığıyla iletilebilir. Çalışma zamanında saklanan yapı örnekleri nesne olarak var olur ve üç farklı nesne türü vardır: sahip nesneleri, paylaşılan nesneler ve değiştirilemez nesneler. Paralel strateji, daha önce belirtildiği gibi, işlemlerin hangi nesneleri işleyeceğini belirtmesini de gerektirir.
İyimser 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. Temsilci senaryo, bazı yeni ortaya çıkan kamu blockchain'leridir.
Bir kamu blok zinciri, Block-STM (blok yazılımı işlem belleği) yöntemini optimistik paralel yürütmeyi uygulamak için kullanır. Block-STM'de, işlemler önce blok içinde belirli bir sırayla ayarlanır, 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şlem döngüsünden sonra, sistem tüm işlem sonuçlarını kontrol eder. Eğer bir işlemin, daha önceki işlemler tarafından değiştirilen bellek konumlarına dokunduğunu tespit ederse, sonuçlarını siler ve tekrar çalıştırır. Bu süreç, bloktaki her işlemin işlenene kadar devam eder.
Paralel EVM
Paralel EVM (Parallel EVM) 2021'de gündeme geldi. O zamanlar, birden fazla işlemi aynı anda işleme destekleyen EVM'i ifade ediyordu ve mevcut EVM'in performansını ve verimliliğini geliştirmeyi amaçlıyordu. Temsilci çözümler arasında bazı halkaların Block-STM tabanlı paralel EVM'leri bulunmaktadır.
Ancak 2023 yılının sonunda, bazı sektör uzmanları 2024 yılına dair trendleri öngörürken paralel EVM'den bahsetti ve paralel yürütme teknolojisini benimseyen EVM uyumlu Layer1 projelerini yeniden canlandırdı, bunlar arasında bazı yeni projeler de bulunuyor.
Günümüzde, bazı EVM uyumlu çözümler, Ethereum SVM (Solana Sanal Makinesi) Layer2 Rollup'ları, Ethereum Move Sanal Makinesi Layer2 Rollup'ları ve modüler yürütme katmanı Layer1, paralel EVM etiketi ile birer birer etiketleniyor ve bu durum gözleri kamaştırıyor.
Benim düşündüğüm, paralel EVM'yi tanımlayabilecek yalnızca üç tür vardır:
Paralel yürütme teknolojisi kullanmayan EVM uyumlu Layer1'in paralel yürütme yükseltmesi, örneğin bazı ana akım kamu zincirleri;
Paralel yürütme teknolojisini kullanan EVM uyumlu Layer1, örneğin bazı yeni projeler;
Paralel yürütme teknolojisi kullanan, EVM uyumlu olmayan Layer1'in EVM uyumlu çözümleri, örneğin bazı çapraz zincir projeleri.
Bazı önde gelen halka açık blok zincirleri, en önde gelen EVM uyumlu Layer1 olarak zaten söylenmeye gerek yok, burada bazı yeni projeleri ve çapraz zincir çözümlerini kısaca tanıtmaya çalışacağım.
Bazı yeni nesil kamu blok zincirleri, PoS mekanizması kullanan EVM uyumlu yüksek performanslı Layer1'dir ve paralel yürütme ile ölçeklenebilirliği ve işlem hızını önemli ölçüde artırmayı hedeflemektedir. İşlemlerin verimliliğini artırmak için blok içinde paralel olarak yürütülmesine izin verirler. Genellikle, önceki adımın yürütülmesi tamamlanmadan yeni işlemlerin yürütülmesine başlamak için optimistik paralel model kullanılır. Yanlış sonuçlarla başa çıkmak için, giriş/çıkış takibi yapılır ve tutarsız işlemler yeniden yürütülür. Statik kod analizörü, bağımlılıkları tahmin edebilir, geçersiz paralelliği önleyebilir ve belirsizlik durumunda basit moda geri dönebilir. Bu paralel yürütme, işlem hacmini artırırken işlem başarısızlığı olasılığını azaltır.
Bazı çapraz zincir çözümleri, diğer kamu zincirleri üzerinde EVM işlemleri gerçekleştirmek için geliştirilen çözümlerdir. Gerçekte, belirli bir bayt koduna derlenen bir EVM yorumlayıcısı içeren bir akıllı sözleşmedir. İçinde bir Ethereum işlem modeli ve hesap modeli seti uygulanmıştır, kullanıcılar yalnızca EVM GAS ücretlerini ödeyerek işlem gönderebilir. Yerel ağın ücretleri aracılar tarafından ödenir. Bazı kamu zincirleri, işlemlerin bir hesap listesi sağlamasını zorunlu kılar; paketlenmiş işlemler de istisna değildir, bu nedenle aracının sorumlulukları bu hesap listesini oluşturmayı içerir, aynı zamanda yerel işlem paralel yürütme yeteneği de kazanır.
Burada eklemek istediğim bir nokta var, EVM'yi akıllı sözleşmelerin çalıştırılması için kullanarak EVM uyumluluğunu sağlamak adına benzer diğer bazı çapraz zincir projeleri de bulunmaktadır. Teorik olarak bazı yeni nesil kamu zincirlerinde de bu yöntemle müdahalesiz EVM uyumluluğu sağlanabilir ve bu tür çalışmaları yürüten projeler mevcuttur. Bazı projeler, her türlü dağıtık ortamda Move tabanlı altyapılar, uygulamalar ve blok zincirleri inşa etmek ve dağıtmak için bir modüler çerçeve sunmaktadır. Bu modüllerin bazıları EVM opcode'larını sorunsuz bir şekilde Move opcode'larına dönüştürebilir, bu da Solidity projelerinin Move'un performans ve güvenlik avantajlarından faydalanabileceği anlamına gelir, üstelik bir satır Move koduna ihtiyaç duymadan.
EVM uyumluluğu, geliştiricilerin Ethereum uygulamalarını büyük ölçüde değişiklik yapmadan zincire kolayca taşımalarını sağlar; bu, yeni nesil halka açık zincir ekosistemini inşa etme konusunda iyi bir yönelimdir.
Özet
Blok zincirinin paralel teknolojisi artık eski bir tartışma konusu haline geldi, anlatım her bir süre içinde başını kaldırıyor, ancak şu anda esas olarak bazı halka açık zincirlerin Block-STM mekanizması ile temsil edilen iyimser yürütme modellerinin yeniden yapılandırılması ve taklit edilmesi ile ilgili, dolayısıyla somut bir atılım olmadığı için bu heyecan devam edemiyor.
Geleceğe bakıldığında, daha fazla yeni Layer1 projesinin paralel EVM rekabetine katılacağı, eski Layer1'lerin de EVM paralel yükseltmeleri veya EVM uyumlu çözümler gerçekleştireceği öngörülüyor. İki yön de farklı yollarla aynı sona ulaşacak ve performans artışı ile ilgili daha fazla yeni anlatı ortaya çıkacak.
Ancak yüksek performanslı EVM anlatısına kıyasla, blockchain'in çeşitli yönlerden gelişmesini ve WASM, SVM ve Move VM gibi anlatıların ortaya çıkmasını umuyorum.
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
7
Share
Comment
0/400
MEVEye
· 16h ago
Tamamen Gas ile Cüzdanı sıkıştırmak, acı çekmek için ödeme yapmak
View OriginalReply0
AirdropHunter
· 16h ago
Bu gas nereden kapılır?
View OriginalReply0
ChainSpy
· 16h ago
Blok Zinciri ile oynamak, göstergeleri değil, kodu ve yeniliği izlemek.
View OriginalReply0
LucidSleepwalker
· 16h ago
gas'ı açmak yeter.
View OriginalReply0
DisillusiionOracle
· 16h ago
Hâlâ ne JVM'den bahsediyoruz, Gas ücretleri insanları yiyor.
View OriginalReply0
GmGmNoGn
· 16h ago
bytecode da çok gösterişli 8
View OriginalReply0
MemeCoinSavant
· 17h ago
evm, aslında degens için java gibi, dürüst olmak gerekirse.
EVM Paralelleştirmesi: Yüksek Performanslı Layer1'den EVM Uyumlu Çözümlere Teknik Gelişim
EVM: Ethereum'un çekirdeği
EVM (Ethereum Sanal Makinesi), Ethereum'un çekirdeğidir ve akıllı sözleşmeleri çalıştırmak ve işlemleri işlemekten sorumludur.
Sanal makineler genellikle gerçek bilgisayarların sanallaştırılması için kullanılır ve sanal makine yöneticisi veya tüm işletim sistemi örneği tarafından sanallaştırılır. Gerçek donanım, sistem çağrıları ve diğer çekirdek işlevlerinin yazılım soyutlamasını sağlamaları gerekir.
EVM, daha sınırlı bir alanda çalışır: sadece Java sanal makinesi (JVM) spesifikasyonuna benzer bir hesaplama motoru sunar ve hesaplama ile depolama için soyutlama sağlar. Yüksek seviyede, JVM, altındaki ana işletim sistemi veya donanımdan bağımsız bir çalışma ortamı sunmayı amaçlar ve sistemler arası uyumluluğu gerçekleştirir. Benzer şekilde, EVM kendi bayt kodu talimat setini çalıştırır; bu talimat seti genellikle Solidity tarafından derlenir.
EVM, bir yarı Turing tam bir durum makinesidir. "Yarı" ifadesi, tüm yürütme adımlarının sınırlı kaynak olan Gas tüketmesi nedeniyle kullanılmaktadır. Bu nedenle, verilen herhangi bir akıllı sözleşmenin yürütülmesi, sınırlı hesaplama adımlarıyla sınırlıdır ve bu, yürütme sürecinde olası bir sonsuz döngüyü önleyerek tüm Ethereum platformunun durmasını engeller.
EVM'nin 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 biriktirilir ve blok tamamlandıktan sonraki en son dünya durumuna ulaşılır. Bir sonraki blokun yürütülmesi, bir önceki blok yürütüldükten sonraki dünya durumuna sıkı bir şekilde bağlıdır, bu nedenle Ethereum'un işlem doğrusal yürütme süreci iyi bir şekilde paralel yürütme optimizasyonu gerçekleştiremez.
Bu anlamda, Ethereum protokolü işlemlerin sıralı olarak gerçekleştirilmesini öngörmektedir. Sıralı yürütme, işlemlerin ve akıllı sözleşmelerin belirli bir sırayla yürütülmesini sağladığı için güvenliği garanti etse de, yüksek yük altında ağın tıkanmasına ve gecikmelere yol açabilir. Bu da, Ethereum'un büyük bir performans darboğazına sahip olmasının ve Layer2 Rollup ölçeklenmesine 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ğini temel alarak kendi optimizasyon çözümlerini tasarlamaktadır. Burada sadece yürütme katmanının optimizasyonundan, yani sanal makine ve paralel yürütmeden bahsedeceğiz.
Sanal Makine
EVM, Ethereum'in hash algoritmasını daha kolay işlemek amacıyla 256 bitlik bir sanal makine olarak tasarlanmıştır ve kesin olarak 256 bitlik bir çıktı üretir. Ancak, EVM'yi çalıştıran bilgisayarların, akıllı sözleşmeleri yürütmek için 256 bitlik baytları yerel mimariye eşleştirmesi gerektiğinden, tüm sistem oldukça verimsiz ve pratik değildir. Bu nedenle sanal makine seçiminde, yüksek performanslı Layer1'ler daha çok WASM, eBPF bayt kodu veya Move bayt koduna dayalı sanal makineler kullanmaktadır, EVM yerine.
WASM, küçük boyutlu, hızlı yüklenen, taşınabilir ve sandbox güvenlik mekanizmasına dayanan bir bytecode formatıdır. Geliştiriciler, akıllı sözleşmeleri yazmak için çeşitli programlama dilleri kullanabilir ve ardından bunları WASM bytecode'a derleyip çalıştırabilirler. WASM, EOS, Dfinity, Polkadot, Cosmos, Near gibi birçok blockchain projesi tarafından standart olarak kabul edilmiştir. Ethereum da gelecekte WASM'yi entegre edecek, böylece Ethereum'un yürütme katmanının daha verimli, basit hale gelmesini sağlayacak ve tamamen merkeziyetsiz bir hesaplama platformu olarak uygun olacaktır.
eBPF, BPF'nin (Berkeley Packet Filter, Berkeley Paket Filtreleme) bir evrimidir ve başlangıçta ağ veri paketlerinin verimli bir şekilde filtrelenmesi için kullanılmıştır. Daha sonra eBPF'ye dönüşerek daha zengin bir komut seti sunmuş ve kaynak kodunu değiştirmeden işletim sistemi çekirdeğine dinamik müdahale etme ve davranışını değiştirme imkanı sağlamıştır. Bu teknoloji daha sonra çekirdekten çıkarak kullanıcı alanı eBPF çalışma zamanı olarak gelişmiş, yüksek performans, güvenlik ve taşınabilirlik özellikleri kazanmıştır. Bir blok zincirinde yürütülen akıllı sözleşmeler, SBF (eBPF tabanlı) bayt koduna derlenir ve ağında ç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ıştır, böylece varlıklar ve işlemler kesin bir şekilde tanımlanabilir ve kontrol edilebilir. Move'un bayt kodu doğrulayıcısı, Move bayt kodunu 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 seviyesinde uygulanmasını ve çalışma zamanında kontrol edilmesini gerektirmez. Bazı yeni ortaya çıkan kamu blok zincirleri, Move'dan miras almış veya kendi özelleştirilmiş Move versiyonları ile akıllı sözleşmelerini yazmıştır.
Paralel Yürütme
Blok zincirindeki paralel yürütme, ilgisiz işlemlerin aynı anda işlenmesi anlamına gelir. İlgisiz işlemleri birbirini etkilemeyen olaylar olarak değerlendirin. Ö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 yaparlarsa, işlemlerin belirli bir sıraya göre yürütülmesi gerekebilir.
Paralel yürütmenin ana zorluğu, hangi işlemlerin birbirleriyle alakasız olduğunu ve hangilerinin bağımsız olduğunu belirlemektir. Çoğu yüksek performanslı Layer1, iki yöntemden birine dayanır: durum erişim yöntemi ve iyimser paralel model.
Durum erişim yöntemi, her bir işlemin blok zinciri durumunun hangi kısmına erişebileceğini önceden bilmesini gerektirir, böylece hangi işlemlerin bağımsız olduğunu analiz edebiliriz. Temsilci çözüm bazı yeni ortaya çıkan genel blok zincirlerdir.
Bazı kamu blok zincirlerinde, programlar (akıllı sözleşmeler) durumsuzdur çünkü kendileri işlemler sırasında sürekli var olan herhangi bir durumu erişemez (okuyamaz veya yazamazlar). Durumu erişmek veya korumak için programın bir hesap kullanması gerekir. Her işlem, işlem yürütülürken hangi hesapların erişileceğini belirtmelidir, bu şekilde işlem işleme zamanında çakışmayan işlemleri paralel olarak çalıştırabilir ve veri tutarlılığını garanti edebilir.
Bazı Move uygulamalarında, her akıllı sözleşme bir modül olup, fonksiyonlar ve yapı tanımları içerir. Yapılar, fonksiyonlar içinde örneklenebilir ve diğer modüllere fonksiyon çağrıları aracılığıyla iletilebilir. Çalışma zamanında saklanan yapı örnekleri nesne olarak var olur ve üç farklı nesne türü vardır: sahip nesneleri, paylaşılan nesneler ve değiştirilemez nesneler. Paralel strateji, daha önce belirtildiği gibi, işlemlerin hangi nesneleri işleyeceğini belirtmesini de gerektirir.
İyimser 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. Temsilci senaryo, bazı yeni ortaya çıkan kamu blockchain'leridir.
Bir kamu blok zinciri, Block-STM (blok yazılımı işlem belleği) yöntemini optimistik paralel yürütmeyi uygulamak için kullanır. Block-STM'de, işlemler önce blok içinde belirli bir sırayla ayarlanır, 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şlem döngüsünden sonra, sistem tüm işlem sonuçlarını kontrol eder. Eğer bir işlemin, daha önceki işlemler tarafından değiştirilen bellek konumlarına dokunduğunu tespit ederse, sonuçlarını siler ve tekrar çalıştırır. Bu süreç, bloktaki her işlemin işlenene kadar devam eder.
Paralel EVM
Paralel EVM (Parallel EVM) 2021'de gündeme geldi. O zamanlar, birden fazla işlemi aynı anda işleme destekleyen EVM'i ifade ediyordu ve mevcut EVM'in performansını ve verimliliğini geliştirmeyi amaçlıyordu. Temsilci çözümler arasında bazı halkaların Block-STM tabanlı paralel EVM'leri bulunmaktadır.
Ancak 2023 yılının sonunda, bazı sektör uzmanları 2024 yılına dair trendleri öngörürken paralel EVM'den bahsetti ve paralel yürütme teknolojisini benimseyen EVM uyumlu Layer1 projelerini yeniden canlandırdı, bunlar arasında bazı yeni projeler de bulunuyor.
Günümüzde, bazı EVM uyumlu çözümler, Ethereum SVM (Solana Sanal Makinesi) Layer2 Rollup'ları, Ethereum Move Sanal Makinesi Layer2 Rollup'ları ve modüler yürütme katmanı Layer1, paralel EVM etiketi ile birer birer etiketleniyor ve bu durum gözleri kamaştırıyor.
Benim düşündüğüm, paralel EVM'yi tanımlayabilecek yalnızca üç tür vardır:
Paralel yürütme teknolojisi kullanmayan EVM uyumlu Layer1'in paralel yürütme yükseltmesi, örneğin bazı ana akım kamu zincirleri;
Paralel yürütme teknolojisini kullanan EVM uyumlu Layer1, örneğin bazı yeni projeler;
Paralel yürütme teknolojisi kullanan, EVM uyumlu olmayan Layer1'in EVM uyumlu çözümleri, örneğin bazı çapraz zincir projeleri.
Bazı önde gelen halka açık blok zincirleri, en önde gelen EVM uyumlu Layer1 olarak zaten söylenmeye gerek yok, burada bazı yeni projeleri ve çapraz zincir çözümlerini kısaca tanıtmaya çalışacağım.
Bazı yeni nesil kamu blok zincirleri, PoS mekanizması kullanan EVM uyumlu yüksek performanslı Layer1'dir ve paralel yürütme ile ölçeklenebilirliği ve işlem hızını önemli ölçüde artırmayı hedeflemektedir. İşlemlerin verimliliğini artırmak için blok içinde paralel olarak yürütülmesine izin verirler. Genellikle, önceki adımın yürütülmesi tamamlanmadan yeni işlemlerin yürütülmesine başlamak için optimistik paralel model kullanılır. Yanlış sonuçlarla başa çıkmak için, giriş/çıkış takibi yapılır ve tutarsız işlemler yeniden yürütülür. Statik kod analizörü, bağımlılıkları tahmin edebilir, geçersiz paralelliği önleyebilir ve belirsizlik durumunda basit moda geri dönebilir. Bu paralel yürütme, işlem hacmini artırırken işlem başarısızlığı olasılığını azaltır.
Bazı çapraz zincir çözümleri, diğer kamu zincirleri üzerinde EVM işlemleri gerçekleştirmek için geliştirilen çözümlerdir. Gerçekte, belirli bir bayt koduna derlenen bir EVM yorumlayıcısı içeren bir akıllı sözleşmedir. İçinde bir Ethereum işlem modeli ve hesap modeli seti uygulanmıştır, kullanıcılar yalnızca EVM GAS ücretlerini ödeyerek işlem gönderebilir. Yerel ağın ücretleri aracılar tarafından ödenir. Bazı kamu zincirleri, işlemlerin bir hesap listesi sağlamasını zorunlu kılar; paketlenmiş işlemler de istisna değildir, bu nedenle aracının sorumlulukları bu hesap listesini oluşturmayı içerir, aynı zamanda yerel işlem paralel yürütme yeteneği de kazanır.
Burada eklemek istediğim bir nokta var, EVM'yi akıllı sözleşmelerin çalıştırılması için kullanarak EVM uyumluluğunu sağlamak adına benzer diğer bazı çapraz zincir projeleri de bulunmaktadır. Teorik olarak bazı yeni nesil kamu zincirlerinde de bu yöntemle müdahalesiz EVM uyumluluğu sağlanabilir ve bu tür çalışmaları yürüten projeler mevcuttur. Bazı projeler, her türlü dağıtık ortamda Move tabanlı altyapılar, uygulamalar ve blok zincirleri inşa etmek ve dağıtmak için bir modüler çerçeve sunmaktadır. Bu modüllerin bazıları EVM opcode'larını sorunsuz bir şekilde Move opcode'larına dönüştürebilir, bu da Solidity projelerinin Move'un performans ve güvenlik avantajlarından faydalanabileceği anlamına gelir, üstelik bir satır Move koduna ihtiyaç duymadan.
EVM uyumluluğu, geliştiricilerin Ethereum uygulamalarını büyük ölçüde değişiklik yapmadan zincire kolayca taşımalarını sağlar; bu, yeni nesil halka açık zincir ekosistemini inşa etme konusunda iyi bir yönelimdir.
Özet
Blok zincirinin paralel teknolojisi artık eski bir tartışma konusu haline geldi, anlatım her bir süre içinde başını kaldırıyor, ancak şu anda esas olarak bazı halka açık zincirlerin Block-STM mekanizması ile temsil edilen iyimser yürütme modellerinin yeniden yapılandırılması ve taklit edilmesi ile ilgili, dolayısıyla somut bir atılım olmadığı için bu heyecan devam edemiyor.
Geleceğe bakıldığında, daha fazla yeni Layer1 projesinin paralel EVM rekabetine katılacağı, eski Layer1'lerin de EVM paralel yükseltmeleri veya EVM uyumlu çözümler gerçekleştireceği öngörülüyor. İki yön de farklı yollarla aynı sona ulaşacak ve performans artışı ile ilgili daha fazla yeni anlatı ortaya çıkacak.
Ancak yüksek performanslı EVM anlatısına kıyasla, blockchain'in çeşitli yönlerden gelişmesini ve WASM, SVM ve Move VM gibi anlatıların ortaya çıkmasını umuyorum.