Blockchain Teknolojisini Güvenli Kılan Nedir?

Başlangıç Seviyesi
Blockchain Teknolojisini Güvenli Kılan Nedir?

Blok zincirler, birçok katılımcının bir araya gelip fikir birliğine (konsensüs) vardığı ve bunu kriptografi kullanarak şeffaf ve güvenli bir şekilde kayıt altına alınması şeklinde çalışırlar. Blok zincir teknolojisi birçok kripto para sisteminin alt yapısını oluşturur ve bu tip dijital paraların kopyalanmasını ya da yok edilmesini engellemektedir.

Bu makalemizde blok zincir teknolojisinde güvenliğin nasıl sağlandığından ve nasıl sürdürüldüğünden bahsedeceğiz.

Konsensüs ve Değişmezlik

Blok zincirlerde güvenlik ile ilişkili olan birçok özellik olsa da en önemli iki kavram konsensüs algoritması ve değişmezliktir. Konsensüs, dağıtılmış bir blok zincir ağı içindeki düğümlerin blok zincire eklenecek olan sıradaki blok hakkında aynı fikre sahip olması anlamına gelmektedir. Bu konsensüs üzerinde uzlaşılan karar konsensüs algoritması ile güvenli bir şekilde blok zincire eklenir. Genellikle, konsensüsüne varma süreci konsensüs algoritmalarına dayanır. 

Diğer yandan değişmezlik blok zincirlerin, hali hazırda onaylanmış olan işlemlerin değiştirilmesini engellemedeki becerisi olarak tanımlanmaktadır. Bu işlemler genellikle kripto para transferlerine ilişkin olsa da, dijital verinin parayla ilişkin olmayan diğer türlerinin kayıtlarına yönelik de olabilir. 

Konsensüs kavramı ve değişmezlik her ne kadar birbirini tamamlayan iki kavram olarak gözüksede, bir blok zincir üzerindeki değişmezlik, blok zincir katılımcılarının konsensüsüne yani fikir birliğine bağlıdır. Blok zincir katılımcıları bir önceki bloğun yanlış olduğunu söylediğinde ya da kötü niyetli bir eylem yapmak istediğinde teorik olarak daha önceden gerçekleşen bir işlem değiştirilebilmektedir. Ancak böyle bir durum için ağ katılımcılarının minimum yüzde 51’nin onayı yani fikir birliğine ihtiyaç vardır. Bu durumun kötü niyetli olarak kullanılması ise yüzde 51 atak olarak adlandırılır.

Ancak merkeziyetsiz bir blok zincir üzerinde bir önceki blogun içeriğini değiştirmek her ne kadar kolay gibi gözüksede Bitcoin (BTC), Ethereum (ETH) gibi büyük blok zincir projelerinde bu durum neredeyse imkansızdır. Büyük ve merkeziyetsiz blok zincirlerde ağ üzerinde ne kadar katılımcı yani düğüm olursa zincire işlenen verinin değişmesi o kadar zor olmaktadır.

Blok Zincir Güvenliğinde Kriptografi

Blok zincirler veri güvenliğini ve devamlılığını sağlamak için kriptografi biliminden faydalanmaktadır. Bitcoin başta olmak üzere bütün blok zincir projeleri temel de kriptografi ile zincirin güvenliğini sağlamaktadır. 

Hash Fonksiyonu

Bu bağlamda çok önemli olan kriptografik fonksiyonlardan biri hashing’dir. Hashing, hash fonksiyonu olarak bilinen bir algoritmanın bir veri girdisini alması ve karşılık olarak belirli-uzunlukta değer içeren belirli bir çıktı yaratmasıdır. Girdi olarak sunulan verinin büyüklüğünden bağımsız olarak çıktı hep aynı boyutta ve uzunluktadır. Hash fonksiyonu ile üretilen bir çıktıda girdi değişmediği sürece çıktı değişmemektedir ve bu hash fonksiyonu kaç kez çalıştırılsa çalıştırılsın aynı çıktı elde edilmektedir.

Blok zincirlerde ise hash fonksiyonu hem transferlerde hem de blokların zincire eklenmesinde kullanılan bir tekniktir. Blok zincir üzerinde bir transfer gerçekleştirdiğiniz zaman o transfere özel bir hash kodu üretilir ve zincir üzerinde o kod ile istediğiniz zaman transferinizi kontrol edebilirsiniz. bu hash kodu tamamiyle özel olup gerçekleşen her bir işlem için yeni ve daha önceden oluşturulmamış bir hash kodu üretilir. Bu hash kodu yardımıyla belirli transfer sonsuza kadar değişmeyecek bir şekilde blok zincire kaydedilir. 

Blok zincirler üzerinde hash kodu sadece transferler için değil blokların yaratılması ve sürdürülmesi içinde kullanılmaktadır. Blok zincir üzerinde belirli bir aralıkta gerçekleşen işlemleri bir araya toplayarak zincire ekleyen bloklar hashing ile şifrelenerek korunmaktadır. Blok zincire eklenen bloğun içerisine işlemler ve bir önceki bloğun hash kodu eklenerek yapılan bu şifreleme işlemi ile o blok zincire kayıt edilir.

SHA-256

Blok zincirler üzerinde kullanılan kriptografi tekniklerinden bir diğeride SHA-256’dır. SHA-256, hem kripto dünyasında hem de dünya çapında kullanılan popüler bir şifreleme ve  hash algoritmasıdır. Kripto para dünyasında Bitcoin (BTC) blok zincirinde kullanılan SHA-256 hash algoritması onlarca işlem bilgisini sadece 64 karakterlik özet bir koda dönüşmektedir.

Bitcoin blok zincirinde; kullanıcılar arasında belirli bir sürede gerçekleştirilen işlemleri içeren blok bilgisi, blok numarası, “nonce” değeri ve önceki bloka ait hash kodu bir araya getirilerek SHA-256 standardına uygun biçimde hash koduna dönüştürülür. Bu hash kodları her blok için ayrı ve eşsiz bir şekilde üretilmektedir. Böylece bloklar içerisindeki veriyi incelemek yerine bu eşsiz hash kodu ile bloğun kontrolünü sağlamak mümkündür. Bitcoin blok zincirindeki bloklar bir önceki bloğun verilerini yani hash kodunuda içerdiği için önceki bloklar içerisinde yapılan herhangi bir değişiklik hash kodu yardımıyla kolayca fark edilebilmektedir.

Blok zincirler, üzerinde kullanılan birçok kavram ve kriptografi teknolojisi ile oldukça güvenli bir yapıya sahiptir. Kripto paralarda oyun teorisini çalıştıran konsensüs ve değişmezlik gibi kavramların yanı sıra transferleri ve blokları eşsiz bir şekilde şifreleyip korumak için hash fonksiyonu ve SHA-256 gibi teknikler kullanılmaktadır. Bütün bu kavramları ve teknolojileri iyi bir şekilde kurgulayıp çalıştıran blok zincirler oldukça güvenli bir yapı ortaya koymaktadır.