Akıllı Kontrat (Smart Contract) Nedir? Kapsamlı Rehber
Akıllı kontrat, blockchain üzerinde belirli koşullar sağlandığında otomatik çalışan, kendi kendine yürütülen kod parçasıdır.
Tanım ve Genel Bakış
Akıllı Kontrat (Smart Contract), blockchain üzerinde saklanan ve önceden tanımlanan koşullar yerine geldiğinde otomatik olarak yürütülen kendi kendine işleyen kod parçalarıdır. Geleneksel sözleşmelerin aksine, akıllı kontratlar bir avukat, noter veya merkezi otoriteye gerek duymadan blockchain ağı tarafından zorunlu olarak uygulanır.
Akıllı kontrat kavramı 1994'te Nick Szabo tarafından ortaya atıldı; ancak teknolojik olarak hayata geçirilmesi 2015'te Ethereum'un yayına girmesiyle mümkün oldu. Ethereum, akıllı kontrat çalıştırmaya odaklanmış ilk genel amaçlı blockchain'dir ve EVM (Ethereum Virtual Machine) üzerinde Turing-complete bir hesaplama ortamı sunar.
Bugün akıllı kontratlar DeFi protokolleri, NFT pazarları, DAO yönetimi, on-chain oyunlar, kimlik doğrulama, tedarik zinciri ve daha pek çok alanda kullanılmaktadır.
Nasıl Çalışır?
Akıllı kontratlar genellikle Solidity (Ethereum), Rust (Solana, Polkadot) veya Move (Aptos, Sui) gibi programlama dillerinde yazılır. Bir akıllı kontratın yaşam döngüsü şu adımları izler:
- Geliştirme: Solidity gibi dilde fonksiyonlar ve durum değişkenleri tanımlanır.
- Derleme: Kaynak kod, EVM bytecode'una derlenir.
- Deployment: Bytecode bir işlem ile zincire yüklenir; karşılığında akıllı kontrata bir adres atanır.
- Etkileşim: Kullanıcılar veya başka kontratlar, fonksiyon çağrıları ile kontratı tetikler.
- Yürütme: Çağrı, EVM tarafından deterministik şekilde yürütülür ve durum değişiklikleri zincire kaydedilir.
Her etkileşim gas ücreti gerektirir; çağrılan fonksiyonun karmaşıklığına göre gas miktarı değişir. Akıllı kontratlar immutable (değiştirilemez) olarak tasarlanmıştır; bir kez deploy edildikten sonra kod değiştirilemez. Yükseltilebilir kontratlar için proxy pattern kullanılır.
Tarihçe ve Gelişim
Akıllı kontrat fikri Nick Szabo'nun 1994 makalesinde "satış otomatı" örneğiyle açıklandı. Ancak ilk pratik uygulama, 2015'te Ethereum mainnet'in Frontier sürümü ile geldi.
Haziran 2016'daki The DAO olayı, akıllı kontrat güvenliğinin kritikliğini dünyaya gösterdi: "reentrancy" zaafından yararlanan bir saldırı 50 milyon dolarlık ETH'nin sızdırılmasına yol açtı; bu Ethereum'un hard fork ile ETC'den ayrılmasına neden oldu.
Sonraki dönemde akıllı kontrat dilleri ve geliştirici araçları (Hardhat, Foundry, Truffle) olgunlaştı. OpenZeppelin kütüphaneleri, güvenli kontrat yazımının altın standardı haline geldi. 2020 DeFi yazı, akıllı kontratların gerçek dünya etkisini yüz milyarlarca dolar TVL ile kanıtladı.
Bugün akıllı kontrat altyapısı çok zincirli (multi-chain) bir yapıya kavuştu: EVM uyumlu zincirler (BNB Chain, Polygon, Arbitrum, Base), EVM-dışı zincirler (Solana, Aptos, Sui) farklı performans/güvenlik dengeleri sunar.
Önemli Kavramlar
- EVM: Ethereum Virtual Machine — akıllı kontratları çalıştıran sanal makine.
- Solidity: Ethereum akıllı kontratları için kullanılan ana programlama dili.
- Gas: Bir akıllı kontrat çağrısının yürütme maliyeti. [İlgili: gas-fee]
- Reentrancy: Bir kontrat fonksiyonunun yürütme tamamlanmadan tekrar çağrılarak istismar edilmesi.
- Audit: Kontratın güvenlik denetimi (CertiK, Trail of Bits, OpenZeppelin gibi firmalar).
Pratik Örnek veya Kullanım
Bir DeFi kullanıcısı Aave akıllı kontratına 5.000 USDC mevduat yatırır. Akıllı kontrat:
- USDC transferini kabul eder.
- Karşılığında kullanıcıya aUSDC tokeni mint eder (bu token mevduatı temsil eder).
- Faiz oranını her blokta otomatik günceller.
- Kullanıcı çekim yaptığında, biriken faiz ile birlikte USDC iade eder.
Tüm bu süreç, ortada bir banka veya işletmeci olmadan, sadece kod ile gerçekleşir.