Blockchain’lerde Paralelleştirme: Nedir ve Nasıl Çalışır

Anıl
10 min readFeb 14, 2025

Paralelleştirme (Parallelization) veya Paralel İşlem Yürütme (Parallel Transaction Execution), blockchain işlem sürelerini kısaltmayı amaçlayan önemli bir fonksiyondur. Genelde yaygın yapıda bulunan tüm blokların sırayla oluşmasına alternatif olarak işlemlerin aynı anda işlenmesini sağlamaktadır.

Ethereum vb. işlemleri sıralı olarak gerçekleştiren blockchainler, ağın tıkanık olduğu dönemlerde (ICO, NFT mint veya piyasadaki volatilitenin arttığı dönemlerde) yavaş işlem hızı ve yüksek işlem maliyetleriyle sonuçlanan doğal ölçeklenebilirlik zorluklarıyla karşı karşıyadır.

Bu sınırlamanın arkasındaki temel faktör, işlemlerin sequential (sıralı) olarak yürütülmesidir. İlk blockchain’lerde işlemler sıraya alınır ve seri olarak işlenir; bu sırada validator’lar daha yüksek gas fee’li işlemlere öncelik verir.

Bu yaklaşım blockchain’in ilk günlerinde etkili bir şekilde çalışsa da, kullanımın hızlı büyümesi ve on-chain aktivitelerdeki artış, bu yöntemin kritik zamanlarda bizleri zor durumda bıraktığı bir gerçek.

Bu zorlukların üstesinden gelmek için, günümüzdeki farklı ağlar farklı parallelization modelleri ile altyapılarına inşa etmekteler. Bu yenilikler, daha hızlı, ölçeklenebilir ve maliyet-etkin ağların önünü açarak blockchain’in sürekli gelişimine destek sağlamaktadır.

Parallel Transaction Execution Nedir?

Özetle; birden fazla işlemin eş zamanlı olarak işlendiği teknik mimari tipidir.

İşlemleri art arda işlemek yerine, blockchain birden fazla işlemi aynı anda işleyecek şekilde yapılandırılmıştır. Bu mimari, işlem işleme hızını artırır, gas maliyetlerini düşürür ve işlemler verimli bir şekilde yürütüldüğü için ağı daha ölçeklenebilir hale getirir.

Parallelization modeline bağlı olarak, işlemler ya eşzamanlı olarak işlenir ve daha sonra sıralanır, ya da dependent (bağımlı) olmayan işlemler dependent işlemlerden ayrılır ve eşzamanlı olarak işlenir.

Parallel Execution’da Dependent vs. Independent Transactions

Bağımsız (Independent) Transactions: Bu işlemler diğer işlemlerle etkileşime girmez veya onlara bağlı değildir. Aynı blockchain durumunu değiştirmezler ve yürütme yolları çakışmaz; bu nedenle işlenme sıraları sonuçlarını etkilemez.

Örneğin: Anıl, Ali’ye ETH gönderir ve ayrı bir olayda Mete, Cevdet’e ETH gönderir. Bu işlemlerin ikisi de non-dependent’tır ve birbirlerini etkilemezler.

Bağımlı (Dependent) transactions: Bu işlemler aynı blockchain state’i ile etkileşime girer; örneğin aynı depolama alanını, bakiyeleri değiştirme veya aynı adrese erişme gibi. Bu eylemler dependency (bağımlılık) oluşturur, yani bir işlemin sonucu diğerinin sonucuna bağlıdır.

Örneğin, bir lending protocol’de, bir işlem havuza fon yatırırken, diğeri havuzdan para çekebilir. Bu işlemler dependent’tır çünkü withdrawal işlemleri, havuzun durumunu güncellemek için önceki deposit işlemine bağlıdır.

Başka bir örnek AMM’dedir. Bir işlem bir havuza likidite ekler ve diğeri havuzdan token swap yaparsa, ikincisinin sonucu güncellenen likidite bakiyesine bağlı olacaktır.

Blockchain’de Paralelleştirme Katmanları

Parallel transaction execution üç farklı seviyede uygulanabilir:

  • Block-level parallelization
  • Smart contract parallelization
  • Transaction-level parallelization

Blok Seviyesi Paralelleştirme (Block-level Parallelization)

