HUKUK & DANIŞMANLIK
Akıllı Sözleşmelerin Özellikleri ve Blok Zinciri ile İlişkisi
Son yıllarda blok zinciri 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ı, kodlarla derlenebilir ve uygulanabilir bir dizi özel kurallara sahip olmasıdır.
Giriş
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.
Blok Zinciri Platformları ve Akıllı Sözleşmeler
Bir blok zinciri 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 blok zincirine yerleştirir.
- Müzakere: Şartlar, blok zincirindeki 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 blok zinciri 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 blok zinciri 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 blok zinciri 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 blok zincirindeki 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 ise “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.
Blokz inciri Tabanlı Akıllı Sözleşmelerin Avantajları Nelerdir?
- 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: Blok zinciri 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.
Akıllı Sözleşmelerin Dezavantajları Nelerdir?
- Üçü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. Blok zinciri teknolojisi, verilerin değiştirilmesine izin vermeyecek şekilde inşa edilmiştir. Daha önce oluşturulan bir 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 Blockchain: 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).
İlginizi Çekebilir: