Solidity ve Akıllı Sözleşme Nedir?
Akıllı sözleşme sistemi, Ethereum ağının ana parçalarından biridir. Akıllı sözleşmeler en basit tanımıyla, Ethereum blok zincirinde çalışan programlardır. Ethereum blok zincirinde belirli bir adreste bulunan bir kod (işlevleri) ve veri (durumu) koleksiyonudur. Ether veya token aktarma ve alma gibi çeşitli görevleri yerine getirirler.
Akıllı sözleşmelerin nasıl bir araya getirildiğini merak ediyor olabilirsiniz. Herhangi bir bilgisayar programlama dili gibi, Ethereum sözleşmeleri de bir programlama dilinde yazılır. Kullanılan dil Solidity olarak bilinir. Akıllı sözleşmelerle uyumlu başka programlama dilleri de bulunuyor olsa da Solidity, günümüzde tercih edilen dildir. Bu içerikte Solidity’nin temellerini, bu dilin yararlı olup olmadığını ve akıllı sözleşmelerin bazı özelliklerini inceleyeceğiz.
SolIdIty Programlama Dili Nedir?
Günümüzde çoğu uzman programcı, birden fazla popüler güncel programlama dilini kullanmaktadır. Bunun birkaç örneği içinde C, C++, C#, Python, Java, Perl bulunmaktadır.
Solidity, bir veya daha fazla yaygın programlama diliyle birlikte programcılar için öğrenmesi kolay olacak şekilde tasarlanmış bir yazılım dilidir. Diğer dillerde bulunan çok sayıda programlama algısını kullanır. Örneğin, Solidity’de değişkenler, dizi işleme, sınıflar, işlevler, aritmetik işlemler vb. vardır. C gibi bir dilde, bir programcı “int main” ve “main” gibi bir işlev biçimi oluşturmakla yükümlüyken, Solidity benzer bir şekilde oluşturulan bir “sözleşme” ile çalışır. Solidity kodu, C++, C# veya JavaScript’e benzemektedir.
Solidity henüz oldukça yeni olduğu için sınırlı öğrenme kaynaklarına sahiptir. Normalde, yeni bir programlama dili öğrenmek istiyorsanız, konuyla ilgili mevcut birçok kitaptan birini satın alabilirsiniz. Örneğin, Java öğrenmek istiyorsanız, gerekli kendi kendine rehberli eğitimi sağlayabilecek düzinelerce veya yüzlerce kitap erişilebilir durumdadır. Solidity hala nispeten yeni olduğu için kaynak bulmak, diğer yazılım dillerine göre daha zordur.
Solidity, kodların nasıl çalıştığına dair oldukça fazla sayıda bilgilendirici belge sunar. Bununla birlikte, dile tamamen yeni olan ve daha öncesinde uzman bir programcı olmayan biri için, doğrudan alıntılara girmek başlarda zor olacaktır. İdeal olarak, dokümantasyon, bir kelimeyi aramak için sözlüğe başvurulacağı şekilde daha çok bir yönlendirme olarak kullanılmalıdır.
Geniş kapsamlı bir programlama geçmişiniz yoksa bile Solidity’yi öğrenmek için erişilebilir belgeleri potansiyel olarak kullanabilirsiniz. Solidity öğrenme sürecinize katkı sağlayacak etkili bir seçenek de Crypto Zombies olacaktır. Bu site, size kısa bir programlama görevi verildiği ve bunu doğrudan kontrol edildiği tarayıcıda tamamladığınız Codecademy ile neredeyse aynıdır. Crypto Zombies, bir zombi oyunu oluştururken size Solidity’yi nasıl adım adım programlayacağınızı öğreten etkileşimli bir kodlama ortamıdır. Sürekli değişen blockchain alanında bulunması zor olan Solidity’nin yeni sürümleriyle de güncel tutulur.
Akıllı Sözleşmeler nasıl ortaya çıkmıştır?
Blockchain ile ilgili en iyi şeylerden biri, izin verilen tüm taraflar arasında varlığını sürdüren dağıtılmamış bir sistem olduğu için arabuluculara ödemeye gerek olmaması, zamandan ve anlaşmazlıktan tasarruf ettirmesidir. Blok zincirlerinin yeni olmalarından kaynaklı hala bazı sorunları bulunuyor olsa da bunlar, geleneksel sistemlerden daha hızlı, daha az maliyetli ve daha güvenlidir. Bu yüzden bankalar ve hükümetler de Blockchain’e yönelmektedir.
1994 yılında bilim adamı ve kriptograf olan Nick Szabo, merkezi olmayan defterin, akıllı sözleşmeler için kullanılabileceğini kendi kendini yürüten sözleşmeler, blok zincir sözleşmeleri veya dijital sözleşmeler olarak adlandırılabileceğini öngördü. Bu düzenlemede, sözleşmeler bilgisayar koduna dönüştürülebilir, sistemde depolanabilir, simüle edilebilir ve blok zincirini çalıştıran bilgisayar ağı tarafından yönetilebilmektedir. Bu aynı zamanda para transferi, ürün veya hizmeti defterine almak gibi geri bildirimlerle de sonuçlanacaktır.
Akıllı Sözleşmeler Nedir?
Akıllı sözleşmeler, önceden belirlenmiş koşullar karşılandığında çalışan bir blok zincirinde depolanan programlardır. Genellikle bir anlaşmanın yürütülmesini otomatikleştirmek için kullanılırlar, böylece tüm katılımcılar herhangi bir aracının katılımı veya zaman kaybı olmaksızın sonuçtan hemen emin olabilir. Ayrıca, koşullar karşılandığında bir sonraki eylemi tetikleyerek bir iş akışını otomatikleştirebilirler.
Akıllı sözleşmeler, normal bir sözleşme gibi kurallar tanımlayabilir ve bunları kod aracılığıyla otomatik olarak uygulayabilir. Akıllı sözleşmeler varsayılan olarak silinemez ve onlarla olan etkileşimler geri alınamaz. Normalde, herhangi bir belgeyi almanın standart süreç akışı; bir avukata gitmek, gerekli ücreti ödemek ve belgeyi alana kadar beklemede kalmanız şeklinde olur. Akıllı sözleşmelerle, herhangi bir büyük kripto para birimini otomatik satış makinesine ve emanetinize, SSN’ninize veya açıklamanıza ne düşerse atabilirsiniz.
Akıllı sözleşmeler; finansal taklitten mülkiyet yasasına, ihlal sözleşmelerine, finansal
hizmetlere, kredi uygulamalarına ve yasal süreçlere kadar değişen her türlü koşul için
kullanabilmektedir.
AKILLI SÖZLEŞMELER NASIL GERÇEKLEŞİR?
Diyelim ki bizden bir mülk kiralıyorsunuz. Bunu, bitcoin ile ödeme yaparak blok zinciri aracılığıyla yapabilirsiniz. Mülkü satın aldıktan sonra size, ana sözleşmemizde yer alan bir makbuz ve belirli bir tarihe kadar geçerli dijital giriş anahtarı verilmelidir. Anahtar zamanında gelmezse, blok zinciri bir geri ödeme yapar. Anahtarı kiralama tarihinden önce gönderirsek, tarih geldiğinde fonksiyon onu bekleterek hem ücreti hem de anahtarı sırasıyla size ve bize bırakır. Size anahtarı verirsek, ödeme alacağımızdan eminiz demektir. Kesin bir miktar bitcoin gönderirseniz, anahtarı alırsınız. Süre dolduktan sonra belge otomatik olarak geçerliliğini kaybeder ve dikkate alınmaz. Kusursuz bir teslimat bekliyorsanız, sistem If-Then öncülünde çalışır ve yüzlerce kişi tarafından izlenir.
Akıllı Sözleşmelerin Faydaları
• Hız, Verimlilik ve Doğruluk
Bir koşul karşılandığında, sözleşme derhal yürütülür. Akıllı sözleşmeler dijital ve otomatik olduğundan, işlenmesi gereken hiçbir evrak işi yoktur ve genellikle belgelerin manuel olarak doldurulmasından kaynaklanan hataları uzlaştırmak için zaman harcanmaz.
• Güven ve Şeffaflık
İlgili üçüncü taraf olmadığından ve şifreli işlem kayıtları katılımcılar arasında paylaşıldığından, bilgilerin kişisel çıkar için değiştirilip değiştirilmediğini sorgulamaya gerek yoktur.
• Güvenlik
Blockchain işlem kayıtları şifrelenir, bu da onların hacklenmesini çok zorlaştırır. Ayrıca her kayıt, dağıtılmış bir defterdeki önceki ve sonraki kayıtlara bağlı olduğundan, bilgisayar korsanlarının tek bir kaydı değiştirmek için tüm zinciri değiştirmesi gerekir.
• Tasarruf
Akıllı sözleşmeler, aracıların işlemleri gerçekleştirme ihtiyacını ve buna bağlı olarak ilgili gecikmeleri ve ücretlerini ortadan kaldırır.
Akıllı Sözleşmelerin Kullanıldığı Örnek Durumlar
1. Seyahat Sigortası : Tatile gidiyorsanız ve akıllı bir sözleşme kullanarak uçuş sigortası yaptırdıysanız ve uçuşunuz iptal edildiyse, talebinizin ödenmesi gerekip gerekmediğini belirlemek için bu sözleşme yapılabilir. Uçuşunuz iptal edildiğinden ve bunun kanıtlanması kolay olduğundan, akıllı sözleşme muhtemelen talebinizi hemen ödeyecektir.
2. İpotekler : Akıllı sözleşmelerin gerçek dünyada nasıl kullanılabileceğinin bir başka örneği de ipoteklerin onaylanmasıdır. İpoteklerin onaylanması ortalama iki aya kadar sürmektedir. Akıllı sözleşmeler, ipotek talebinde bulunan kişinin ilgili tüm bilgilere sahip olması ve ipotek yazan bir akıllı sözleşmenin parametrelerini karşılaması durumunda bu süreyi birkaç güne indirebilmektedir.
İlgili Makaleler
PoS, PoW ve Bilmediğiniz 12 Diğer Blok Zinciri Protokolü
Fikir Birliği (Consensus) Nedir? Geniş anlamıyla ifade edecek olursak, fikir birliği, tarafları
ICO (İlk Dijital Para Arzı) Nedir?
İlk dijital para arzı veya kısaca ICO, yeni girişimlerin blok zincirinde para toplamasının bir
Token Yakmayı Açıklıyoruz
Token yakma, dijital varlıkların herhangi bir şekilde gerçek anlamda yok edilmesini gerektirmez.