Blokzincirlerin (Bknz: Blokzincir 101) işleyişinde kabaca zincire bloklar eklendiğini biliyoruz. Bir blok zincirde diyelim ki A bloğundan sonra biri B bloğunu ekledi bir başkası ise B’ bloğunu ekledi. Bu blokzincirinde çatallanmaya sebebiyet verir.
C bloğunu B ve B’ bloklarından hangisine ekleyeceğiz? Hangi çataldan devam edeceğimize nasıl karar vereceğiz? İşte bu sorunun çözümlerinden en bilinenlerden iki tanesi olan Proof of Work [iş ispatı] ve Proof of Stake [hisse ispatı]’i inceleyeceğiz.
Tanım yapmamız gerekirse Block Choice Rules yani Blok Seçim Kuralları diyebiliriz. Bu kurallar blokzincirin hızına, güvenliğine ve son dönemlerde sıkça duyduğunuz çevre dostu olup olmadığına etki ederler. Yazımda PoW ve PoS kurallar bütününden sistem olarak bahsedeceğim.
PoW — PoS Sistemleri Bileşenleri
Bu sistemleri anlatmadan önce bazı terimlerin açıklamasını yaparak başlamak istiyorum:
Node [düğüm]: Blokzincirde gerçekleşen işlemler ve çıkan bloklar hakkında bilgi yayan araçlara düğüm denir. Bu gündelik kullandığımız bilgisayar olabileceği gibi devasa işlem gücüne sahip bir bilgisayar da olabilir.
Archive Node [arşiv düğüm] : Tüm blokzincirin kaydını tutan nodelardır. Gün, saat, dakika ve saniyesine kadar verileri indirir. Bu nodeları Etherscan, BSCScan gibi blokzincir explorerları kullanır. 2022 yılı başı itibari ile Ethereum arşiv düğümü büyüklüğü yaklaşık 7–8 terabyte’dır.
Full Node [tam düğüm]: Bu düğümler blokzincirin başlangıç bloğundan [genesis block] beri sahip olduğu state [durum] bilgilerini indirirler. Hangi saatte ne olduğunu bulamazsınız. Blokzinciri kurallarına göre gözlemler ve kuralları uygular. Bu düğümler ağa güvenlik ve destek sağlarlar. Evde kurulan nodelar bunlardır RPC node da denilir. Bitcoin için tüm blok zincirin inmiş hali için kullanılırken Ethereum için konsensüse katılabilmek için gerekli yeterli miktarı indiren düğümler için kullanılmaktadır. 2022 yılı başı itibari ile Ethereum tam düğüm büyüklüğü yaklaşık 300–400 gigabyte’dır.
Miner’s Node [madenci düğümü]: Tam düğüm gibi blokzincirdeki tüm state bilgisini indirirler ve işlemleri onaylarlar. Tam düğümlerden farklı olarak hesaplama yaparak yeni blokları bulup zincire eklerler ve ekledikleri blok başına ödül kazanırlar. 2022 yılı başı itibari ile Ethereum madenci düğümü büyüklüğü yaklaşık 700–800 gigabyte’dır.
Validator [onaylayıcı-yetki sahibi]: PoW sistemindeki madenci düğümlerinin görevlerini PoS sisteminde üstlenen kişilerdir. Farklı olarak validatorlar blok bulmaz, verileri bloğa yazar ve ağa yayınlar yani blok üretir. Ağa yayınlanan bloklar diğer düğümler tarafından onaylanırsa blok ağa yazılır.
Lightweight Node [hafif düğüm]: Ağı kullanan herkes hafif düğümdür. Bütün blokzincirin tüm veritabanını indirmezler, sadece blok başlıklarını indirir ve işlemlerin doğruluğunu onaylarlar. Ağ ile senkronize olabilmek için tam düğüme ihtiyaçları vardır. İşlem onaylama yetkileri yoktur. 2022 yılı başı itibari ile Ethereum hafif düğüm büyüklüğü yaklaşık 50–100 megabyte’dır.
Delegetor [yetkisini devreden] : PoS sistemlerde yetkisini validatorlara devreden kişilerdir. Validatorların kurduğu havuzlara katılarak devrettiği yetki [kilitlenen coin] oranında kazanç elde eder.
PoW ve PoS Kullanılma Sebepleri
PoW ve PoS sistemlerinin nereden geldiğini ve nasıl ortaya çıktığını açıklayalım. Bizans’lı Generaller Problemi (Bknz: Bizanslı General Problemi Nedir?)‘nden bildiğimiz gibi fikir birliği sağlamak blokzincirlerin temelini oluşturur. Eğer beş arkadaştan dördü doğruyu söyler biri yalan söylerse, grup doğru bilgiyi çoğu kişi desteklediği için onaylar ve yalancıyı devre dışı bırakır. Eğer beş arkadaştan ikisi doğruyu söylerken üçü yalan söylerse grup yanlış yönlendirilir ve gruba güven duyulmaz.
Blokzincirde eklenen blokların doğruluğunun denetlendiğini ve blokzincirin çoğunluğun onayladığı blokla devam ettiğini kabul edelim. Bilgisayarınıza indirdiğiniz basit bir uygulama ile zincire dahil olup blok üretebilirsiniz. Blokzincire kötü niyetli blok üreticiler girerse bu blokzincir için tehlike oluşturur. 100 iyi niyetli madenci var diyelim, ben gittim 101 bilgisayar aldım ve kötü niyetliyim. Ağa saldırarak blokzinciri kolaylıkla sabote edebilirim. Bu problemi bir şekilde çözmemiz gerekiyor. İşte bu sorunu çözmek için çeşitli çözümler var. Biz bu çözümlerden öne çıkan iki tanesini, PoW ve PoS’ u inceleyeceğiz.
Proof Of Work
Satoshi Bitcoin(Bknz: Bitcoin 101)’ i tasarlarken demiş ki sayı üstünlüğü kolaylıkla sağlanabilir. Bunu sayı üstünlüğünden, işlemci gücü üstünlüğüne geçirirsem bu problemden kurtulurum. Eğer sistemde kimse olmasa biz minimum gereklilikleri sağlayan gündelik kullandığımız bilgisayarımızla madencilik yapabiliriz çünkü Bitcoin madenciliği için basit bir program indirmek yeterli. Fakat büyük işlemci gücüne sahip bilgisayarlar ile blokları bizden çok daha hızlı bir şekilde bulup sisteme ekliyorlar. Onların Hash Rate [Çalışma Hızı]‘i bizimkinden çok daha fazla olduğu için onlar blokları çoğunlukla bizden önce bulacaklardır. Bizim Hash Rate’imizi toplam Hash Rate’e böldüğümüzde bir sonraki bloğu bularak ödül alma oranınızı yaklaşık olarak hesaplayabilirsiniz. Bu durumu altın aramak gibi düşünebilirsiniz. Durum dev makinelere sahip şirketlerin altın araması ile sizin kazma kürek ile aramanız arasındaki altın bulma ihtimaline benzerdir. Düşük bir ihtimal olsa dahi bunu başaran bireysel madenciler bulunmaktadır. Diyelim ki kötü niyetli birisi çok fazla para harcayarak bu işlemci gücü üstünlüğünü ele geçirdi. Daha sonra yanlış blokları blokzincire eklemeye başladı ya da Double Spending dediğimiz çift harcama yapmaya başladı. Diğer iyi niyetli denetleyiciler bu durumu fark eder ve yanlış bloktan önceki bloğu bulur ve forklanır yani çatalanır daha sonra zincir oradan devam etmeye başlar. Kötü niyetli kişi ise boşa elektrik gücü harcamış olur.
Proof of Stake
PoS sisteminde ise bu problemi çözmek için demişler ki belirli bir koin sahibi olup bunları kilitleyenler validator olsun. Bu validatorlar sistemin blok üretmesini, denetlenmesini sağlasın. Bilgisayarına her blokzincir programını indiren blok üretemesin bizim koinimizden belli bir miktar tutanlar bu işlemi yapabilsin. Belirlenen miktarda koine sahip olan kişiler bu koinleri kilitlerler. Gerekli donanımları sağladıktan sonra validatorlığa başlayabilirler. Burada yine zinciri sabote edebilirim.
Küçük piyasa değerine sahip koinlerde bu kolaydır. Saldırı yapan kişi küçük bir miktar para ile bu saldırıyı yapabilir. Yüksek piyasa değerine sahip bir koinde ise bu zordur ve risklidir. Blokzincirde bir miktar koin kilitlenmiş olsun diyelim, güvenliği bu sağlıyor. Ben kötü niyetli biriyim ve gittim kilitli koinlerin %51’i kadar coin aldım ve kilitledim. Bu alım ile fiyat çok fazla şekilde artar ve maliyetim artar. %51 ile zinciri durdurabilirim ama ele geçiremem, double spending yani çift harcama yapamam. Elimde kilitli koinlerinin %51’i bulunan bir blokzincirini durdurmak benim için oldukça zararlı olacaktır. Bu durum insanların blokzincirine olan güvenini sarsar ve fiyat düşer. Çok fazla para kaybederim. Bu süreç iki farklı şekilde devam edebilir. Güven kaybından dolayı fiyat düşünce iyi niyetli kişiler daha fazla coin alıp kilitleyerek üstünlüğü ele geçirir ve güvenliği sağlar. Ben slash yemeye [kilitlemiş olduğum coinlerden kesinti yapılması] başlarım. Eğer ben tekrar gerekli yüzdeyi ele geçirmek istersem bu sefer tekrardan bir para harcamak zorunda kalırım. Bu durum benim param bitene kadar devam eder. Diğer bir seçenek de Minority Fork [Azınlık Çatallaması] yapılarak blokzincir forklanır %51 yine slash yer.
Yukarıda anlattığım PoW ve PoS sistemlerine karşı kurgusundan dolayı alınan önlemler incelenmiştir. Sadece mantığını basitçe anlatabilmek için basit örnekler üzerinden gidilmiştir. Ana fikir PoW sistemlerde boşa elektrik harcama, PoS sistemlerde ise slash yeme ile caydırıcılık sağlanmaktadır. Yine çeşitli atak türlerinden etkilenmeleri Finality [sonuçlandırma] türlerine ve blokzincire kaydedilme yapılarına göre değişmektedir. Bunlara daha sonraki yazılarımızda değineceğiz.
Proof of Stake Detaylı İnceleme
Kötü niyetli ben bu işi çaktırmadan yapabilir miyim? Bu da yine sistemin kurgusuna bağlı olmakla birlikte çözümü bulunan bir sorun. Bu çözümlerden birini kısaca anlatalım. Ben blokzinciri ele geçirdim ve yanlış veri içeren bloklar üretmeye başladım diyelim. Bu blokların onayı rastgele 10 validator yapmalı bunların içinde dürüst kişiler bulunacak ve burada bir hata olduğunu bildirecekler ve blokzincir o bloktan itibaren oradan forklanacaktır (ayrılıp başka bir zincir olarak devam etmek). Burada validatör sayısının önemi de ortaya çıkıyor. Validatörlerin kilitledikleri koinler ne kadar eşit dağılırsa ağ o kadar merkeziyetsiz olur. 10 validatordan oluşan ve hepsinin %10’luk bir kilitlenmiş koin sahibi olduğu ağ , 1000 validatordan oluşan ama 1 kişinin %60’lık bir kilitlenmiş koin sahibi olan ağa göre daha merkeziyetszdir. Merkeziyetsizlik sadece validator sayısına değil aynı zamanda bu kişilerin sahip olduğu kilitlenmiş koin oranına da bağlıdır.
Yukarıdaki Ethereum PoS sistemine ait explorerdan resimlerle bu söylediklerimizi pekiştirelim.
2.750.239. blok [en üstteki mavi yazı] 138.086. validator [proposer yazan kısım] tarafından bulunmuş. Daha sonra 2. resimdeki 128 tane rastgele Attestations tarafından denetlenmiş. 8390 tane validator [voting validators yazan kısım] bu onaya katılmış. Slashing kısmında ise Attester ve proposer slashing kısmı 0 yazıyor yani blokta hata yok onaylanmış. Eğer bloğu bulan ya da denetimi yapanlardan biri hata yapsaydı slash yerdi yani coinlerinin bir kısmını kaybederdi.
Ethereum PoW-PoS Geçişi
PoS sistemini uygulamak isteyen her blokzincir kendi koinine sahip olmak zorundadır. Ethereum’un başlangıçta bu sistemi kullanamamasının sebebi piyasa hacminin düşük olması ve görece düşük maliyetli saldırılara açık olmasıdır. Şu anda yeterli seviyeye ulaştıklarını düşündükleri için Ethereum PoS ile bu sisteme geçmeyi düşünüyorlar. Şu anda asıl olarak PoW sistemi kullanılıyor fakat PoS sistemi de blokzincirde etkisiz olarak deneme için kullanılıyor. İleride Merge [birleşme] ile bu sistemi sadece PoS olarak değiştirilmesi hedefleniyor. Burada da yüksek maliyetle ekipman yatırımı yapan PoW madencilerinin tepkisiyle karşılaşıyorlar neler olacağını göreceğiz.
Faydalı Bilgi
Bahsetmeden geçmeyelim Airdrop olarak bildiğimiz bedava token dağıtımları bu sebeple yapılır. Kendi platformunu kullanmış kişilere kendi coininden vererek hem kendi topluluğunu ödüllendirir hem de farklı kişilere koin verdiği için PoS sistemi için gerekli olan merkeziyetsizlik sağlanmış olur.
Okuduğunuz içerik Layka DAO yazarlar ekibi tarafından sizler için üretilmiştir.
Layka DAO, içlerinden gelen merak ve sorumluluk hissi ile, kendilerini ve toplumu geleceğin DAO teknolojilerine hazırlamak için bir araya gelmiş bireylerden oluşan merkeziyetsiz bir topluluktur. Topluluğun her bir üyesi, istediği takdirde kendi tercih edeceği ekiplere katılarak, bu ve bunun gibi kaynakların sizlere ulaşmasına istediği miktarda katkı sağlayabilir.
Sizleri de bu gururun bir parçası olarak görmekten mutluluk duyarız.
Layka DAO Discord’una katılmak için: https://discord.gg/laykadaoYazan: mrctrz#3949
Editörler: feyzalp#1268