PoW vs PoS 3

CZLG...NkUj
16 Jan 2024
68

Bu yazı sevgili @tobbykitty tarafından kaleme alınmıştır. 7. Ethereum’un PoS yolculuğu

Tanıştırayım, Slasher.. Ethereum’un ilk PoS denemesi. Yıl: 2014 🙂
Ethereum çıktığı ilk günden beri Proof-of-Stake’e geçmek istemiştir. PoS’e geçiş Ethereum’un tarihindeki en büyük hedeftir. Yıl 2022 hala daha PoW ile çalışan Ethereum bu sene içerisinde PoS’e geçiş planlamaktadır ve bu büyük güncellemenin adı “The Merge”dir.
Peki neden bu kadar uzun sürdü? 8 yıldır neden Ethereum bir türlü PoS’a geçememiştir? Aslında yazının başında bu konuyu birçok kez söyledim. Bunun iki büyük, bir tane de minik bir sebebi vardır.

  1. 2014 yılında PoS sistemlerin hala daha oturmamış olması ve Ethereum’un Tendermint benzeri saf BFT sistemlerine karşı çıkması.
  2. Ethereum’a uygun Konsensus mekanizması bulunamaması
  3. PoW sistemlerin blokzincirlerin başlangıcında coinleri PoS sistemlere göre daha iyi dağıtması.

