"> Kripto Para – 5 / Blok Zinciri (Blockchain) - Benga.pro Mühendislik ve Bilişim Ltd. Şti

Bitcoin para transfer sisteminin özünü oluşturan ve her bir para transferinin kaydının şifrelenerek yazıldığı defter aslında bir veri tabanıdır. Kimin kime ne kadar para gönderdiğinin kaydını tutar ve bu liste uzayarak gider. Bu büyük defter yani bu veritabanı için kullanılan yöntem blok zinciri yöntemidir. Bitcoin denince akla blok zincirinin gelmesi normaldir ama ikisi aynı şey değildir. Blok zinciri yöntemini kullanarak parayla hiç ilgisi olmayan veri tabanları da kurabilirsiniz pekala.

Küçük bir firmamızın olduğunu düşünelim. Bu firmada müşterilerimizin kayıtlarını, muhasebelerini, cari hesap hareketlerini bilgisayarımızdaki bazı özel programları kullanarak saklarız. Bu programlar, bilgisayarımızın sabit diskindeki bir dosyaya yeni gelen müşteri bilgilerini ekler, yeri geldiğinde eski kayıtlarda değişiklik, yapar vs. Özetle firmamızın önem bilgilerinin aldığı veritabanı dosyası kendi bilgisayarımızda (ya da muhasebe departmanının bilgisayarında) bulunur. Eğer bu bilgisayara bir şey olursa tüm bilgilerin uçması ihtimali her zaman vardır. Bu sorun sürekli yedek almakla küçük firmalarda aşılıyor olabilir ama daha büyük ölçekli ve bol şubeli firmalarda farklı bir çözüme ihtiyaç vardır.

Yarı dağıtık adı verilen veri tabanı sisteminde, firmalar kıymetli bilgilerinin bulunduğu veritabanlarını aynı anda belli sayıda bir bilgisayarda tutarlar. Bunlara artık sunucu(server) demekte fayda var. Firmanın dışında farklı yerlerde paralel olarak bilgileri yenileyen onlarca server olabilir. Bu serverlardan birinin başına bir şey gelse, diğerleri hizmet vermeye devam edecekleri için bilgiler halen güvende kalacaktır. Fakat bu sistem, firmanın içindeki kontrol mekanizmasına bağlıdır. Kötü niyetli kişiler bu serverların yönetimini ele geçirip bilgileri maniple edebilirler.

O halde yeni bir veri tabanı sistemi gündeme gelmiştir: Dağıtık sistem. Blok zinciri yöntemi dağıtık sistemdir ve söz konusu veritabanı dosyası aynı anda internete bağlanan milyonlarca cihazda tutulmaktadır. (Elbette bu sisteme dahil olup veritabanı hizmeti vermeyi kabul eden kullanıcıların bilgisayarında tutulmaktadır. )

Veritabanını gizleyelim, saklayalım, kimseler erişemesin diye uğraşırken tam tersini yapıp dosyamızı herkese açmış olduk. Fakat bu noktada kriptoloji devreye giriyor. Kriptolojinin detaylarına bu aşamada girmeye gerek yok ama yeterince güvenlik sağladığını düşünebiliriz. Kullanıcılar veritabanına eklenecek bilgileri önce bir bloka yazıyorlar, sonra bloku bir önceki bloka zincir gibi eklemek için sistemin algoritmasına gömülmüş bir problemi bilgisayarlarına çözdürüyorlar. İlk çözen bloku bir önceki bloka ekliyor. Her blok kendinden önceki blokun bir bilgisini taşıdığından önceki bloklarda yapılacak değişiklik son bloka kadar geliyor ve zincir tamamlanmamış oluyor. Zincir tamamlanmazsa veri tabanı tamamlanana kadar hesaplamalarını tekrardan yapıyor ve bütünlüğünü sağlamış oluyor. Elbette bu işlemler hep şifreli olduğu için kullanıcılar da veri tabanlarını bozamıyor.

Bitcoinde kullanılan sistem de blok zinciri sistemidir. Para transferlerinin kaydının tutulduğu büyük defter neticede bir veritabanıdır. Bütün dünyadaki para hareketlerinin yazıldığı bu veritabanının öyle birkaç serverda tutulmasıyla güvenlik sağlanamaz. Bu sistem için en güvenli yöntem blok zinciridir.

Daha fazla ilerlemeden SHA-256 metodu ve “Hash”lerden bahsedelim. SHA-256, Bitcoin sisteminin de kullandığı bir şifreleme algoritmasının adıdır. Bu algoritma, şifrelenecek her ifade için 64 karakter uzunluğunda “yegane” bir ifade üretir. Bu yeni ifadeye Hash adı verilir. Bu hashin önceden tahmin edilmesinin imkanı yoktur. İnternetteki SHA-256 hesaplayıcılarını kullanarak bir örnek yapalım:

İfade :          bitcoin

Hash:           6B88C087247AA2F07EE1C5956B8E1A9F4C7F892A70E324F1BB3D161E05CA107B

İfade :          bidcoin

Hash:          56E3DE5748C66E4B93C5D6878A2455F9D0C5A4392DA06677CF74E143912C26E5

Sadece bitcoin yerine bidcoin yazdığımızda SHA-256 karşılığının tamamen değiştiğine lütfen dikkat ediniz. Örnek olarak uzun bir metni de uygulasak, koca bir kitabı da uygulasak SHA-256 karşılığı yine 64 karakterden oluşan önceden tahmin edilemeyecek bir ifadeden oluşur.

