Proof-of-Work (İş Kanıtı) Nedir?
Proof-of-Work ya da kısaca PoW block zinciri teknolojisi, siber güvenlik ve çevrimiçi oyunlar da dahil olmak üzere çeşitli sektörlerde yaygın olarak kullanılan bir mutabakat mekanizmasıdır (“consensus mechanism”). Proof-of-Work’ün arkasındaki fikir, işlemlerin doğrulanabilmesi için bir maliyet yaratarak kötü niyetli aktörlerin blok zincirine eklenecek verilerde manipülasyon yapmasını ekonomik olarak olanaksız hale getirmektir. Her ne kadar Proof-of-Work’ün Türkçe karşılığı “İş Kanıtı” olsa da, yaygın kullanımı İngilizce orijinalidir. Eğer siz de kendinize “Proof of Work Nedir?” sorusunu sorduğunuz bir noktaya geldiyseniz, bu makale tam size göre.
İş kanıtının en bilinen uygulaması Bitcoin‘dir, ancak diğer birçok blok zinciri projesi de ağlarını güvence altına almak için bu yöntemi kullanmaktadır. Bu makalede, iş kanıtının temellerini, tarihçesini ve özelliklerini inceleyeceğiz.
Proof-of-Work Nasıl Çalışır?
Bir mutabakat mekanizması olan Proof-of-Work, aslında bir protokoldür ve madencilerin faaliyetlerini düzenleyerek, otomatik olarak çalışır. Bunu anlatmanın en iyi yolu Bitcoin örneği üzerinden gitmektir. Ancak önce basit bir tanımlamayla ısınalım:
Varsayalım ki arkadaşlarınızla bir oyun oynayacaksınız ve oyunu kazanmak için bir bulmacayı çözmeniz gerekiyor. Oyunun tek bir kazananı olacak, o da bulmacayı ilk bitiren kişi!
Herkesin motivasyonu büyük ödülü kazanabilmek. Ancak bulmaca biraz farklı, gerçekten zor ve çözmek için çok fazla beyin gücü gerekiyor. O kadar fazla hesaplama kabiliyetine ihtiyaç duyuyor ki bunu çözebilmek için bilgisayarlarınızın gücüne ihtiyaç duyuyorsunuz.
Arkadaşlarınızla birlikte bilgisayarlarınızı kullanıyorsunuz, hepiniz zaman ve elektrik enerjisi harcıyorsunuz. Hepiniz harcadığınız zamanın yanı sıra bir de elektrik faturanızı şişiriyorsunuz. Ödül iyi olsa gerek!
Bu arkadaşlar arasında en iyi bilgisayara sahip olan, en çok elektriği harcayan ve en çok emeği veren kişinin ödülün sahibi olma ihtimali de artacaktır. Zira ödül tektir ve bulmacayı çözmek için iyi çalışman, diğer bir deyişle yaptığın işi ispat etmen (Proof-of-Work) gerekir! Eğer ödül almaya çalışmıyorsan, başka amaçlarla gelip elektrik ve zaman harcamanın da pek anlamı yoktur.
Buraya kadar anladıysak, konuyu biraz daha Bitcoin’e getirerek somutlaştıralım. Zira Proof-of-Work’ün varlık amacı kötü niyetli insanları sistemin dışına itmektir. Aslında “madencilik” olarak adlandırılan sürecin kural kitabıdır.
Proof-of-Work Protokolüne Göre Madencilik Nasıl Yapılır?
1- Tüm Bitcoin transferleri, blok ismi verilen sanal depolar içerisinde kayıt altına alınırlar. Bu blokların her birinin bir öncekine atıf yapacak şekilde dizilmiş haline ise blok zinciri adı verilir. Blok sayfa ise, blok zinciri defterdir. Bu defter tek kişi tarafından tutulmaz, isteyen herkes tarafından eş zamanlı olarak tutulur. Bunun için tek gereken Bitcoin Node’u çalıştırmaktır.
2- Bitcoin Node’ları adı verilen bilgisayardan binlercesi, dünyaya yayılmış şekilde, birbirleriyle iletişim ve senkronizasyon halinde çalışırlar. İki önemli görevleri vardır: (i) Yukarıda bahsedilen tüm blok zincirinin birer kopyasını barındırmak ve (ii) yeni gelen transfer taleplerinin bir blok içerisine yerleştirilebilmesi ve blok zincirine eklenebilmesi için onları toplayıp madencilere iletmek, çünkü Node’lar tek başlarına yeni blokları ekleyemezler.
3- Dünyaya yayılmış haldeki binlerce Node doğruluğundan hemfikir oldukları yeni transfer taleplerini toplayıp, “madenci” (“miner”) olarak adlandırılan bilgisayarlara iletirler. Madencilerin görevi bu yeni transferleri bir blok içinde toplayıp, bloğu tamamlamaktır. Blok tamamlandıktan sonra blok zincirine eklenmek üzere Node’lara geri gönderilecektir.
4- Bloğun tamamlanması için bir matematiksel bulmacanın çözülebilmesi gerekir. Bunu çözmek için çok yüksek işlemci gücüne sahip bilgisayarlara ve elektrik harcanmasına ihtiyaç vardır. Madenci bilgisayarlar bulmacayı çözebilecek işlem gücüne ulaşabilmek için GPU (ekran kartı) çalıştırırlar ve hepsi elektrik harcayarak birbirleriyle yarışırlar.
5- En güçlü işlemcilerle en çok enerjiyi harcayan madencinin bu bulmacayı çözme ihtimali artar. Bulmacayı çözüp bloğu tamamlayan madenci tamamlanmış bloğun blok zincirine katılabilmesi için onu Node’lara geri gönderir. Bloğu kapatmayı başaran madenci, blok ödülü adı verilen bir miktar Bitcoin’i almaya hak kazanır. Madencilerin motivasyonu bu ödülü kazanmaktır, ayrıca transferlerden bir miktar komisyon da alırlar.
6- Proof-of-Work mutabakat mekanizmasına göre blok zincirine bir blok eklemek için para ve özkaynak harcamak gerekir. Sistem bunu yapanları ve kuralına göre oynayanları ödüllendirir. Kötü niyetli olup da manipüle edilmiş kayıtları blok zincirine eklemeye çalışan madenciler, protokolün teftiş mekanizması sayesinde tespit edilerek ayıklanırlar. Eğer madencilerin %50’sinden fazlasının elindeki kayıtlar ile uyuşmayan bir kaydı yeni bloğa eklemeye çalışıyorsanız kapı dışarı edilirsiniz ve harcadığınız para ve enerji ile kalırsınız. Kısacası Proof-of-Work blok zincirine ve Node’lara dürüstçe hizmet edenlerin çabalarını Bitcoin vererek ödüllendirirken, Node’ları kandırmaya çalışanları sistemden atar ve bu kötü niyetli tarafların yaptıkları masraflar karşılıksız kalır.
Dürüstlere ödül, yalancılara ceza verilir; Proof-of-Work böyle çalışır.
Eğer yukarıda adı geçen şu meşhur matematiksel bulmacanın aslında ne olduğunu öğrenmek istiyorsanız, bunun mantığını basit örneklerle ve resimlerle anlattığımız Blok Zinciri Nedir? isimli yazımızı okuyabilirsiniz.
Proof-of-Work’ün Farklı Kullanım Alanları
İlk olarak 1993 yılında Cynthia Dwork ve Moni Naor tarafından kaleme alınan Proof-of-Work, özünde bir sistemin işleyişini aksatmaya yönelik saldırıların ve/veya e-posta ile gönderilen spam olarak adlandırılan istenmeyen mesajların engellenmesi için ortaya çıkarılmış bir protokoldür. DDOS (Denial of Service) olarak da bilinen hizmet reddi saldırılarının ve istenmeyen e-posta spam’lerini önlemenin bir yolu olan Proof-of-Work, 2008 yılına kadar bu yönüyle tanınmıştır. Ancak daha sonra, Satoshi Nakamoto tarafından Bitcoin whitepaper‘ında Bitcoin ağı için mutabakat mekanizması olarak tanıtılmış olmasıyla ününe ün katmıştır.
Proof-of-Work çerçevesinde bir işlemin tamamlanabilmesi için önemli ölçüde hesaplama gücü ve enerji tüketimi gerekir, bu da tek bir tarafın, bütün ağı manipüle etmesini zorlaştırır. Proof-of-Work, merkezi olmayan güvenli bir ağ yaratma konusunda başarılı olmuştur. Bununla birlikte, bazı gruplarca tükettiği enerji sebebiyle eleştirilmiştir.
Umarız artık Proof-of-Work Nedir? diye sorulduğunda verebileceğiniz sağlam bir cevabınız vardır.
Yazan: Av. Kaan Beylen