giriiş

Nick Szabo akıllı sözleşmeleri ilk kez 1990'larda tanımladı. O zamanlar akıllı sözleşmeyi, protokolleri kullanıcı arayüzleriyle birleştirerek bilgisayar ağlarını resmileştiren ve güvence altına alan bir araç olarak tanımladı.

Szabo, kredi sistemleri, ödeme işlemleri ve içerik hakları yönetimi gibi sözleşmeye dayalı anlaşmaları içeren çeşitli alanlarda akıllı sözleşmelerin potansiyel kullanımını tartıştı.

Kripto para dünyasında akıllı sözleşmeyi blockchain üzerinde çalışan bir uygulama veya program olarak tanımlayabiliriz. Genellikle belirli bir dizi kural tarafından uygulanan dijital bir anlaşma olarak çalışırlar. Bu kurallar, tüm ağ düğümleri tarafından çoğaltılan ve yürütülen bilgisayar koduyla önceden tanımlanır.

Blockchain akıllı sözleşmeleri güvenilmez protokollerin oluşturulmasına olanak tanır. Bu, iki tarafın birbirini tanımasına veya güvenmesine gerek kalmadan blockchain yoluyla taahhütlerde bulunabileceği anlamına gelir. Koşullar yerine getirilmediği takdirde sözleşmenin yerine getirilmeyeceğinden emin olabilirler. Bunun dışında akıllı sözleşmelerin kullanılması aracılara olan ihtiyacı ortadan kaldırarak operasyonel maliyetleri önemli ölçüde azaltabilir.

Bitcoin protokolü uzun yıllardır akıllı sözleşmeleri desteklese de, Ethereum'un yaratıcısı ve kurucu ortağı Vitalik Buterin tarafından popüler hale getirildi. Bununla birlikte, her blok zincirinin akıllı sözleşmelerin uygulanmasında farklı bir yöntem sunabileceğini belirtmekte fayda var.

Bu makale, Ethereum blok zincirinin önemli bir parçası olan Ethereum Sanal Makinesi (EVM) üzerinde çalışan akıllı sözleşmelere odaklanacaktır.


Nasıl çalışıyorlar?

Basit bir ifadeyle akıllı sözleşme deterministik bir program olarak çalışır. Belirli koşullar karşılandığında ve karşılandığında belirli bir görevi yürütür. Bu nedenle akıllı sözleşme sistemi genellikle "eğer... o zaman..." ifadelerini takip eder. Ancak popüler terminolojiye rağmen akıllı sözleşmeler yasal sözleşmeler veya akıllı sözleşmeler değildir. Bunlar yalnızca dağıtılmış bir sistemde (blockchain) çalışan bir kod parçasıdır.

Ethereum ağında akıllı sözleşmeler, kullanıcılar (adresler) birbirleriyle etkileşime girdiğinde gerçekleşen blockchain işlemlerinin yürütülmesinden ve yönetilmesinden sorumludur. Akıllı sözleşme olmayan herhangi bir adrese harici sahipli hesap (EOA) adı verilir. Böylece akıllı sözleşmeler bilgisayar koduyla, EOA'lar ise kullanıcılar tarafından kontrol edilir.

Temel olarak, Ethereum akıllı sözleşmeleri bir sözleşme kodundan ve iki genel anahtardan oluşur. İlk genel anahtar, sözleşmenin yaratıcısı tarafından sağlanan anahtardır. Diğer anahtar ise sözleşmenin kendisini temsil eder ve her akıllı sözleşmeye özel bir dijital tanımlayıcı görevi görür.

Herhangi bir akıllı sözleşmenin dağıtımı bir blockchain işlemi yoluyla yapılır ve yalnızca bir EOA (veya diğer akıllı sözleşmeler) tarafından çağrıldığında etkinleştirilebilir. Ancak ilk tetikleyiciye her zaman bir EOA (kullanıcı) neden olur.


Ana Özellikler

Bir Ethereum akıllı sözleşmesi genellikle aşağıdaki özellikleri sunar:

Dağıtıldı. Akıllı sözleşmeler Ethereum ağının tüm düğümlerinde çoğaltılır ve dağıtılır. Bu, merkezi sunuculara dayanan diğer çözümlerden en büyük farklardan biridir.

Deterministik. Akıllı sözleşmeler, yalnızca gereksinimlerin karşılanması koşuluyla tasarlandıkları eylemleri gerçekleştirir. Ayrıca bunu kim yaparsa yapsın sonuç her zaman aynı olacaktır.

Özerk. Akıllı sözleşmeler, kendi kendini çalıştıran bir program gibi çalışarak her türlü görevi otomatikleştirebilir. Çoğu durumda, eğer bir akıllı sözleşme tetiklenmezse "hareketsiz" kalacak ve herhangi bir eylem gerçekleştirmeyecektir.

