Blockchain Algoritması (Kısa Notlar)

in #blockchain6 years ago (edited)

Türkçe'ye Blokzinciri olarak çevrilen Blockchain Algoritması, günümüzde özellikle dijital para olan Bitcoin ile birlikte sıklıkla duyulur oldu.  Blockchain hakkında bilgisi olan/olmayan herkesin konuştuğu bu dönemde bilgi kirliliğinin önüne geçebilmek adına, Tübitak tarafından kurulan Blokzinciri Araştırma Laboratuvarı'nın sitesinde derlenen yazıların kısmen özeti niteliğinde olan notlarımı paylaşmak istedim.

Blockchain;

• Dağıtılmış veritabanı olarak söylenebilir.

• Açık ya da özel olabilir.

Herkesin okuyabildiği, kullanabileceği veya değiştirebileceği açık kaynaklı yazılım üzerinde ise Açık Blockchain, kısıtlamalı ve kontrollü erişimi var ise Özel Blokchain olarak adlandırılır.

Satoşi Nakamoto tarafından 2008 yılında Bitcoin dijital parası önerildi.

• Bitcoin ilk başlarda sadece para olarak bilinirken daha sonraki dönemlerde arkasındaki Blockchain algoritmasına odaklanılmıştır. Çünkü; Bitcoin’i asıl önemli kılan şey dijital para olmasından daha ziyade arkasındaki Blockchain algoritmanın gücüydü. Algoritma yardımıyla para tek merkezde değil dağıtık merkezlerde tutulmaktadır. Bu sayede paranın güvenliği sağlanmaktaydı.

• Yukarıdaki şekilde merkezi olarak ifade edilen sistemlere en iyi örnek günümüzdeki bankalar verilebilir. Çünkü bankalarda her şey bir merkezde birleşir. Merkezi olan bu sistemlerde merkeze gelebilecek bir zarar bütün sistemi etkiler. Blockchain modeli ile çalışan bir sistemde ise bankalarda olduğu gibi tek merkezden yönetilmeyip merkezinin dağıtık olmasından dolayı daha güvenlidir. Eğer blockchain modelinin kullanıldığı bir sistemde herhangi bir sorun meydana gelirse diğer birimler bunu telafi eder ve veri bütünlüğü korunarak sistemin devamlılığı sağlanır.

• Bu algoritma sadece Bitcoin ve Ethereum’da kullanılmamaktadır. Birçok alanda verilerin güvenliğini sağlamak için kullanılmaktadır.

• Blockchain modeli blok zinciri oluşturan bloklar ve bu blokları oluşturan kayıtlar olmak üzere iki temel kavramdan meydana gelir.

Kayıtlar: İlgili blokzincir yapısının üzerine oluşturulduğu her türlü içerik bilgisidir. Bu bilgiler tasarıma göre para aktarımı, demirbaş girdisi, müşteri kayıtları gibi değerler olabilir. Dijital para birimleri için bu kayıtlar para transferinde bulunan kullanıcıların transfer bilgileridir. Eğer transfer istekleri arka arkaya gelirse yeni transfer istekleri sıraya konularak bir sonraki işlem sırasında kaydedilerek yerini alır.

Bloklar: Kayıtlar birleştirilip belirli aralıklar ile işlenerek blokların içine yazılır. Blokların içerisinde kaç tane kayıt bulunacağı ve kayıtların hangi işlemlerden sonra bir blok oluşturacağı gibi kurallar blokzincirinin algoritmasına mahsustur. Bir bloğun oluşturulmasında genellikle hash(özet) algoritmaları ve dijital imza kullanılır.

Hash algoritmaları: Farklı uzunluklardaki verilerin sabit bir uzunluğa dönüştürülmesini sağlayan ve aynı girdi ile her zaman aynı çıktıyı veren tek yönlü fonksiyonlardır. Eğer metinde herhangi bir değişiklik meydana gelirse hash bozulur. Bu sayede kolaylıkla veri bütünlüğünün denetimi sağlanabilir. Hash algoritmaları bu özelliklerinden dolayı bir müzik parçasının, kitabın, videonun kısacası dijital ortama konulmuş bütün ürünlerin kopyalanıp internet ortamında çoğaltılmasının önüne geçmek içinde kullanılmaktadır. Blokzincirindeki bloklarda ise herhangi bir bloğun özeti alınırken kendisinden bir önceki bloğun hash değeri girdi olarak eklenir. Böylece her blok kendisinden önceki bütün blokların bilgilerini kendi içerisinde barındırmış olduğu gibi kendisindeki bütün bilgileri de bir sonraki bloğa aktarmış olmaktadır. Bu model kendinden önce ve sonraki bloğu birleştirdiğinden dolayı blokzinciri diye adlandırılmıştır.

• Hash değerlerinin bütün bloklarda olmasından dolayı meydana gelecek herhangi bir değişiklik diğer bloklar tarafından fark edilecektir. Bu sayede veri bütünlüğünün bozulmasının önüne geçilmektedir.


Kaynaklar

1. http://blokzincir.bilgem.tubitak.gov.tr/ (Search: 25.11.2017)

Görsel Kaynaklar: 1

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 66856.70
ETH 3114.05
USDT 1.00
SBD 3.75