Blokchain nedir?

Dağıtık kayıt defteri (veya DLT) olarak da adlandırılan blokchain ya da blok zinciri özel bir veri tabanı türüdür.

Blok zincirinde verilerin nasıl eklenebileceğine ilişkin belli kurallar vardır ve veriler bir kez saklandıktan sonra onu değiştirmek veya silmek neredeyse imkansızdır.

Veriler blok adı verilen yapılara eklenir. Her blok bir öncekinin üzerine inşa edilir. İnşa edilen her blok önceki bloğa ait veri taşır. Böylelikle son bloktan geriye doğru adım adım giderek “genesis” denen Blockchain’in ilk bloğuna ulaşabiliriz.

 

Bloklar nasıl bağlanır?

Hashing, blokları bir arada tutan yapıştırıcıdır. Her boyutta veriyi alıp, her zaman aynı uzunlukta bir çıktı (karma) üretmek için matematiksel bir fonksiyondan geçirmekten oluşur.

Blok zincirlerinde kullanılan hashler ilginçtir, çünkü tam olarak aynı çıktıyı veren iki veri parçası bulma ihtimaliniz neredeyse imkansızdır. Girdi verilerindeki en ufak değişiklik tamamen farklı bir çıktı değeri verecektir.

Bitcoin’de kullanılan hashing fonksiyonunun SHA-256 olduğunu kriptografi dersinde bahsetmiştik. Şimdi aklınızda daha iyi kalması için örneklendirme yapalım.

GİRDİ VERİSİ

SHA-256 ÇIKTISI

Genel Piyasa

42eb165307d12f17b77f12aaf23560ae4670261b92f831981c10e232f2ee9390

Genel piyasa

4b9050c69c2a1de2f91cb76512af0e452063571c22d604dfcf7a476cf9ad9944

genel piyasa

3206615021a2209d62854dd24e25fe71303418a518de054444ae65b35e3fc359

 

Yukarıdaki tabloda görebileceğiniz gibi sadece baş harflerin büyük-küçük yazım farklı bile bambaşka bir hash değeri üretmektedir.

Her bloğun bir önceki bloğa bağlı olduğunu söylemiştik. Ayrıca her blok bağlı olduğu önceki bloğun dijital imzasını da içinde barındırır. Böylelikle bloklarda geriye doğru düzenleme girişimi gizli bir şekilde yapılamaz, yani bloklar değiştirilemez.

Blok zincirler ve merkeziyetsizlik

Yukarıda blokchain temel yapısını basitçe anlatmaya çalıştık. Ancak blokchain teknolojisi konuşulduğu zaman akla gelen ilk şey teknolojiden ziyade kripto paraları da kapsayan blok zincir ekosistemi.

Diğer teknolojiler ve oyun teorisiyle birleştiğinde blok zinciri, kimsenin kontrol edemediği dağıtık kayıt sistemi olarak hareket eder.

Yani hiç kimse sistem kuralları haricinde verileri değiştiremez. Yani kayıt defterleri aslında herkesindir ama hiç kimsenindir.

 

Bizans Generalleri Problemi

Bu yapı adını, Bizanslı generallerin kullandığı bir yöntemden almaktadır. Bizans İmparatorluğu’nda, imparatordan gelen emirlerin gerçek olup olmadığını anlamak için, generallerin kullandığı oldukça basit ve etkili bir yöntem kullanılmaktaydı. İmparator, ordusuna bir emir vereceği zaman bunu generallere ulaştırmak için birden fazla ulak yollamakta ve generaller de emri aldıklarında kendi aralarında ulaklar ile bu emirleri paylaşmaktaydılar. Bu süreç içinde eğer imparatordan gelen emir ulakların çoğunluğu tarafından doğrulanmış ise bu emrin doğru olduğu kabul edilmekte, aksi takdirde tekil emirlere itimat gösterilmemekteydi.

Bu çözüm, Blockchain dünyasında ise şöyle kullanılmaktadır: Ağ yapısına dahil her doğrulayıcı (validator) rolüne sahip makine için özel bir açık-gizli anahtar ikilisi yer almakta ve her makine diğer makinelerin açık anahtar bilgisine sahip bulunmaktadır. Her makine, kendisine gelen bir işlem (transaction) bilgisini, kendi üzerinde tutulan veri yapısını kullanılarak kontrol eder, onayladığı bir işlemi imzalayarak ağ ile paylaşır. Eğer bir işlem belirli bir sayıda (mesela 2n makineden oluşan bir ağ için bu sayı n+1 olabilir) makine tarafından onaylanmış ise mutabakat sağlanmış kabul edilir ve bu işlem ağ tarafından geçerli işlem olarak tanımlanır.

Blok zincirini denetleyecek ve kullanıcılara "doğru" bilgi verecek kimse yoksa, makineler kendi aralarında iletişim kurabilmelidir. Bir (veya birkaç) makinenin potansiyel başarısızlığının üstesinden gelmek için blok zincirinin mekanizmaları, bu tür aksiliklere karşı dirençli olacak şekilde dikkatlice tasarlanırlar. Bunu başarabilen bir sistem, Bizans hata toleranslı olarak adlandırılır. Bu toleransa ulaşabilmek için blokchain sistemleri konsensüs yani uzlaşı algoritmaları kullanır. Bu algoritmaları madencilik dersinde detaylı ele alacağız.

 

Peki blokchain neden merkeziyetsiz olmalı?

Elbette kendi başınıza bir blok zinciri çalıştırabilirsiniz. Ancak üstün alternatiflere kıyasla hantal olan bir veri tabanına sahip olursunuz. Blok zincir ağı gerçek potansiyeline merkezi olmayan bir ortamda, yani tüm kullanıcıların eşit olduğu bir ortamda ulaşır. Bu şekilde blok zinciri silinemez veya kötü niyetli kişilerin eline geçemez.