Proof of Work (PoW) nedir?

Proof of Work (PoW) nedir ne işe yarar ne zaman geliştirilmiştir?

İlk PoW kavramı, çalışma ağına karşı yapılan saldırıları ve diğer hizmetlerin kötüye kullanımını (ağdaki spam gibi) engellemek için 1993 yılında geliştirilmiştir. 1993 yılından beri çeşitli yazılımcılar tarafından kullanılan PoW algoritmasının dünya çapında ün kazanması ise  Satoshi Nakamoto‘nun ellerine geçmesiyle oldu.

Bitcoin, 2009 yılında  PoW algoritmasının yenilikçi bir kullanım yolunu sunarak görücüye çıktı. Satoshi bu algoritmayı, bir blok zinciri oluşturmak üzere birbirine bağlanmış bloklar halinde toplanan işlemleri doğrulamak için kullandı.

O zamandan beri PoW, pek çok kripto para içerisinde yer aldı ve blockchain projelerinin vazgeçilmezleri arasına girdi.

Nasıl çalışır?

PoW’un çalışma mantığını kısaca anlatmak gerekirse, madencilerin karmaşık sayısal bulmacaları çözmek için birbirleriyle yarıştığı bir algoritma olarak açıklayabiliriz. Bu bulmacaları çözmek zordur, ancak çözüldüğünde çözümler hızlıca doğrulanabilir. Böylece, bir madenci yeni bir bloga çözüm bulduğunda, bu blogu ağa yayınlayabilir. Diğer tüm madenciler daha sonra çözümün doğru olduğunu ve blogun onaylanacağını doğrularlar.

İsterseniz Satoshi’nin Bitcoin’ine ve PoW algoritmasına yakından bakalım

Bitcoin, merkezi olmayan düğümlerin kolektif çalışmasıyla yürütülen blockchain tabanlı bir sistemdir. Bu düğümlerin bazıları madenciler olarak bilinir ve blok zincirine yeni bloklar eklemekten sorumludur. Bunu yapabilmek için, madencilerin deneme yanılma yöntemini kullanarak bir takım sayılar bulması gerekir. Bunun içinde güçlü donanımlara sahip bilgisayarlara ihtiyaç duyarlar.

Proof of Work (PoW) nedir?

Deneme yanılma yöntemiyle bulunan bu sayı, blokta sağlanan ve karma bir işlevden geçen verilerle birleştirildiğinde, belirli koşullarla eşleşen sonuçlar üretmelidir. Eşleşen bir sonuç bulunduğunda ise, diğer madenciler sonucun geçerliliğini doğrular ve işlemi gerçekleştiren madenci blok ödülüyle ödüllendirilir. Sizlerinde gördüğü gibi bu işlem oldukça meşakkatli bir süreçtir. Ancak gülü seven dikenine katlanır. Çünkü bu karmaşık gibi görünen sistem, PoW ağını pek çok saldırıya karşı korur.

PoW algoritmasının dezavantajlı olduğu nokta ise, madenciliğin çok miktarda güç tüketen ve yüksek donanımlı pahalı bilgisayarlara ihtiyaç duymasıdır. Ağın güvenliği ve sürdürülebilirliği ancak bu yolla sağlanabilir.

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üşerBuradan 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.

Proof of Work (PoW) nedir?

Kaynak

Yorumunuzu Ekleyin


Yükleniyor...
    Yükleniyor...