Sharding blok zincir projelerinin ölçeklenebilirlik problemlerini çözmeyi hedefleyen bir blok zincir teknolojisidir. Sharding, blok zincir projeleri tarafından ölçeklenebilirlik amacıyla kullanılan ve bir saniyede daha fazla işlem gerçekleştirmelerini sağlayan bir veritabanı bölümleme tekniğidir. Türkçe karşılığı parçalama olan sharding, bir blok zincir projesinin tüm ağını "shards" olarak bilinen daha küçük bölümlere ayırır. Her shard kendi verilerinden oluşur ve diğer shardlarla karşılaştırıldığında onu farklı ve bağımsız kılmaktadır. Sharding, bir blok zincir ağını ayrı shardlara böldüğü için bir ağın gecikmesini veya yavaşlığını azaltmayı hedeflemektedir.
Sharding Nasıl Çalışmaktadır?
Bir blok zincir üzerinde normalde tüm veriler tam düğüm çalıştıran madenciler ya da doğrulayıcılar tarafından tutulmaktadır. Bir blok zincirdeki düğümler bağımsızdır ve merkezi olmayan bir ağdaki tüm verilerin korunmasından ve depolanmasından sorumludur. Başka bir deyişle, her düğüm, hesap bakiyeleri ve işlem geçmişi gibi kritik bilgileri depolamaktadır. Blok zincir ağları, her düğümün ağ üzerindeki tüm işlemleri, verileri ve işlemleri işlemesi gerektiği şekilde kurulmuştur. Sharding ile bu veritabanları bölünerek yatay olarak bölümlenmesi şeklinde gerçekleştirilebilir. Örneğin, belirli bir adres türü için bakiye ve işlem geçmişini depolamaktan bir shard sorumlu olabilir. Ayrıca, shardlar, içinde depolanan dijital varlığın türüne göre bölmek de mümkün olabilir.
Blok zincir üzerindeki her shard, blok zincir teknolojisinin önemli bir yönünü olan şeffaflığı sürdürmektedir. Başka bir deyişle, blok zincir üzerindeki tüm işlemler üçüncü kişiler tarafından şeffaf bir şekilde görüntülenebilmektedir.
Shardlar’da Güvenlik
Sharding özelinde en çok dile getirilen problemlerden olan güvenlik sorunu, bir shardın bilgilerinin kaybı olarak tanımlanmaktadır. Uygulamada ortaya çıkan ana sorunlardan biri güvenliktir. Her shard birbirinden ayrı olup, yalnızca kendi verilerini işlese de, bir shardın başka bir shardı devraldığı durumda bilgi ve veri kaybı gibi durumlarda shardların bozulmasıyla ilgili bir güvenlik endişesi vardır.
Her bir shardı, kimliği doğrulanmış kullanıcıları ve verileriyle kendi blok zinciri ağı olarak düşünürsek, bir bilgisayar korsanı veya bir siber saldırı yoluyla bir shardı ele geçirebilir. Saldırgan daha sonra yanlış işlemler veya kötü amaçlı bir program sunabilir.
En önde gelen blok zincir projelerinden biri olan Ethereum, gecikme ve ölçeklenebilirlik sorunlarına olası bir çözüm olarak sharding teknolojisini test etmektedir. Ethereum ağının Beacon Chain Proof-of-stake sistemi ile birleşeceği "The Merge" olarak adlandırılan olay gerçekleştikten sonra 64 yeni shard zincirini faaliyete geçirmeyi planlamaktadır. Ethereum, düğümleri belirli shardlara rastgele atayarak ve bunları sürekli olarak rastgele aralıklarla yeniden atayarak yani karıştırarak bir shardın saldırılara karşı güvenliğini arttırmayı hedeflemektedir. Bu rastgele atama, bilgisayar korsanlarının bir shardı ne zaman ve nerede bozacağını bilmesini zorlaştırır.
Hala daha test aşamasında olan sharding teknolojisi blok zincirlerin ölçeklenebilirlik sorunlarının çözümü için büyük potansiyel taşımaktadır.