PoW Nedir?

Proof of Work (iş ispatı-çoğu zaman PoW olarak kısaltılır) çift harcamayı engellemiş olan bir mekanizmadır.

Proof of Work (iş ispatı-çoğu zaman PoW olarak kısaltılır) çift harcamayı engellemiş olan bir mekanizmadır. Büyük kripto paraların birçoğu mutabakat algoritması olarak PoW kullanır. Mutabakat algoritması, kripto paranın kayıt defterini güvenli hale getirmek için kullanılan yönteme verilen addır. Proof of Work, ortaya atılan ilk mutabakat algoritmasıdır ve günümüz itibariyle en yaygın şekilde kullanılan algoritma olmayı sürdürmektedir. Satoshi Nakamoto tarafından 2008 senesinde Bitcoin white paper'ında ortaya atılmış fakat teknolojinin kendisi bundan çok daha ilkin yaratılmıştır. Adam Back'in HashCash'i kripto para öncesi günlerinin ilk Proof of Work algoritması örneklerindendir. Göndericilere bir e-posta göndermeden önce küçük bir hesaplama yapma zorunluluğu getirilerek alıcıların spam postaları engelleyebilmesi sağlanmıştır. Bu hesaplama standart bir kullanıcı için asla masraf yaratmaz fakat büyük gruplar halinde e-posta gönderen bir şahıs için işleri zorlaştırır.

Çift masraf nedir?
Aynı fonlar birden fazla defa harcandığında bir çift harcama yapılma olur. Terim nerede ise tamamen dijital para bağlamında kullanılır – en nihayetinde fiziksel paralarla çift masraf yapmak fazlaca zordur. Bir kahve için ödeme yaptığınızda kasiyer parayı sizden alarak yazar kasaya kilitler. Aynı parayı kullanarak başka bir dükkândan yeniden kahve alamazsınız. Dijital para sistemlerinde bunu yapabilme ihtimaliniz mevcuttur. Mutlaka daha önce bir dijital dosyayı kopyalamışsınızdır. Bu muamele için dosyayı kopyalamanız ve yapıştırmanız yeterlidir. Aynı e-postayı on, yirmi hatta elli kişiye gönderebilirsiniz. Dijital paralar da yalnızca verilerden oluşur, diğer kişilerin aynı birimleri kopyalamasını ve farklı yerlerde masrafını engellemeniz gerekir. Aksi takdirde para birimi oldukça kısa süre içinde çökecektir.

Proof of Work niçin gereklidir?
Blockchain teknolojisi rehberimizi okuduysanız, kullanıcıların işlemlerini ağa yayınladığını biliyorsunuzdur. Fakat bu işlemler derhal geçerli sayılmaz. Yalnızca blockchaine eklenmelerinin peşinden geçerli oldukları kabul edilir. Blockchain herkesin görebileceği büyük bir veritabanıdır dolayısıyla hepimiz fonların daha evvel harcanıp harcanmadığını test edebilir. Bunu şöyle düşünebilirsiniz: Sizin ve üç arkadaşınızın bir not defteri var. Aranızdan birinin kullandığınız birimlerden geçirme yapmak istediği her sefer bu işlemi yazıyorsunuz – Ayşe, Mehmet’e beş birim ödeme yaptı, Mehmet de Can’a beş ünite ödeme yaptı şeklinde. Burada başka bir ayrıntılar daha var. İşlem yaptığınız her sefer fonların geldiği işleme referans veriyorsunuz. Yani eğer Mehmet, Can’a beş birim ödeme yapıyorsa girdi şöyleki gözükür: Mehmet, daha ilkin Ayşe ile işleminden gelen beş birimle Can’a ödeme yaptı. Artık elimizde birimleri takip etmenin bir yolu vardır. Eğer Mehmet, biraz ilkin Can’a gönderilmiş olduğu birimlerle başka bir işlem oluşturmaya çalışırsa, hepimiz bunu derhal ayrım eder. Grup, işlemin not defterine eklenmesine izin vermez.

Bu süreç küçük bir grupta gayet güzel çalışabilir. Herkes birbirini tanır, bundan dolayı kimin işlemleri not defterine ekleyeceği mevzusunda muhtemelen fikir birliğine varabilirler. Peki ya bu öbek 10.000 katılımcıdan oluşursa? Not defteri fikri ölçeklendirme bakımından başarısız olur zira hiç kimse bir yabancıya kayıtların idare edilmesi konusunda güvenmek istemez. Bu noktada Proof of Work devreye girer. Kullanıcılarının masraf hakkına haiz olmadıkları fonları harcamamalarını garanti altına alır. Bir PoW algoritması, oyun teorisinin ve kriptografinin birleşimini kullanarak herhangi birinin sistemin kuralları dahilinde blockchaini güncellemesine imkân tanır.

