Merhaba THT ailesi. Sizlere geçen yazımda bahsettiğim Web3 nedir ? adlı seri yazımızın devamı olan bu yazımda BlockChain teknolojisinin ne olduğunu, Hashleri, blok yapısının nasıl oluştuğunu, madenciliği (mining), node ve konsensüs algoritmalarının ne olduğundan bahsedeceğim. Bu yazımdan önce Web3 nedir yazımı okumadıysanız okumanızı tavsiye ederim ancak okumazsanız da anlayabileceğiniz bir yazı olacaktır. Keyifli okumalar.
Öncelikle BlockChainin ne olduğuna daha ayrıntılı bir biçimde tekrar göz atalım. BlockChain, verilerin bloklar halinde zincir gibi birbirlerine bağlandığı, merkeziyetsiz ve şeffaf bir dijital kayıt sistemidir. Genellikle bu sistem kripto paraların altyapısında kullanılır. Her blok, belli başlı veri kümesini içerir. Sonrasında bu bloklar zincir şeklinde, önceki bloğa bağlanarak ilerler. Asıl mantık da budur, her verinin kümeler halinde blok oluşturması ve bu blokların geçmişe dönük birbirlerine bağlanarak bir zincir oluşturmaları. Bu oluşturulan veriler asla geriye dönük bir biçimde değiştirilemez. Bu sayede sistemde kaydedilen her şey güvenli ve izlenebilir hale gelir. BlockChainde oluşturulan blok kümelerinin içerisindeki veriler ise hash şeklinde saklanır. Peki hash nedir? Hash, bir veri özetini çıkaran matematiksel bir işlevdir ve bu oluşturulan hashlerin geriye dönük çözümlenmesi neredeyse imkansızdır. Hash algoritmalarıda, aynı veri her zaman aynı hash çıktısını verir ve bu veri kümesinde bir nokta dahil değişik olsa bu hash çıktısı değişir. BlockChainde kullanılan hash algortimaları değişiklik gösterir. BlockChainin temeli Bitcoin SHA-256 algoritmasını kullanırken Ethereum Keccak-256 kullanır. Bu şekilde değişken bir çok algoritmalar vardır. Bunlardan bazıları; Scrypt, RandomX, equihash veya Ethereum 2.0 ın kullandığı SHA-256 + BLS12-381 dir. Peki BlockChainde bir blok yapısı nasıl oluşur ?
Her bloğun kendinden önceki bloğa sıkı sıkıya bağlandığını söylemiştik. Peki bu işlemin nasıl olduğuna ve bir bloğun nasıl oluştuğuna bakalım. İlk önce bloğumuz kendisinden önceki bloğun hash değerini içerir. Bu sayede bloklar birbirlerine zincirleme bağlanır ve veri bütünlüğü sağlanır. Sonrasında blokta Timestamp (Zaman Damgası) dediğimiz bloğun oluşma zamanını belirten yapı oluşur. Bu, işlemlerin kronolojik sırasını takip etmek için kullanılır. Sonrasında Zorluk Hedefi (Difficulty target) oluşur. Bu, mining sürecinde geçerli bir hash değeri bulmak için gereken zorluk seviyesini belirler. Bu sayede ağın güvenliği sağlanır ve blok üretim hızı düzenlenir (anlamayanlar için bu ve sonraki kısıma nodeları açıklarken değineceğim). Sonrasında Nonce değeri atanır. Bu değer ise mining sırasında geçerli bir hash değeri elde etmek için kullanılan rastgele bir sayıdır. Madenciler, doğru none değerini bulmak için sürekli deneme yaparlar. Son olarak Merkle Kökü oluşur. Bloktaki tüm işlemlerin hashlerinin özetini temsil eden tek bir hash değeridir. Bu, işlemlerin hızlı ve güvenli bir şekilde doğrulanmasını sağlar. Böylece bir blok oluşmuş olur. Şimdi ise sizlere biraz önce bahsettiğim madencilik (mining) kavramını açmadan önce node'u açıklayayım. Node (düğüm), BlockChain ağına katılan her bilgisayardır. Ancak bunların bazıları sadece işlemleri onaylarken bazıları tüm zinciri tutar ve yeni blokları doğrular. Tüm kullanıcılar Node'dur ancak tüm node'lar doğrulayıcı veya madenci değildir. Peki nedir bu madenciler (mining) ve doğrulayıcılar (validator) ?
Madenciler PoW (Proof-of-Work) sistemlerinde yer alan, BlockChain ağındaki işlemleri doğrulamak ve bu işlemleri içeren yeni blokları zincire eklemek için yapılan kriptografik yarışma sürecinin yarışmacılarıdır. Bu süreç hem ağı güvence altına alır hem de yeni tokenlerin dolaşıma girmesini sağlar. Madencilik sırasında yoğun hesaplama gücü kullanılır ve başarılı olan madencilere ödül verilir. Peki şimdi Difficulty target ve nonce değerlerine geçelim. Madencilikte asıl görev, oluşturulan bloğun hash değerini, önceden belirlenmiş bir zorluk hedefinin (difficulty target) altında olacak şekilde bulmaktır. Bu sürece Proof-of-Work denir. Madenciler "nonce" değerini sürekli değişrtirerek yeni hashler hesaplar. her hash formatı şu şekilde olur:
hash = SHA-256(blok başlığı + nonce)
Bu işlem, milyarlarca kombinasyon denenerek gerçekleştirilir. Yeterince küçük bir hash değerini bulan madenci, bloğu başarıyla çözmüş olur. Bu ödül BTC ağından baz aldığımız için BTC şeklinde verilir. Madencilik, BlockChain mekanizmasının bel kemiğini oluşturan bir mekanizmadır. Peki doğrulayıcı (validator) nedir?
Doğrulayıcılar, PoS veya türevi konsensüs algoritmalarını kullanan BlockChain ağlarında, yeni blokların oluşturulmasından ve işlemlerin doğrulanmasından sorumlu özel katılımcılardır. Bu kişilerin ağa katkı sağlayabilmesi için belli bir miktarda token kilitlemeleri (Stake etmeleri) gerekir. Kısaca doğrulayıcılar stake edilmiş tokenlerla blok üretme ve işlem onaylama yetkisine sahip özel nodelardır. Bu kişiler; yeni blok oluşturur ve ağa sunar, diğer nodelardan gelen işlemleri kontrol eder ve Geçerli işlemleri bloğa dahil ederler. Doğrulayıcılar aynı Madenciler gibidir. Asla bir tane mutlak Validator olamaz. Ancak ne kadar çok tokeniniz kilitliyse ağ üzerindeki etkiniz o kadar artar. Özel nodelar tarafından oluşturulan veya doğrulanan bloklar tüm ağda paylaşılır. Diğer doğrulayıcılar da bu bloğu (eğer bir yanlışlık yoksa) doğrular. Bu sayede bir tokenin birden fazla kullanılmasını engellenir (yani cüzdanınızdaki 20 ethereumun 10 nunu bir NFT için harcadıysanız cüzdanınızda tekrardan 20 ETH niz olması yerine 10 ETH olmasını sağlarlar). Bu sistemde hile yapmaya çalışan doğrulayıcılar Slashing (stakelerini kaybederler) cezası alırlar. Bu da ağ güvenliğini arttırır.
Madenci olmak için çok güçlü, hızlı ve fazla bilgisayarlara sahip olmanız gerekir ancak herkes doğrulayıcı olabilir. Yeter ki ağ için yeteri kadar token satın alın.
Peki son olarak nedir bu Konsensüs algoritmaları ? BlockChain temel yapı taşlarından biri olan, ağdaki katılımcıların (nodeların) ortak bir doğruluk üzerinde anlaşabilmesini sağlayan algortimalardır. Merkezi otorite oluşturmadan dağıtık sistemlerde güven oluşturmak, konsensüs algoritmalarının varlığı sayesinde mümkün hale gelir. Şimdi bazı konsensüs algoritmalarını inceleyelim.
PoW (Proof-of-Work), en eski ve en bilinen konsensüs algortimasıdır. Bitcoin tarafından tanıtılmıştır. Ağdaki madenciler, bir problemi çözmek için yarışırlar. İlk çözen kişi yeni bloğu eklemeye hak kazanır.
PoS (Proof-of-Stake), madenciliği tamamen ortadan kaldırır. Blok üretme hakkı, ağı kullanan kişilerin ne kadar tokene sahip olduğuna bağlıdır (mesela Ethereum ağında ETH). Bazı PoS sistemlerinde doğrudan doğrulayıcı olamayan kullanıcılar, tokenlerini başka bir doğrulayıcıya delege edebilir. bu kullanıcılara "delegator" denir. Bu kişiler doğrulayıcılar kadar ödül almasa da kendi haklarını pasif bir biçimde alırlar. Kararlara dolaylı yoldan katılırlar.
DPoS (Delegated Proof-of-Stake), PoS algoritmasının daha demokratik versiyonudur. Kullanıcılar, kendi stakelerini oy kullanarak temsilcilere (delegelere) devreder. Bu delegeler, işlemleri doğrular ve blokları üretir.
Bu yazımızın sonuna geldik. Bir dahaki yazımızda Ethereuma giriş yapacağız. Umarım sizi bu konuda yeterince bilgilendirmiş ve anlaşılabilir olmuşumdur. İyi forumlar dilerim.
Türk, öğün, çalış, güven.
Öncelikle BlockChainin ne olduğuna daha ayrıntılı bir biçimde tekrar göz atalım. BlockChain, verilerin bloklar halinde zincir gibi birbirlerine bağlandığı, merkeziyetsiz ve şeffaf bir dijital kayıt sistemidir. Genellikle bu sistem kripto paraların altyapısında kullanılır. Her blok, belli başlı veri kümesini içerir. Sonrasında bu bloklar zincir şeklinde, önceki bloğa bağlanarak ilerler. Asıl mantık da budur, her verinin kümeler halinde blok oluşturması ve bu blokların geçmişe dönük birbirlerine bağlanarak bir zincir oluşturmaları. Bu oluşturulan veriler asla geriye dönük bir biçimde değiştirilemez. Bu sayede sistemde kaydedilen her şey güvenli ve izlenebilir hale gelir. BlockChainde oluşturulan blok kümelerinin içerisindeki veriler ise hash şeklinde saklanır. Peki hash nedir? Hash, bir veri özetini çıkaran matematiksel bir işlevdir ve bu oluşturulan hashlerin geriye dönük çözümlenmesi neredeyse imkansızdır. Hash algoritmalarıda, aynı veri her zaman aynı hash çıktısını verir ve bu veri kümesinde bir nokta dahil değişik olsa bu hash çıktısı değişir. BlockChainde kullanılan hash algortimaları değişiklik gösterir. BlockChainin temeli Bitcoin SHA-256 algoritmasını kullanırken Ethereum Keccak-256 kullanır. Bu şekilde değişken bir çok algoritmalar vardır. Bunlardan bazıları; Scrypt, RandomX, equihash veya Ethereum 2.0 ın kullandığı SHA-256 + BLS12-381 dir. Peki BlockChainde bir blok yapısı nasıl oluşur ?
Her bloğun kendinden önceki bloğa sıkı sıkıya bağlandığını söylemiştik. Peki bu işlemin nasıl olduğuna ve bir bloğun nasıl oluştuğuna bakalım. İlk önce bloğumuz kendisinden önceki bloğun hash değerini içerir. Bu sayede bloklar birbirlerine zincirleme bağlanır ve veri bütünlüğü sağlanır. Sonrasında blokta Timestamp (Zaman Damgası) dediğimiz bloğun oluşma zamanını belirten yapı oluşur. Bu, işlemlerin kronolojik sırasını takip etmek için kullanılır. Sonrasında Zorluk Hedefi (Difficulty target) oluşur. Bu, mining sürecinde geçerli bir hash değeri bulmak için gereken zorluk seviyesini belirler. Bu sayede ağın güvenliği sağlanır ve blok üretim hızı düzenlenir (anlamayanlar için bu ve sonraki kısıma nodeları açıklarken değineceğim). Sonrasında Nonce değeri atanır. Bu değer ise mining sırasında geçerli bir hash değeri elde etmek için kullanılan rastgele bir sayıdır. Madenciler, doğru none değerini bulmak için sürekli deneme yaparlar. Son olarak Merkle Kökü oluşur. Bloktaki tüm işlemlerin hashlerinin özetini temsil eden tek bir hash değeridir. Bu, işlemlerin hızlı ve güvenli bir şekilde doğrulanmasını sağlar. Böylece bir blok oluşmuş olur. Şimdi ise sizlere biraz önce bahsettiğim madencilik (mining) kavramını açmadan önce node'u açıklayayım. Node (düğüm), BlockChain ağına katılan her bilgisayardır. Ancak bunların bazıları sadece işlemleri onaylarken bazıları tüm zinciri tutar ve yeni blokları doğrular. Tüm kullanıcılar Node'dur ancak tüm node'lar doğrulayıcı veya madenci değildir. Peki nedir bu madenciler (mining) ve doğrulayıcılar (validator) ?
Madenciler PoW (Proof-of-Work) sistemlerinde yer alan, BlockChain ağındaki işlemleri doğrulamak ve bu işlemleri içeren yeni blokları zincire eklemek için yapılan kriptografik yarışma sürecinin yarışmacılarıdır. Bu süreç hem ağı güvence altına alır hem de yeni tokenlerin dolaşıma girmesini sağlar. Madencilik sırasında yoğun hesaplama gücü kullanılır ve başarılı olan madencilere ödül verilir. Peki şimdi Difficulty target ve nonce değerlerine geçelim. Madencilikte asıl görev, oluşturulan bloğun hash değerini, önceden belirlenmiş bir zorluk hedefinin (difficulty target) altında olacak şekilde bulmaktır. Bu sürece Proof-of-Work denir. Madenciler "nonce" değerini sürekli değişrtirerek yeni hashler hesaplar. her hash formatı şu şekilde olur:
hash = SHA-256(blok başlığı + nonce)
Bu işlem, milyarlarca kombinasyon denenerek gerçekleştirilir. Yeterince küçük bir hash değerini bulan madenci, bloğu başarıyla çözmüş olur. Bu ödül BTC ağından baz aldığımız için BTC şeklinde verilir. Madencilik, BlockChain mekanizmasının bel kemiğini oluşturan bir mekanizmadır. Peki doğrulayıcı (validator) nedir?
Doğrulayıcılar, PoS veya türevi konsensüs algoritmalarını kullanan BlockChain ağlarında, yeni blokların oluşturulmasından ve işlemlerin doğrulanmasından sorumlu özel katılımcılardır. Bu kişilerin ağa katkı sağlayabilmesi için belli bir miktarda token kilitlemeleri (Stake etmeleri) gerekir. Kısaca doğrulayıcılar stake edilmiş tokenlerla blok üretme ve işlem onaylama yetkisine sahip özel nodelardır. Bu kişiler; yeni blok oluşturur ve ağa sunar, diğer nodelardan gelen işlemleri kontrol eder ve Geçerli işlemleri bloğa dahil ederler. Doğrulayıcılar aynı Madenciler gibidir. Asla bir tane mutlak Validator olamaz. Ancak ne kadar çok tokeniniz kilitliyse ağ üzerindeki etkiniz o kadar artar. Özel nodelar tarafından oluşturulan veya doğrulanan bloklar tüm ağda paylaşılır. Diğer doğrulayıcılar da bu bloğu (eğer bir yanlışlık yoksa) doğrular. Bu sayede bir tokenin birden fazla kullanılmasını engellenir (yani cüzdanınızdaki 20 ethereumun 10 nunu bir NFT için harcadıysanız cüzdanınızda tekrardan 20 ETH niz olması yerine 10 ETH olmasını sağlarlar). Bu sistemde hile yapmaya çalışan doğrulayıcılar Slashing (stakelerini kaybederler) cezası alırlar. Bu da ağ güvenliğini arttırır.
Madenci olmak için çok güçlü, hızlı ve fazla bilgisayarlara sahip olmanız gerekir ancak herkes doğrulayıcı olabilir. Yeter ki ağ için yeteri kadar token satın alın.
Peki son olarak nedir bu Konsensüs algoritmaları ? BlockChain temel yapı taşlarından biri olan, ağdaki katılımcıların (nodeların) ortak bir doğruluk üzerinde anlaşabilmesini sağlayan algortimalardır. Merkezi otorite oluşturmadan dağıtık sistemlerde güven oluşturmak, konsensüs algoritmalarının varlığı sayesinde mümkün hale gelir. Şimdi bazı konsensüs algoritmalarını inceleyelim.
PoW (Proof-of-Work), en eski ve en bilinen konsensüs algortimasıdır. Bitcoin tarafından tanıtılmıştır. Ağdaki madenciler, bir problemi çözmek için yarışırlar. İlk çözen kişi yeni bloğu eklemeye hak kazanır.
PoS (Proof-of-Stake), madenciliği tamamen ortadan kaldırır. Blok üretme hakkı, ağı kullanan kişilerin ne kadar tokene sahip olduğuna bağlıdır (mesela Ethereum ağında ETH). Bazı PoS sistemlerinde doğrudan doğrulayıcı olamayan kullanıcılar, tokenlerini başka bir doğrulayıcıya delege edebilir. bu kullanıcılara "delegator" denir. Bu kişiler doğrulayıcılar kadar ödül almasa da kendi haklarını pasif bir biçimde alırlar. Kararlara dolaylı yoldan katılırlar.
DPoS (Delegated Proof-of-Stake), PoS algoritmasının daha demokratik versiyonudur. Kullanıcılar, kendi stakelerini oy kullanarak temsilcilere (delegelere) devreder. Bu delegeler, işlemleri doğrular ve blokları üretir.
Bu yazımızın sonuna geldik. Bir dahaki yazımızda Ethereuma giriş yapacağız. Umarım sizi bu konuda yeterince bilgilendirmiş ve anlaşılabilir olmuşumdur. İyi forumlar dilerim.


