| Okuma Süresi: 4 Dakika

AKILLI SÖZLEŞMELERİN ÖZELLİKLERİ VE BLOKZİNCİRİ İLE İLİŞKİSİ

KAĞAN ATIŞ

Son yıllarda blokzinciri teknolojisinin hızlı gelişimi ve söz konusu teknolojinin herkes kesim tarafından benimsenmeye başlanması, küresel ticaret anlayışını etkilemiştir. Akıllı sözleşmeler günümüzde ekonomik ve sosyal hayatın çeşitli alanlarında yaygın olarak kullanılmaya başlanmıştır. Tarafların borç ilişkisini; kolaylaştırmak, doğrulamak ve otomatik olarak uygulanması için oluşturulan akıllı sözleşmeler, klasik sözleşmelere alternatif olmanın ötesine geçmiştir. Klasik sözleşmeler, tarafları belirli hüküm ve koşullara bağlayan sözlü veya yazılı olarak yapılan bir mutabakat metnidir. Akıllı sözleşmeler tarafları belirli hüküm ve koşullara bağlayan bir dijital protokol olmakla birlikte klasik sözleşmeden farklı olarak sözleşme yönetimini kendisi yapabilmektedir. Klasik sözleşmelere nazaran akıllı sözleşmeler; yönetim ve hizmet maliyetlerini düşürme, riski azaltma ve iş süreçlerinin verimliliğini artırma avantajlarına sahiptir. Akıllı sözleşmeler yasal bir sözleşmenin bütününü oluşturabilecekken aynı zamanda bir sözleşmenin bir kısmını otomatikleştirmek için de kullanılabilir. Akıllı sözleşmelerin ihtiyacı, kodlara derlenebilir ve uygulanabilir bir dizi özel kurallara sahip olmasıdır.

I. GİRİŞ

Detaylandırılmış bir biçimde akıllı sözleşme fikri, ilk olarak hukukçu ve şifreleme uzmanı Nick Szabo tarafından 1990’lı yıllarda ortaya atılmıştır. Szabo, akıllı sözleşmeleri “sözleşmenin şartlarını yerine getiren bilgisayarlı bir işlem protokolü” şeklinde tanımlamıştır.

Szabo akıllı sözleşmelerin çalışma prensibini, ilkel akıllı sözleşme olarak nitelendirebileceğimiz ürün otomatlarını kıyaslayarak açıklamıştır. Alıcı otomattan bir ürün istediğinde ücreti otomatın haznesine koyar ve gerekli numara kodunu makineye girer. Tanımlanan kodlamaya göre otomat, önce numarası çevrilen ürünün değerini ardından da yatırılan parayı kontrol eder. Eğer ürünün ücreti ve yatırılan para miktarı arasında tutarlılık varsa makine, ürünü alıcının alması için bölmeye bırakacaktır. Eğer alıcı, otomat tarafından belirlenmiş ücretten daha fazla bir ödeme yapacak olursa otomat para üstünü alıcıya iade edecektir. Sonuç olarak alıcı ile otomat arasında bir sözleşme ilişkisi kurulacaktır. Akıllı sözleşmenin en temel hali koşul-şart kipi taşıyan ifadeleriyle oluşturulmasıdır. Akıllı sözleşmeler, çoğu programlama dilinde ortak olan “if/then/else” ifadeleri, tarafların belirtmiş olduğu koşullara uyarlanır. Bu bakımdan otomatların ve akıllı sözleşmelerin de aynı prensibe sahip olduğu göreceğiz. Hem yukarıdaki otomat örneğinde hem de akıllı sözleşmelerde eğer/…-sa/ardından gibi koşul ifadeleriyle süreç ilerleyecek olup otomatın borcun ifasına kadar yönetmiş olduğu süreci akıllı sözleşmelerde de sürecin kontrolünü kendisi icra edecektir.

II. BLOKZİNCİRİ PLARTFORMLARI VE AKILLI SÖZLEŞMELER

Bir blokzinciri ağında akıllı sözleşme süreci, beş ana adımdan oluştuğu söylenebilir:

Teklif: İşlem süreci, taraflardan birinin teklifiyle başlar. Taraflardan biri, şartlarını “…sa-eğer-o zaman” ifadesi şeklinde yazıp taslak halindeki sözleşmeyi blokzincirine yerleştirir.

