MESELE BTC
MESELÂ BTC

Akıllı Sözleşmeler

Copyright © Virpi Oinonen

Blockchain kavramı ilk başta Bitcoin benzeri kripto para (cryptocurreny) çözümlerinin alt yapısı olarak popülerlik kazanmıştır. Ancak zaman içerisinde temelindeki teknolojinin gerçek potansiyelinin daha iyi anlaşılması, bu platform üzerinde sunulabilecek daha farklı servis ve hizmet yaklaşımlarının ortaya çıkmasını tetiklemiştir. Bu yeni servis ve hizmetler kapsamında günümüzde en çok ilgi çekenlerden birisinin Akıllı Sözleşme (Smart Contract) kavramı olduğu kanısındayım ve bu yazıda bu konuya kısaca değinmek istiyorum.

Akıllı sözleşme kavramına daha yakından bakmadan önce “sözleşme” kavramını hızlı bir şekilde incelemenin doğru olacağını düşünüyorum. Sözleşme, bir hukuk terimi olarak “hukuksal bir sonuç doğurmak amacıyla, iki ya da daha çok kişinin ya da kuruluşun, karşılıklı ve birbirine uygun irade bildirişiyle gerçekleşen, koşullara uyulması yasa ile desteklenmiş işlem” olarak tanımlanmıştır. Ama biz bu yazı kapsamında akıllı sözleşmeleri basit bir şekilde “taraflar arasındaki yükümlülükleri tanımlayan anlaşma” şeklinde düşünebiliriz.


Akıllı sözleşme kavramı, Blockchain’den bağımsız olarak, ilk olarak 1994 yılında bir bilgisayar bilimcisi olan Nick Szabo tarafından çeşitli taraflar arasındaki etkileşimleri güvenli hale getirip uygun şekilde yürütülmesini sağlayan bilgisayar programlarını/sistemlerini tanımlamak amacı ile ortaya atılmıştır.

Bu yaklaşımı Blockchain bağlamında incelersek, “akıllı sözleşmeler

  • içinde mantıksal akışların önceden yazılmış olduğu (yani “eğer bu olursa şunu yap” tarzı akışların olduğu bir bilgisayar kod bloğu)

ufak programlardır” şeklinde bir tanımlama doğru olacaktır.

Copyright © Richard Gendal Brown

Akıllı sözleşmeler, ilişkili tarafların kapsam üzerinde anlaşmalarından sonra hazırlanıp, kriptografik olarak imzalanıp blockchain’e yüklenirler. Yüklenmiş sözleşmeler, blockchain üzerinde olan diğer bileşenlerle etkileşim kurabilirler (kendisi diğer bileşenlere yada diğer bileşenler sözleşmeye bilgi içeren mesajlar gönderebilir). Bu etkileşim bir işlemin (transaction) başlatılması olabileceği gibi bir bilginin gönderilmesi/teslim alınması şeklinde olabilir. Sözleşme hazırlanırken içerisinden belirlenmiş durumlar oluştuklarında (bu konuda bir mesaj alınması gibi), akıllı sözleşmeler otomatik olarak içerisinde tanımlanmış olan anlaşma koşullarının çalıştırılmasını sağlar.

Örneğin bir vadeli işlem ve opsiyon akıllı sözleşmesi, ilişkili hisse senedinin işlem fiyatının önceden belirlenmiş bir değere ulaşması durumunda ilgili taraflar arasında karşılıklı hisse transfer ve ödeme işlemlerini tetikleyebilir. Mesela bir sigorta akıllı sözleşmesi, hava durumu veri kaynağı ile ilişkiye geçerek yağmur oranının belirli bir seviyenin altına düşmesi durumunda taraf olan üreticiye ilgili sigorta ödemesinin gerçekleşmesini tetikleyebilir. Yada bir vadeli çek akıllı sözleşmesi, tahsil tarihi geldiğinde ilişkili tarafa ödeme yapılmasını, ödeme yapılacak hesapta yeterli bakiye olmaması durumunda kendisini oluşturan çek defteri akıllı sözleşmesinin dondurulmasını tetikleyebilir.


Bitcoin kapsamındaki blockchain yapısı, limitli yeteneklerinden dolayı, akıllı sözleşmeler tanımlarının yapılması kendi üzerinde tanımlanan üst platformlar aracılığı ile sağlayabilmektedir. Bu noktada Ethereum gibi “Blockchain v2" olarak adlandırılan daha güncel blockchain platformları özellikle sağladıkları yerleşik betik dil (scripting language) desteği ile akıllı sözleşmelerin başka üst platformlara ihtiyaç duyulmadan tanımlanmasına olanak sağlamaktadırlar. Ethereum platformu üzerinde yapılan akıllı sözleşme tanım sayılarına bakıldığında hızlı bir yükseliş olduğu görülebilmektedir.

Copyright © National University of Singapore

Örnek olarak Ethereum üzerinde basit bir alışveriş akışı için emanet yapısını içeren oldukça basitleştirilmiş bir akıllı sözleşme şu şekilde tanımlanabilir:

Ethereum üzerinde çok daha detaylı akıllı sözleşme senaryoların tanımlanması mümkündür, örneğin bu konuda artık klasik bir anlatım haline gelen şu bahis senaryosundan bahsedebiliriz: “Ahmet ve Mehmet önümüzdeki sene İstanbul'da hava sıcaklığının 35ºC aşmayacağına dair 100 xCoin üzerinden bir bahis düzenlemeye karar verirler. Ahmet güvenlik konusuna dikkat ettiği için ana hesabı 3 gizli anahtarın (private key) en az ikisinin onayı ile etkileşim kuran bir iletici kontrat (forwaring contract — hesaplara erişimi kontrol etmek için kullanılan, çeşitli direktif tanımlarının yapılabildiği ara bileşenler) kullanmaktadır. Mehmet ise kuantum bilgisayarları konusunda takıntılı olduğundan bu konularda güvenli olduğunu düşündüğü Lamport imza yapısı (SHA256) kullanan mesajlarla etkileşime geçen bir iletici kontrat kullanmaktadır”. Bu senaryoyu görselleştirmek istersek:

Copyright © Ethereum

Mehmet bu sözleşmeyi sonuçlandırmak istediğinde, şu adımlar gerçekleşir:

  1. Mehmet’in hesabından iletici kontratına bir mesaj gönderilir.
Copyright © Ethereum

Akıllı sözleşmeler, şu anda kullanımda olan geleneksel sözleşme yapılarına karşı çeşitli avantajlar sunmaktadır. Bunları özellikle göze çarpanlarını incelersek:

  • Akıllı sözleşmeler genel olarak manuel yürütülen süreçleri yazılım tabanlı olarak otomatize ettiklerinden dolayı iş akışlarına hız kazandırır.

Akıllı sözleşmeler konusunda genelde, yukarıda belirttiğim noktalar baz alınarak, oldukça pozitif değerlendirmeler yapılsa da hala emekleme aşamasında olan bir teknolojik yaklaşım olduğu ve çözmesi gereken temel sorunlarının olduğu unutulmamalıdır. Bunların bazılarına değinmek gerekirse:

  • Gecikme süresi: Şu andaki blockchain yapıları, işlemlerin doğrulanıp blok mantığında eklenmesi aşamasında yüksek gecikme sürelerine katlanmak zorundadırlar. Blockchain olmayan veri tabanı yapılarında bu işlemler milisaniye cinsinden ölçümlenirken örneğin Ethereum’da bu değer ortalama 15–17 saniye kadar sürmektedir.