En basit haliyle bir akıllı sözleşme deterministik bir program olarak hizmet görür. Belirli koşulların yerine getirilmesi durumunda
belirli bir görevi yerine getirir. Dolayısıyla da bir akıllı sözleşme sistemi genellikle "eğer…ise…" ifadelerini kullanır. Fakat popüler
terminolojinin aksine akıllı sözleşmeler ne yasal bir sözleşmedir ne de akıllıdır. Bunlar yalnızca dağıtık bir sistem (blockchain)
üzerinde çalışan kod parçalarıdır.
Ethereum ağı üzerinde akıllı sözleşmeler, kullanıcılar (adresler) arasında etkileşim kurulduğunda ortaya çıkan blockchain
işlemlerini yürütmek ve yönetmekten sorumludur. Akıllı sözleşme olmayan tüm adresler dış sahipli hesaplar (EOA) olarak
isimlendirilir. Dolayısıyla da akıllı sözleşmeler bilgisayar kodları tarafından, EOA'lar ise kullanıcılar tarafından yönetilir.
Ethereum akıllı sözleşmeleri temelde bir sözleşme kodu ve iki açık anahtardan oluşur. İlk açık anahtar, sözleşmenin yaratıcısı
tarafından sağlanır. Diğer anahtar ise sözleşmenin kendisini temsil eder ve her bir akıllı sözleşmenin özel dijital tanımlayıcısı
olarak hareket eder.
Akıllı sözleşmenin konuşlandırılması bir blockchain işlemi aracılığıyla yapılır ve sözleşme yalnızca bir EOA (ya da diğer akıllı
sözleşmeler) tarafından çağrıldığında etkinleştirilir. Fakat ilk tetikleyici her zaman bir EOA'dır (kullanıcı).
Önemli Özellikleri
Bir Ethereum akıllı sözleşmesi genellikle şu özelliklere sahiptir:
Dağıtık. Akıllı sözleşmeler, Ethereum ağının tüm düğümlerine dağıtılmış ve bu düğümlerde kopyalanmıştır. Merkezi sunuculara
dayalı olan diğer çözümlerden başlıca farklarından biri de budur.
Deterministik. Akıllı sözleşmeler uygun koşulların yerine getirilmesi durumunda yalnızca yapmak üzere tasarlandıkları işlemleri
gerçekleştirirler. Bunun yanı sıra, sözleşmeleri kimin uygulamaya koyduğundan bağımsız olarak sonuç her zaman aynı
olacaktır.
Otonom. Akıllı sözleşmeler, kendi kendini yürüten programlar gibi hizmet görerek her türlü görevi otomatik bir hale getirebilirler.
Fakat çoğu durumda, eğer bir akıllı sözleşme tetiklenmezse, beklemede kalacak ve harekete geçmeyecektir.
Değiştirilemez. Akıllı sözleşmeler kullanıma sunulduktan sonra değiştirilemez. Eğer bunun için özel bir işlev daha önceden
eklenmişse, yalnızca silinebilirler. Dolayısıyla, akıllı sözleşmelerin kurcalanmaya dirençli bir kod sundukları söylenebilir.
Özelleştirilebilir. Akıllı sözleşmeler, kullanıma sunulmadan önce farklı birçok şekilde kodlanabilir. Dolayısıyla, birçok türde
merkeziyetsiz uygulama (DApp) oluşturmak için kullanılabilirler. Bunun nedeni, Ethereum'un Turing bütünlüğüne sahip bir
blockchain olmasıdır.
Güvene dayalı olmayan. İki ya da daha fazla taraf birbirlerini tanımadan ya da birbirlerine güvenmek zorunda kalmadan akıllı
sözleşmeler aracılığıyla etkileşim kurabilir. Buna ek olarak, blockchain teknolojisi verilerin doğru olmasını sağlar.
Şeffaf. Akıllı sözleşmeler herkese açık bir blockchain üzerinde konuşlanmış olduğundan, sözleşmelerin kaynak kodları
değiştirilemez ve herkes tarafından görülebilir.
Bir akıllı sözleşmeyi değiştirebilir ya da silebilir miyim?
Kullanıma sunulan Ethereum akıllı sözleşmelerine sonradan yeni işlevler eklemek mümkün değildir. Fakat sözleşmenin
yaratıcısı koda KENDİNİ İMHA adında bir işlev eklediyse, gelecekte akıllı sözleşme "silinebilir" ve yerine yeni bir sözleşme
koyulabilir. Diğer yandan, bu işlev koda daha önceden eklenmediyse sözleşmenin silinmesi mümkün olmayacaktır.
Güncellenebilir akıllı sözleşmeler geliştiricilere sözleşmenin değiştirilemezliği konusunda daha fazla esneklik sağlar. Farklı
seviyelerde bir karmaşıklığa sahip güncellenebilir akıllı sözleşmeler yaratmanın birçok yolu vardır.
Basit bir örnek verirsek, bir akıllı sözleşmenin birçok küçük sözleşmeye bölündüğünü farz edelim. Bunlardan bazıları
değiştirilemez bir şekilde tasarlanırken, diğerlerinde ise silme işlevi etkinleştirilmiş olsun. Bu da kodun (akıllı sözleşmelerin) bir
kısmının silinip yenilenebilirken diğer işlevlerin değişmeden aynı kalacağı anlamına gelir.
Avantajları ve kullanım alanları
Programlanabilir bir kod olan akıllı sözleşmeler, büyük oranda kişiselleştirilebilir ve birçok farklı şekilde tasarlanarak farklı türde
hizmetler ve çözümler sunabilir.
Merkeziyetsiz ve kendi kendini yürüten programlar olan akıllı sözleşmeler yüksek seviyede şeffaflık sunabilir ve işletme
maliyetlerini düşürebilirler. Uygulamaya bağlı olarak verimliliği artırıp bürokratik masrafları da azaltabilirler.
Akıllı sözleşmeler iki ya da daha fazla taraf arasında fon takası ya da transferinin yapıldığı durumlarda özellikle kullanışlıdır.
Diğer bir deyişle, akıllı sözleşmeler farklı birçok kullanım alanı için tasarlanabilir. Bu kullanım alanlarına örnek olarak
tokenleştirilmiş varlıkların yaratılması, oylama sistemleri, kripto cüzdanları, merkeziyetsiz borsalar, oyunlar ve mobil uygulamalar
verilebilir. Sağlık, hayır işleri, tedarik zinciri, yönetişim ve merkeziyetsiz finans (DeFi) alanlarında diğer blockchain çözümleriyle
birlikte kullanılmaları da mümkündür.