Proof of Work Nedir? “Proof of Work” yani “İş İspatı” genel yaklaşımla; istek sahiplerinin ne kadar hevesli olduklarını anlayabilmek için onlardan talep edilen fedakarlığı ispat etme eylemine verilen isimdir. Bu tanımı dijital para madenciliği açısından detaylandıralım.
“Proof of Work” yani kısaca PoW, bitcoinin keşfinden önce Cynthia Dwork ve Moni Naor tarafından ortaya atılmış bir kavramdır. 2008 yılında Nakamoto bu kavramı mucitliğini yaptığı bitcoin‘in altyapısında kullanmıştır. Böylece PoW kavramı daha bilinir hale gelmiştir. Nakamoto merkezi bir otorite olmayan bir yapı kurmayı hedeflediği için yapının kendini koruyacak bir kurala ihtiyacı vardı. Örneğin bir banka müdürünün “parayı gönderimini onaylama” imzasını atması daha kolay olabilir ama hiçbir otorite olmayan (yani kimsenin kimseyi tanımadığı) bir ortamda bu o kadar da kolay değil. İşte PoW buna olanak sağlar.
Bitcoin madenciliğinin hedefi “mümkün olan en çok işlemi” içeren bir blok oluşturmaktır. Fakat oluşturulan bloğun bazı kurallara uygun olması gerekir. Kurallara uygun bir blok üretmek için de ciddi bir hesaplama gücüne ihtiyaç vardır. Uygun bloğu bulan ilk sistem işlem ücreti ve bitcoin ile ödüllendirilir. İşte buradaki uygun bloğu bulmak için yapılan çalışma “proof of work” yani “iş ispatıdır”. Her isteyen basitçe blok üretseydi ortaya bir “değer” çıkmazdı. İşte bu yüzden blok üretmek isteyenlerden çok hızlı deneme yanılma yapmaya ihtiyaç duyulan iş ispatı istenir.
SHA-256
İş ispatı için çeşitli algoritmalar vardır. Bitocin’de kullanılan algoritma SHA-256‘dır. Hesaplamanın zor olduğu ama ispatının da bir o kadar kolay olduğu “iş ispatı” SHA-256 hash algoritması sayesinde yapılmaktadır. SHA-256’nın detaylarına değinmeyeceğim. Zira SHA-256 yapısı başlı başına detaylı bir konudur. Özetle; elimizdeki bir karakter dizisinden şifreli başka bir dizi elde etmek diyebiliriz. Fakat bu çıktının başka hiçbir girdi ile üretilememesi gerekmektedir. Ayrıca çıktıdan harekete ederek girdiye ulaşamamalıyız.
Bitcoinde ise bir önceki bloğun hash değeri bilgisine dayanarak bir SHA-256 değeri oluşturulmaya çalışılır. Fakat buradaki zorluk elde edilecek değerin başındaki belli bir karakterin “sıfır” ile başlaması ve elde edilen değerin belli bir sayıdan daha küçük olması gerekmektedir. Bunu elde etmenin bir matematiksel formulü mümkün değildir (şu ana kadar en azından :)). Bu yüzden CPU gücü ile rastgele deneme yaparak uygun değer bulmaya çalışılır.
Zorluk Değeri (mining difficulty)
Bu zorluk değeri bitcoinin zekice tasarlanmış yönlerinden birisidir. Ortaya bir değer konulduğunu söylemiştik. Peki eğer bir çok kişi bir araya gelip çok daha hızlı madencilik yapamaz mı? İşte bunun önüne geçmek için ve ortaya konan değerin azalmaması için iki haftada bir hesaplanan bir “zorluk” katsayısı vardır. Yukarıda bahsettiğim uygun SHA-256 değeri bulurken belli bir değerden küçük olması gerektiğini söylemiştim. İşte bu değer düzenlenerek uygun bloğun bulunma ihtimali de azaltılabilir. Böylece her bir bloğun aynı sürede elde edilmesi hedeflenir. Çok madenci varsa bu katsayı yükselir. Madenci azalırsa bu katsayı da düşer. Buradan zorluğun tarihsel artışına bakabilirsiniz.
Proof of Work için Alternatif Var Mı?
Zamanla bitcoin ağının genişlemesi işlenen verinin de büyümesine yol açtı (şu an bütün bitcoin verisi 120 GB civarında). Ayrca PoW için harcanan elektriğin artması ve blokların üretilme süresinin uzaması başka alternatifleri düşünmeye itmiştir. Fakat bu o kadar da kolay değildir. Sonuçta blok üretmeyi hakettiğinizi ispatlamanız gerekiyor ve herkesin bunu kolayca yapamaması gerekiyor. İşte bunlar ışığında alternatif olarak “Proof of Stake” kavramı ortaya çıkmıştır. Bunu da bir sonraki yazımda anlatacağım.
Bu yazımda kripto para ve bitcoin üretiminde kullanılan “Proof of Work” / “İş İspatı” konusunda bilgi vermeye çalıştım. Konuyla ilgili Bitcoin Nedir?, Bitcoin Hakkında Bilmeniz Gerekenler ve Bitcoin Nasıl Alınıp Satılır? başlıklı yazılarımı da okumanızı tavsiye ederim.