Blok Zincir Anatomisi

0xDogan.eth
4 min readJan 28, 2023

Blok zincir ölçeklemesi için birçok yazı ve eğitim serileri bulunuyor fakat hepsinde gözlemlediğim ortak bir sorun var: çoğu yazı ileri/orta seviyeden giriş yaparak anlatmaya başlıyor. Bu konuda herkesin anlayabileceği bir içerik çıkarmak amacıyla “modüler blok zincirleri anlamak” isimli bu yazı serisine başlıyorum.

Bu seri ile;

  • Blok zincirini oluşturan komponentleri,
  • Bu komponentlerin görevlerini,
  • Blok zincir ölçeklemesindeki “bazı” problemleri,
  • Blok zincirini ölçeklemenin “ne” demek olduğunu,
  • Ölçeklemek için geliştirilen bazı yaklaşımları,
  • Modülerlik kavramının bilgisayar biliminde ne anlama geldiğini,
  • Modüler blok zincirleri oluşturmak için gerekli yapıları,
  • Konsensusu nasıl ölçekleyeceğimizi,
  • Data Availability katmanını ölçekleyeceğimizi,
  • Execution’ı nasıl ölçekleyeceğimizi,
  • Modüler blok zincirlerde değer yaratma ve değer kazanma olgularını öğreneceğiz.

Daha detaylı yazılarım şu anda Lytera’da yayınlanmakta.

Bu yazı serisi;

  • Blok zinciri okuryazarlarını,
  • Geliştiricileri,
  • Bu konuda pazarlama yapmakta olan pazarlama uzmanlarını,
  • Ve elbette beni ilgilendirmekte. (En iyi öğrenme biçimim bir başkasına anlatmak)

Bu yazı serisini anlamak için 101 düzeyinde blok zincir bilgi birikimi fazlasıyla yeterli olacaktır diye tahmin ediyorum. O halde yazıya geçelim…

Bu yazı serisinin ilk bölümünde verdiğim bilgiler içinGavin Wood’un yazmış olduğu “Mastering Ethereum” kitabından yararlandım, blok zincir ve Ethereum konseptlerini anlamak için çok önemli bir kitap olduğunu düşünüyorum. Bu kitap ve EVM için Gavin Wood’a minnettarım.

Yazıdaki görseller için Canva, Photoshop CS6 ve Excelidraw aracını kullandım.

Modüler Blok Zincirleri Anlamak #1 (sağdaki ben)

Blok zincirler için en beğendiğim anolojilerden başlıcası “güven makinesi” benzetmesi kesinlikle. Bunu seviyorum çünkü Web3 adı altında blok zincirlerin data base olarak görülmesi yanılgısını değiştirebilecek kadar akılda kalıcı bir benzetme olduğunu düşünüyorum.

Peki bu güven makinesini oluşturan başlıca unsurlar neler, haydi gelin blok zinciri masaya yatıralım ve diseksiyonunu yapalım:

Blok Zincir Organları:

1.Blok Zincirin Kalbi: P2P Network (Ağ): Sanılanın aksine blok zincirleri sadece koddan oluşan semantik bir yapı değildir, blok zincirler içinde insanların yönettiği bilgisayarları barındıran bir yapıdır. Bu bilgisayarlar birbirinden bağımsız olduğundan birbirlerine bağlanmak için bir ağa (network) ihtiyaç duyarlar. P2P ağı blok zincirinin kalbi olarak nitelendirme sebebim de tam olarak bundan doğar; bu P2P network çoğunlukla bir gossip (ileri okumalar için linkteki yazıyı okuyabilirsiniz) protokolüne dayanan, bilgisayarları birbirine bağlayan, işlemler ve geçerli blokları yayan bir katman olduğundan adeta kalp gibi her bir parçayı birbirine bağlar ve iletişimini sağlar.

2.Blok Zincirinin Aksiyon Potansiyeli: Mesajlar (işlemler): Blok zincirlerini bir dünya olarak hayal edelim; bu dünyadaki (ağ) son durum için her ülkedeki bazı aktörler (Blok zincirde işlemi yapan kişiler) fikir belirtsin (örneğin Adalar Yunanistan’dan Türkiye’ye verilsin — işlemler), işte burada dünyanın son durumunu değiştirecek her fikir bir masa etrafında (Lozan’da toplanan diplomatlar — validatör, madenciler) tartışılır ve çıkan sonuç Dünya haritasını değiştirir. Dünya haritası bizim blok zincirdeki “durum”umuzu (State) ve bu durumu değiştiren her fikir bir mesajı (işlemler) temsil eder.

