Blokzincirde Sharding Nedir? Nasıl Çalışır?

Author logo
Patrick Dike-Ndulue
Post image

Temel içgörüler

Sharding, bir blokzinciri ağı üzerinde ölçeklenebilirliği artırmak için kullanılan bir veritabanı tekniğidir. Ağ, daha küçük parçalara (shard) bölünerek işlemler paralel biçimde işlenir ve ağın işlem kapasitesi artar. Ancak bu yaklaşım, shard'lar arası iletişim karmaşıklığı ve güvenlik açıkları gibi yeni riskler de getirir; çünkü her bir shard, saldırılara karşı daha savunmasızdır. Zilliqa, NEAR ve Ethereum gibi ağlar sharding'i araştırıyor. Eğer bu dezavantajlar aşılırsa, sharding blokzincir üçlemini çözerek ölçeklenebilirliği merkeziyetsizlik ve güvenlikten ödün vermeden sağlayabilir.

Veritabanı geliştiricilerinin karşılaştığı en önemli sorunlardan biri ölçeklendirmedir. Veri hacmi ve işlem sayısı arttıkça, sistem performansının da artırılması gerekir.

Sharding, veritabanlarını ayrı segmentlere bölmeye dayalı bir ölçeklendirme teknolojisidir ve her segment farklı bir sunucuda barındırılabilir.

Bu teknoloji blokzincire uygulandığında, sharding ağı farklı sektörlere ayırmak anlamına gelir. Her sektör (shard), kendine özgü akıllı sözleşmeler ve hesap bakiyeleri içerir ve belirli ağ düğümleri her shard'a atanır. 

These nodes are responsible for verifying transactions only in their assigned shard rather than for all transactions on the blockchain.

Sharding hangi sorunları çözer?

Bir proje popülerleştikçe kullanıcı sayısı artar. Bu kullanıcılar daha fazla işlem yapar, daha fazla DApp başlatır ve ağda daha fazla süreç çalıştırır. Sonuç olarak, işlem hızları düşer ve komisyonlar artar; bu da projenin gelecekteki büyümesini ve gelişimini engeller. Ağı shard'lara bölmek, blokzincirin işlem kapasitesini artırarak bu sorunu çözmenizi sağlar.

Bir düğüm grubu, defterin belirli bir bölümünden sorumlu olduğunda, ağdaki tüm düğümler her işlemin tamamlanması için tüm blokzinciri tutma zorunluluğundan kurtulur. İşlemler doğrusal yerine paralel olarak doğrulanır ve böylece ağın işlem hacmi artar, ölçekleme sorunu ortadan kalkar.

Ayrıca, sharding kullanan blokzincir düğümleri, yük azaldığı için ek işlem gücüne ihtiyaç duymadan daha verimli çalışır.

Sharding nasıl çalışır?

Blokzincirlerin çalışabilmesi için binlerce bilgisayarın katkısı gerekir ve bu işlem gücü, dağıtık defterlerin işlem yapmasını, akıllı sözleşmeler yürütmesini, DApp'ler dağıtmasını sağlar. Ağ, ardışık (sıralı) çalışıyorsa, her düğüm her işlemi işlemek zorundadır. Bu nedenle işlemlerin doğrulanması çok zaman alır. Örneğin Ethereum, saniyede en fazla 10 işlem gerçekleştirebilir.

Blokzincire düğüm eklense bile performansı artmaz; yalnızca doğrulama zinciri uzar.

Sharding'in temelinde, doğrusal yürütme modelinden vazgeçilip paralel bir modele geçilmesi yatar. Burada shard'lar yalnızca belirli hesaplamaları yapar ve birçok işlemi aynı anda işler. Bir anlamda "blokzincir içinde blokzincir" gibidirler; tüm bilgilerini ana zincire, ancak sıkıştırılmış biçimde aktarırlar.

Sharding'in dezavantajları

Sharding'de iki temel sorun bulunur: shard'lar arası iletişim ve güvenlik. 

  1. Communication. Ağı izole sektörlere böldüğünüzde, her biri fiilen ayrı bir blokzincir haline gelir. Bir shard'daki kullanıcılar ve merkeziyetsiz uygulamalar, diğer shard'daki kullanıcı ve uygulamalarla yalnızca belirli bir iletişim protokolüyle etkileşime girebilir.
     
  2. Security. Shard'lı bir ağda, tek bir shard'ın tamamının kontrolünü ele geçirmek, bütün bir blokzincirsiz ağa göre çok daha kolaydır; çünkü gereken hash oranı çok daha düşüktür. Örneğin, Bitcoin ağında %51 saldırısı yapmak milyarlarca dolarlık donanım ve günlük yüz milyonlarca dolarlık elektrik gerektirir. Bu hem maliyetli hem de kârsız ve pratik değildir. Ancak tek bir shard'ı ele geçirmek çok daha ucuz ve kolaydır.

Sharding kesin bir çözüm değildir. Karmaşıklık ve güvenlik endişeleri de beraberinde gelir. Saldırganlar, segmentlere ayrılmış bir blokzincirde tek bir shard'ı ele geçirerek, daha az işlem gücüyle kötü niyetli işlemler yapabilir ve tüm ağı tehdit edebilir.

Ayrıca, farklı düğüm grupları farklı blokzincir segmentlerini yönettiği için, her shard temelde ayrı bir ağ gibi çalışır. Bu segmentler arasında sorunsuz iletişim için özel mekanizmalara ihtiyaç vardır.

Yanlış uygulama, çift harcama gibi güvenliği ciddi şekilde etkileyen sorunlara yol açabilir. Sharding, mevcut blokzincir ağlarında uygulaması zor bir teknolojidir; çünkü ağın bölünmesini ve verilerin yeniden atanmasını gerektirir.

Ethereum, bu soruna rastgele örnekleme kullanan bir çözüm sunar. Shard protokolleri, blok doğrulamasını onaylamak için rastgele farklı segmentlere atanır. Bu, ağın proof-of-stake mutabakatına geçmesiyle mümkün olmuştur.

Sharding kullanan ağlar

Sharding'i ilk başlatan ağ Zilliqa'dır. Kendisini, ölçeklenebilirlik sorununu sharding ile çözmeyi amaçlayan bir blokzincir platformu olarak tanımlar. Testnet aşamasında saniyede 2.828 işlem gerçekleştirmiştir.

NEAR blokzincir ekosistemi, kendini sharded PoS blokzinciri olarak tanımlar ve sharding teknolojisinin düşük performanslı cihazlarda bile çalışabilen düğümleri desteklediğini belirtir.

Ethereum da sharding teknolojisini uygulamayı planlamaktadır. Cardano, QuarkChain ve Plian gibi diğer ağlar da sharding'i kullanmaktadır.

Sonuç

Teorik olarak, sharding teknolojisi kusurları giderilirse blokzincir üçlemini nihayet çözebilir. Böylece blokzincirler, merkeziyetsizlik ve güvenlikten ödün vermeden ölçeklenebilir hale gelebilir.
 

Author logo
Yazar Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
İnceleyen: Rukkayah Jigam

Writer & editor covering digital assets and product updates.