Blockchain ya da Türkçe’deki adıyla Blok Zinciri Nedir?

Blockchain terimi Türkçe’ye blok zinciri olarak çevrilmiştir. Blockchainlerin ilk örneği Bitcoindir. Bitcoin sisteminin sahip olduğu teknik problemleri ortadan kaldırmak için araştırmacılar birçok blockchain algoritması geliştirdiler ve geliştirmekteler. Bundan dolayı faklı özelliklere sahip birçok blockchain vardır. Bu yazımda blockchainlerin genel özelliklerini anlatırken Bitcoin sistemini göz önünde bulundurdum.

Blockchainler distributed (distributed Türkçeye dağınık olarak çevrilmiş terim) veritabanlarıdır. Veritabanları verinin belirli kalıplara sadık kalınarak tutulduğu ve gerektiğinde veri üzerinde sorgulamaların ve güncellemelerin (silme, ekleme ve güncelleme gibi) yapıldığı sistemlerdir. Klasik veritabanlarından farklı olarak blockchainlerde veri güncelleme ve silme işlemi yapılmaz. Blockchainlerde veritabanına sadece yeni veri eklenebilir ve eski veri üzerinde okuma işleminde başka işlem yapılmasını izin verilmez.

Veritabanın distributed olması veritabanının birden fazla kopyasının başka bilgisayarlarda tutulması vasıtasıyla sağlanır. Distributed veritabanlarında herhangi bir bilgisayar bozulduğunda (elektrik kesilmesi, internet bağlantısı kopması vs) veri kaybı riski yoktur çünkü veritabanının birden fazla kopyası bulunduğu için veritabanı kullanıcıları çalışan başka bir kopyadan işlemlerini yapmaya devam edebilirler. Distributed veritabanının tutulduğu bilgisayarlar konsensüs algoritması kullanarak veritabanlarının aynı olmasını sağlarlar. Kabaca ifade etmek gerekirse, bilgisayarlar konsensüs algoritması kullanarak veritabanına uygulanacak bir sonraki işlem üzerinde karar verirler ve o işlemi veritabanına uygularlar bu sayede veritabanı kopyaları birbiriyle çelişen kayıtlar içermez. Distributed veritabanı sistemlerinin en önemli parçası konsensüs algoritmasıdır çünkü bu algoritma sayesinde veritabanının kopyaları eşitlenir.

Blockchain ismi blockchainlere verilerin bloklar halinde eklenmesinden ve son eklenen bloğun bir önceki eklenen bloğu işaret etmesinden dolayı verilmiştir. Her blok transaction denilen özel kayıtlar barındırmaktadır ve blokların sonradan değiştirilmesini engellemek için şifreleme teknolojilerinden yararlanılmıştır. Aşağıdaki şekil bir blockchainin yapısını göstermektedir.

Bir blockchainin yapısı.

Tıpkı Distributed veritabanında olduğu gibi bir blockchainin de en önemli parçası konsensüs algoritmasıdır. Konsensüs algoritmasının önemini anlayabilmek beraber bir düşünce deneyi yapalım:

Varsayalım ki Milli Futbol Takımımızın bir hazırlık karşılaşması var. Karşılaşma öncesi teknik direktör sahaya çıkıp seyircilerden bir sefere mahsus olmak üzere ilk 11’i seçmesini istiyecek ve maça seçilen 11 ile başlayacak. Soyunma odasında 100 oyuncunun hazır beklediğini düşünün. Stadyumda maçı izlemek isteyen 10.000 milli takım taraftarı olduğunu varsayalım. Maçtan 5 dakika önce teknik direktörün sahaya çıkıp seyircilerden ilk 11’i seçmesini istediği anı gözünüzün önüne getirin. Nasıl bir karmaşa olurdu?

Yukarıdaki durumda teknik direktörün işi çok zor olacaktır çünkü 10.000 farklı insandan 10.000 faklı fikir geleceğinden dolayı bunlardan birisini seçmek hemen hemen imkansız gibi. 10.000 insanın aynı anda konuşarak fikir beyan ettiğini hayal edin.

Peki bu işi kolaylaştırmanın yolu var mı? Evet var: Bitcoinin kullanmış olduğu çözüme benzer bir çözüm kullanarak teknik direktörün işini kolaylaştıracağız:

Yukarıda verdiğimiz durumla aynı durumda maçtan 5 dk önce teknik direktör seyircilerden ilk 11 belirlemesini istiyor. Bu sefer yukarıdakinden farklı olarak stadyumda bulunan ekranlarda bir bilmece gösteriliyor. Teknik direktör bilmeceyi tek seferde bilen kişinin ilk 11’ini oynatacağını söylüyor.

Bilmece yöntemini kullanarak anlık olarak fikir beyan eden kişi sayısını düşürebileceğiz. Bilmecenin zorluk derecesini ayarlayarak anlık olarak fikir beyan eden kişi sayısını kontrol edebiliriz. Zor bir bilmece seçersek isanların daha çok düşünmesi gerekecek ve az sayıda insan fikir beyan edebilecek. Çok kolay bir bilmece seçersek aynı anda yüzlerce insan onu çözeceği için anlık olarak fikir beyan eden kişi sayısı artacaktır. Bitcoinde blockchaine eklenecek bir sonraki bloga karar vermek için bir bilmece (crypto puzzle) kullanmakta. Kim bilmeceyi önce çözerse onun onun bloğu veritabanına eklenmekte.

Özetle, bir blockchain distributed veritabanıdır. Bu veritabanına veri bloklar içerisinde eklenmekte ve eklenen her blok bir önceki bloğa işaret etmektedir. Blockchaindeki veriyi silmek ya da güncellemek söz konusu değildir. Blockchainin kopyasını tutan bilgisayarlar özel bir konsensüs algoritması kullanarak eklenecek bir sonraki blok üzerinde karara varmaktadırlar.

Bu yazımda teknik detaylara girmeden blockchain nedir sorusunu cevaplamaya çalıştım. Bu konu teknik bir konu olduğu için teknik detaylarına ne kadar girilirse bu sorunun o kadar iyi cevaplanacağını düşünüyorum ve bu sebeple İlerleyen yazılarımda bu konuyla ilgili detaylara girmeyi planlıyorum. Blockchain nedir sorusunun birden fazla cevabı olduğunu da unutmadan belirmek istiyorum. Umarım anlaşılır bir yazı olmuştur ( Yazıyı sonlandırırken belki de kafanızı karıştırmışımdır 🙂 ).

Bu yazıyı meraklı okuyucular için bir kaç kaynak vererek bitirmek istiyorum:

Aşağıdaki videoya benim de severek izlediğim ve önceki bir yazımda bahsettiğim 3Blue1Brown youtube kanalından ulaşabilirsiniz. Bu video bütün detaylarıyla Bitcoin ve benzeri sistemlerin nasıl çalıştığını açıklamaktadır.

Bitcoinin gerçekten ne olduğunu anlamak isterseniz Bitcoinin yaratıcısının (Satoshi Nakamoto) yazmış olduğu makaleyi okumanız gerekmekte. Makaleye şu linkten ulaşabilirsiniz.

Yeni başlayanlar için wikipedia makalesi blockchainlerin genel özelliklerini anlamak için yeterli olacaktır diye düşünüyorum. Wikipedia makalesine şu linkten ulaşabilirsiniz.

Blockchain ya da Türkçe’deki adıyla Blok Zinciri Nedir?” için bir yorum

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s