一篇文章了解Akıllı Sözleşme的Biçimsel Doğrulama

Giriş

Blokon-chain varlıklarının değeri hızla yükselişe geçerken, farklı şifreleme ekonomik uygulama senaryolarını sunan bir dizi proje ortaya çıkmıştır. Bu durumda olası açıklıkları ve tehditleri önlemek her zamankinden daha önemlidir.

BTC başlangıçta bankaların yerini almak için tasarlanmıştı, ancak Blok Zinciri teknolojisi tüm ARACI'ların yerini alabilecek bir kabiliyet gösterdi. Bu süreçte, Dijital Para için programlanabilir para gibi yeni olanaklar getirdi, bu kağıt para ile gerçekleştirilemeyen bir şeydir. Bu Dijital Para, sözleşmelerin otomatik yürütülmesine izin vererek, yüksek şeffaflık ve insan müdahalesi olmadan, Merkeziyetsizlik'in gelişimini sağlıyor. Bu sayede, finansal işlemlerde avukatlar ve sözleşmelerin yerini alabilirler. Ancak, Akıllı Sözleşme nasıl çalışıyor? Bu güvene dayanmayan bir sistemde gerçekten güvenebilir miyiz?

本文将深入探讨Akıllı Sözleşme的Biçimsel Doğrulama,分析其优缺点及其对şifreleme生态的影响,特别是以太坊的应用。

Akıllı Sözleşme Gelişim Tarihi

Kaynak: CryptoSlate

尼克·萨博(Nick Szabo),美国计算机科学家和密码学家,常被认为是中本聪本人。作为akıllı sözleşme创始人,他在1994年首次提出了“akıllı sözleşme”这一概念。萨博将akıllı sözleşme定义为用于自动执行protokol条款的数字交易protokol。他的初衷是改进电子交易方式,如POS系统,并将其能力扩展至数字领域。

Sabah envisioned the future protokol to be as automated, reliable, and tamper-proof as a vending machine. Although the technological conditions at the time were not fully capable of realizing his vision, his ideas laid the foundation for the subsequent revolution in the Blok Zinciri industry. In 2015, the launch of Ethereum truly enabled the application of Akıllı Sözleşme, while Sabah's theory also became a key technology for Merkeziyetsizlik applications.

Onun vizyonu, sözleşmelerin tarafların ilişkilerini hassas, otomatik şartlarla yönetebilmesini sağlamak, insan müdahalesini ve denetim ihtiyacını azaltmaktır. Bu yöntem, daha güvenli ve verimli bir protokol yönetimi sunar, Akıllı Sözleşmelerin gelişimine yol açar ve onu blok zinciri ekosisteminde önemli bir araç haline getirir. Sabo'nun erken görüşleri hala dijital ticaret ve Akıllı Sözleşmelerin gelişimini etkilemektedir.

Biçimsel Doğrulama nedir?

Kaynak: Medium

Biçimsel Doğrulama, bir sistem (örneğin Akıllı Sözleşme) belirlenmiş kurallara veya standartlara uygun olup olmadığını sıkı bir şekilde kontrol etme sürecidir. Kısacası, sistem beklendiği gibi çalışabilir mi, gerekli koşulları sağlar ve önceden belirlenmiş işlevleri hatasız bir şekilde gerçekleştirir mi diye doğrulanmasıdır.

Bunu başarmak için, doğrulama tekniği önce sistemin beklenen davranışını resmi bir model aracılığıyla tanımlar ve ardından sözleşmenin karşılaması gereken belirli koşulları tanımlamak için bir spesifikasyon dili kullanır. Makale derinleştikçe, daha fazla gerçek dünya örneği göreceğiz. Biçimsel Doğrulama tekniği, doğruluğunu sağlamak için bir sözleşmenin fiili olarak yürütülmesini spesifikasyonlarıyla matematiksel olarak karşılaştırır. Bir sözleşme bu spesifikasyonları karşıladığında, "işlevsel olarak doğru" veya "doğru tasarlanmış" olarak kabul edilir ve Blok Chain bağlamında güvenilirliğini ve güvenliğini teyit eder.

