Akıllı Sözleşmeler

Smart contracts, önceden tanımlanmış koşullar yerine getirildiğinde süreçleri otomatikleştirerek, kodda yazılmış ve bir blockchain üzerinde saklanan, kendi kendini yürüten anlaşmalardır.

Smart contracts, Ethereum gibi bir blockchain üzerinde saklanan dijital anlaşmalardır. Önceden tanımlanmış koşullar yerine getirildiğinde otomatik olarak yürütülürler, aracıları ortadan kaldırır ve güven ihtiyacını azaltır. Bu sözleşmeler değişmez ve şeffaftır, yani kod tüm katılımcılar tarafından görülebilir ve dağıtıldıktan sonra değiştirilemez. Merkeziyetsiz finans (DeFi)'den tedarik zinciri yönetimine kadar geniş bir uygulama yelpazesini, karmaşık süreçleri otomatikleştirerek ve güven gerektirmeyen etkileşimler sağlayarak mümkün kılarlar.

Smart contracts genellikle Solidity (Ethereum için) gibi programlama dillerinde yazılır ve yürütülebilir kod olarak blockchain'e dağıtılır. Dijital varlıkların transferini yönetir, harici verilere (oracles aracılığıyla) dayalı eylemleri tetikler ve bir anlaşmanın şartlarını insan müdahalesi olmadan uygular. Smart contracts kullanımı, çeşitli sektörlerde verimliliği artırır, maliyetleri düşürür ve şeffaflığı artırır.

        graph LR
  Center["Akıllı Sözleşmeler"]:::main
  Pre_cryptography["cryptography"]:::pre --> Center
  click Pre_cryptography "/terms/cryptography"
  Rel_smart_contract["smart-contract"]:::related -.-> Center
  click Rel_smart_contract "/terms/smart-contract"
  Rel_smart_contract_auditing["smart-contract-auditing"]:::related -.-> Center
  click Rel_smart_contract_auditing "/terms/smart-contract-auditing"
  Rel_smart_contract_architecture["smart-contract-architecture"]:::related -.-> Center
  click Rel_smart_contract_architecture "/terms/smart-contract-architecture"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 5 yaşındaki gibi açıkla

Sözleşmenin işe yaramadan önce hile yapılamayacağından veya bozulmayacağından kesinlikle emin olmak için, sözleşmenin kullanılabileceği her olası yolu matematik kurallarıyla kontrol eden süper zeki bir dedektife sahip olmak gibi bir şey.

🤓 Expert Deep Dive

Formal doğrulama, model denetimi, teorem ispatı ve soyut yorumlama gibi teknikler kullanır. Model denetimi, zamansal mantıklarla (örn. LTL, CTL) ifade edilen özellikleri doğrulamak için sistemin durum uzayını keşfeder. Ancak, karmaşık sözleşmeler için durum uzayı patlaması büyük bir zorluktur. Teorem ispatı, istenen özelliklerin ispatlarını oluşturmak için mantıksal aksiyomları ve çıkarım kurallarını kullanır, bu da genellikle önemli ölçüde insan rehberliği gerektirir (örn. Coq veya Isabelle/HOL gibi etkileşimli teorem ispatlayıcılar kullanılarak). Soyut yorumlama, programın semantiğini yaklaştırarak sağlam değişmezler türetir, bu da ölçeklenebilir ancak potansiyel olarak hassas olmayan bir analiz sağlar. Sembolik yürütme, somut değerler yerine sembolik değerler kullanarak programdaki yolları yürütür ve hata bulmak veya özellikleri ispatlamak için SMT çözücüleri tarafından kontrol edilebilen yol koşulları üretir. Certora Prover, Mythril (sembolik yürütme) ve çeşitli statik analiz çerçeveleri gibi araçlar bu tekniklerden yararlanır. Temel zorluklar arasında kapsamlı ve doğru biçimsel spesifikasyonların tanımlanması (genellikle kodun kendisini yazmaktan daha zordur), harici sözleşme etkileşimlerinin karmaşıklığının ele alınması ve hesaplama maliyeti yer alır. Doğrulama, spesifikasyona göre doğruluğu garanti eder; spesifikasyonun iş niyetini veya ekonomik güvenliği doğru bir şekilde yansıttığını garanti etmez.

🔗 İlgili terimler

Ön koşullar:

📚 Kaynaklar