2014 yılında PoS sistemlerin hala daha oturmamış olması ve Ethereum’un Tendermint benzeri saf BFT sistemlerine karşı çıkması
2012’de Peercoin ile başlayan PoS yolculuğu 2014’e kadar büyük bir kabus ile bitmişti. Çünkü PoS sistemlere bir çok atak vektörü tanımlanmıştı. Dolayısı ile PoS sistemler bir türlü potansiyellerini gösteremediler. 2014 yılında “Tendermint” ilk sorunsuz PoS sistemi sunduğunda Ethereum kripto sahnesine çıkmaya hazırlanıyordu. Fikir PoW ile Ethereum’u duyurmak ve birkaç ay içerisinde PoS’a geçmekti. Geçiş için ilk öneri yukarıda Vitalik’in yazdığı prototip PoS sistemi olan “Slasher” idi. Ancak Slasher çok primitifti ve hiçbir sorunu çözemiyordu. PoS geciktikçe Tendermint’in Ethereum’a uygulanma fikri ortaya çıktı: Ethermint.
Vitalik’in Slasher düşüncesi birçok noktada PoS’un sorunlarını çözmeye çalışsa da başarılı olamadı. Ethereum 2015 yılında 2014 buluşu olan Tendermint’i uygulamak istedi. Ancak Tendermint Ethereum topluluğu tarafından sıcak bakılmadı.
Yukarıda da anlattığım gibi Tendermint sadece 1000-2000 validator’e izin veren bir konsensus mekanizmasıdır. Bu yazıda konsensusları incelemek istemiyorum, ancak bu tarz bir sistem Ethereum topluluğunda karşılık bulmadı. Ethereum topluluğu herkesin validator olabileceği son derece merkeziyetsiz bir konsensus mekanizması istiyordu. Dolayısı ile Tendermint ve bunun Ethereum’a entegrasyonu olan Ethermint rafa kaldırıldı. Ethereum yeni konsensus ailesi üzerinde çalışmalara başlattı: Casper.
Ethereum’a uygun Konsensus mekanizması bulunamaması
Casper konsensus ailesi temelde Casper CBC ve Casper FFG olarak ikiye ayrılıyordu. Vlad Zamfir Casper CBC üzerinde, Vitalik Buterin ve Virgil Griffith Casper FFG üzerinde çalışmaya başladılar. (Yıl 2015)
Casper Konsensus ailesi için çok güzel işler çıkmaya başlamış, hatta 2017 yılında CBC’nin uygulanabilirliği ciddi ciddi düşünülmeye başlamıştı. Ancak 2016’da o kara haber geldi: DAO HACK.
2016 Haziran’da Ethereum’un forklanmasına sebep olan DAO Hack yaşandı. Bu ciddi anlamda bütün Ethereum’un kaderini etkileyen Ethereum Classic gibi bir forkun çıkmasına sebep olan ciddi bir olaydı. Ethereum bundan sonra bir de Shanghai DDOS Attack saldırıları ile uğraştı.
Magazini geçelim, Ethereum yukarıda PoS için anlattığım birçok atak vektörünü çözdü ancak yukarıdakilere benzer bir çatallanma durumunda yeni gelecek bloğun hangi çatala girmesi gerektiğini çözmek için PoW’ten yararlanmak istedi.
Yanlış duymadınız, çatallanma sorununu çözmek için Ethereum PoS mekanizması PoW’ten yararlanmak istedi ve PoW/PoS Hibrid bir sistemi 2017 yılında ciddi anlamda benimsedi. Hatta PoW/PoS Hibrid bir sistemin Testnetlerine bile başlamıştı.
PoW / PoS Hibrid bir konsensus çatallanmayı aşağıdaki gibi çözmektedir:
PoS blokları üretirken, blokların olası çatallanma durumunda hangi çatala katılacağını minik bir PoW (minik bir CPU gücü) belirliyordu. PoW/PoS sistemi benimsenmişti. Ancak PoS bir sisteme PoW eklemenin yine yukarıda anlattığım gibi Sharding için zorlukları vardı ve Ethereum’un enerji verimliliğini artırmak için %100 PoS bir sistem gerekiyordu. Bu yüzden PoW/PoS olan bu sistemden de vazgeçildi.
2018 yılında Vitalik %100 PoS bir sisteme geçilmesi için ilk fikri ortaya atmış ve Casper FFG’nin PoW ile çatal kararı vermesi yerine Casper FFG’nin LMD-GHOST adı verilen (Latest Message Driven – Greediest Heaviest Observed SubTree fork choice rule) sistem ile çatal seçmesine imkan tanıyan sistem ile birleştirildi ve şu an da son halini alan “Casper FFG + LMD GHOST” adı verilen Hibrid konsensus algoritmasına geçme kararı alındı. 2020 yılında bu paper yayınlanmış oldu ve Ethereum PoS’e uygun konsensus’unu sonunda seçmiş oldu.
LMD GHOST’un nasıl çatal seçtiğini de minik göstermezsem olmaz. 🙂 Aşağıda 10 adet “Attestor”un olduğu bir zincir düşünürsek, en çok onayı olan blok doğru bloktur mantığı ile hareket edilir ve çok karışık bir çatallanmadan bile bloklar gerçek yolu bulur. Buradaki attestorlar blokzincir üzerindeki validatorlerden başkası değildir. Ancak bu validatorler sadece blok üretmezler mevcut blokların doğruluğunu test ederler ve en çok onaylanan blok en doğru bloktur. Yeni gelenler de bu bloklara takılırlar.
Casper FFG + LMD GHOST’un çalışma prensibi çok karışıktır. Bu yazı da bir konsensus yazısı olmadığı için sadece yukarıdaki bilgi ile bırakalım. Ancak dikkat ettiniz mi?
Casper FFG + LMD GHOST diğer PoS chainlerin kullandığı konsensus mekanizmaları ile alakası olmayan, son derece karışık ve benzersiz bir konsensustur. Diğer konsensuslar zinciri takip etmiyordu, hatırlayın. Casper FFG + LMD GHOST aynı zamanda zinciri takip eden Hibrid bir konsensustur. Bu konsensus’a benzer bir diğer konsensus Polkadot’un kullandığı BABE + GRANDPA konsensustur.
Bundan dolayı Ethereum’un PoS süreci gecikmiştir. Peki böyle karışık bir konsensus’a gerek var mıydı? Cevap: Kesinlikle evet.
Tendermint konsensus’u ile çalışan Cosmos 175 validator’e sahip iken Ethereum an itibari ile 369.590 validator ile çalışmaktadır. Daha da güzeli Tendermint, Avalanche, Lachesis gibi saf pBFT tipi konsensusların aksine Casper FFG + LMD GHOST %33 ataklara dirençlidir ve %33 atakta zincir durmaz.
Son olarak Hibrid bir sistem olduğu için yukarıdaki PoS vektörlerine Ethereum’un bulduğu çareleri sormak isteyebilirsiniz. Slashing mekanizması bunlardan biridir. Nothing-at-stake probleminde her iki chain’e blok üreten validator slashlanır. Offline kalıp Sabotaj atak yapan validator offline süresinin 2-3 gün olması durumunda slashlanır. Bribe ataklar validatorlerin giriş / çıkış süresinin belli zaman dilimlerinde olması ile çözülmüştür. Meraklısı iyice araştırabilir.
Neticede 2014’ten beri olan bütün çalışmalar artık tamamlanmış 2022 itibari ile Ethereum PoS’e geçmeye hazırlanmaktadır. 8 yıllık bütün bu serüven “The Merge” adı adı verilen güncelleme ile neticelenecektir.
PoW sistemlerin blokzincirlerin başlangıcında coinleri PoS sistemlere göre daha iyi dağıtması
Son olarak minik bir neden olsa da, PoW’ün PoS’e üstünlüklerinden birisi de coin dağılımını daha güzel yapmasıdır. Çünkü PoW’de madenciler elektrik masrafları için coinlerini satma eğilimine giriyorlar ve bu da coinlerin kişiler arasında daha homojen dağılmasına sebep oluyor. PoS ile başlayan bir blokzincirde coin dağılımı hele hele o chain VC’lere çok pay verilmiş ise VC’lerin pasta payı daha çok artıyor.

8. PoW ve PoS hakkında yanlış bilinenler

Bu konuda o kadar yanlış bilinen şeyler var ki.. Ben en çok söyleneni yazmam gerekiyor diye düşündüm: PoW’de HashRate’in büyük kısmını elinde bulunduran, PoS’de coinlerin büyük bir kısmını elinde bulunduran kesim blokzinciri yönetir.