Akıllı Sözleşme'nin formal spesifikasyon türü

Kaynak: Ever Scale

Formal formalizasyon, programın doğru çalışıp çalışmadığını matematiksel çıkarım yoluyla doğrulamak için kullanılır. Bu tür spesifikasyonlar, genel davranış (yüksek seviye) veya sözleşme iç çalışma ayrıntıları (düşük seviye) şeklinde olabilir. Matematiksel olarak sözleşmenin davranışını tanımlayarak, formal formalizasyon, sözleşmenin beklendiği gibi çalışmasını sağlar.

Yüksek Seviye Standartları

Yüksek düzeyde bir spesifikasyon olarak da bilinen model tabanlı bir spesifikasyon olarak, Akıllı Sözleşme'nin genel çalışma durumunu tanımlar ve bir sınırlı durum makinesi (FSM) olarak düşünülür, belirli işlemler aracılığıyla farklı durumlar arasında geçiş yapar. Zamanlama mantığı, bu geçişlerin kurallarını tanımlamak için sıklıkla kullanılır ve zamanla sözleşmenin nasıl durum değişikliği gerçekleştirdiğini ve hangi koşulların karşılanması gerektiğini ayrıntılı olarak açıklar.

Yüksek düzeyli standartlar, özellikle güvenlik ve likidite olmak üzere iki yönü vurgulamaktadır. Güvenlik, örneğin gönderenin hesap bakiyesinin işlem yapmak için yeterli olmaması gibi beklenmedik olayların önlenmesine yardımcı olabilir. Likidite, sözleşmenin normal çalışmasını sürdürebilmesini sağlar, örneğin kullanıcıların her zaman fonlarını çekebilecekleri kadar yeterli olduğunu sağlar. İki faktör birlikte Akıllı Sözleşmelerin güvenliği ve güvenilirliğini sağlayarak, kullanıcıların varlıklarını ve etkileşim deneyimlerini korur.

Alt Katman Standartları

Öznitelik odaklı spesifikasyonlar olarak da bilinen düşük seviyeli spesifikasyonlar, bir sözleşmenin dahili yürütme sürecini analiz ederek doğru davranıp davranmadığını tanımlamaya odaklanır. Sözleşmeleri sonlu durum makineleri olarak ele alan üst düzey spesifikasyonun aksine, daha düşük seviyeli spesifikasyonlar akıllı sözleşmeleri bir matematiksel fonksiyonlar sistemi olarak ele alır ve sözleşmenin durumunda değişikliklere neden olan fonksiyonların yürütülme sırasını (yörüngeler olarak adlandırılır) analiz eder.

Akıllı Sözleşme的Biçimsel Doğrulama技术

Kaynak: Ever Scale

Model Denetimi

Model kontrolü, Akıllı Sözleşme modelinin belirlenen standartlara uygun olup olmadığını kontrol etmek için Algoritma kullanma yöntemidir. Akıllı Sözleşme genellikle bir durum geçiş sistemi olarak temsil edilir ve özellikleri zamansal mantıkla tanımlanır. Bu yöntem, matematiksel bir model oluşturarak ve davranışını mantıksal formüllerle tanımlayarak Algoritma tarafından modelin gereksinimleri karşılayıp karşılamadığını doğrular.

Teoremin Kanıtı

Model kontrolünden farklı olarak, teorem kanıtı, programların (Akıllı Sözleşmeler dahil) doğruluğunu doğrulamak için matematiksel bir yöntemdir. Bu yöntem, sözleşmenin modelini ve özelliklerini mantıksal ifadelere dönüştürerek, mantıksal eşdeğerliklerini doğrulamak için kullanılır, yani bir öneri doğruysa, diğer öneri de doğrudur. Bu ilişkiyi teorem olarak ifade ederek, otomatik teorem kanıt araçları, sözleşme modelini ve özelliklerini doğrulayabilir.

Sınırlı durum sistemlerine özgü model denetiminden farklı olarak, teorem kanıtlama sonsuz durum sistemlerini analiz edebilir, ancak genellikle karmaşık mantıksal problemleri çözmek için insan rehberliği gerektirir. Bu nedenle, teorem kanıtlama genellikle tamamen otomatik model denetiminden daha zaman alıcı ve zahmetlidir.

Sembolik Yürütme

Sembolik yürütme, Akıllı Sözleşme analiz yöntemlerinden güçlü biridir ve işlevleri gerçek girişler yerine sembolik değerler kullanarak yürütür. Bu yöntem, sözleşmenin yürütme yolunu matematiksel formüllere (yol önermeleri olarak adlandırılır) dönüştürür ve bu önermelerin doğru olup olmadığını belirlemek için SMT çözücüsünü kullanır, yani koşullara uygun girişlerin var olup olmadığını belirler.

Örneğin, bir sözleşme fonksiyonu 5 ile 10 arasındaki bir değerde Geri Alım gerçekleştirdiğinde, sembolik yürütme, bu koşulu tetikleyen değeri hızlı bir şekilde belirlemek için X > 5 ve X < 10 koşullarını değerlendirerek yapılabilir. Bu yöntem geleneksel testlerden daha etkilidir, yanlış alarm oranı daha düşüktür ve hata üreten özel sayısal değerleri doğrudan üretebilir, Akıllı Sözleşme'nin güvenilirliğini sağlamak için güçlü bir araçtır.

什么是akıllı sözleşme?

Kaynak: Tenderly

Akıllı Sözleşme, Blok üzerinde çalışan otomatik bir programdır ve belirli koşulların karşılandığı durumlarda ilgili işlemleri otomatik olarak gerçekleştirir. Basit protokolden karmaşık programlara kadar çeşitli işlevlere sahip olabilir ve milyonlarca hatta milyarlarca dolarlık varlıkları yönetebilir.

Akıllı Sözleşme, politik oylama, Arz Ağı yönetimi, sağlık ve gayrimenkul gibi alanlarda tamamen değişiklik yapma potansiyeline sahiptir. Bu makale, Kripto Varlıklar alanındaki uygulamalarına odaklanmaktadır. Akıllı Sözleşme tasarımı, long'cu'nun riskleri kontrol etme endişesi olmadan işbirliği yapmasını sağlayan şeffaf ve güvenli bir çerçeve sunar, verimliliği ve yeniliği artırır. Bununla birlikte, Akıllı Sözleşme'nin hala güvenlik açıkları ve zorlukları olduğunun farkında olmamız gerekmektedir.

Akıllı Sözleşme'nin güvenlik açığı