Müzakere: Şartlar, blokzincirindeki herhangi bir tarafça görülebilir, böylece iki taraf sözleşme şartları üzerinde müzakere edebilir.

Onay: İki taraf, şartlar ve tetikleyici vakıalar üzerinde anlaştıktan sonra sözleşme değişmez hale gelir ve hiçbir tarafça değiştirilemez.

Sağlayıcı Koşullar: Her bir taraf sözleşmeyi onayladıktan sonra blokun içine yerleştirilen akıllı sözleşme, koşulları ve tetikleyici işlemleri kendi kendine doğrulayabilir.

Tetikleyici İşlem: Borcun ifası gibi tetikleyici işlem gerçekleştiği zaman ifa karşılığında istenen eylem sözleşme tarafından kendiliğinden gerçekleşecektir.

Ethereum

Herhangi bir blokzinciri tabanında derlenebilecek herhangi bir dilde programlanabilmelerine rağmen akıllı sözleşmeyi oluşturmak için günümüzdeki en uygun platform Ethereum’dur. Ethereum, merkezi olmayan bir ortamda bilgi depolamak için modern bir blokzinciri tabanlı teknolojidir. Ethereum, sadece kripto varlık transfer işlemlerini değil genel amaçlı verilerin durum geçişlerini izleyerek alternatif ödeme yönteminin ötesine geçmeyi hedeflemektedir. Daha farklı bir ifade ile pratik programlanabilir olma özelliği ile belirli bir amaca sahip bir blokzinciri olmanın sınırlarını ortadan kaldırır ve geniş bir biçimde herhangi bir amaca yönelik uygulamaların kullanılmasına ve geliştirilmesine izin verir. Bitcoin’den farklı olarak, Ethereum iki tür kullanıcıyı destekler. Harici hesaplar (Externally Owned Accounts) “EOA” ve sözleşme hesapları. Her iki hesap türü de Ethereum adresleri ile tanımlanır.

EOA, Bitcoin’de olduğu gibi kapalı bir anahtar aracılığıyla yönetilen kullanıcı hesaplarıdır yani cüzdanlardır. Sözleşme hesaplarının kapalı anahtarı yoktur kısacası kullanıcılar tarafından yönetilmeyip Ethereum Sanal Makinesi (Ethereum Virtual Machine) “EVM”, Ethereum tabanlı akıllı sözleşmenin çalışma ortamının yürütülmesinden sorumludur. Ethereum blokzincirindeki her düğüm, sözleşmeleri düzgün bir şekilde yürütmek ve işlemleri işlemek için EVM’ye ihtiyaç duymaktadır.

Solidity, Ethereum Sanal Makinesi üzerinde akıllı sözleşmeleri geliştirmek için oluşturulmuş bir kod dilidir. Solidity, C++, Java ve Phyton gibi klasik yazılım dillerinden esinlenilmiştir. Pratik yazılım dili sayesinde Ethereum platformunda, akıllı sözleşmelerin ve merkezi olmayan uygulamaların geliştirilmesinin meşakkatsiz olduğunu söylemek mümkündür

Ethereum varlık birimi Ether (ETH) olarak bilinir. Ethereum üzerinde yapılan her işlem için yürütme ücreti gaz olarak bilinir. Gazın fiyatı Ether cinsinden ifade edilir ve madencilerin verileri kaydetme ve doğrulama işlemlerini ödüllendirmek için kullanılır.

III. BLOKZİNCİRİ TABANLI AKILLI SÖZLEŞMELERİN AVANTAJLARI

•   Hız

Elden belge işlemeye gerek olmaksızın akıllı sözleşmeler kod üzerinden çalışır. Sonuç olarak, işlemleri çok hızlı bir şekilde gerçekleştirebilirler. Bu hız, birçok geleneksel iş süreçlerine kıyasla zamandan tasarruf sağlayabilir.

•   Şeffaflık

Şeffaflığı sağlamak için, zincirdeki her işlem, ağdaki diğer tüm kullanıcıların görebileceği şekilde veri tabanlarına işlenir.

•   Güvenlik