Burada blockchain’ler işlem çıktısını artırmak amacıyla birden fazla blok’u eşzamanlı olarak oluşturur ve doğrular. Block-level parallel işleme, blockchain güvenliğini korumak için dikkatli tasarım gerektirir ve network node’larından daha yüksek hesaplama kaynakları talep eder, bu da validator’ların donanım gereksinimlerini potansiyel olarak artırır.

Akıllı Kontrat Paralelleştirme (Smart Contract Parallelization)

Smart contract seviyesinde parallel işleme, decentralized applications (DApps)’in performansını ve ölçeklenebilirliğini önemli ölçüde artıran birden fazla smart contract’ın eş zamanlı yürütülmesini içerir.

Optimistic rollups gibi mekanizmalar, işlemleri off-chain yürüterek ve on-chain’de sonlandırmadan önce birleştirerek bu süreci daha da optimize eder. Bu, ana blockchain üzerindeki yükü azaltarak ölçeklenebilirliği ve verimliliği artırır.

İşlem Seviyesinde Paralelleştirme (Transaction Level Parallelization)

Transaction-level parallelization, birden fazla işlemin eşzamanlı olarak işlenmesini sağlayarak network’ün çıktısını önemli ölçüde artırır ve transactions per second (TPS)’i yükseltir. İşlemleri eşzamanlı olarak ele alan bu yaklaşım, gecikmeyi azaltır ve genel performansı artırarak daha verimli ve ölçeklenebilir bir network’le sonuçlanır.

Paralel Yürütmedeki Öncü Sistemler

Bu tasarım inceliklerinin etkilerini daha iyi anlayabilmek için, günümüzde paralel yürütme sınırlarını zorlayan ekiplerin perspektifinden paralel yürütmeyi analiz etmek faydalı olacaktır.

Solana Virtual Machine (SVM)

Solana, kurucusu Anatoly Yakovenko’nun telekomünikasyon sektöründeki deneyiminden esinlenerek parallel execution etrafında tasarlanan ilk blockchain network’ü oldu.

Solana’nın yüksek hız ve işlem hacmini sağlayan kritik bileşeni, network’ün parallel akıllı kontrat çalışma ortamı olan Sealevel’dır. EVM ve WASM tabanlı ortamların aksine Sealevel, çok iş parçacıklı bir mimari kullanır, yani validator çekirdeğinin kapasitesi ölçüsünde birden fazla işlemi eş zamanlı olarak işleyebilir.

Solana’nın parallel execution’ını sağlayan anahtar, bir işlem etkinleştirildiğinde, network’ün o işlem için hangi hesaplara ve duruma erişileceği ve hangi değişikliklerin yapılacağı gibi talimatlar listesi iletmesidir. Bu, bağımsız işlemlerin eş zamanlı olarak yürütülebilmesini belirlemek ve aynı duruma erişmeye çalışan işlemlerin bunu eş zamanlı olarak yapmasını sağlamak için önemlidir.

Solana ayrıca, işlem verilerinin eş zamanlı okunması ve yazılması için kendi özel accountsDB’si olan Cloudbreak’i kullanır. Parallel execution için optimize edilmiş Cloudbreak, durum(state) verilerini birden fazla node arasında dağıtmak ve yönetmek için yatay olarak ölçeklenir.

Parallel mimarisi sayesinde Solana, çok sayıda işlemi hızlı bir şekilde işleyebilir ve işlemlere neredeyse anında kesinlik sağlar. Solana güncel değerlerde 2K-10K arasında bir TPS değerine sahip.

Parallel EVM

Parallel EVM, Solana ve Ethereum’un tasarımlarından ilham alarak Solana’nın hız ve performansı ile Ethereum’un güvenliği ve likiditesini bir araya getiren yeni bir blockchain mimarisi olarak karşımıza çıkıyor. Geleneksel EVM tasarımında olduğu gibi sıralı yerine parallel olarak işlemleri işleyerek, parallel EVM’ler geliştiricilerin EVM likiditesi ve geliştirici araçlarından yararlanırken yüksek performanslı bir network üzerinde uygulama oluşturmalarını sağlar.

Sei Network

Sei Network, EVM uyumlu bir Layer 1 blockchain olarak, yüksek performanslı merkezi olmayan uygulamalar için optimize edilmiş bir altyapı sunmaktadır. Platformun en dikkat çekici özelliği, yarım saniyeden kısa blok onay süreleri ve 4.3 milyarı aşan işlem hacmidir. Bu metrikler, Sei’yi paralel EVM’ler arasında lider konuma getirmektedir.

