Tanımı
1980’lerin sonunda ve 1990’ların başında fikir temelleri atılan blok zincirinin basite indirgenmiş bir tanımını yapmak gerekirse bir kez yayınlandıktan sonra değiştirme olanağı olmayan, merkeziyetçi bir yapıdan uzak olup kullanıcıların kayıtları oluşturduğu, yüksek güvenliğe sahip bir ileri teknoloji ürünüdür (Yaga, Mell, Roby, & Scarfone, 2018, s. 2-5).
Yapılan her bir işlemin kullanıcıların onayı ile gerçekleştiği bu sistemde, işlemler tamamlandığı zaman bir bilgi bloğu oluşur ve oluşan bu blok, kendisinden önce gelen bloğa eklenerek blok zincirini oluşturur.
Blok zincir hayatımızda köklü bir potansiyel değişime etki edebilecek kadar güçlü bir teknoloji ve bir o kadar da karmaşık gözüken yapı olarak tanımlanabilir.
Blok zincir her bir bloğunda çeşitli sayısal bilgilerin yer aldığı zincirler bütünüdür.
Daha genel bir açıklama ile blok zincirini tanımlamak gerekirse şunları söylemek mümkündür: Blok zincir herhangi bir merkezin onay ve kontrolünde olmayan ve ona ihtiyaç duyulmayan, dağınık bir ağda işlemlerin gerçekleştirilmesine olanak sağlayan teknolojidir. Blok zincirde merkez sistemlerden farklı olarak bilgiler dağınık olarak yer alır. Bu bilgiler aynı zamanda her blokta ayrı ayrı tutulur.
Temelleri
Kriptografi teknolojisi içeren blok zinciri teknolojisini 6 temel anahtar element ile tanımlamak mümkündür;
- Merkeziyetsiz: Herhangi bir tek elden yönetilen kuruma bağlı olmak zorunda değildir.
- Saydam (transparan): Sistemde kaydedilen her düğüm kullanıcılar tarafından görüntülenebilir.
- Açık kaynaklı: Kodları paylaşılan yazılımlar ve ağlarla birlikte kullanıcılar blok zincirini kullanarak kendi istedikleri sistemleri yaratabilirler.
- Özerk: Herhangi bir devlet ya da hükümete bağlı olmayan bu teknoloji kullanıcılara özgürlük sağlamaktadır.
- Değiştirilemez: Yapılan işlemlerde kayıt altına alınıp zincire eklenen bir blok sonradan değiştirilemediği için güvenli bir takip mekanizmasına sahiptir(Niranjanamurthy, Nithya, & Jagannatha, 2018, s. 1).
Blok ve Blok Zinciri
Blok zincirini daha iyi anlamak için öncelikle blok nedir nasıl oluşur ve blokların zincir haline geldiği blok zinciri uygulaması incelenmelidir;
Blok: Sistemde bilgi, veri veya varlık transferi yapan kullanıcılar vardır ve bu kullanıcıların her birinin kendilerine özel bir kimlik numarası (ID) vardır. A kullanıcısından B kullanıcısına aktarılmak istenen X bir varlık gönderildiği zaman A kullanıcısının kimlik numarasını, göndereceği kişinin kimlik numarasını, göndermek istediği X varlığını temsil eden veriler bir araya gelir ve bir bloğu oluşturur. Bu blok, kendisine özel bir ID oluşturmuş olur ve yayınlanmış olur (Crosby, Nachiappan, Pattanayak, Verma, & Kalyanaraman, 2016).
Hash Fonksiyonu: Blok zinciri teknolojisinin en önemli varlıklarından birisi olan hash fonksiyonunun amacı çok uzun olan verilerin kendilerine özel ID’ ler oluşturarak blokların, zincir içinde yer almasını sağlamaktır. Kaliteli bir hash fonksiyonunun sağlaması gereken bazı özellikler vardır;
- Değiştirilemez olması.
- Bir veri kümesine ait olan hash fonksiyonu, girdiler değiştiği zaman farklı sonuç, ID, vermek zorundadır. Yani bir veri kümesinin özetini temsil eden hash fonksiyonunda, veri girdi ve çıktıları değişirse bu fonksiyon yine aynı ID ye sahip olmamalıdır.
- Adreslenebilir olması.
- Veri kümesine ait olan bir hash fonksiyonu, hangi adres için yapıldığını belirtmeli ve bu adresler arasında anlamlı bir sonuç oluşturmalıdır (Yaga, Mell, Roby, & Scarfone, 2018, s. 7-12; Dattani & Sheth, 2019, s. 1-2).
Blok Zinciri: Basit anlatımla, blokların bir araya gelerek oluşturduğu bir zincirdir. Blok kısmında bahsedildiği üzere, her bloğun kendi içerisindeki bilgilere bağlı olan bir ID numarası vardır. Bunu parmak izi gibi düşünebiliriz. Kendine özel olan bu bloklar birbirlerine bağlanarak yeni bir ID oluşturur. Ayrıca bu sisteme zincir adının verilmesinin nedeni de bilgilerden oluşan blokların birbirlerine bağlanarak değişim yapılmasını imkânsız hale getirmesindendir. Bu değişimleri imkânsız kılan faktör ise yukarıda belirtildiği üzere hash fonksiyonudur (Crosby, Nachiappan, Pattanayak, Verma, & Kalyanaraman, 2016, s. 7-10).
Blok Zinciri Ağı
Blok zinciri ağını anlayabilmek için öncelikle ağ nedir ve nasıl kullanılır, merkeziyetçi sistem nedir sorularının cevaplanması gerekmektedir.
Kullanıcılar, cihazlardan oluşan bilgi ve veri paylaşımı ağı oluşturmaktadır. Ağların kullanımı için blok zinciri teknolojisinden önce merkez bir yapıya ihtiyaç duyuluyordu. Mesela A, B, C, D cihazları birbirlerine veri gönderebilmek için önce bir merkez olan X sunucusuna bu bilgiyi gönderir ve veri paketleri X sunucusundan gönderilmek istenen cihaza aktarılırdı. Blok zinciri teknolojisi ile bu merkeziyetçi ağ sistemi ortadan kalkarak, kullanıcı cihazlar direkt olarak birbirleri ile iletişim sağlayabilmekte ve veri paketleri gönderebilir hale gelmektedir (Crosby, Nachiappan, Pattanayak, Verma, & Kalyanaraman, 2016, s. 9-16).
Blok zinciri ağında, bilgi paketlerini içeren her bir bloğun, bir araya gelerek oluşturduğu zincirler kullanıcılar arasındaki ağı oluşturur. Yani temel olarak “Business to Business” (B2B) olarak bilinen ve işlemleri kontrol eden bir ağın varlığından ziyade, P2P olarak bilinen bir ağ kullanılarak kayıtların herhangi bir merkezi otoriteye ihtiyaç duyulmadan bilgi blokları zinciri halinde tutulduğu sisteme blok zinciri ağı denmektedir (Crosby, Nachiappan, Pattanayak, Verma, & Kalyanaraman, 2016, s. 9-16).