Blok zinciri, kriptografik hashler ile bağlanmış ve dağıtılmış dijital bir defterdir. Defter, “eşler arası” bir ağda paylaşılıp ağdaki her düğümün kopyası tüm kullanıcıların bilgisayarında kopyalanır. Ağdaki düğümler, doğrulanabilen ve yeni bir blokta zincire eklenebilen işlemleri gönderir. Her blok, içeriğinin bir özetine ve bir önceki bloğun özetine sahiptir. Bu nedenle, en küçük değişiklik bile veri akışını bozacağından ötürü diğer kullanıcıların veri tabanlarından bulunan kayıtlar ile karşılaştırıldığı zaman bu noksanlık tespit edilecektir.

•   Değişmezlik

Blokzinciri ağına işlenen veriler değiştirilemeyecektir. Bu nedenle tarafça, sözleşmede belirlenen koşulların aksinin iddia edilmesi mümkün değildir.

•   Maliyet

Akıllı sözleşmelerin otomatik olarak tetiklenmesi yeteneği sayesinde üçüncü bir tarafa ödenen yönetim ve aracılık masrafları ortadan kalkacaktır.

IV. AKILLI SÖZLEŞMELERİN DEZAVANTAJLARI

•   Üçüncü tarafın kaldırılamaması:

Akıllı sözleşmelerin, teorik olarak üçüncü kişilerin sürece katılımını ortadan kaldırması mümkün olsa da bazen bu olgunun pratik anlamda gerçekleşmesi zorlaşabilir. Tarafların yazılım bilgileri yetersiz olabilir. Bu durumda üçüncü kişiler, klasik sözleşmelerde üstlendikleri rollerden farklı roller üstlenirler. Örneğin, klasik sözleşmelere nazaran akıllı sözleşmelerde, avukat gibi yasal danışmanlara gerek kalmayacaksa da tarafların akıllı sözleşmelerin tasarımı için uzman bir yazılımcıdan veyahut akıllı sözleşme oluşturma platformlarından yardım alması gerekebilir.

•  Açık Kaynak Kodu

Çoğu akıllı sözleşme kodu açık kaynak kodludur. Tam anlamıyla kusursuza yakın bir biçimde tasarlanmadığı takdirde hackerlar, sözleşmenin içerdiği kusurlardan faydalanabilir. En iyi bilinen saldırı örneği, 50 milyon dolardan civarı kayıpla sonuçlanan DAO’dur.

•  Esneklik

Akıllı sözleşmelerin esnekliği yoktur. Blokzinciri teknolojisi, verilerin değiştirilmesine izin vermeyecek şekilde inşa edilmiştir. Daha önce oluşturulan sözleşme değiştirilemez.

•  Yoruma Müsait Olmama

Mutabakat sağlanan kararlar, kodlara derlenirken net ve basit bir biçimde ifade edilmeli. Koşullar kesin anlam içermediği takdirde taraflardan birinin tetikleyici işlemi gerçekleştirse dahi sözleşme kendisinden beklenen eylemi icra edemeyecektir.

KAYNAKÇA

A. Bogner, M. Chanson, ,A. Meeuw, ‘A decentralised sharing app running a smart contract on the ethereum blockchain,’  (Proceedings of the 6th International Conference Internet Things) Stuttgart, 2016.

A. Jahanbin and M. S. Haghighi, “On the Possibility of Creating Smart Contracts on Bitcoin by MPC-based Approaches,” 2021 26th International Computer Conference, Computer Society of Iran (CSICC), 2021, pp. 1-7, doi: 10.1109/CSICC52343.2021.9420558.

Chen T, Li Z, Zhou H, Chen J, Luo X, Li X, Zhang X (2018) Towards saving money in using smart contracts. In: Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Result

E. Kafeza, S. J. Ali, I. Kafeza and H. AlKatheeri, “Legal smart contracts in Ethereum Block chain: Linking the dots,” 2020 IEEE 36th International Conference on Data Engineering Workshops (ICDEW), 2020, pp. 18-25, doi: 10.1109/ICDEW49219.2020.00-12.

K. Christidis , M. Devetsikiotis, ‘Blockchains and smart contracts for the internet of things’ (2016).

N. Szabo Smart Contracts. (1994).

S. E. Chang, Y.-C. Chen, , T.-C. Wu, ‘Exploring blockchain technology in international trade,” (Industrial Management & Data Systems), (2019).