Bitcoin Altında Yatan Teknoloji / Blockchain

Blockchain, Bitcoin altında yatan teknolojidir.

Bitcoin para transferi konusunda alternatif bir yaklaşım getirmektedir. Mevcut sistemde, iki hesap arasında para transferi için, bankalar, WesternUnion, PayPal gibi aracı kurumlar kullanılır. Bu yöntem ile para transferi maliyetli ve yavaştır. Bitcoin ile, çok daha düşük maliyetlerle ve daha hızlı bir şekilde transfer işlemi yapmak mümkündür. Bitcoin'in bu avantajı sunmasının altında yatan ana sebep, aracı bir kuruma ihtiyaç duymamasıdır.

Bitcoin ile, merkezi otorite tarafından kontrol edilmeksizin ve dolayısıyla herhangi bir regülasyona tabi olmaksızın para transferi işlemi yapmak mümkündür. Merkez bankası, PayPal vb. merkezi otorite, yapılan transferin geçerliliğini kontrol eden ve her iki tarafa güven veren sistemdir. Bu görev, Bitcoin altında yatan Blockchain sistemi ile yerine getirilmektedir. Blockchain, şeffaf, merkezi olmayan, aracı yapılara ihtiyaç duymayan bir çözüm önerir.

Blockchain

Blockchain sisteminde veriler, katılımcılara açık bir dağıtık (distributed) ağ üzerinde, ağ üzerindeki her makinede birer kopyası olacak şekilde, blok (block) adı verdiğimiz yapılar üzerinde tutulur.

Blok, blockchain üzerinde, verilerin saklandığı yapılardır. Bloklar, bir zincir şeklinde birbirine bağlanarak dizilirler. Örnek gösterim aşağıda verilmiştir.

Blockchain Blocks

Zincir üzerindeki her blok, kendinden önceki bloğu bilmektedir. Dolayısıyla, bir önceki bloğun adresine sahiptir.

Blok, içerisindeki veriler ve üst bilgi (header) şeklinde iki bölümden oluşur. Üst bilgi, veri bütünlüğünü kontrol etmek, blok oluşturulduktan sonra, içerisindeki verilerin değiştirilmesini önlemek için kullanılır. Bunu sağlamak için, kriptografik özetleme (cryptographic hashing) işlemlerinden yararlanılır.

Her blok tekil bir adrese sahiptir. Blok üst bilgisi (header) içerisinde temel olarak, bloğun adresi, önceki bloğun adresi ve blok içerisindeki verilere ait Merkle kök değeri yer alır.

Blok adresi üretmek için özetleme (hash) fonksiyonlarından yararlanılır. Blok içerisindeki veriler ve önceki bloğun adresi kullanılarak bu değer hesaplanır.

Blok oluşturma işlemi, maliyetli bir işlemdir. Örneğin, Bitcoin sisteminde, bir blok üretimi 10 dakika kadar sürmektedir. Kötü niyetli bir kullanıcının bir bloğun verisini ve adresini değiştirmesi durumunda, blok adresi sonraki bloğun adres hesabında kullanıldığı için, kendinden sonraki tüm blok adreslerinin de yeniden hesaplanması gerekecektir. Bu sırada, ağ içerisinde yeni bloklar üretilmeye devam etmektedir. Blok oluşturma işleminin yüksek maliyetinden dolayı, blok içeriklerini değiştirmek pratikte mümkün değildir.

Blockchain üzerindeki tüm bloklar, dağıtık ağ (distributed network) üzerindeki tüm makinelerde kopyalar halinde bulunur. Dolayısıyla, ağ üzerindeki makinelerden birisinin, geçici ya da kalıcı olarak devre dışı kalması durumunda herhangi bir veri kaybı ya da aksama yaşanmaz. Bu durum, merkezi yapının getirdiği riskleri ortadan kaldırmaktadır.

Blockchain Network

Blockchain sistemi üzerinde sürekli yeni veriler dahil edilir. Dahil edilen veriler, ağ üzerindeki makinelerde bloklar şeklinde saklanır. Ağ üzerindeki makinelerin yeni bloklar üretme işlemine, madencilik (mining) denir. Blok oluşturma işlemi sırasında, blok içerisinde yer alacak verilerden Merkle ağacı ve kök değeri hesaplanır. Daha sonra, önceki bloğun adresi de kullanılarak, oluşturulacak yeni blok için uygun bir adres üretilmeye çalışılır. Adres bulma işlemi oldukça maliyetli bir işlemdir. Üretilecek blok adresi için bazı kısıtlamalar vardır. Dolayısıyla, uygun bir adres bulana kadar birçok deneme yapılır. Uygun adresi bulan ilk makine, oluşturduğu yeni bloğu ağ içerisindeki diğer makinelerle paylaşır. Diğer makinelerin çoğunluğunun yeni bloğu onaylaması durumunda, yeni oluşturulan blok blockchain içerisine eklenir. Bitcoin sisteminde, uygun adresi bulan makine Bitcoin ile ödüllendirilir.