• Sonuç bulunamadı

Hata Toleransı: Bir uzlaşı protokolü, uzlaşıya katılan bir düğümün

KRİPTO PARA Merkezi Otoriteye

III. Hata Toleransı: Bir uzlaşı protokolü, uzlaşıya katılan bir düğümün

başarısızlığından kurtulabiliyorsa hata toleransı sağlanmış olmaktadır.

1. 6. 3. 6. Çatallanma (Forking)

Blokzincir ağından gerçekleştirilecek işlemler bir mutabakat mekanizmasına bağlı olarak gerçekleştirilmektedir. Ancak bazı durumlarda üzerinde uzlaşıya varılmış bazı kurallarda değişiklikler veya yeni ve daha etkili olabileceği düşünülen bazı öneriler ileri sürülmektedir. Bu durumda yapılacak değişiklik önerilerinin sistem tarafından benimsenip benimsenmeme durumuna göre çatallanmalar meydana gelmektedir. Blokchain çatalları bu bağlamda soft forking (gönüllü çatallanma) ve

69

hard forking (Zorunlu- Mecburi Çatallanma) olmak üzere iki gruba ayrılmaktadır. Burada gönüllü çatallanma önceki bloklarla, geriye dönük olarak uyumlu olacak şekilde tasarlanmış evrimsel ve yinelemeli değişiklikleri temsil etmektedir. Gönüllü çatallanmanın başarısı, önerilen yeni kuralların çoğunluk tarafından benimsenmesine bağlanmaktadır (Berg ve Berg, 2017: 4-5). Gönüllü çatallanmanın 11,621 numaralı blokta uygulanmasına karar verildiği durum için gönüllü çatallanma örneği Şekil 24’de verilmiştir.

●●●

Kaynak: (Güven ve Şahinöz, 2018: 70). Şekil 24: Gönüllü Çatallanma

Şekil 24 blok boyunun 11,621 numaralı bloğa kadar 1 MB ile sınırlandırılırken bu bloktan sonra 2 MB’ı geçmeme kuralının kabul edildiğini göstermektedir. Şekilde gösterilen gönüllü çatallaşmanın yanı sıra blokzincirde aynı zamanda mecburi çatallanma olarak adlandırılan bir başka çatallanma türünün olduğu da çalışma kapsamında yukarıda belirtilmişti. Bu bağlamda mecburi çatallanma ise gönüllü çatallanmadan farklı olarak geriye dönük olarak uyumlu olmayan blokzincir uygulamasında yapılan değişiklikler olarak ifade edilmektedir. Burada yayınlanan tüm düğümlerin güncellenmiş protokole geçmeleri ve yeni şekillendirilmiş blokları reddetmemeleri için yeni protokole yükseltilmeleri gerekmektedir. Güncellenmemiş düğümler ise, güncellenmiş blokzincirde işlem yapmaya devam edememektedir. Çünkü blok spesifikasyonunun sürümlerini takip etmeyen herhangi bir bloğu reddetmeye programlanmışlardır. Bu şekilde güncellenmemiş kullanıcı blokları yeni biçimlendirilmiş blokları reddederek sadece eski şekildeki blokları kabul etmektedir. Bu durumda aynı anda var olan blokzincir ikiye ayrılacak fakat sonraki süreçte uzlaşı yine sağlanmış olacaktır (Yaga vd., 2018:30). Bu şekilde işleyen bir blok olan mecburi çatallanmanın örneği Şekil 25’te gösterilmiştir.

Blok 1 (1MB) Blok 2 (1MB) Blok 11622 (2MB) Blok 11621 (2MB) Blok 11620 (1MB) Genesis Blok

70 ●●●

Kaynak: (Güven ve Şahinöz, 2018: 70).

Şekil 25: Mecburi Çatallanma

Şekil 25’de 11.621 numaralı bloktan önceki bloklarda 1 MB blok boyutu geçerliyken bu bloktan sonra değişiklik önerilmiştir. Ancak bu değişikliği kabul eden madenciler 2 MB büyüklük kuralının her blok için aranacağını belirtirken bu yeni kural bundan önceki bloklar için geçerli olmayacaktır. Değişikliği kabul etmeyen madenciler için ise zaten bir değişiklik meydana gelmeyeceğinden dolayı aynı zincir üzerinden devam edilecektir.

1. 6. 4. Blockchain ve Akıllı Sözleşmeler

