Blockchain'de akıllı sözleşme nedir?
Akıllı sözleşmeler esasen belirli kriterler karşılandığında çalışan ve bir blockchain üzerinde 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 veya zaman kaybı olmadan karardan hemen emin olabilir. Ayrıca belirli koşullar karşılandığında başlayan bir iş akışını da otomatikleştirebilirler.
Akıllı sözleşmelerin çalışması için basit “eğer/ne zaman… o zaman…” satırları bir blok zincirinde kodla yazılır. Önceden belirlenen koşullar karşılanıp onaylandıktan sonra görevler bir bilgisayar ağı tarafından gerçekleştirilir.
Bu faaliyetler ödemelerin ilgili taraflara aktarılmasını, uyarı gönderilmesini, araç tescil ettirilmesini veya bilet düzenlenmesini içerebilir. İşlem tamamlandıktan sonra blockchain güncellenir. Bu, sürecin 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 sözleşme yürütme için en yaygın kullanılan akıllı sözleşme blok zinciridir. Ethereum'daki akıllı sözleşmeler genellikle Turing'in eksiksiz bir programlama dili olan Solidity'de yazılır ve ardından Ethereum sanal makinesinin yürütebileceği düşük seviyeli bayt kodu halinde 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 hâlâ uzak olduğunu fark ettikten sonra kendi blockchain ağını başlatmayı seçti.
Ticaret, yatırım, borç verme ve borç alma gibi finansal uygulamalar akıllı sözleşme kullanım durumlarına örnektir. Sağlık hizmetleri, oyun ve emlak dahil olmak üzere çeşitli sektörlerde ve tüm iş yapılarını oluşturmak için kullanılabilirler.
DeFi akıllı sözleşmelerinin temeli nedir?
Dağıtılmış defterler ve kripto para birimleri, merkezi olmayan akıllı sözleşmelerin temelini oluşturan iki teknolojidir.
Öncelikle, ilgili verilerin, yani işlemlerin, dijital bir defter oluşturmak için güvenli bir şekilde saklanması gerekir. Bu, işlemlerin genel düzeninin ve içeriğinin korunması gerektiği anlamına gelir. Bireysel işlemler blockchain üzerinde bloklar halinde gruplandırılır ve bunlar daha sonra sırayla devam ettirilir.
Bitcoin (BTC) gibi dijital platformlarda geliştirilen ve ticareti yapılan sanal para, Avrupa Merkez Bankası tarafından “düzenlenmeyen, merkezi olmayan dijital kripto para birimi” olarak tanımlanıyor. 1990'larda dijital para birimi yaratma girişimleri zaten vardı. Ancak bu girişimler, paranın sahibi olan hesapların takibi için bir bankanın (kayıt sorumlusu) kullanılmasını gerektiriyordu.
Günümüzde blok zincirler, işlem defterinin bütünlüğünü korurken bu defteri veya işlem defterini eşler arası bir ağ üzerinden dağıtmak için teknik bir çözüm sunmaktadır. Bu atılım sayesinde artık düzenlenmeyen kripto para piyasaları mümkün.
Akıllı sözleşmelerin yaşam döngüsünde hangi aşamalar yer alıyor?
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ı, akıllı sözleşmenin yaşam döngüsünün dört önemli adımıdır. Bu, blockchain ürününüzün çözmesini istediğiniz sorunu tanımlamakla başlayan ve minimum uygulanabilir ürünle biten blockchain geliştirme yaşam döngüsünden farklıdır.
Yaratmak
Tekrarlanan müzakere ve sözleşmenin uygulanması, oluşturma aşamasını oluşturur. Öncelikle tarafların sözleşmenin genel içeriği ve amaçları üzerinde anlaşması gerekir. Bu, geleneksel sözleşme görüşmelerine benzer ve çevrimiçi veya çevrimdışı yapılabilir. Aşağıdaki kayıt platformunda tüm katılımcıların bir cüzdana sahip olması gerekmektedir. Tanımlayıcısı çoğu durumda bir takma addır ve tarafları tanımlamak ve ödemeleri aktarmak için kullanılır.
Hedefler ve içerikler üzerinde anlaşmaya varıldıktan sonra sözleşmenin koda dönüştürülmesi gerekir. Temel akıllı sözleşme kodlama dilinin anlamlılığı, sözleşmenin kodlanmasını sınırlar. Çoğu akıllı sözleşme sistemi, davranış ve uygulama içerikleri için akıllı sözleşmelerin oluşturulması, sürdürülmesi ve test edilmesi için altyapı sağlar.
Geleneksel programlama dillerinde görüldüğü gibi gereksinimleri koda dönüştürmek, paydaşlar ve programcılar arasında birden fazla yineleme gerektirir. Akıllı sözleşmeler de farklı olmayacak ve müzakere ile uygulama aşamaları arasında muhtemelen birkaç yineleme olacaktır.
Yayınlama aşamasında taraflar sözleşmenin kodlanmış şekli üzerinde anlaştıktan sonra sözleşme dağıtılmış deftere yüklenir. Bu aşamada, dağıtılmış defter düğümleri sözleşmeyi bir işlem bloğunun parçası olarak alır. Düğümlerin çoğunluğu kilidi onayladığında sözleşme uygulamaya hazır hale gelir. Merkezi olmayan akıllı sözleşmeler, blockchain tarafından kabul edildikten sonra değiştirilemediğinden, akıllı sözleşmede yapılacak herhangi bir değişiklik, yeni bir sözleşmenin geliştirilmesini gerektirecektir.
Blok zincirine bir akıllı sözleşme yerleştirilse bile, bu gerçek tek başına bir tarafın sözleşmeye girmeyi kabul ettiği şeklinde yorumlanmamalıdır, çünkü herkes blok zincirine akıllı bir sözleşme sunabilir, bu da herhangi bir rastgele 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çip seçmemelerine bakılmaksızın herhangi bir blockchain katılımcısına fayda sağlayabilir.
Dondurma
Akıllı sözleşme, blok zincirine gönderildikten sonra katılan düğümlerin çoğunluğu tarafından doğrulanır. Ekosistemin akıllı sözleşmelerle dolmasını önlemek için madencilerin bu hizmet karşılığında bir ücret alması gerekiyor.
Sözleşme ve bölümleri artık kamuya açıktır ve kamu sicilinden erişilebilir. Dondurma aşamasında, akıllı sözleşmenin cüzdan adresine yapılan tüm transferler engellenir ve düğümler, sözleşmenin yürütülmesi için ön koşulların karşılandığını doğrulamak üzere bir yönetim kurulu olarak çalışır.
yürütmek
Katılımcı düğümler, dağıtılmış defterde saklanan sözleşmeleri okur. Peki 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şme işlevleri, akıllı oracle'lardan ve paydaşlardan (paralar yoluyla mal rehni) uygulamaya yönelik girdiler alındığında yerine getirilir.
Akıllı sözleşmeyi çalıştırmak, akıllı sözleşme için yeni bir işlem kümesi ve yeni bir durum yaratır. Sonuç kümesi ve yeni durum bilgileri dağıtılmış deftere eklenir ve fikir birliği mekanizması kullanılarak doğrulanır.
Sonuçlandırmak
Ortaya çıkan işlemler ve güncellenen durum bilgileri, dağıtılmış deftere eklenir ve akıllı sözleşme yürütüldükten sonra fikir birliği süreci kullanılarak onaylanır. Daha önce taahhüt edilen dijital varlıklar aktarılır (varlıklar çözümlenir) ve tüm işlemlerin onaylanması için sözleşme tamamlanır.
Akıllı sözleşme yaşam döngüsünün artıları ve eksileri nelerdir?
Akıllı sözleşme yaşam döngüsünün her aşaması maliyetleri azaltmayı, şeffaflığı artırmayı ve güven oluşturmayı vaat ediyor, ancak aynı zamanda yeni engeller, maliyetler ve mevzuat yanlışlıkları da getiriyor.
Merkezi olmayan 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 kullanılarak tasarruf edilen ücretlerin akıllı sözleşme programcılarının maliyetleriyle karşılaştırılması gerekir.
Merkezi olmayan yürütme altyapısı ve katılımcı aktörler, sözleşmenin yürütülmesi ile ödemenin yapılması arasındaki kriptografik olarak güvenli bağlantı sayesinde sözleşmeyi yürütenlerin rolünü üstlenir. Bu yerleşik çatışma çözümü süreci, ilgili tüm taraflar için açıklığı ve adaleti teşvik eder.
Öte yandan, yürütülen akıllı sözleşmelerin geri döndürülemez doğası, takasla ilgili ek sorunları da beraberinde getiriyor çünkü ortaya çıkan işlemler kümesi, tanım gereği, değiştirilemez ve geri döndürülemez.
Bir akıllı sözleşmenin ömrünün çeşitli yönleri şu anda uzmanlaşmış teknik bilgi gerektirse de (bir akıllı sözleşmenin programlanması gibi), maliyet tasarrufu vaadiyle desteklenen merkezi olmayan akıllı sözleşmelerin beklenen yaygın şekilde benimsenmesi, şüphesiz mevcut giriş engellerini azaltacak ve kullanımı kolay akıllı sözleşme oluşturma, test etme ve paylaşma ortamlarının geliştirilmesine öncülük eder.
Akıllı bir sözleşmeyi yok etmek mümkün mü?
Evet, akıllı sözleşmeler kendi kendini yok etme işlevi kullanılarak yok edilebilir.
Ethereum akıllı sözleşmeleri, blockchain sistemindeki bir sözleşmeyi yok etmelerine olanak tanıyan bir kendi kendini yok etme işlevi sağlar. Ancak bu, geliştiriciler için iki ucu keskin bir kılıçtır. Bir yandan, kendi kendini yok etme işlevi, geliştiricilerin akıllı sözleşmeleri Ethereum'dan silmelerine ve saldırı gibi acil bir durumda Ether'i aktarmalarına olanak tanıyor. Öte yandan bu özellik, geliştirme karmaşıklığını artırabilir ve saldırganlar için bir saldırı kanalı sağlayabilir.
Güvenlik açıkları keşfedildiğinde veya akıllı sözleşmenin işlevselliğinin güncellenmesi gerektiğinde geliştiriciler sözleşmeyi fesheder. Hataları düzelttikten veya mevcut sürümü güncelledikten sonra sözleşmenin yeni bir sürümünü yayınlayacaklar.
2016 yılında saldırganlar, Merkezi Olmayan Otonom Organizasyon (DAO) akıllı sözleşmesinde Reentrancy adı verilen bir güvenlik açığı keşfetti ve DAO kuruluşu, bu güvenlik açığı nedeniyle 3,6 milyon Ether (Şubat 2020'de Ether başına 270 ABD doları) kaybetti. Bu kötü şöhretli saldırıya bazen DAO saldırısı da denir.
DAO saldırısı birkaç gün sürdü ve o sırada kuruluş, sözleşmelerinin tehlikeye girdiğinden habersizdi. Akıllı sözleşmelerin değişmezliği nedeniyle saldırıyı durduramadılar veya Ether'i hareket ettiremediler. Sözleşmenin kendi kendini yok etme işlevi varsa, DAO varlığı tüm Ether'i hızlı bir şekilde aktarabilir ve mali kayıpları önleyebilir.