Proof of work'ün çözdüğü sorun
Dijital bir kayıt defterini kopyalamak ve düzenlemek kolaydır. Herkes serbestçe işlem ekleyebilseydi, aynı kripto parayı iki kez de harcayabilirdi — klasik "çifte harcama" sorunu. Merkezi bir operatörü olmayan bir sistemde, bazıları dürüst olmasa veya çevrimdışı olsa bile, bağımsız katılımcıların hangi işlemlerin gerçekleştiği ve hangi sırada gerçekleştiği konusunda anlaşmasını sağlayacak bir yola ihtiyacınız vardır.
Dijital paraya yönelik önceki girişimler, defterleri tutmak için güvenilir bir tarafa dayanıyordu. 2008 tarihli teknik belgede (whitepaper) tanımlanan Bitcoin tasarımı, o güvenilir tarafı kamuya açık bir yarışmayla değiştirdi: katılımcılar blok eklemek için gerçek kaynaklar harcar ve ağ, kazanan zinciri seçmek için ortak bir kuralı izler. Uzlaşma, otoriteden değil, maliyetten ve matematikten doğar.
Madenciler aslında neyi hesaplıyor
Her aday blok, bir işlem grubunu, önceki bloğa bir referansı ve nonce adı verilen küçük, değiştirilebilir bir sayıyı içerir. Madenciler bu veriyi SHA-256 hash fonksiyonundan geçirir; bu fonksiyon herhangi bir girdiyi sabit uzunlukta, öngörülemez görünen bir çıktıya dönüştürür. Amaç, belirli bir hedef değerin altında bir hash üreten bir girdi bulmaktır — pratikte, belirli sayıda sıfırla başlayan bir hash.
Hash çıktıları öngörülemediği veya tersine mühendislikle çözülemediği için, uygun bir hash bulmanın tek yolu deneme yanılmadır: nonce'u değiştir, tekrar hashle, tekrarla, saniyede milyarlarca kez. Bu kaba kuvvet araması "iş"tir. Yapılması kasıtlı olarak zordur ama başka herkesin doğrulaması önemsiz derecede kolaydır — tek bir hash hesaplaması yanıtın geçerli olduğunu doğrular. Bu asimetri (üretmesi zor, doğrulaması kolay) proof of work'ün kalbidir.
Zorluk ve yaklaşık on dakikalık ritim
Bitcoin, ortalama yaklaşık her on dakikada bir yeni blok hedefler. Ağa daha fazla işlem gücü (hash rate) katıldıkça bloklar daha hızlı gelme eğiliminde olur, bu yüzden protokol ortalama tempoyu sabit tutmak için zorluğu — hedef hash'in ne kadar düşük olması gerektiğini — periyodik olarak ayarlar. Yaklaşık her iki haftada bir (2.016 blok), her düğüm zorluğu son blok sürelerinden yeniden hesaplar.
Bu kendi kendine ayarlama, daha fazla madencilik gücünün zamanla daha hızlı blok üretimi anlamına gelmemesinin nedenidir; esas olarak aynı sabit blok akışını güvence altına almak için daha fazla iş harcandığı anlamına gelir. Herhangi bir tek bloğun tam zamanlaması rastgeledir, dolayısıyla on dakika bir program değil, uzun vadeli bir ortalamadır.
Bloklardan uzlaşmaya: en uzun geçerli zincir
Geçerli bir blok bulmak hikâyenin yalnızca yarısıdır. İki madenci neredeyse aynı anda blok bulduğunda düğümlerin yine de tek bir geçmiş üzerinde anlaşması gerekir. Kural, düğümlerin en fazla toplam birikmiş proof of work'e sahip geçerli zinciri izlemesidir — çoğu zaman "en uzun zincir" olarak özetlenir, ancak aslında birikmiş işe göre en ağır olanıdır.
Her tam düğüm (full node), her bloğu Bitcoin'in kurallarına göre bağımsız olarak doğrular: geçerli imzalar, çifte harcama yok, doğru blok ödülü ve hedefi karşılayan bir hash. Kuralları çiğneyen bloklar, ne kadar iş harcanmış olursa olsun basitçe reddedilir. Geçici anlaşmazlıklar (çatallanmalar / fork) bir sonraki blok bir dalı uzattığında çözülür ve dürüst madenciler onun üzerinde birleşir, çünkü ödül, kabul edilen zincir üzerine inşa etmektedir.
Bu ağı neden güvence altına alır
Geçmiş bir işlemi yeniden yazmak için bir saldırganın, o blok ve ondan sonraki her blok için proof of work'ü yeniden yapması, ardından daha uzun bir zincir inşa etmek için tüm dürüst ağı geride bırakması gerekir. Bir işlem ne kadar derine gömülüyse yeniden yapılması gereken iş o kadar artar — bu yüzden tüccarlar genellikle birkaç onay bekler. Maliyet, ağın toplam hash rate'iyle ölçeklenir.
Bu, "%51 saldırısı"nın ardındaki sezgidir: hash gücünün çoğunluğunu kontrol etmek, birinin son işlemleri yeniden sıralamasına veya sansürlemesine izin verebilir. Ancak bu donanımı edinmek ve çalıştırmak pahalıdır, imzaları taklit edemez veya kripto paraları doğrudan çalamaz ve görünür bir saldırı, saldırganın madencilik için kaynak harcadığı varlığın değerini baltalayabilir. Teşvikler, dürüst katılımın genellikle saldırmaktan daha kârlı olacağı şekilde hizalanmıştır. Buradaki güvenlik ekonomik ve olasılıksaldır, mutlak bir garanti değildir.
Ödünleşimler ve daha geniş tartışma
Proof of work'ün gücü — gerçek, dışsal maliyet — aynı zamanda en yaygın eleştirisinin de kaynağıdır: enerji tüketimi. Bitcoin'in elektrik kullanımına ilişkin tahminler büyük ölçüde değişir ve zamanla değişir; tablo, bazı madencilerin kullandığı atıl, fazla veya yenilenebilir enerjinin giderek artan payı nedeniyle daha da karmaşıklaşır. Makul insanlar bu konuda anlaşamaz ve ayrıntılar değişir; herhangi bir tek rakama güvenmek yerine güncel ve güvenilir kaynakları kontrol etmek yerinde olur.
Proof of stake gibi alternatif uzlaşma tasarımları, hesaplama yerine ekonomik teminat kullanarak bazı diğer ağları çok daha az enerjiyle güvence altına alır. Bunlar farklı varsayımlar ve ödünleşimler içerir ve onları adilce karşılaştırmak başlı başına bir konudur. Özellikle Bitcoin için proof of work mekanizma olmayı sürdürür ve güvenliği ile arz takvimi buna bağlıdır.