Akıllı sözleşmeler, kod ile yazılmış ve belirli bir blokzincire bağlı sözleşmelerdir. Bu kod içerisinde gerekli tüm şartlar yerine getirildikten sonra kendiliğinden otomatik olarak yürütülen tüm kural ve koşulların yanı sıra son kullanma tarihlerini ve gerçekleştirilmesi gereken tüm diğer bilgileri bulundurabilmektedir. Geleneksel ya da ilkel sözleşmelerin aksine akıllı sözleşmeler farklı bir programcı diline sahip olup önceden kurulmuş koşulları içermektedir. Bu şekilde önceden tanımlanmış şekillerde hareket etmekte ve bir koşulun gerçekleşmesi sonucunda ortaya çıkacak sonuç belirlenmekte aksi bir durum ortaya çıktığında ise gerçekleşecek alternatif bir sonuç otomatikleştirilmektedir. Yani belirli kalıplara sahiptirler ve bu kalıpların dışına çıkılamamaktadır. İlk olarak 1994 yılında Nick Szabo tarafından kavramlaştırılan akıllı sözleşmelerin ilk örneğini yiyecek ve içecek otomatı gibi dijital satış makineleri oluşturmaktadır. Burada bir öğe seçilmekte ve gerekli nakit miktarı da girildikten sonra ödeme kaydedilmekte böylelikle istenilen

Blok 1 (1MB) Blok 2 (1MB) Blok 11622 (1MB) Blok 11621 (1MB) Blok 11620 (1MB) Blok 11621 (2MB) Blok 11622 (2MB)

71

ürün alınabilmektedir. Buna yazar kasa mantığı da denilmektedir. Akıllı sözleşmelerin blokzincir kullanım alanlarının genişletilmesinde öneme sahip olması ise tüm tarafların gereksinimi için tamamen nicel olan gerçekleri ortaya koymasından kaynaklanmaktadır. Yani akıllı sözleşmelerde işlemin gerçekleştirilmesi sayısal verilere dayanmaktadır (Atabaş, 2018: 69-70).

(Konukseven ve Özen, 2018: 95) bu bağlamda, akıllı sözleşmelerin avantaj sağlayan karakteristik özelliklerini 5 maddede aşağıdaki gibi sıralamıştır:

Ø Ekonomiklerdir. Herhangi bir işlemde bu işlemin gerçekleştirilmesi için aracılar ve komisyoncular mevcuttur. Ancak akıllı sözleşmeler bu durumu ortadan kaldırarak komisyonculara verilecek paranın cepte kamasını sağlayacaklardır.

Ø Otonomlardır. Akıllı sözleşmeler önceden kodlanan şartların yerine getirilmesi durumunda çalışmaktadır. Aksi durumda işlem gerçekleştirilememektedir. Ø Güvenlilerdir. Akıllı sözleşmelerde kişilerin kimlikleri anonim yani gizli

kalabilmektedir. Mevcut bilgiler kriptoloji aracılığıyla gizlenerek korunmaktadır.

Ø Yedeklilerdir. Akıllı sözleşmeler üzerinden gerçekleştirilen tüm transferler ve işlemler yedeklenmektedir.

Ø İsabetlilerdir. Akıllı sözleşmeler hem insandan kaynaklı hataları önlemekte hem de sürecin gerçekleşme ve oluşma süreçlerini fazlasıyla hızlandırmaktadır.

Akıllı sözleşmelerin otomatik, güvenilir ve doğrulanabilir doğası gerçekte somut blokzincir kullanımlarını ortaya çıkarmıştır. Bu bağlamda akıllı sözleşmeler, belli iş süreçlerini ifade edebilirken daha karmaşık işlemleri yerine getirebilmek için blokzincirde birleştirilebilmektedir. Akıllı sözleşmelerin bir diğer örneği ise “dapp” olarak adlandırılan blokzincir uygulamalarıdır. Dapp’lar belli bir blokzincire bağlanmak için akıllı sözleşmeleri kullanmaktadırlar. Aynı zamanda kripto paralar içerisinden “Ethereum” akıllı sözleşmelerin en yaygın platformlarını oluşturmaktadır ((Atabaş, 2018: 72-73). Bunların yanı sıra akıllı sözleşmeler ve blokzincirin bugünlerde yapılmış ve denemenin ötesine geçebilmiş birçok uygulama alanları bulunmaktadır.

72

(Özcan, 2019: 7-8)’de bu uygulama alanlarını ayrıntılı bir şekilde açıklanmıştır. Bunlar aşağıda verilmiştir: