Akıllı sözleşme nedir?
Akıllı sözleşme nedir? Kendi kendini yürüten blokzincir programlarının nasıl çalıştığını, neleri mümkün kıldığını, sınırlarını ve risklerini ve kullanmadan önce birini nasıl kontrol edeceğinizi öğrenin.
Akıllı sözleşme, bir blokzincirde saklanan ve önceden belirlenmiş koşullar sağlandığında otomatik olarak çalışan bir programdır. Bir banka, aracı kurum ya da başka bir aracının her adımı gerçekleştirip gerçekleştirmeyeceğine karar vermesine gerek kalmadan, koduna göre fon tutabilir ve taşıyabilir.
Akıllı sözleşmeler, kriptoda basit ödemelerin ötesindeki neredeyse her şeye güç verir: tokenler, merkeziyetsiz borsalar, borç verme protokolleri, NFT’ler ve DAO’lar. Neler yapıp neler yapamadıklarını anlamak, onları kullanmanın hem fırsatlarını hem de risklerini değerlendirmenize yardımcı olur.
Akıllı sözleşmeler nasıl çalışır?
Kodla uygulanan sözleşme fikri, 1990’larda bilgisayar bilimci Nick Szabo tarafından bir otomat makinesi benzetmesiyle anlatıldı: doğru bozuk paraları atın, bir ürün seçin ve makine bir satıcıya gerek kalmadan ürünü verir.
Bir blokzincirde süreç şöyle işler:
- 1Bir geliştirici kodu yazar; örneğin Ethereum için Solidity ile veya bazı diğer ağlar için Rust ile.
- 2Kod bir işlemle dağıtılır ve kendine ait bir adres alır.
- 3Kullanıcılar sözleşmeyi çağırır; bunu o adrese, çoğu zaman token ekleyerek işlem göndererek yaparlar.
- 4Her düğüm kodu çalıştırır ve sonuç üzerinde uzlaşır; böylece sonuç herkes için aynı olur.
- 5Sözleşmenin durumu güncellenir — bakiyeler, sahiplik kayıtları veya ayarlar zincir üzerinde değişir.
Her adım bir ağ ücreti gerektirir. Ethereum’da bu ücrete gas denir; nasıl çalıştığını görmek için Ethereum’da gas nedir yazımıza bakın.
Akıllı sözleşmeler ne için kullanılır?
| Kullanım | Sözleşmenin yaptığı | Örnek |
|---|---|---|
| Tokenler | Bakiyeleri ve transferleri takip eder | Bir ERC-20 token sözleşmesi |
| Merkeziyetsiz borsalar | Token havuzlarını tutar ve işlemleri bir formülle fiyatlar | Otomatik piyasa yapıcı (AMM) |
| Borç verme | Teminat kabul eder, kredi verir, riskli pozisyonları tasfiye eder | Bir DeFi para piyasası |
| NFT’ler | Benzersiz varlıkların sahipliğini kaydeder | Bir koleksiyonun NFT sözleşmesi |
| DAO’lar | Oyları sayar ve onaylanan önerileri yürütür | Zincir üstü bir yönetişim sözleşmesi |
| Multisig cüzdanlar | Fon taşımak için birden fazla onay ister | Bir projenin hazinesi |
Bu sözleşmelerin birçoğu birbirini çağırır; DeFi’nin bazen “para legoları” olarak tanımlanmasının nedeni budur. DeFi rehberimiz bu parçaların nasıl bir araya geldiğini gösteriyor.
Akıllı sözleşmeler ve geleneksel sözleşmeler
Akıllı sözleşmeleri çoğu insanın bildiği kâğıt anlaşmalarla karşılaştırmak faydalıdır.
| Geleneksel sözleşme | Akıllı sözleşme | |
|---|---|---|
| Yazıldığı dil | İnsan dili | Programlama kodu |
| Uygulayan | Mahkemeler, kurumlar, tarafların iyi niyeti | Kodu çalıştıran blokzincir ağı |
| Esneklik | Yeniden müzakere edilebilir veya yorumlanabilir | Yükseltilebilir şekilde tasarlanmadıkça tam olarak yazıldığı gibi çalışır |
| Şeffaflık | Genellikle gizli | Kod ve etkinlik çoğu zaman zincir üzerinde herkese açıktır |
| Anlaşmazlık çözümü | Hâkimler, hakemler, avukatlar | Kodun ötesinde anlaşmazlıkları çözecek yerleşik bir yol yoktur |
| Hız | Uzlaşma için günlerden aylara | Ağa bağlı olarak saniyelerden dakikalara |
Güçlü yanları hız, şeffaflık ve aracıların ortadan kalkmasıdır. Zayıf yanı ise katılıktır: kod adaleti veya bağlamı tartamaz. Geliştiricilerin öngörmediği beklenmedik bir şey olursa sözleşme sadece kurallarını izler — sonuç açıkça kimsenin istemediği bir şey olsa bile. Bu konuyu Testnet ve mainnet nedir? yazımızda daha ayrıntılı ele alıyoruz.
Akıllı sözleşmeleri kim yazar ve kontrol eder?
Herkes akıllı sözleşme dağıtabilir; herkese açık blokzincirlerde bir onay süreci yoktur. Bu açıklık hızlı inovasyonu mümkün kılar, ancak dolandırıcılık sözleşmelerinin de meşru olanlar kadar kolay dağıtılabileceği anlamına gelir. Dağıtımdan sonra kontrol, sözleşmenin nasıl yazıldığına bağlıdır: bazılarının hiç sahibi yoktur, bazıları tek bir cüzdan tarafından, bazıları ise bir multisig veya zaman gecikmeli bir DAO oylamasıyla kontrol edilir. Hangi modelin geçerli olduğunu bilmek, herhangi bir uygulamanın riskini değerlendirmenin önemli bir parçasıdır. İlgili okuma: Akıllı sözleşme istismarları.
Akıllı sözleşmelerin yapamadıkları
Akıllı sözleşmeler güçlüdür ama kapsamları dardır.
- Yalnızca zincir üstü verileri bilirler. Fiyatlar veya spor sonuçları gibi gerçek dünya bilgilerini kullanmak için dış verileri zincire taşıyan ve arızalanabilen ya da manipüle edilebilen oracle’lara güvenirler.
- Niyeti anlamazlar. Fonları yanlış fonksiyona gönderirseniz veya kötü niyetli bir onayı imzalarsanız, sözleşme kodun söylediğini yapar.
- Otomatik olarak hukuki sözleşme değildirler. Kodun çalışması ile hukuki uygulanabilirlik ayrı konulardır.
- Hataları geri alamazlar. Tamamlanmış bir işlem normalde tamamlanmış olarak kalır.
Akıllı sözleşme kullanmanın riskleri
Hatalar ve istismarlar
Kodu insanlar yazar ve hatalar olur. Saldırganlar açık arar ve tek bir işlemle fonları boşaltabilir. Denetimler yardımcı olur ama güvenliği garanti edemez — bkz. akıllı sözleşme denetim raporu nasıl değerlendirilir.
Yönetici anahtarları ve yükseltmeler
Birçok sözleşme yükseltilebilir veya alım satımı durdurabilen, ücretleri değiştirebilen ya da yeni token basabilen sahip fonksiyonlarına sahiptir. Bunlar acil bir durumda kullanıcıları koruyabilir, ancak kötüye kullanım veya çalınmış bir yönetici anahtarı olasılığını da doğurur. İlgili okuma: Hesap soyutlaması açıklandı.
Kötü niyetli sözleşmeler
Dolandırıcılık tokenleri, satışları engellemek veya çok yüksek transfer vergileri almak gibi gizli kurallar içerebilir. Bir sözleşme, token sayfasında normal görünürken pratikte çok farklı davranabilir. Ayrıca bkz.: ICO vs IEO vs IDO.
Onaylar
DeFi kullanmak çoğu zaman bir sözleşmenin tokenlerinizi harcamasına onay vermenizi gerektirir. Hatalı veya kötü niyetli bir sözleşmeye verilen sınırsız onaylar, daha sonra bu tokenleri almak için kullanılabilir. Daha ileri gitmek isterseniz Mempool nedir? yazımızı okuyun.
Kullanmadan önce bir akıllı sözleşme nasıl kontrol edilir?
- 1Adresi doğrulayın; projenin resmi sitesinden ve bağımsız bir kaynaktan.
- 2Bir blok gezgininde arayın; oluşturulma tarihini, etkinliğini ve kaynak kodunun doğrulanıp doğrulanmadığını görün.
- 3Denetimleri kontrol edin; tanınmış firmaların denetimlerine bakın ve bulunan sorunların giderilip giderilmediğini okuyun.
- 4Yönetici fonksiyonlarını kimin kontrol ettiğini öğrenin — bir multisig, bir zaman kilidi (timelock) ya da tek bir cüzdan.
- 5Küçük başlayın ve token onaylarını ihtiyacınız olan miktarla sınırlayın.
Bir tokenin resmi sözleşme adresi nasıl doğrulanır rehberimiz ilk iki adımı ayrıntılı olarak anlatıyor.
Sonuç
Akıllı sözleşme, bir blokzincirde kendi kendini yürüten ve aracı olmadan değer tutup taşıyabilen koddur. Bu, açık ve programlanabilir finansı mümkün kılar; ancak aynı zamanda hataların, gizli yönetici yetkilerinin ve kötü niyetli kodun anında ve geri döndürülemez şekilde etki ettiği anlamına gelir. Adresi doğrulayın, sözleşmeyi kimin kontrol ettiğini anlayın ve yalnızca ihtiyacınız olanı onaylayın.
Sıkça sorulan sorular
Akıllı sözleşmeler hukuken bağlayıcı mıdır?
Otomatik olarak değil. Akıllı sözleşme, bir blokzincirde çalışan bir yazılımdır; kendi başına hukuki bir anlaşma değildir. Bazı hukuk sistemleri kodla kaydedilen veya yürütülen anlaşmaları tanıyabilir, ancak bu ülkeye ve koşullara bağlıdır. Hukuki geçerlilik önemliyse yerel mevzuatı kontrol edin veya yetkin bir uzmana danışın.
Akıllı sözleşme dağıtıldıktan sonra değiştirilebilir mi?
Dağıtılan kodun kendisi genellikle düzenlenemez. Ancak birçok proje, bir yöneticinin kullanıcıları yeni koda yönlendirmesine olanak tanıyan proxy sözleşmeleri gibi yükseltilebilir tasarımlar kullanır. Bu esneklik hataları düzeltmeye yardımcı olur, ancak aynı zamanda birinin kuralları değiştirme gücüne sahip olduğu anlamına gelir. Yükseltme veya yönetici anahtarlarını kimin kontrol ettiğini kontrol edin.
Hangi blokzincirler akıllı sözleşmeleri destekler?
Genel amaçlı akıllı sözleşmeleri Ethereum yaygınlaştırdı; BNB Chain, Solana, Avalanche, Cardano ve Ethereum katman 2 ağları dahil pek çok başka ağ da bunları destekler. Bitcoin, tasarımı gereği yalnızca sınırlı betik yazımını destekler. Her platform kendi dillerini ve araçlarını kullanır, bu nedenle sözleşmeler aralarında otomatik olarak taşınamaz.
Akıllı sözleşmede bir hata olursa ne olur?
Kod, hata dahil tam olarak yazıldığı gibi çalışır. Saldırganlar bu hatayı fonları boşaltmak için kullanabilir ve işlemler genellikle geri alınamaz. Bazı projeler zararı sınırlamak için sözleşmeleri duraklatabilir veya yükseltebilir; değiştirilemez sözleşmeler ise hiç düzeltilemez. Denetimler ve hata ödül programları bu riski azaltır ama ortadan kaldırmaz.
