Blokzincirde akıllı sözleşme nedir?
Akıllı sözleşmeler esasen belirli kriterler karşılandığında çalışan ve bir blokzincirde tutulan programlardır.
Akıllı sözleşmeler genellikle bir anlaşmanın yürütülmesini otomatikleştirmek için kullanılır, böylece tüm taraflar aracılar olmadan veya zaman kaybetmeden karardan hemen emin olabilirler. Ayrıca, belirli koşullar yerine getirildiğinde başlayan bir iş akışını otomatikleştirebilirler.
Akıllı sözleşmelerin çalışması için basit "eğer/ne zaman...o zaman..." satırları bir blokzincirde koda yazılır. Önceden belirlenmiş koşullar yerine getirildiğinde ve onaylandığında, faaliyetler bir bilgisayar ağı tarafından gerçekleştirilir.
Bu faaliyetler arasında ödemelerin ilgili taraflara aktarılması, uyarıların gönderilmesi, bir aracın kaydedilmesi veya bir biletin düzenlenmesi yer alabilir. İşlem tamamlandığında blokzincir güncellenir. Bu, işlemin değiştirilemeyeceği ve sonuçların yalnızca erişim izni verilen kişiler tarafından görülebileceği anlamına gelir.
Ethereum (ETH), otomatik anlaşmaları yürütmek için en yaygın kullanılan akıllı sözleşme blokzinciridir. Ethereum'daki akıllı sözleşmeler genellikle Turing-tamamlamalı bir programlama dili olan Solidity'de yazılır ve daha sonra Ethereum Sanal Makinesi'nin çalıştırabileceği düşük seviyeli bayt koduna derlenir.
Polkadot, Ethereum'un kurucu ortaklarından Gavin Wood tarafından kurulan bir başka akıllı sözleşme ekosistemidir. ETH'nin güvenli ve ölçeklenebilir bir sistem olarak potansiyeline ulaşmaktan hala uzun bir yol olduğunu anladıktan sonra, blokzincir ağını başlatmayı seçti.
Alım satım, yatırım, borç verme ve borçlanma gibi finansal uygulamalar akıllı sözleşme kullanım durumlarına örnektir. Sağlık, oyun ve emlak dahil olmak üzere çeşitli sektörlerde ve tüm şirket yapılarını inşa etmek için kullanılabilirler.
DeFi akıllı sözleşmeleri için temel teşkil eden nedir?
Dağıtılmış defterler ve kripto para birimleri, merkeziyetsiz akıllı sözleşmeler için temel oluşturan iki teknolojidir.
İlk olarak, içerilen veriler, yani işlemler, dijital bir defter oluşturmak için güvenli bir şekilde saklanmalıdır. Bu, işlemlerin genel sıralamasının ve içeriğinin korunması gerektiği anlamına gelir. Bireysel işlemler blok zincirlerinde bloklar halinde bir araya getirilir ve bunlar daha sonra sıralı bir şekilde devam eder.
Bitcoin (BTC) gibi dijital platformlarda geliştirilen ve alım satımı yapılan sanal para, Avrupa Merkez Bankası tarafından "düzenlenmemiş, merkeziyetsiz, dijital kripto para birimi" olarak nitelendirilmektedir. 1990'larda, dijital bir para birimi oluşturmak için girişimler zaten vardı. Ancak bu girişimler, paranın sahiplik hesaplarını takip etmek için bir bankanın (defterin saklayıcısı) kullanılmasını gerektiriyordu.
Günümüzde blokzincirler, işlem günlüğü bütünlüğünü korurken bu defteri veya işlem günlüğünü eşler arası bir ağa yaymak için teknik bir çözüm sunmaktadır. Bu atılım sayesinde düzenlenmemiş kripto para pazarları artık mümkün.
Akıllı sözleşmelerin yaşam döngüsünde hangi aşamalar yer alır?
Bir akıllı sözleşmenin oluşturulması, akıllı sözleşmenin dondurulması, akıllı sözleşmenin yürütülmesi ve akıllı sözleşmenin sonuçlandırılması, bir akıllı sözleşmenin yaşam döngüsünün dört önemli adımıdır. Bu, blokzincir ürününüzle çözmek istediğiniz sorunu tanımlamakla başlayan ve minimum uygulanabilir bir ürünle sona eren blokzincir geliştirme yaşam döngüsünden farklıdır.
Oluştur
Yinelemeli sözleşme müzakeresi ve uygulama aşaması oluşturma aşamasını oluşturur. İlk olarak, taraflar sözleşmenin genel içeriği ve hedefleri üzerinde anlaşmalıdır. Bu, geleneksel sözleşme müzakerelerine benzer ve çevrimiçi ya da çevrimdışı yapılabilir. Altta yatan defter platformunda, tüm katılımcıların bir cüzdanı olmalıdır. Tanımlayıcısı çoğu durumda takma addır ve tarafları tanımlamak ve ödemeleri aktarmak için kullanılır.
Hedefler ve içerik üzerinde anlaşmaya varıldıktan sonra sözleşme koda dönüştürülmelidir. Temel akıllı sözleşme kodlama dilinin ifade gücü, sözleşmenin kodlanmasını sınırlar. Çoğu akıllı sözleşme sistemi, yürütme davranışlarını ve içeriklerini doğrulamak için akıllı sözleşmeler oluşturmak, sürdürmek ve test etmek için altyapı sağlar.
Geleneksel programlama dillerinde görüldüğü gibi gereksinimlerin koda dönüştürülmesi, paydaşlar ve programcılar arasında birden fazla yineleme gerektirmektedir. Akıllı sözleşmeler de farklı olmayacaktır ve müzakere ve uygulama aşamaları arasında birkaç yineleme olması muhtemeldir.
Yayınlama aşamasında, taraflar sözleşmenin kodlanmış şekli üzerinde anlaştıktan sonra, sözleşme dağıtık deftere yüklenir. Bu aşamada, dağıtılmış defterdeki düğümler sözleşmeyi bir işlem bloğunun parçası olarak alır. Çoğu düğüm bloğu onayladıktan sonra sözleşme uygulamaya hazır hale gelir. Merkeziyetsiz akıllı sözleşmeler blokzincir tarafından kabul edildikten sonra değiştirilemeyeceğinden, akıllı sözleşmede yapılacak herhangi bir değişiklik yeni bir sözleşmenin geliştirilmesini gerektirecektir.
Akıllı bir sözleşme blokzincire yerleştirilmiş olsa da, bu gerçek tek başına bir tarafın sözleşmeye girmeyi kabul ettiği şeklinde yorumlanmamalıdır, çünkü herkes blokzincire akıllı bir sözleşme gönderebilir ve bu da rastgele herhangi bir cüzdan sahibi için bir yükümlülük anlamına gelir. Benzer şekilde, merkezi olmayan akıllı sözleşmeler, faydaları önceden almayı seçmiş olsun ya da olmasın, herhangi bir blokzincir katılımcısına fayda sağlayabilir.
Dondurma
Blokzincire gönderilmesinin ardından akıllı sözleşme, katılımcı düğümlerin çoğunluğu tarafından onaylanır. Ekosistemin akıllı sözleşmelerle dolup taşmasını önlemek için bu hizmet karşılığında madencilere bir bedel ödenmelidir.
Sözleşme ve tarafları artık halka açıktır ve halka açık defter aracılığıyla erişilebilir durumdadır. Dondurma aşaması sırasında, akıllı sözleşmenin cüzdan adresine yapılan tüm transferler engellenir ve düğümler bir yönetim kurulu olarak çalışarak sözleşmenin yürütülmesi için ön koşulların karşılandığını doğrular.
Yürütmek
Katılımcı düğümler, dağıtılmış defterde depolanan sözleşmeleri okur. Peki, bir akıllı sözleşme nasıl yürütülür? Sözleşmenin bütünlüğü doğrulanır ve kod akıllı sözleşme ortamının çıkarım motoru (derleyici, yorumlayıcı) tarafından yürütülür. Akıllı sözleşmenin işlevleri, yürütme için girdiler akıllı oracle'lardan ve ilgili taraflardan alındığında (madeni paralar aracılığıyla mal taahhüdü) yerine getirilir.
Akıllı sözleşmenin yürütülmesi, akıllı sözleşme için yeni bir işlem kümesi ve yeni bir durum oluşturur. Bulgular kümesi ve yeni durum bilgileri dağıtılmış deftere girilir ve mutabakat mekanizması kullanılarak doğrulanır.
Sonuçlandırmak
Ortaya çıkan işlemler ve güncellenmiş durum bilgileri dağıtılmış deftere konur ve akıllı sözleşme gerçekleştirildikten sonra mutabakat süreci kullanılarak onaylanır. Önceden taahhüt edilen dijital varlıklar transfer edilir (varlıklar çözülür) ve tüm işlemleri onaylamak için sözleşme tamamlanır.
Akıllı sözleşmenin yaşam döngüsünün artıları ve eksileri nelerdir?
Akıllı bir sözleşmenin yaşam döngüsünün her aşaması maliyetleri düşürmeyi, şeffaflığı artırmayı ve güven oluşturmayı vaat ediyor, ancak aynı zamanda yeni engeller, maliyetler ve yasal uyumsuzluklar da getiriyor.
Merkeziyetsiz akıllı sözleşmelerin oluşturulması, geleneksel madde müzakere aşaması ve kod uygulama aşaması olmak üzere iki aşamaya ayrıldığından, daha az avukat kullanarak tasarruf edilen ücretler, akıllı sözleşme programcılarının masraflarına karşı değerlendirilmelidir.
Merkeziyetsiz yürütme altyapısı ve katılımcı aktörler, sözleşme yürütme ve ödeme sonuçlandırma arasındaki kriptografik olarak güvenli bağlantı sayesinde sözleşme uygulayıcıları rolünü üstlenir. Bu yerleşik çatışma çözüm süreci, ilgili tüm taraflar için açıklığı ve adaleti geliştirir.
Öte yandan, akdedilen akıllı sözleşmelerin geri döndürülemez niteliği, tazminata ilişkin ek sorunlar ortaya çıkarmaktadır çünkü sonuçta ortaya çıkan işlemler topluluğu tanımı gereği değişmez ve geri alınamazdır.
Bir akıllı sözleşmenin hayatının çeşitli yönleri şu anda özel teknik bilgi gerektirse de (akıllı bir sözleşmenin programlanması gibi), maliyet tasarrufu vaadiyle desteklenen merkeziyetsiz akıllı sözleşmelerin beklenen yaygın benimsenmesi, şüphesiz mevcut giriş engellerini azaltacak ve kullanıcı dostu akıllı sözleşme oluşturma, test etme ve paylaşma ortamlarının geliştirilmesine yol açacaktır.
Bir akıllı sözleşme yok edilebilir mi?
Evet, akıllı sözleşmeler kendi kendini imha etme işlevi kullanılarak imha edilebilir.
Ethereum akıllı sözleşmeleri, blokzincir sistemindeki bir sözleşmeyi yok etmelerini sağlayan bir kendini imha işlevi sağlar. Ancak bu, geliştiriciler için iki ucu keskin bir kılıçtır. Bir yandan, kendi kendini imha etme işlevi, geliştiricilerin akıllı sözleşmeleri Ethereum'dan silmelerine ve saldırı gibi acil bir durumda Ether transfer etmelerine olanak tanır. Öte yandan, bu işlev geliştirmenin karmaşıklığına katkıda bulunabilir ve saldırganlar için bir saldırı kanalı sağlayabilir.
Güvenlik açıkları keşfedildiğinde ya da bir akıllı sözleşmenin işlevselliğinin yükseltilmesi gerektiğinde, geliştiriciler sözleşmeyi sonlandırır. Hataları çözdükten veya mevcut sürümü yükselttikten sonra sözleşmenin yeni bir sürümünü başlatacaklardır.
Saldırganlar 2016 yılında Merkeziyetsiz Otonom Organizasyon'un (DAO) bir akıllı sözleşmesinde Reentrancy adı verilen bir güvenlik açığı keşfetmiş ve DAO organizasyonu bu güvenlik açığı sonucunda 3,6 milyon Ether (Şubat 2020'de Ether başına 270 dolar) kaybetmiştir. Bu kötü şöhretli saldırı bazen DAO saldırısı olarak da anılmaktadır.
DAO saldırısı birkaç gün sürdü ve kuruluş o sırada sözleşmelerinin tehlikeye girdiğinin farkında değildi. Akıllı sözleşmelerin değişmezlik özelliği nedeniyle, saldırıyı durduramadılar veya Ether'i taşıyamadılar. Sözleşmenin kendi kendini imha etme işlevi varsa, DAO kuruluşu tüm Ether'i hızlı bir şekilde aktarabilir ve mali zararı önleyebilir.