Değişmez. Akıllı sözleşmeler dağıtıldıktan sonra değiştirilemez. Yalnızca belirli bir işlev daha önce uygulanmışsa "silinebilir". Dolayısıyla akıllı sözleşmelerin kurcalamaya dayanıklı kod sağlayabileceğini söyleyebiliriz.

Özelleştirilebilir. Akıllı sözleşmeler dağıtımdan önce birçok farklı şekilde kodlanabilir. Dolayısıyla birçok türde merkezi olmayan uygulama (DApp) oluşturmak için kullanılabilirler. Bu, Ethereum'un tam bir Turing blok zinciri olmasıyla ilgilidir.

Güvenilmez. İki veya daha fazla taraf, birbirini tanımadan veya güvenmeden akıllı sözleşmeler aracılığıyla etkileşime girebilir. Ayrıca blockchain teknolojisi verilerin doğruluğunu sağlar.

Şeffaf. Akıllı sözleşmeler halka açık bir blok zincirine dayandığından kaynak kodları yalnızca değişmez değil aynı zamanda herkes tarafından görülebilir.


Akıllı sözleşmeyi değiştirebilir veya silebilir miyim?

Dağıtıldıktan sonra Ethereum akıllı sözleşmesine yeni işlevler eklemek imkansızdır. Bununla birlikte, yaratıcısı koda SELFDESTRUCT adı verilen bir işlev eklerse gelecekte akıllı sözleşmeyi "silebilir" ve yenisiyle değiştirebilir. Ancak bunun tersine, işlev önceden koda dahil edilmemişse onu silemezler.

Özellikle yükseltilebilir akıllı sözleşmeler, geliştiricilerin sözleşmelerin değişmezliği konusunda daha fazla esnekliğe sahip olmasına olanak tanıyor. Yükseltilebilir akıllı sözleşmeler oluşturmanın, değişen karmaşıklık derecelerine sahip birçok yolu vardır.

Basitleştirilmiş bir örnek alarak, bir akıllı sözleşmenin birden fazla küçük sözleşmeye bölündüğünü hayal edelim. Bazıları değişmez olacak şekilde tasarlanmışken, diğerleri 'sil' işlevi etkinleştirilmiş durumda. Bu, kodun bir kısmının (akıllı sözleşmeler) silinip değiştirilebileceği, diğer işlevlerin ise bozulmadan kalabileceği anlamına gelir.


Avantajları ve kullanım durumları

Programlanabilir kod olarak akıllı sözleşmeler son derece özelleştirilebilir ve birçok farklı şekilde tasarlanarak birçok türde hizmet ve çözüm sunabilir.

Merkezi olmayan ve kendi kendini yürüten programlar olarak akıllı sözleşmeler, şeffaflığın artmasını ve operasyonel maliyetlerin azalmasını sağlayabilir. Uygulamaya bağlı olarak verimliliği artırabilir ve bürokratik giderleri azaltabilirler.

Akıllı sözleşmeler özellikle iki veya daha fazla taraf arasında fon transferi veya değişimini içeren durumlarda faydalıdır.

Başka bir deyişle akıllı sözleşmeler çok çeşitli kullanım durumları için tasarlanabilmektedir. Bazı örnekler arasında tokenleştirilmiş varlıkların oluşturulması, oylama sistemleri, kripto cüzdanlar, merkezi olmayan borsalar, oyunlar ve mobil uygulamalar yer alıyor. Ayrıca sağlık hizmetleri, hayır işleri, tedarik zinciri, yönetişim ve merkezi olmayan finans (DeFi) alanlarıyla ilgilenen diğer blockchain çözümleriyle birlikte de dağıtılabilirler.


ERC-20

Ethereum blok zincirinde yayınlanan tokenlar, ERC-20 olarak bilinen bir standardı takip eder. Standart, tüm Ethereum tabanlı tokenlerin temel işlevlerini açıklamaktadır. Bu nedenle, bu dijital varlıklara genellikle ERC-20 tokenleri adı verilir ve mevcut kripto para birimlerinin büyük bir bölümünü temsil ederler.

Birçok blockchain şirketi ve startup, dijital tokenlarını Ethereum ağında yayınlamak için akıllı sözleşmeler kullandı. İhraçtan sonra bu şirketlerin çoğunluğu ERC-20 tokenlerini İlk Para Teklifi (ICO) etkinlikleri aracılığıyla dağıttı. Çoğu durumda, akıllı sözleşmelerin kullanımı fon alışverişini ve token dağıtımını güvenilir ve verimli bir şekilde mümkün kıldı.


Sınırlamalar

