Blokzincir (blockchain)
Blokzincir nedir, bir blokta neler bulunur, ağ tek bir ortak geçmiş üzerinde nasıl uzlaşır ve eski kayıtları değiştirmek neden bu kadar zordur.
Blokzincir (blockchain), birçok bağımsız katılımcının aynı anda sakladığı ve doğruladığı ortak bir veri tabanı tutma yöntemidir. Kayıtlar bloklar halinde gruplanır, bloklar da birbirine art arda bağlanarak bir zincir oluşturur; adı da buradan gelir. Temel fikir şudur: Kayıtlara güvenmek için merkezi bir yöneticiye ihtiyaç yoktur. Herkes aynı doğrulama kurallarını uygular ve bu kurallar yazılımın içine yerleştirilmiştir.
Basit bir benzetme
Bir muhasebe defteri düşünün ve bir gruptaki herkesin bu defterin kendine ait bir kopyası olsun. Biri yeni bir kayıt eklediğinde diğerleri bunu ortak kurallara göre kontrol eder ve kendi defterlerine de işler. Bir kişi kendi kopyasındaki eski bir satırı gizlice değiştirirse bu hemen fark edilir, çünkü onun defteri artık diğerlerininkiyle uyuşmaz.
Blokzincir de benzer şekilde işler. Buradaki defterler düğüm (node) adı verilen bilgisayarlardır; kontrol ise elle değil, kriptografi ve matematikle yapılır.
Bir blokta neler var
Her blok genellikle şunları içerir:
- İşlem listesi: Örneğin adresler arasındaki coin transferleri.
- Zaman damgası: Bloğun yaklaşık olarak ne zaman oluşturulduğunu gösterir.
- Bir önceki bloğun hash değeri: Kendinden önceki bloğun bir tür parmak izi.
- Teknik veriler: Mutabakat mekanizmasının kullandığı bilgiler.
Hash, her türlü girdiyi sabit uzunlukta bir karakter dizisine dönüştüren özel bir matematiksel fonksiyonun çıktısıdır. Girdideki tek bir karakteri bile değiştirdiğinizde bambaşka bir hash elde edersiniz. Bir hash'i önceden tahmin etmek pratikte imkansızdır.
Geçmişi değiştirmek neden zor
Her blok kendinden öncekinin hash'ini sakladığı için tüm bloklar birbirine kenetlenmiştir. Biri eski bir bloktaki işlemi değiştirirse o bloğun hash'i de değişir. Bu durumda sonraki blok artık eşleşmeyen bir hash'i göstermeye devam eder ve zincir kopar. Sahte kaydı geçerli gösterebilmek için saldırganın o noktadan sonraki tüm blokları yeniden üretmesi, üstelik bunu ağın geri kalanı yeni bloklar eklemeye devam ederken onlardan daha hızlı yapması gerekir.
Büyük ağlarda bu muazzam kaynak gerektirir. Bu yüzden zincirin derinlerinde kalan kayıtlar pratikte kalıcı kabul edilir.
Ağ nasıl uzlaşıyor
Binlerce bağımsız katılımcının sonunda geçmişin aynı versiyonunda buluşması gerekir. Bunun için kullanılan kurallara mutabakat mekanizması (konsensüs) denir. En bilinen iki yöntem şunlardır:
- İş ispatı (Proof of Work). Madenci adı verilen katılımcılar ağır hesaplamalar yapar; geçerli çözümü ilk bulan bir sonraki bloğu ekleme hakkını kazanır. Bitcoin bu yaklaşımı kullanır.
- Hisse ispatı (Proof of Stake). Blokları, kendi coinlerini teminat olarak kilitleyen doğrulayıcılar (validator) önerir ve onaylar. Dürüst davranmazlarsa bu teminatın bir kısmını kaybedebilirler. Ethereum bu modele geçmiştir.
Her iki yaklaşımın da amacı aynıdır: Hile yapmayı kurallara uymaktan daha maliyetli hale getirmek.
Açık ve özel blokzincirler
- Açık (public) blokzincirler, örneğin Bitcoin ve Ethereum, herkese açıktır. Bir düğüm çalıştırabilir, işlem gönderebilir ya da tüm geçmişi inceleyebilirsiniz.
- Özel ya da izinli (permissioned) blokzincirler ise yalnızca bir kuruluşun onayladığı katılımcılarla sınırlıdır. Bunlar, ek kayıt güvenceleri sunan geleneksel veri tabanlarına daha yakındır.
Kripto paralardan söz edildiğinde genellikle açık blokzincirler kastedilir.
Blokzincir başka nelere yarıyor
İlk kullanım alanı dijital paraydı. Daha sonra akıllı sözleşme çalıştırabilen ağlar ortaya çıktı. Akıllı sözleşmeler, önceden belirlenmiş kurallara göre kendiliğinden işleyen programlardır. Merkeziyetsiz finans (DeFi), NFT'ler, stablecoinler ve daha pek çok hizmet bu sözleşmeler üzerine kuruludur.
Sınırlamalar
Blokzincirin bedelleri de vardır:
- Hız ve kapasite. Açık ağlar, merkezi ödeme sistemlerine göre daha az işlem işleyebilir. Katman 2 (layer-2) çözümleri, sektörün bu soruna getirdiği yanıtlardan biridir.
- İşlem ücretleri. Ağ yoğunlaştığında işlem maliyetleri belirgin şekilde artabilir.
- Geri alınamazlık. Hatalı bir işlem genellikle geri çevrilemez.
- Şeffaflık. Her şey herkesin gözü önündedir ve bu her zaman mahremiyet açısından iyi değildir.
- Yanlış veri girerse yanlış veri çıkar. Blokzincir bir kaydın değiştirilmediğini garanti eder, ilk girilen bilginin doğru olduğunu değil.
Özetle
- Blokzincir, çok sayıda bağımsız katılımcının tuttuğu ve doğruladığı ortak bir veri tabanıdır.
- Bloklar hash'lerle birbirine bağlanır; bu da eski kayıtları değiştirmeyi son derece zorlaştırır.
- Ağlar, iş ispatı ya da hisse ispatı gibi bir mutabakat mekanizmasıyla ortak geçmiş üzerinde uzlaşır.
- Blokzincir yalnızca kripto paraları değil, akıllı sözleşmeleri ve onların üzerine kurulan uygulamaları da destekler.