İfade olarak yazımızın bu noktaya kadar olanki bölümünü SHA-256 hesaplayıcısına kopyala-yapıştır yaptığımda

Hash:  B6553C0543CF50E632EE3FF98C0E91F7484F2F67A58E3493F73D2DB37CB60F07

hashine ulaştım. Daha sonra aynı yazının sadece bir yerindeki noktasını sildiğimde

Hash: 3ADDF38145A1270A81BA6F803259DCEB922398B215AFCE1BC100EB2747BD79B1

hashine ulaştım. Her iki hashi oluşturan ifade de birbirinin tıpatıp aynısı ama ikincisinde sadece bir nokta eksik ve ortaya çıkan hashlerdeki farklılığa dikkat edin.

Bitcoin sistemi de SHA-256 şifreleme algoritmasını kullanarak hash üretmektedir. Bitcoin sistemini kullanarak para transferi yapmak isteyen kişilerin talepleri önce onaylanmamış işler havuzuna düşer. Madenciler bu talepleri alarak bir bloka yazarlar. Bloku, ana defterimize eklenecek bir tek sayfaya benzetebiliriz. Bu sayfaya transfer talepleri olanlar yazılır. Her sayfaya yazılacak transfer sayısını direkt olarak sınırlayan bir şey yoktur ama transferler yazıldığında blokun boyutunun en fazla 1MB olması şartı ana programın algoritmasına konulmuştur. Madenciler, hem yeni oluşturulan blokun hem bir önceki blokun hem de Bitcoin sisteminin kendilerine verdiği özel bir ifadeyi, tıpkı yukarıdaki gibi SHA-256 hesaplayıcısına sokarak bir hash üretirler. Daha sonra bu hashin ilk rakamlarının belli sayıda sıfırdan oluşup oluşmadığını kontrol ederler. Bitcoin sisteminin şart koştuğu sayıda sıfırı bulan ilk madenci, bloku zincire eklemeye hak kazanır ve sistemin taahhüt ettiği miktardaki bitcoini almaya hak kazanır.

Bitcoin sistemi kasıtlı olarak böyle bir algoritma kurmuştur.  Çünkü tüm madenciler hızlı bir şekilde blok oluştururlarsa, her madenci kendi bloğunu, blok zincirine ekletmek isteyecek ve bu durumda ağ karmaşası olacaktır. Bunun önüne geçmek için, blok oluşturmak isteyen madencilerden, birbirleriyle yarışarak çalışmaları ve bunu ispatlamaları istenir. Bu, iş ispatı metoduyla yapılır. Blok oluşturan madencilerden sadece bir tanesinin bloğu geçerli olur, blokların ortalamada 10’ar dakikalık aralıklarla üretilmesi, iş ispatının, zorluk hedefi otomatik olarak değiştirilerek sağlanır. Her bir bloğun üretimi için, madencilerin ortalama 10 dakikalık, işlemci gücü harcadıklarını sistem garanti eder. Önceki paragrafta açıklanan hash bulma işlemi bu sebepten ötürü algoritmaya ilave edilmiştir. Bir madenci, iş ispatını yaptıktan sonra, bunu ağ üzerinde yayar, bunu alan diğer uçlar bloğu pek çok kontrolden geçirir, madencinin dürüst olduğu kanıtlanırsa, blokzincire bulunan son blok eklenir. İş ispatını yaparak bulduğu bloğu küresel hesap defterine işleten madenciye, sisteme yeni arz edilen bitcoin hediye edilir. Başlarda bu hediye 50 BTC iken, her 210.000 blok üretiminde (yaklaşık 4 yılda bir) yarısına düşürülmektedir. Günümüzde başarılı madenciye, 12,5 Bitcoin hediye edilmektedir. Sistemin tek para arz noktası da burasıdır. Bitcoin sisteminin hedefi, her 10 dakikada yeni bir blok üretilmesini sağlamaktır. 10 dakikadan daha kısa sürede blok üretilmeye başlandıysa, bu iş ispatı problemini çözmek için uğraşanların toplam özetleme kapasitesi arttı anlamına gelir ve problemin zorluğu Bitcoin sistemi tarafından otomatik olarak artırılır. 10 dakikadan daha uzun sürede, yeni blok üretimi olmaya başladıysa, bu sistemin toplam özetleme kapasitesi azaldı anlamına gelir (bazı madenciler madenciliği bırakmış olabilir) ve zorluk seviyesi otomatik olarak düşürülür. Her 2.016 blok ürettikten sonra, iş ispatının zorluğu tekrar hesaplanır. (Kaynak:http://www.spk.gov.tr/SiteApps/Yayin/YayinGoster/1130)

Bu özellikleriyle ve şeffaf, açık kaynak kodlu olması nedeniyle blok zincir teknolojisi oldukça güvenilir görünmektedir. Muhtemelen, gelecekte bir çok hizmet bu veritabanı yöntemiyle yapılıyor olacaktır. Günümüzde e-posta gibi hizmetleri arada mutlaka bir merkez var ise kullanabiliyoruz. Bu ve bunun gibi hizmetleri aradaki merkezi kaldırarak kullanmak blok zinciri teknolojisiyle mümkün olacaktır.

Yorum Yazın

En az 4 karakterden oluşmalı