Immutability

Başlangıç Seviyesi

Immutability yani değişmezlik, bilgisayar terminolojisinde yaratıldıktan sonra durumu değiştirilemeyen bir nesneleri ifade etmek için kullanılır. 

Olgular veya işlem ayrıntıları gibi her bir bilgi bloğu, bir şifreleme ilkesi veya bir hash değeri kullanarak ilerler. Bu karma değer, her blok tarafından ayrı ayrı oluşturulan alfasayısal bir dizeden oluşur. Her blok sadece kendisi için değil, bir önceki blok için de bir hash veya dijital imza içerir. Bu, blokların geriye dönük olarak birbirine bağlanmasını ve gevşemeyen bir yapıda olmasını sağlar. Blok zinciri teknolojisinin bu işlevselliği, kimsenin sisteme izinsiz girememesini veya bloğa kaydedilen verileri değiştirememesini sağlar.

Blok zincirleri; verilerin kopyasını depolayan çeşitli nodelar arasında bir mutabakatın sağlandığı, doğası gereği merkezi olmayan ve dağıtılmış ağlardır. Bu mutabakat, verilerin orijinalliğinin korunmasını sağlar. Blockchainin sahip olduğu bu özellikler, genel veri denetleme sürecini yeniden tanımlama yetisine sahiptir ve onu daha verimli, uygun maliyetli hale getirmekle birlikte verilere daha fazla güven ve bütünlük sağlar.

Immutability, Bitcoin ve blockchain teknolojisinin temel özelliklerinden biridir. Değişmez işlemler, devlet ya da şirket gibi herhangi bir kuruluşun ağda depolanan verileri değiştirmesini veya tahrif etmesini imkansız kılar. Tüm geçmiş işlemler herhangi bir zamanda denetlenebildiğinden, değişmezlik yüksek derecede veri bütünlüğü sağlar.

Halka açık blok zincirlerinin değişmezliği, mevcut güven ve denetim sistemini geliştirebilir. Bilgilerin doğrulanması çok daha basit veya etkili bir şekilde gereksiz hale geldiğinden, denetimlerin zamanını ve maliyetini azaltabilir.

Değişmezliğin sunduğu iş süreçlerinin tam bir tarihsel kaydını tutma fırsatı, işletmelerin verimliliğini artırabilir. Doğrulanabilir ve paylaşılabilen bir veri sağladığından kullanımı, iş anlaşmazlıkları açısından da faydalıdır. 

Değişmezlik Nasıl Elde Edilir?

Yukarıda açıklandığı gibi, hash değeri her bir kod bloğunu ayrı ayrı korur. Yine de, ilginç olan nokta değişmezliği nasıl kurduğudur. Bu durumu anlamak için kriptografik hashlemeyi anlamak gerekir.

Kriptografik Hash Temelleri

Modern programlama dilleri birkaç "hash işlevi" ile donatıldığından, kriptografi oluşturmak kolaydır. Bunlarla, yalnızca bir bayt kümesine geçiş izni verilir ve hash işlevi bir sağlama toplamı imzası döndürür. Burada hiçbir hash işlevi eksikliği yoktur ancak SHA-256, blok zinciri alanında popülerdir. Bir örnekle daha iyi anlayalım.

Örneğin, Python kodunda bir kriptografik karma oluşturmak istiyorsunuz. Bunun için, sha256 işlevine erişim sağlayan standart Python kitaplığından hashlib paketini içe aktarmanız gerekir. Bu işlevler 64 karakterlik bir dize oluşturur. Girişin boyutundan bağımsız olarak, her zaman dijital imza olarak bilinen dizenin aynı sabit uzunluğunu alırsınız.

Bu dijital imza, girdiğiniz kesin verilere işaret eder. Bu hashin en önemli faydası, tersine mühendislik yapma olanağını ortadan kaldırmasıdır. Bu durum, girdi verilerini bulmak için çıktı dizesini kullanamayacağınız anlamına gelir. Sadece değişmezlikle sonuçlanır.

Bu sistemde, bir blockchain tarafından doğrulanan işlemler, bir hash işlemi ile güvence altına alınan, zaman damgalarıyla gömülü bilgi bloklarını içerir. Önceki bloğun hashini birbirine bağlar ve barındırır. Bu mekanizma, her bloğu birleştiren kronolojik zinciri geliştirir.

Hash, blok ve zincir arasında bir bağlantı kuran yeni bir hash oluştururken her zaman önceki bloğun meta verilerini içerir ve ardından "kırılmaz" hale gelir. Bundan sonra, blok zincirine yerleştirilen bloğun verilerini kimse silemez ve değiştiremez, çünkü biri bunu denerse bloğun hashi artık geçerli olmayacağından sonraki blok değişikliği reddeder.

Blockchain'in Değişmezliğinin Zorlukları

Immutability, Bitcoin ve blok zincirinin temel avantajlarından biri olsa da, blok zincirlerinde depolanan veriler güvenlik açıklarına karşı tamamen dirençli değildir. Hem çevrimdışı hem de canlı blok zinciri teknolojilerinde değişiklik yapmak son derece zordur. İnsanlar blok zincirini değişmez olarak adlandırdığında bu, verilerin değiştirilemeyeceği değil, gizli anlaşmalar olmadan değişiklik yapmanın zor olduğu anlamına gelir. 

Muhtemel zorluklar aşağıda sıralanmıştır. 

Yüzde 51 Saldırısı

Kötü niyetli bir saldırgan ağ hash oranının çoğunluğunu ele geçirirse (%51 saldırısı) normalde değişmez olan verileri değiştirebilir. Madenciler, yalnızca hash gücünün çoğunluğunu oluşturarak blok zinciri sisteminin değişmezliğinin sonunu getirebilirler. 

Böyle bir senaryoda, saldırgan yeni işlemlerin onay almasını engelleyebilir ve hatta işlemleri tamamen tersine çevirebilir. Saldırganlar öncelikle "değişmez" olması gereken işlem verilerini değiştirir. Bu şekilde, saldırganlar yüksek değerli işlemleri tersine çevirebilir, parayı ikinci kez harcayabilir ve kârı güvence altına alabilir. Ancak en azından Bitcoin için, bu miktardaki hash gücünün kontrolünü ele geçirmek oldukça pahalıdır ve önemli ölçüde donanım ve elektrik gerektirecektir.

Öte yandan, madencilik pazarlarındaki artış ve madencilik kapasitesinin kiralanabilir olması nedeniyle, insanların böyle bir saldırıyı gerçekleştirmesinde herhangi bir zorluk bulunmamaktadır. Daha düşük hash oranlarına sahip Proof of Work ağları bu tür bir saldırıya karşı savunmasızdır çünkü ağa saldırmak için gereken miktarda hash gücü toplamak o kadar da imkansız değildir.

Kuantum Hesaplama

Bu alandaki bir diğer büyük zorluk, blok zincirin değişmezlik özelliğini tehdit eden kuantum hesaplamadır. IBM'deki uzmanlar kuantum hesaplamanın, sistemi kırmak adına özel anahtarları bulabilen blok zinciri ağının genel anahtarını tersine mühendislik yapma yeteneğine sahip olduğunu iddia etmektedirler. Bu, blok zincirlerinin neredeyse yüzde 50'sini etkileyebilecek olan bir tehdittir.

Çözüm

Uzmanlar, "yüzde 51 saldırısının" daha güçlü bir protokol oluşturarak ve devredilen hisse ispatı veya sadece hisse ispatı algoritması gibi bir konsensüs algoritması kullanılarak üstesinden gelinebileceğini öne sürüyorlar.

Kuantum hesaplama tehdidi için birçok uygulama geliştiricisi, kuantum kriptografisinin blok zincirinin çekirdeğine entegrasyonunu önermiştir. Önümüzdeki yıllarda kuantum parçacıkları ile oluşturulan blok zinciri mimarisi, tüm geçmişi daha güvenli bir şekilde kayıt altına alabilecektir.