Paralel İşlem Modelindeki Evrim Sei’nin paralel işlem yaklaşımı, V2 güncellemesiyle önemli bir dönüşüm geçirmiştir. Başlangıçtaki deterministik model yerine, daha verimli bir optimistik paralel model benimsenmiştir. Bu yeni model şu şekilde çalışır:

  • İlk Aşama: Tüm işlemler ağa gönderildiklerinde parallel olarak işlenir
  • İkinci Aşama: İşlemler, önceki işlemlerle olası çakışmalar açısından incelenir
  • Çakışma Yönetimi: Aynı ağ durumuna erişmeye çalışan işlemler tespit edildiğinde, çakışmanın türüne göre ya parallel ya da sıralı olarak yeniden yürütülür.

SeiDB: Özelleştirilmiş Veritabanı Çözümü Sei, veri yönetimini optimize etmek için özel bir veritabanı olan SeiDB’yi geliştirmiştir. Bu veritabanı şu avantajları sunar:

  • Gereksiz veri depolama yükünü azaltır
  • Disk kullanımını optimize eder
  • Metadata gereksinimleri minimize edilmiştir
  • Write-ahead log özelliği ile veri kurtarma yetenekleri geliştirilmiştir

Parallel Stack: Ölçeklenebilirlik Çözümü Sei’nin yakın zamanda duyurduğu Parallel Stack, açık kaynaklı bir çerçeve sunarak Layer 2 ölçeklendirme çözümlerinin parallel işlem avantajlarından yararlanmasını sağlamaktadır. Bu gelişme, rollup’lar için önemli bir ilerleme sunmaktadır.

Bu kapsamlı güncellemeler ve yenilikler, Sei Network’ün blockchain ekosisteminde yüksek performanslı, verimli ve ölçeklenebilir bir altyapı sunma hedefini desteklemektedir.

Monad

Monad, gelecek vadeden bir Layer 1 blockchain projesi olarak, Ethereum uygulamaları için tam bytecode ve RPC uyumluluğu sunmaktadır. Teknik yenilikleri ve paralel işlem yetenekleriyle dikkat çeken bu platform, blockchain deneyimini yeni bir seviyeye taşımayı hedeflemektedir.

Monad, 1 saniyelik blok süresi ve saniyede 10.000 işlem (TPS) kapasitesi ile yüksek performans sunmaktadır. Bu performans, paralel yürütme, optimistic execution modeli ve asenkron veri yönetimi mekanizmaları sayesinde sağlanmaktadır. Monad, synchronous I/O sınırlamalarını kaldırarak asenkron veri erişimi sunan MonadDB’yi geliştirmiştir, bu da paralel işlem kapasitesini artırmaktadır.

Optimistic Execution Modeli Sei v2'ye benzer şekilde, Monad optimistic roll’up modeli kullanmaktadır. Bu modelde:

  • Gelen tüm işlemler eşzamanlı olarak yürütülmeye başlar
  • Sistem çakışmaları tespit eder ve analiz eder
  • Gerektiğinde işlemleri yeniden yürütür
  • Sonuç, işlemlerin sıralı yürütülmesiyle aynı olacak şekilde düzenlenir

MonadDB: Özel Blockchain Veri tabanı Monad, verimli veri yönetimi için özel olarak tasarlanmış MonadDB’yi geliştirmiştir. Bu veri tabanının özellikleri:

  • Linux çekirdeğinin gelişmiş özelliklerinden yararlanır
  • Asenkron disk işlemleri sunar
  • Senkron giriş/çıkış kısıtlamalarını ortadan kaldırır
  • Paralel işlem yürütmeyi optimize eder

Ethereum ile synchronization sürdürülmesinde önemli bir nokta, Monad’ın bir block içindeki transaction’ları doğrusal bir sırada düzenlemesi ve her transaction’ın sıralı olarak güncellenmesidir.