HAYIR YÖNETEMEZ.

HAYIR YÖNETEMEZ.
HAYIR YÖNETEMEZ.
Yönetemez. YÖNETEMEZ. Artık şu 3 Bitcoin havuzu toplam Hash’in %51’inden fazlası, bu nasıl merkeziyetsizlik vs. gibi şeyler söylemeyin. Lütfen.
PoW ve PoS yukarıda uzun uzun anlattığım gibi gelen bloğun doğruluğunu ve blokzincirin güvenliğini temin eden sistemlerdir. O kadar. Madencilerin %51’inin tek elde bulunması Bitcoin için ölümcül değildir.
Direkt Bitcoin Core’un validation.cpp’sinden 2148. satırı atıyorum: Kaynak
// Any transaction validation failure in ConnectBlock is a block consensus failure
Yani ne demeye çalışıyorum.. PoW’de %51 kötü niyetli olsa dahi iki şey yapabilir.

  1. Transferleri durdurabilir, buna sensör atak denir.
  2. Double-spending yapabilir.

İlk atak aşağıdaki gibi olur. Transferlerinizi yapamazsınız. %51 zincire girişi engeller.
İkinci atak Double-spending attacktır. Double-spending attack şu demektir, 100 Dolar paranızı bir kişiye göndermek istediğinizde madenci sizdeki 100 Doları cüzdanınızdan alıp karşı tarafın cüzdanına 100 dolar eklemesi gerekir.
%51 attack durumunda madenci 100 Dolarınızı aynı kişiye gönderip, aynı zamanda sizde de 100 Doları tutabilir.
Double-Spending attack budur ve tehlikelidir. Ancak bu durumda zincir tahrip edilse de, sistemdeki diğer %49’luk kesim dürüst chain’i devam ettirecektir. Ettiremezse bile %51’lik üç kağıtçı kesim sistemdeki dürüst node’lara bu üçkağıdı yutturamayacaktır. Dürüst kişiler dürüst zinciri devam ettirip, double-spending yapılan chaini yok sayacaklardır. Böylelikle %51’lik kısım boşuna elektrik yakacaktır.
PoS’de değişen bir durum yoktur. Yukarıdaki PoS atak vektörlerini hatırlayın, Double-spending de PoS’te bir atak vektörüdür. Ancak bu atak yine Slashing denilen cezalandırma sistemi ile çözülmüştür. Eğer bir sistemde PoS validatorlerinden birisi veya %51’i double-spending yapmaya çalışırsa, Slash yerler. Ellerindeki coinlerden olurlar. PoW’de boşuna elektrik harcarken, PoS’te ellerindeki coinler cezalandırılarak bu kişilerden alınır.

9. Son sözlerim ve yorumlarım

Ethereum’un da PoS’a geçmesi ile birlikte, ilk 15 coinde PoW ile çalışan iki coin kalıyor: Bitcoin ve Dogecoin.
Zcash’in de PoW ile çalışan bir chain olduğunu ve PoS’e geçmeye çalıştığını biliyoruz. Dolayısı ile artık PoW ile çalışan coinler teker teker PoS’e geçiyorlar veya MarketCap’leri düşüyor. PoS hemen hemen çoğu konuda PoW’ten üstün.
Bitcoin’in de tıpkı Ethereum gibi PoS’e geçme ihtimali vardır. Ancak bunun için güçlü bir topluluk desteği gerekiyor. Madenci mafyasını bertaraf etmek gerekiyor ki Ethereum da zaman zaman madenciler ile tartışma yaşamış bir chaindir. Bitcoin PoS’e geçebilir, geçse de zaman alır diye düşünsem de tek bir gerçek var: PoS’in üstünlüğü tartışmasızdır.
Öte yandan PoS çok daha ucuz bir maliyetle çok daha iyi güvenlik sağlıyor. Yukarıda anlattım. Özellikle Ethereum özelinde, hem ETH emisyonunun PoS ile birlikte ciddi anlamda düşmesi, hem de madencilerin masrafları için ETH satış baskının düşmesi gibi durumların özellikle ETH fiyatı için çok olumlu yansıyacağını düşünüyorum.
Yazıya son verirken, PoW veya PoS’in sadece blok üretme, bunları doğrulama ve blokzincire ekleme dışında bir sistem olmadığını hatırlatmak isterim. PoW veya PoS bir konsensustur diyene aslında pek itirazım yok, ancak yukarıda anlattığım gibi PoS bir sisteme farklı konsensuslar eklenebilmekte olup, her PoS sistem aynı değildir.
Yazıya eklenecek birçok şey var. İleride bu kılavuza zaman zaman eklemeler yapmak istiyorum. dPoS, PoA gibi farklı sistemleri konuşmak, farklı PoS yorumlamalarını eklemek isterim.
Tobby Kitty

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to riomexes

6 Comments

B
No comments yet.
Most relevant comments are displayed, so some may have been filtered out.