Blok zinciri nasıl çalışır?

Kripto para birimleri bağlamında bir blok zinciri, her biri önceden onaylanmış işlemlerin bir listesini depolayan kararlı bir blok zincirinden oluşur. Blockchain ağı, dünyaya yayılmış sayısız bilgisayar tarafından sürdürüldüğünden, merkezi olmayan bir veri tabanı (veya kayıt defteri) olarak işlev görür. Bahsettiğimiz bu yapı her katılımcının (düğüm) blok zinciri verilerinin bir kopyasını tuttuğu ve hepsinin aynı sayfada (veya blokta) olduğundan emin olmak için birbirleriyle iletişim kurdukları anlamına gelir.

Bu nedenle blok zinciri işlemleri eşler arası bir küresel ağ içinde gerçekleşir ve Bitcoin'i sınırsız, sansüre dayanıklı, merkezi olmayan bir dijital para birimi yapan da budur. Ek olarak, çoğu blok zinciri sistemi, herhangi bir güven gerektirmediği için “güvene gerek duymayan” (trustless) sistem olarak kabul edilir. Bitcoin'i kontrol eden tek bir otorite yoktur.

Hemen hemen her blok zincirinin temeli hash algoritmalara dayanan madencilik sürecidir. Bitcoin, SHA-256 algoritmasını kullanır (Güvenli hash algoritması 256 bit). Herhangi bir uzunlukta bir girdi alır ve her zaman aynı uzunlukta olacak bir çıktı üretir. Üretilen çıktıya "hash" adı verilir ve çıktı her zaman 64 karakterden (256 bit) oluşur.

Tek yönlü bir fonksiyon olmasından dolayı çıktıdan girdinin ne olduğunu hesaplamak neredeyse imkansızdır. Girdinin ne olduğu yalnızca tahmin edilebilir, ancak doğru tahmin etme olasılığı son derece düşüktür. Bitcoin blok zincir ağının güvenli olmasının nedenlerinden biri de budur.

Artık algoritmanın ne yaptığını bildiğimize göre basit örnek ile bir blok zincirinin nasıl çalıştığını gösterelim.

Yine muhteşem ikilimiz Ayşe ve Veli'yi ele alalım. Diyelim ki Ayşe’nin Veli’ye 2 Bitcoin borcu var.

Ayşe'nin Veli'ye 2 Bitcoin göndermesi için Ayşe, ağdaki tüm madencilere yapmak istediği işlemi içeren bir mesaj yayınlar.

Bu işlemde Ayşe, madencilere Veli'nin adresini ve göndermek istediği Bitcoin miktarını dijital imzası ve kendi açık anahtarıyla birlikte verir. İmzalama işlemi, Ayşe'nin özel anahtarıyla yapılır ve madenciler, Ayşe’nin imza ile bu paraların ona ait olduğunu doğrular.

Madenciler, işlemin geçerli olduğundan emin olduktan sonra, diğer işlemlerle birlikte bu işlemleri bloğa kaydederler. Bu işlemler bloğu SHA-256 algoritmasından geçirerek yapılır. Çıktının geçerli sayılabilmesi için bir sayıda sıfır ile başlaması gerekir. Gereken sıfırların miktarı ağda ne kadar bilgi işlem gücü olduğuna bağlı olarak değişen "zorluk" derecesine bağlıdır.

Başlangıçta istenen miktarda sıfır ile bir çıktı hash üretmek için madenciler algoritmayı çalıştırmadan önce bloğa "nonce" denilen şeyi eklerler. Girdideki küçük bir değişiklik çıktıyı tamamen değiştirdiğinden, madenciler geçerli bir çıktı hashi bulana kadar rastgele nonce denerler.

Blok kazıldıktan sonra madenci, yeni çıkarılan bloğu diğer tüm madencilere yayınlar. Ardından madenciler bloğun geçerliliğini doğrular, kendi blok zinciri kopyalarına eklerler ve transferi tamamlarlar. Madenciler tüm blokların birbirine bağlanması için önceki bloktan gelen çıktı Hash’ini de zincire eklemek zorundadırlar.

Her madencinin bilgisayarından blok zincirinin kopyası vardır ve tüm madenciler en fazla hesaplama işleminin yapıldığı en uzun blok zincir hangisiyse onu esas alır. Eğer bir madenci önceki bir bloktaki hash değerini değiştirirse tüm bloklar bir öncekine bağlı olduğundan dolayı ondan sonra gelecek tüm blokların çıktı hash değeri değişecektir.

Madenci herkesin onun blok zincirini doğru olarak kabul etmesini sağlamak için tüm kayıtları sıfırdan yapmak zorunda kalacaktır. Bu nedenle, bir madenci hile yapmak isterse ağların bilgi işlem gücünün %50'sinden fazlasına ihtiyaç duyar ki bu pek olası değildir. Bunun gibi ağ saldırılarına %51 saldırıları dendiğinden bahsetmiştik.

Bilgisayarların blok üretmek için çalışmasını sağlayan modele İş Kanıtı (PoW, Proof of Work) denir. Ayrıca Alım Kanıtı (PoS, Proof of Stake) gibi çok fazla bilgi işlem gücü gerektirmeyen ve daha fazla kullanıcıyla daha az elektrik harcayan başka modeller de vardır.