Monad, mevcut Ethereum client’larının sunduğundan daha verimli bir şekilde blockchain verilerini korumak ve erişmek amacıyla, özel olarak blockchain’ler için tasarlanmış kendi MonadDB’sini geliştirdi. MonadDB, synchronous input/output erişiminin kısıtlamalarını ortadan kaldırarak, verimli asynchronous disk işlemleri için gelişmiş Linux kernel özelliklerinden yararlanır. MonadDB, parallel execution’ı mümkün kılan asynchronous input/output (async I/O) erişimi sunar; bu sayede sistem, önceki bir transaction için state okumayı beklerken bir sonraki transaction’ı işlemeye başlayabilir.

Move Programlama Dili

Move, blockchain teknolojisinde güvenli akıllı sözleşme geliştirmeyi hedefleyen özel bir programlama dilidir. Facebook (şu anda Meta) tarafından 2019 yılında Diem (önceki adıyla Libra) projesi için geliştirilmiştir.

Move’un en önemli özelliği, dijital varlıkların güvenli bir şekilde yönetilmesini sağlayan kaynak odaklı programlama (resource-oriented programming) modelidir. Bu model, varlıkların yalnızca yetkili işlemler tarafından değiştirilmesini garanti altına alarak güvenlik açıklarını minimize eder. Ancak, reentrancy saldırılarını doğrudan engelleyen özel bir mekanizma değil, genel olarak güvenli veri yönetimi sağlar.

MoveVM, Move tabanlı blok zincirlerinin çalışma ortamıdır. Paralel işlem yapabilme yeteneği sayesinde, işlemlerin daha hızlı gerçekleştirilmesini sağlar. Bu özellik, ağın genel verimliliğini ve ölçeklenebilirliğini önemli ölçüde artırır.

Move’un temel teknik avantajları arasında kaynak odaklı programlama modeli sayesinde dijital varlıkların güvenli yönetimi, statik tip sistemi ile hataların derleme zamanında tespit edilmesi ve verimli bellek yönetimi ile optimize edilmiş çalışma zamanı performansı bulunmaktadır. Her ne kadar Diem projesi devam etmese de, Move dili blockchain ekosisteminde önemli bir yere sahiptir ve diğer projelerde de kullanılmaya devam etmektedir.

Aptos

Aptos, uygulama geliştiricilere yüksek performanslı bir ortam sunmak için parallel execution kullanan ve eski Diem proje üyeleri tarafından geliştirilen, Move tabanlı bir Layer 1 blockchain’dir. Aptos, Software Transactional Memory (STM) eşzamanlılık kontrol mekanizmasının değiştirilmiş bir uygulaması olan Block-STM’i kullanır.

Block-STM, optimistic parallel execution’ı sağlayan multi-threaded bir parallel execution engine’dir. Transaction’lar önceden sıralanır ve bloklar içinde stratejik olarak dizilir; bu da çakışmaların verimli bir şekilde çözülmesi ve bu transaction’ların yeniden yürütülmesi için kilit önem taşır. Aptos tarafından yapılan araştırmalar, Block-STM’in parallelization özelliği kullanılarak teorik olarak 160K TPS’ye kadar desteklenebileceğini ortaya koymuştur.

Sui

Sui, Aptos gibi, Diem projesinin eski üyeleri tarafından geliştirilen ve Move dilini kullanan bir katman 1 blok zinciridir. Sui, Move’un özelleştirilmiş bir versiyonunu kullanarak, orijinal Diem tasarımındaki depolama modelini ve varlık izinlerini değiştirmiştir. Bu sayede Sui, bağımsız işlemleri nesneler olarak temsil eden bir durum depolama modeli kullanabilmektedir.

Her nesne, Sui’nin yürütme ortamında benzersiz bir kimliğe sahiptir ve bu da sistemin çakışmayan işlemleri kolayca tanımlayıp paralel olarak işlemesine olanak tanır. Solana’ya benzer şekilde Sui, işlemlerin erişmek istedikleri hesapları önceden belirtmesini gerektiren deterministik paralel yürütmeyi kullanmaktadır.

Movement Labs

Movement, geliştiricilerin Move üzerinde geliştirme yapmanın avantajlarına kolayca erişebilmeleri için bir dizi geliştirici aracı ve blockchain altyapı servisi oluşturuyor. Move geliştiricileri için AWS benzeri bir execution-as-a-service sağlayıcısı olarak çalışan Movement, daha yüksek throughput ve genel ağ verimliliği sağlamak için parallelization’ı temel bir tasarım özelliği olarak uyguluyor.