Dünya analojisinin oturması önemli çünkü ileride sıkça kullanacağım. Bir ara sesli de anlatmaya çalışabilirim.

Blok zincirlerindeki işlemleri insan vücudundaki aksiyon potansiyellerine benzetme sebebim ikisinin de o anki durum değişikliğini değiştirecek mesajı iletmesi.

Paralel evrende Lozan

3.Blok Zincirinin Beyni: Konsensus: Dünyamızda iki adet problem ortaya çıktı, Lozan’da neye göre karar vereceğiz ve bir fikri tartışılmaya değer kılan şey ne? İşte bunlara konsensus karar verir.

Blok zincirlerdeki işlemleri neyin oluşturduğunu ve bu durum değişikliğini geçerli kılacak kuralları konsensus koyar. Konsensus sanılanın aksine PoS ve PoW değildir , konsensus algoritmalarına birazdan değineceğim.

4.Blok Zincirinin Beyin Nöronları: Durum makinesi (State Machine): Bu gönderilen mesajların nasıl işlenecekleri ve bu işlem çıktılarının hangi durumlarda geçerli olacağı konsensus tarafından belirlenmişti. Bu mesajları işleyecek bir “işlemci”ye ihtiyaç duyuyoruz. İşte Durum Makinesi dediğimiz blok zincir parçası, konsensus tarafından konmuş kurallara bağlı kalarak mesajları işler ve “durum değişiklerini” (state transitions) yaratır.

5.Blok Zincirinin Vücudu: Zincir: Durum makinesi, konsensusun koyduğu kurallara göre durum değişiklikleri yaratır ve P2P ağ bunun yayılmasına katkı sunar demiştik. İşte bu durum değişiklikleri kriptografik olarak korunan bloklarda saklanır ve tüm durum değişikliği değişimleri bu bloklarda zincir şeklinde tutulur. Zincir kısaca durum değişiklerinin geçmişidir diyebiliriz.

6.Blok Zincirinin Beynindeki Kurallar: Konsensus “Algoritması”: Eğer katılımcılar konsensus kurallarına uyum sağlamak için “zorlanmazsa” istedikleri gibi hareket edeceklerdir. İşte burada iş birliğine zorlayan ve blok zincirindeki kontrolü merkeziyetsiz hale getiren şey “konsensus algoritması”dır. Konsensus algoritmalarına örnek olarak Nakomoto, Gasper, Avalanche ve Tendermint’i verebilirim. (ileri okumalar için link)

7.Blok Zincirindeki Dopamin: PoS veya PoW + Blok ödülleri + MEV ödülleri: Vücudumuz hayatta kalmak için yaşamak için programlanmıştır, beynimiz aldığı çoğu kararı hayatta kalmak için alır. Blok zincirler de hayatta kalmak için “oyun teorisi”ne göre kurgulanmış ödüllere mecburdur. Eğer ödül olmazsa kullanıcıların dürüst davranması için sebep olmayacaktır, kötü davranmanın ucunda ödül olması durumunda -oyun teorisine göre- katılımcılar kötü davranmayı tercih edebilir.

8.Blok Zincirindeki Duyu Organları: Clientler: Blok zincirine erişmek için açık kaynak kodlu bazı yazılımlara ihtiyaç duyarız. Bu yazılımlar kullanıcıların blok zincirinde validatör olabilmesi, Blok zincirle etkileşime geçebilmesi, blok zincirindeki blokları onaylayabilmesi için gereklidir.

Teku konsensus Client’inin başlıca geliştiricilerinden birinin Cem Özer olduğunu biliyor muydunuz? Öğrenmiş oldunuz :D

Genel olarak insan anatomisinden ve diplomasiden yola çıkarak sizlere blok zincirlerinin anatomisini çıkarmış oldum. Umuyorum ki okuması keyifli bir yazı olmuştur, eğer beğendiğseniz aşağıdan alkışa basarak ve beni sosyal medya hesaplarımdan takip ederek destek olabilirsiniz.

Twitter: https://twitter.com/DoganEth

Youtube: https://www.youtube.com/channel/UChwHE727lPPScXsa1s-sv8A

Sonraki yazıda görüşmek üzere!

--

--

0xDogan.eth

Blokzincir ve kripto paralar hakkındaki yazılarımı burada paylaşıyorum.