Akıllı sözleşmeler insanlar tarafından yazılan bilgisayar kodlarından oluşur. Bu, kodun güvenlik açıklarına ve hatalara maruz kalması nedeniyle çok sayıda riski beraberinde getirir. İdeal olarak, özellikle hassas bilgiler veya büyük miktarlarda para söz konusu olduğunda deneyimli programcılar tarafından yazılmalı ve uygulanmalıdır.

Bunun dışında bazıları, merkezi sistemlerin akıllı sözleşmelerin sunduğu çözüm ve işlevlerin çoğunu sağlayabileceğini savunuyor. Temel fark, akıllı sözleşmelerin merkezi bir sunucu yerine dağıtılmış bir P2P ağı üzerinde çalışmasıdır. Ve bir blockchain sistemine dayandıkları için ya değişmezdirler ya da değiştirilmesi çok zordur.

Değişmez olmak bazı durumlarda harika olabilir, ancak diğerlerinde çok kötü olabilir. Örneğin, 2016 yılında "DAO" adı verilen Merkezi Olmayan Otonom Organizasyon (DAO) saldırıya uğradığında, akıllı sözleşme kodlarındaki kusurlar nedeniyle milyonlarca Ethereum (ETH) çalındı.

Akıllı sözleşmeleri değiştirilemez olduğundan geliştiriciler kodu düzeltemedi. Bu, sonunda ikinci bir Ethereum zincirinin doğmasına yol açan sert bir çatala yol açtı. Basitçe söylemek gerekirse, bir zincir hack'i "geri döndürdü" ve fonları hak sahiplerine iade etti (bu, mevcut Ethereum blok zincirinin bir parçasıdır). Diğer zincir ise blockchain üzerinde gerçekleşen şeylerin asla değiştirilmemesi gerektiğini belirterek hack'e müdahale etmemeye karar verdi (bu zincir artık Ethereum Classic olarak adlandırılıyor).

Sorunun Ethereum blok zincirinden kaynaklanmadığını belirtmek önemlidir. Bunun yerine hatalı bir akıllı sözleşme uygulamasından kaynaklandı.

Akıllı sözleşmelerin bir diğer sınırlaması da belirsiz hukuki statüleriyle ilgilidir. Yalnızca çoğu ülkede gri bir alanda olduğu için değil, aynı zamanda akıllı sözleşmelerin mevcut yasal çerçeveye uymaması nedeniyle de.

Örneğin, birçok sözleşme her iki tarafın da kimliğinin doğru şekilde belirlenmesini ve 18 yaşından büyük olmasını gerektirir. Blockchain teknolojisinin sağladığı takma ad, aracıların eksikliğiyle birleştiğinde bu gereklilikleri tehdit edebilir. Buna potansiyel çözümler mevcut olsa da akıllı sözleşmelerin yasal olarak uygulanabilirliği, özellikle de sınırsız, dağıtılmış ağlar söz konusu olduğunda gerçek bir zorluktur.


Eleştiri

Bazı blockchain meraklıları akıllı sözleşmeleri, yakında ticari ve bürokratik sistemlerimizin büyük bir kısmının yerini alacak ve otomatikleştirecek bir çözüm olarak görüyor. Bu olası bir gerçeklik olsa da muhtemelen norm haline gelmekten çok uzaktır.

Akıllı sözleşmeler kesinlikle ilginç bir teknoloji parçasıdır. Ancak dağıtılmış, deterministik, şeffaf ve bir bakıma değişmez olmaları bazı durumlarda onları daha az çekici hale getirebilir.

Temel olarak eleştiriler, akıllı sözleşmelerin gerçek dünyadaki birçok soruna uygun bir çözüm olmadığı gerçeğine dayanıyor. Aslında bazı kuruluşların geleneksel sunucu tabanlı alternatifleri kullanması daha iyidir.

Akıllı sözleşmelerle karşılaştırıldığında, merkezi sunucuların bakımı daha kolay ve daha ucuzdur ve hız ve ağlar arası iletişim (birlikte çalışabilirlik) açısından daha yüksek verimlilik sunma eğilimindedir.


Düşünceleri kapatmak

Akıllı sözleşmelerin kripto para dünyasında büyük bir etki yarattığına ve kesinlikle blockchain alanında devrim yarattığına şüphe yok. Son kullanıcılar akıllı sözleşmelerle doğrudan etkileşime girmese de bunların gelecekte finansal hizmetlerden tedarik zinciri yönetimine kadar geniş bir yelpazedeki uygulamalara güç vermesi muhtemeldir.

Akıllı sözleşmeler ve blockchain birlikte toplumumuzun neredeyse tüm alanlarını alt üst etme potansiyeline sahip. Ancak bu çığır açıcı teknolojilerin geniş çapta benimsenmenin önündeki birçok engeli aşıp aşmayacağını yalnızca zaman gösterecek.