MoveVM, blockchain ağlarının artan transaction hacmini destekleyebilmeleri için transaction işleme kapasitelerini gerektiği gibi genişletip ayarlamalarına olanak tanıyan ve transaction’ları parallel olarak işleme ve yürütme yeteneklerini güçlendiren modüler bir execution environment’tır.

Movement ayrıca hem EVM hem de Move client’larıyla interoperable olacak bir ZK-rollup olan M2'yi de piyasaya sürecek. M2, Block-STM parallelization engine’i miras alacak ve bunun sonucunda on binlerce TPS sunması bekleniyor.

Paralel Sistemlerin Güncel Zorlukları

Paralel blockchain’lerin geliştirilmesiyle ilgili düşünülmesi gereken bazı önemli sorular ve hususlar bulunmaktadır. Ağ, parallel execution yoluyla daha iyi performans sağlamak için hangi trade-off’ları yapıyor? Daha az validator’ın ağı güvence altına alması, verification ve execution hızlarını artırır, ancak bu durum validator’ların ağa karşı işbirliği yapmasını kolaylaştırarak blockchain’in güvenliğini tehlikeye atabilir.

Önemli sayıda validator’ın aynı lokasyonda olması durumu, hem kripto hem de kripto olmayan sistemlerde latency’yi minimize etmek için yaygın bir stratejidir, ancak söz konusu data center’ın güvenliği ihlal edilirse ağ risk altına girebilir. Optimistic parallel sistemler için, geçersiz transaction’ların yeniden yürütülmesi süreci, ağ ölçeklendikçe bir bottleneck oluşturabilir.

Üst düzeyde, paralel blockchain’ler ledger tutarsızlıkları riskiyle karşı karşıyadır. Bu, double spending ve transaction’ların sırasında değişiklikler gibi sorunları içerir. Deterministic parallelization, altta yatan blockchain’deki transaction’lar için dahili bir etiketleme sistemi oluşturarak bu sorunu ele alır. Optimistic processing’i uygulayan blockchain’ler, transaction’ları validate etmek ve yeniden yürütmek için kullandıkları mekanizmaların güvenli ve işlevsel olmasını sağlamalıdır.

Önümüzdeki Beklentiler ve Fırsatlar

Bilgisayarların geçmişi, paralel sistemlerin sıralı sistemlerden daha verimli olduğunu göstermektedir. Solana’dan sonra ortaya çıkan paralel blok zincirlerin popülerleşmesi de bunun kripto dünyasında önemini vurgulamaktadır. Vitalik’in son dönemde EVM rollup’larının gelişimi için paralelleştirmeyi değerli bir çözüm olarak görmesi de bu trendi desteklemektedir.

Kripto dünyası büyüdükçe mevcut sistemler yetersiz kalmakta ve yeni çözümler gerekli hale gelmektedir. Solana’nın son dönemde yaşadığı ağ sorunları, bu alanda daha fazla ilerleme gerektiğini göstermektedir. Web2 şirketlerinin işlem hacimleri kadar yoğun trafiği kaldırabilecek sistemler için çalışan ekipler, paralel sistemlerde umut verici sonuçlar almaktadır.

Kaynaklar;

Shoal Research. (2024, Mayıs 1) Parallel Execution: The Next Generation of Blockchains https://www.shoal.gg/p/parallel-execution-the-next-generation

Solana Labs. (2020, Aralık 3). Sealevel: Parallel processing thousands of smart contracts. Medium. https://medium.com/solana-labs/sealevel-parallel-processing-thousands-of-smart-contracts-d814b378192

Sei Labs. (2023, Şubat 10). Sei V2: The first parallelized EVM. Sei Blog. https://blog.sei.io/sei-v2-the-first-parallelized-evm/

Monad Labs. (n.d.). Monad documentation.
https://docs.monad.xyz/

Movement Labs. (2023, Mayıs 10). The MoveVM: A new era of blockchain precision and safety. Medium. https://medium.com/movementlabsxyz/the-movevm-a-new-era-of-blockchain-precision-and-safety-a1b5bd4a65ea

Buterin, V. (2024, Mart 28). Blobs: A new data structure for efficient blockchain storage. Vitalik’s Blog. https://vitalik.eth.limo/general/2024/03/28/blobs.html

--

--

Anıl
Anıl

Written by Anıl

CyberSecurity Management Consultant Blockchain Consultant

No responses yet