PoW iyi mi çalışır?
Yukarıdaki not defterimiz blockchaindir. İşlemler teker teker eklenmek yerine bloklar haline getirilir. İşlemler ağa bildirilir ve blok yaratan kullanıcılar daha sonra bu işlemleri bir aday bloğa dahil eder. İşlemler yalnızca aday bloğun onaylanmış bir blok haline gelmesinin doğrusu blockchaine eklenmesinin arkasından geçerli kabul edilir. Fakat bir blok eklemek ucuz değildir. Proof of Work, bir madencinin (blok yaratan kullanıcı) bu ayrıcalık için kendi kaynaklarının bir kısmını kullanmasını gerektirir. Bu kaynak, hesaplama gücüdür ve bulmaca için bir çözüm bulana kadar blok verilerini hash etmek için kullanılır. Blok verisini hash etmek, bir blok hash'i oluşturmak için veriyi hash fonksiyonundan dercetmek anlamına gelir. Blok hash'i bir “parmak izi” gibi çalışır, şu demek oluyor ki veri girdiniz için bir kimlik rolü görür ve her blok için benzersizdir. Blok hash'ini geri çevirerek veri girdisini elde etmek neredeyse imkansızdır. Fakat girdinin biliniyor olması niteliğinde hash'in doğru olup olmadığını test etmek oldukca kolaydır. Yalnızca veriyi fonksiyona sokmanız ve çıktının aynı olup olmadığına bakmanız yeterlidir. Proof of Work'te, sunduğunuz verilerin hash değeri muayyen koşulları yerine getirmelidir. Fakat bu kıymeti nasıl elde edeceğinizi evvelinde bilmeniz olası olmaz. Tek seçeneğiniz veriyi bir hash fonksiyonundan koymak ve hash'in koşulları yerine getirip getiremediğini kontrol etmektir. Eğer koşulları yerine getiremiyorsa farklı bir hash elde etmek için veride minik bir değişiklik yapmanız gerekir. Verinizdeki tek bir karakteri bile değiştirmeniz tamamen farklı bir sonuç verecektir, bundan dolayı çıktının ne olacağını öncesinden tahmin etmeniz olası değildir. Sonuç olarak bir blok yaratmak istiyorsanız bir tahmin oyunu oynamanız gerekir. Genellikle eklemek arzu ettiğiniz bütün işlemleri ve birtakım öteki önemli verileri alır, bunları hep beraber hash edersiniz. Fakat veri setiniz değişemeyeceği için, değişebilecek bir malumat parçası daha eklenmelidir. Aksi takdirde çıktı olarak hep aynı hash'e ulaşırsınız. Bu değişken veriye nonce adı verilir. Bu sayıyı her denemenizde değiştirebilir böylece her sefer farklı bir hash elde edebilirsiniz. Ve tüm bu sürece madencilik adı verilir. Özetle madencilik, blockchain verisini bir araya getirmekten ve muayyen bir hash değeri bulana kadar veriyi bir nonce ilave ederek hash etmekten oluşan bir süreçtir. Protokolün belirlediği koşulları karşılayan bir hash bulduğunuzda yeni bloğu ağa duyurma hakkına sahip olursunuz. Bu noktada ağın öteki katılımcıları yeni bloğu eklemek için kendi blockchainlerini günceller. Bugün başlıca kripto paralar için koşulları yerine getirmek son derece zordur. Bir ağdaki hash oranı ne kadar yüksek olursa, geçerli bir hash bulmak da o kadar zordur. Bu hususiyet blokların oldukça süratli bir biçimde bulunmasını engeller. Tahmin edeceğiniz üzere, oldukca sayıda hash tahmini yapmak bilgisayarınız açısından masraflı olabilir. Yüksek miktarlarda hesaplama döngüsü ve elektrik harcaması yaparsınız. Fakat geçerli bir hash bulursanız protokol sizi kripto para ile ödüllendirir.

Madencilik yapmak masraflıdır;

Geçerli bir blok üretebilirseniz ödüllendirilirsiniz.

Kullanıcı bir girdiyi bilmesi niteliğinde girdinin hash'ini kolayca kontrol edebilir – madencilik yapmayan kullanıcılar oldukça fazla hesaplama gücü masraftan bir bloğun geçerli olup olmadığını doğrulayabilir.

Şimdilik her şey yolunda. Peki ya hile oluşturmaya çalışırsanız? Sizi bir grup feyk işlemi bir araya getirerek geçerli bir hash bulmaktan alıkoyan nedir?

Bu noktada aleni anahtar kriptografisi devreye girer. Kısaca, bir kişinin masrafa çalmış olduğu fonları hareket ettirme hakkına haiz olup olmadığının herhangi bir kullanıcı tarafından doğrulamasını olası kılan bir ekip kriptografik öğeler kullanırız. Bir muamele yarattığınızda bu işlemi imzalarsınız. Ağ üzerindeki herhangi biri, imzanızla aleni anahtarınızın örtüşüp örtüşmediğini kontrol edebilir. Aynı zamanda, fonlarınızı gerçekten harcayıp harcayamayacağınız ve girdilerinizin toplamının çıktılarınızın toplamından yüksek olup olmadığı (şu demek oluyor ki haiz olduğunuzdan daha yüksek tutarda para harcamadığınız) kontrol edilir. Geçersiz bir muamele içeren tüm bloklar ağ tarafınca otomatik olarak reddedilecektir. Hile yapmaya girişim etmeniz bile masraflıdır. Hiçbir ödül etmeden kendi kaynaklarınızı harcamış olursunuz.

Proof of Work'ün güzelliği budur: hile yapmayı masraflı ama dürüst davranmayı karlı hale getirir. Rasyonel tüm madenciler ROI (yatırım getirisi) elde etmeyi hedefleyecektir, dolayısıyla kar elde etmeyi garantileyecek şekilde davranmaları beklenir.