Akıllı Sözleşme代码中的安全漏洞可能会导致灾难性的后果,例如合约中所有资产的丧失。近期发生的事件充分说明了这一点。

  • 2021年,AMMUranium Finance 因akıllı sözleşme中的一个拼写错误,被盗取了5000万美元
  • 2021 yılında da, Compound Finance bir karakter hatası nedeniyle [https://www.google.com/amp/s/www.coindesk.com/tech/2021/10/01/compound-founder-says-80m-bug-presents-moral-dilemma-for-defi-users/amp/](80 milyon dolarlık kazanılmamış ödülü yanlışlıkla dağıttı.
  • 2022年,Wormhole Bridge 因Akıllı Sözleşme中的漏洞01928374656574839201

Bu örnekler, Akıllı Sözleşmenin dağıtımından önce kodunun doğruluğunu sağlamak gerektiğini göstermektedir. Akıllı Sözleşme, Açık Kaynak olduğu için, bir kez dağıtıldığında kod açıkça görülebilir ve Hacker keşfedilen açıkları kolayca kullanabilir. Ayrıca, Akıllı Sözleşmenin değiştirilemezliği, kodun bir kez yayınlandığında güvenlik açıklarının genellikle düzeltilemeyeceği anlamına gelir. Bu yüzden, geliştirme yeterince hassas değilse, her zaman risk altında olacaklar.

Akıllı sözleşmenin doğrulanması nasıl yapılır?

Kaynak: Certik

Bu süreç şu adımları içerir:

  • Formal dili kullanarak sözleşmenin spesifikasyonlarını ve beklenen işlevlerini açıkça belirtmek.
  • Sözleşme kodunu matematik modeline veya mantıksal bir ifadeye dönüştürme gibi formal bir temsil biçimine çevirin.
  • Otomatik bir teorem doğrulayıcı veya model kontrolcüsü kullanarak, sözleşmenin özellikleri ve özellikleri doğrulanabilir.
  • Hata veya sapmaları belirledik ve teklif edilen özelliklere uymayanları düzelttik.

Akıllı Sözleşme'nin önemli özellikleri

Kaynak: Certik

Akıllı Sözleşme, 'taşa kazınmış bir protokol' olarak görülebilir, bir kez oluşturulduğunda değiştirilemez. Bu sözleşmeler, değiştirilemez bir blok zinciri defterinde çalışır, ARACI olmadan otomatik olarak şartları uygular, böylece işlemleri hızlandırır ve maliyetleri düşürür. Bu sabit özellik sadece güvenliği artırmakla kalmaz, aynı zamanda Merkeziyetsizlik yönetimini de gerçekleştirir, dolayısıyla dolandırıcılık ve yolsuzluk riskini önemli ölçüde azaltır.

Akıllı Sözleşme doğrulamasının neden bu kadar önemli olduğunu biliyor musunuz?

Matematiksel çıkarımlarla, Biçimsel Doğrulama, Akıllı Sözleşme'nin herhangi bir hata, yanlışlık veya beklenmedik davranışa sahip olmadığını sağlar. Sözleşme yürütme süreci katılaşır ve işlevleri ve özellikleri tamamen doğrulanır, bu nedenle insanlar sözleşmeye daha fazla güven duyar.

Akıllı sözleşme doğrulamasının başarı öyküsü, önemli finansal kayıpların önlenmesindeki önemli rolünü vurgulamaktadır.

Uniswap

Örneğin, ünlü bir AMM olan Uniswap, V1 akıllı sözleşme geliştirme sürecinde Biçimsel Doğrulama yaparak ve fon kaybına neden olabilecek hataları tespit edip düzeltti.

Balancer

Aynı şekilde, başka bir AMM Dengeleyici V2, Flaş Krediler ile ilgili bir ücret hesaplama hatası keşfederek potansiyel hırsızlık riskini önledi.

SafeMoon

SafeMoon V1, dağıtımdan sonra Biçimsel Doğrulama kullanılarak bir küçük açık tespit edildi. Bu açık, sahip olanların belirli koşullar altında sahiplikten vazgeçip yeniden kontrolü ele geçirmelerine izin verir ve bu ayrıntı çoğu insan denetiminde karmaşıklığı nedeniyle gözden kaçırılmıştır. Ancak Biçimsel Doğrulama, değişken değerlerinin belirli kombinasyonlarını analiz ederek insan denetiminin gözden kaçırabileceği sorunları etkili bir şekilde yakalayabilir.

Biçimsel Doğrulama ve insan denetimi nasıl birlikte çalışır?

Biçimsel Doğrulama, Akıllı Sözleşme'nin mantıksal ve davranışsal olarak beklenen işlevlerine uygun olup olmadığını kontrol etmek için otomatik ve sistemli bir yöntemdir. Bu yöntem, özellikle insan denetiminin göz ardı edebileceği karmaşık sorunları keşfetme ve düzeltme sürecini basitleştirebilir.

İnsan denetimi, uzmanların sözleşme kodunu, tasarımını ve dağıtımını kapsayan kapsamlı bir incelemesidir. Denetçiler, deneyimlerini kullanarak potansiyel güvenlik risklerini bulur ve sözleşmenin genel güvenlik durumunu değerlendirir. Ayrıca Biçimsel Doğrulama sürecinin doğruluğunu doğrulayabilir ve otomatik araçların gözden kaçırabileceği açıkları bulabilir. Biçimsel Doğrulama ve insan denetimi bir araya geldiğinde, kapsamlı bir güvenlik değerlendirmesi sağlayarak açıkları bulma ve düzeltme olasılığını artırır. Bu, deneyim ve otomatik analizle birleştirilerek güçlü bir güvenlik savunma hattı oluşturur.

Akıllı Sözleşme'nin avantajları ve dezavantajları

Kaynak: Blockonomi

Akıllı sözleşmeler, mükemmel olmasa da, dezavantajlarından daha ağır basan önemli avantajlara sahiptir. Karmaşık işlemleri basitleştirir, zamandan ve maliyetten tasarruf sağlarken, iş akışı şeffaflığını artırır ve anlaşmazlıkları azaltır. Ek olarak, akıllı sözleşmeler çalıştırılacak koda dayanır ve bu da insan hatasını azaltır. Şifreleme koruması ayrıca yüksek düzeyde güvenlik sağlar. Bununla birlikte, akıllı sözleşmeler esneklikten yoksundur ve beklenmedik durumlarla başa çıkmakta zorlanır. Ve akıllı sözleşmeler kurmak, bazıları için engel teşkil edebilecek özel programlama becerileri gerektirir. Zorluklara rağmen, akıllı sözleşmeler birden fazla sektörde değişimi yönlendiriyor.

Avantajları Akıllı Sözleşme

  • Otomasyon işlemleri, verimliliği artırır, zaman ve para tasarrufu sağlar.
  • Şeffaflığı artırarak tartışmaları azaltmak, tarafların aynı bilgiye erişmesini sağlamak.
  • Hata oranını azaltın, çünkü kodlara dayanırlar ve insan hatasını ortadan kaldırırlar.
  • Güvenliği güçlendirmek için şifreleme teknolojisi kullanılarak değiştirilmesi zor hale getirilir.

Dezavantajları Akıllı Sözleşmeler

  • Esneklik eksikliği, beklenmedik durumlara karşı başa çıkmak zor.
  • Profesyonel programlama becerileri gerektirir ve teknik eşiğe bağımlı geniş kullanımı vardır.

Ethereum Akıllı Sözleşme'nin Biçimsel Doğrulama aracı

Kaynak: Calibraint

Dilsel özelliklerin yazılması için kullanılır.

  • Act: Act, kullanıcılara depolama güncellemelerini, ön koşulları, son koşulları ve sözleşmenin değişmezliğini tanımlama imkanı verir. Çalışma araçları, Coq, SMT solver veya hevm kullanarak çeşitli özellikleri doğrulamayı sağlayan doğrulama arka uçları sağlar.

(https://github.com/ethereum/act)[GitHub]

Kullanım belgesi

  • Scribble: Scribble, belirli dilde yazılmış kod açıklamalarını doğrulama şartlarına dönüştürebilir.

使用文档

  • Dafny: Dafny, kodun doğruluğunu akıl yürütme ve doğrulama için gelişmiş açıklamalarla doğrulamak için özel olarak tasarlanmış bir programlama dilidir.

(https://github.com/dafny-lang/dafny)[GitHub]

Sözleşme doğruluğunu doğrulamak için kullanılan araç

  • Certora Prover: Certora Prover是一种自动化的Biçimsel Doğrulama工具,专门用于检查Akıllı Sözleşme代码的正确性。它使用Certora验证语言(CVL)创建合约规范,并通过静态分析和约束求解技术来检测潜在的属性违规。

官方网站

使用文档

  • Solidity SMTChecker: Bu, SMT (Satisfiability Modulo Theories) ve Horn çözme teknolojilerini kullanarak sözleşme kaynak kodunun derleme sırasında belirlenen özellikleri karşıladığından ve güvenlik özelliklerinin ihlallerinin olup olmadığını tespit etmek için Solidity'nin yerleşik bir model kontrolcüsüdür.

(https://github.com/ethereum/solidity)[GitHub]

  • Solc-verify: Solc-verify, Solidity derleyicisinin geliştirilmiş bir versiyonudur ve yorumlama ve modüler program doğrulama yoluyla Solidity kodlarının otomatik olarak Biçimsel Doğrulamasını sağlayabilir.

(https://github.com/SRI-CSL/solidity)[GitHub]

  • KEVM: KEVM, K çerçevesiyle oluşturulan ETH blok zinciri Sanal Makinesi (EVM)'nin formal bir temsilidir. Belirli özellikleri yürütebilme ve erişilebilirlik mantığını kullanabilme yeteneğine sahiptir.

(https://github.com/runtimeverification/evm-semantics)[GitHub]

使用文档

Matematiksel Teoremlerin Kanıtlanmasında Kullanılan Araçlar Çerçevesi

  • Isabelle: Isabelle/HOL, bir matematiksel ifadeleri formel dil ile ifade etmeye yardımcı olan bir kanıt yardımcısıdır ve bu ifadeleri kanıtlamak için araçlar sunar. Özellikle bilgisayar donanımı, yazılımı ve programlama dilleri gibi alanlarda doğruluk kontrolü için kullanılır.

(https://github.com/isabelle-prover)[GitHub]

Kullanım Kılavuzu

  • Coq: Coq, etkileşimli bir teorem kanıtlama aracıdır, kullanıcıların programları ve teoremleri tanımlamalarına ve makine doğrulama için doğruluk kanıtları oluşturmalarına yardımcı olur.

(https://github.com/coq/coq)[GitHub]

使用文档

Sembolik yürütme tabanlı bir zafiyet tespit aracı

  • Manticore - Manticore, bir açık tarama aracı olarak tasarlanmış olup sembolik yürütme analizi kullanarak EVM bytecode'larını analiz etmek için kullanılır.GitHub

Kullanım Kılavuzu

  • Hevm - hevm sembolik yürütme motoru, EVM bytecode eşdeğerliğini kontrol etmek için kullanılır.

(https://github.com/dapphub/dapptools/tree/master/src/hevm)[GitHub]

  • Mythril - Mythril, ETH akıllı sözleşmelerindeki olası açıkları bulmak için özel olarak tasarlanmış bir sembolik yürütme aracıdır.

(https://github.com/ConsenSys/mythril-classic)[GitHub]

使用文档

Sonuç

Akıllı Sözleşme'nin güvenliğini sağlamak için Biçimsel Doğrulama'nın ve insan denetiminin birleştirilmesi son derece önemlidir. Bu kombinasyon sözleşme güvenliğini kapsamlı bir şekilde değerlendirebilir. Biçimsel Doğrulama, kaynakları tüketse de, yüksek riskli veya büyük miktarda fon içeren sözleşmeler için yatırılmaya değer bir güvenlik önlemidir. Akıllı Sözleşme sadece popüler bir kavram değildir, küresel iş dünyasında önemli bir rol oynamaktadır. Bazı zorluklar olmasına rağmen, Akıllı Sözleşme, verimliliği arttırma, hataları azaltma ve güvenliği artırma konusunda benzersiz avantajlara sahiptir. İş süreçlerini basitleştirecek, dijital işlemlerde güveni artıracaktır. Bu teknolojiyi şu anda benimseyen şirketler, gelecekte şifreleme ekonomisinin şeffaflık ve güvenilirlik vurgusunu yapacaklar.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)