Pow vs Pos 2...

B68S...mEBg
11 Feb 2024
24

Herkese merhabalar, kaldığımız yerden devam iyi okumalar;

BU BLOKLARI KİM EKLİYOR?
O zaman sansasyonel bir cümle ile başlayalım: BLOKLARIN EKLENMESİ İÇİN MADENCİLİĞE DE STAKING YAPMAYA DA GEREK YOKTUR. Blokzincirlere herkes blok ekleyebilir. Bu sistemi anlamak için bizim öncelikle blokzincirdeki blokların anatomisini ve fizyolojisini bilmemiz gerekiyor.
Ethereum’da bir bloğun anatomisi aşağıdaki gibidir, ancak ben bunu anlaşılması kolay olsun diye sadeleştirdim.
Aşağıda çok fazla sadeleştirerek bir bloğun anatomisini çizmeye çalıştım. Kısacası blok gövdesi, blokzincir üzerindeki transferlerin bilgisini içerirken, blok başlığı bir nevi özetler ve belirli hash fonksiyonları içeriyor.
“TC kimlik numarası” yazdım, bunlar aslında bloğa ait Hash değerleridir, her blok için tektir. Her bloğun hash değeri farklıdır. Aynı TC kimlik numarası gibi. Bu bilgiyi unutmayın. İleride kullanacağız. 🙂
Blok gövdesindeki transferler, hepimizin blokzincir üzerinde yaptığı işlemlerdir. Bu işlemler MEMPOOL adı verilen bir yerde birikir. Blokzincirde yukarıda bahsettiğim bilgisayarına blokzinciri indiren kişiler yani node’lar bu Mempool adı verilen yerde bekleyen transferleri blokların içerisine doldurup blokzincire eklerler. Her blok da bir sonrakinin TC kimlik numarasını teyit ederek zincire eklenir ve node’lar bir sonraki bloğu eklemek için transferleri tekrardan bloklara eklemeye ve zincire takmaya devam ederler.
İşte blokzincir budur. Blok eklemek için madenciye, staking’e gerek var mıymış? HAYIR.
Şimdi konuya giriyoruz. 🙂 Yukarıda şöyle bir cümle kullandım, Papua Yeni Gine’deki adam da ben de node kuruyorum. Dünyadaki herkes ile gelen bloktaki bilgileri paylaşıp yola devam ediyoruz.
Peki, şöyle bir durumda ne olacak? 5 blok içeren bir blokzincirde 6. bloğu eklemek için ben ve Papua Yeni Gine’deki adam mempool’daki transferleri yeni eklenecek bloğun içerisine dolduruyor olsun. Birbirinden haberdar olmayan bu iki kişi 6. bloğu aynı anda blokzincire eklesin. (İkisi de dürüst kişiler doğru transferleri blok içerisine koydular, hiçbir üç kağıt yok diyelim.) 5. bloğa iki adet blok eklenecektir. Ve şöyle bir görüntü ortaya çıkacaktır:
İki blokta doğru, her iki blokta Blok 5’in TC kimlik numarasına uygun. (Yukarıdaki örneği hatırlayın) yukarıda blokzincirler ip gibi dizilir demedik mi? O zaman bu ne ayak? Hangisini kabul edeceğiz? Ya da olayı daha da karıştırayım. Benim bloğumu ilk görüp kabul eden Dünya’daki diğer adamlar ile Papua Yeni Gine’linin bloğunu ilk görüp kabul eden adamlar blok eklemeye devam etmesi durumunda şöyle bir senaryo ile karşılaşacağız:
Yukarıdaki gibi bir senaryo durumunda ne yapacağız? Hatta Blok 9 üçkağıt çevirerek belki de kafasına göre olmayan transfer bilgilerini gerçekmiş gibi blokzincire yazmış olabilir. (Kırmızı bloklar zincirdeki üç kağıtçı ve doğru bilgileri içermeyen blokları temsil ediyor.) Hatta mevzu çatallanan yerlerin birinde dahi çatallanmaya yol açabilir. Unutmayın merkeziyetsiz blokzincirler tamamen “Permissionless”tır isteyen her kişi kimseden izin almadan istediği şekilde blokzincire katılabilmektedir. Bu tip durumlarda ne yapacağız?
Kim doğru? Nasıl bir karar vereceğiz? Blokzincir masum veya art niyetli kişiler fark etmeksizin çatallanırsa (yukarıdaki örnekte 6. bloktaki çatallanma gibi) hangisini izleyeceğiz? Kırmızı bloklardan sonra doğru bloklar eklenirse bu kırmızı blokları sistem dışına nasıl çıkaracağız? Tamamen bağımsız çalışan ve merkeziyetsiz olan bu blokzincirde doğruluğu ve güveni nasıl sağlayacağız?
Satoshi Nakamoto sohbete katıldı:

2. PoW nedir? Neden PoW var?

Yukarıdaki yazı Satoshi Nakamoto tarafından yazılmış, tüm Dünya’ya nüfuz eden yepyeni ve devrim yaratan buluş olan Bitcoin’in white-paper’daki özet kısmıdır. Satoshi Nakamoto yukarıda bahsettiğimiz blokların doğruluğu ve blokzincirlerin “çatallanma” sorununu Adam Back’in “Hashcash” adı verilen projesinde kullanmış olduğu Proof-of-work adı verilen sistem ile kökünden çözmüştür. Peki nedir bu Proof-of-work, yukarıdaki sorunu nasıl çözdü birlikte inceleyelim.
Satoshi Nakamoto Bitcoin blokzincirinde blokzincirin doğruluğu için çok basit bir kural getirmiştir. Bu kural yukarıda altını çizdiğim “Longest Chain” kuralıdır. Bu kural şunu der: UZUN OLAN ZİNCİR DOĞRU ZİNCİRDİR. UZUN ZİNCİRİ TAKİP ET. Yani gelen bloklar en uzun olan zinciri tercih etmelidir. Böylelikle zincirin çatallanması engellenmiş olur.
Peki, kötü niyetli kişiler zincire çok hızlı kötü bloklar ekleyip daha uzun bir zincir yapsa ne olurdu? Örneğin;
Bu durumda yeni gelen blok 6’dan 9’a kadar olan kötü niyetli bloklara katılacaktır. Böylelikle blokzincirdeki güvenirlilik sarsılacaktır. Bundan dolayı Satoshi Nakamoto bir kural daha getirmiştir. Bu da üstte yazmaktadır. Satoshi blok basmak için CPU gücünü esas almıştır. İşte bu CPU gücü Proof-of-work’ün temelini oluşturmaktadır. Diğer bir deyişle, CPU gücü fazla olan kişinin blok üretme şansı diğerlerine göre daha fazladır. İşte CPU gücüne göre blok üreten bu kişilere madenci diyoruz. 2 adet madencinin eşit CPU gücüne sahip olduğu bir blokzincirde her ikisinin de blok üretme şansı %50 – 50%’dir. Madencilerden biri blok çıkarmak için maden cihazlarına ek olarak birkaç cihaz daha eklerse daha fazla blok çıkarabilme şansı kazanmış olur.
Yukarıdaki görselde Bitcoin’in ilk zamanlarında blok kazmak için gereken ilk ASIC madenci cihazlarını görüyorsunuz. Daha çok blok kazmak için madenciler yarışa girmeye başlamış, ellerindeki madenci cihazlarını artırmaya başlamış ve neticede aşağıdaki gibi devasa madencilik şirketlerinin yönettiği maden cihazları kullanılmaya başlanmıştır.
Kısacası, MADENCİ denilen kişiler işte Satoshi’nin koyduğu CPU gücü daha fazla olan blok üretsin kuralını bilip bu kurala göre hareket eden Bitcoin blokzincirindeki YENİ BLOKLARI EKLEYEN KİŞİLERDİR. Eğer CPU gücüne göre blok ekleme kuralı olmasaydı, herkes rahatlıkla blok ekleyebilseydi, “uzun zinciri takip et” kuralı manipüle edilmiş olacaktı. Çünkü CPU gücü kısıtlı ve aynı zamanda maliyetli bir işlemdir. (Hem donanım, hem elektrik)
Hazır yeri gelmişken bunu da eklemek gerekir, madem CPU gücü fazla olan blok ekleyebiliyorsa, üç kağıtçı insanlar CPU gücünün büyük kısmını ele geçirince kötü blok ekleyemezler mi sorusu akla gelir.
Bu sorunun da cevabı, evettir. Hemen hemen herkesin konuştuğu %51 atak işte bu ataktır. %51 atak, sistemdeki CPU gücünün %51’inden fazlasının tek kötü niyetli adam elinde olması durumudur. Bu durumda %51 ve fazla CPU gücü olan adam kötü blokları sisteme ekleyebilecektir. Ölümcül bir atak değildir, ancak blokzincire duyulan güveni ciddi anlamda baltalamaktadır. %51 ataklardan da sıyrılabiliriz. Ancak zaten uzun olan bu yazıyı ciddi anlamda uzatacağı için bu kısmı atlıyorum.
Diğer bir soru da şu olacaktır. Peki her iki chain’de eşit şekilde uzarsa ne olur? Aynı anda üst üste blok bulunduğu ve her bloğun da dürüst olduğu durumda ne olacaktır? Görselden gidelim:
Yukarıdaki zincirde bütün bloklar doğrudur. Şans eseri bu şekilde bir çatallanma gerçekleşmiş ve 10. blok 5’er adet bloktan oluşan bu çatallardan birini tercih edecektir. Hangisini tercih ederse etsin. Herhangi birisini tercih etmesi durumunda 6 bloktan sonra diğer taraftaki bloklar “Orphan” Blok olarak nitelendirilir ve blokzincir tarafından yok sayılır.
Alttaki çataldaki bloklar Orphan (Yetim) blok olmuştur. Artık blokzincir için muteber kabul edilmezler. Bu blokları bulan madencilere de ödül verilmez. Bitcoin için Orphan olma durumu 6 bloktur. Ve bu yüzden Bitcoin’de “Finality” 1 saattir diyoruz. Yani işlemlerin kesinlikle blokzincirde kayıtlı olup geri döndürme ihtimalinin çok düşük olması durumu 6 blok sonradır. (Her blok 10 dakika, dolayısı ile 1 saat)
(Diğer blokzincirlerde yapısal değişiklikler vardır, örneğin, Ethereum’da Uncle Block terimi vardır teker teker yazmak yazıyı çok fazla uzatacağından geçiyorum.)
PoW özetle gelen blokların CPU gücü baz alınarak oluşturulmasıdır. Bu yüzden “madenci” “madenci cihazları” gibi terimler türemiştir. PoW için bir konsensus mekanizması mıdır, Sybil koruması mıdır (üçkağıtçılara karşı sistemi koruyan mekanizma) sorusu yöneltilebilir. Açıkçası bunun hiçbir önemi yoktur. Her ikisidir, her ikisi de değildir denebilir. “Uzun zinciri takip et” bir konsensus mekanizmasıdır, çünkü sistemin karar almasını sağlar. “CPU gücü olan blok üretsin” kuralı ise Sybil korumasıdır çünkü herkesin üç kağıtçı blok üretmesinin önüne geçer. PoW konsensus mekanizmasıdır derseniz sizi ayıplayacak değiliz. 🙂 Ben PoW için fork-choice rule’dur diyorum. (Yani çatallardan hangisinin doğru olduğuna karar veren kural) Yazının ileri kısımlarında neden böyle dediğimi daha da açacağım.
Madenciliğin iki temel gideri var. CPU donanım gücü ve elektrik masrafı. İşte bu iki masrafı karşılayabilmek için dürüst olan madenciler yukarıda bahsettiğim TC kimlik numaralarını doğru eşleştirip blokzincire eklediği her bloktan blok ödülü alıyor ve blok gövdesi içindeki transferlerin ücretlerini de cebine atıyor.
Kısacası PoW’te madenciler, transferleri blokların içerisine ekliyor, bu blokları blokzincire takıyor ve bunun için CPU ve elektrik harcıyor ve bütün bu işlemler için Bitcoin ödülü alıyor.
PoW’u anladık. Diğer soru geliyor peki PoS nedir?

Tobbykitty abimize teşekkürler...

Sağlıklı mutlu ve huzurlu kalın...

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to mga

0 Comments

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