基于区块链的毕业设计Ethereum Formal Verification – 以太坊形式验证

本文提供基于区块链的毕业设计国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,基于区块链的毕业设计Ethereum Formal Verification – 以太坊形式验证 是一篇很好的国外资料

Ethereum Formal Verification

This page tries to give an overview of the formal verification (and related) projects in the Ethereum ecosystem, extending and updating https://github.com/pirapira/ethereum-formal-verification-overview.

The focus here is formal verification of smart contracts, while attempting to also gather information about formal verification of protocols and compilers.

The lists are not complete and you are encouraged to visit the project pages to know more about them.

Please do not hesitate and open an issue/PR if you have information not present here or if you find a mistake.

You might also want to visit the Ethereum Formal Methods Gitter channel.

Compilers

Solidity

  • Yul-K: The semantics of the IR Yul formalized in the K framework.
  • Yul-Isabelle. The semantics of the IR Yul formalized in Isabelle.

Ethereum 2.0

Phase 0

  • Deposit Contract (Runtime Verification) (part 1)
  • Deposit Contract (Runtime Verification) (part 2)
  • Formal Verification of the Eth2.0 Specs in Dafny: The objective of this project is to write a formal specification of the Eth2.0 specification in the verification-aware programming language Dafny.
  • Fully Mechanised Proof of the Deposit Contract’s Incremental Merkle tree algorithm in Dafny.

Smart Contracts

Projects / Tools

There are several projects aiming at formal specification and verification of smart contracts. The list given here is separated by target language and then sorted alphabetically. A few resource links are given with each project. For more resources on a specific project please visit the project’s page.

There is also an overwhelming amount of papers describing techniques related to formal verification of smart contracts. For example, visit https://ntu-srslab.github.io/smart-contract-publications/ and type 2020 into the search box. For that reason I am not listing anymore papers describing techniques for which I could not find the actual tool.

Specification

  • Act: Act allows specification of storage updates, pre/post conditions and contract invariants. Its tool suite also has proof backends able to prove many properties via Coq, SMT solvers, or hevm.
    • Talk: Smart contracts as inductive systems, Martin Lundfall.
  • Scribble: Scribble is a runtime verification tool for Solidity that transforms annotations in the Scribble specification language into concrete assertions that check the specification.

EVM Bytecode

  • EthBMC: A Bounded Model Checker for Smart Contracts.
  • EtherTrust: Analysis tool for EVM bytecode.
    • Paper: Foundations and Tools for the Static Analysis of Ethereum smart contracts, Ilya Grishchenko et al. (2018).
  • EthIsabelle: A Lem formalization of EVM and some Isabelle/HOL proofs.
    • Talk: Formal Verification of Smart Contracts, Yoichi Hirai.
  • eThor: Static analysis for Ethereum smart contracts.
  • HEVM: Symbolic execution engine and equivalence checker for EVM code.
    • Article: Symbolic Execution With ds-test, David Terry.
    • Article: Symbolic execution for hevm, Martin Lundfall.
  • KEVM: K Semantics of the Ethereum Virtual Machine (EVM).
    • Talk: KEVM Overview.
    • Paper: KEVM: A Complete Semantics of the Ethereum Virtual Machine, Everett Hildenbrandt et al. (2017).
  • KLab: K framework proof explorer and smart contract specification format.
    • Tutorial: KLab, Everett Hildenbrandt.
    • Workshop: Formal Verification Workshop Using KLab – Devcon IV. Could not find video/slides.
  • Manticore: EVM bytecode analysis tool based on symbolic execution.
    • Article: Manticore: Symbolic execution for humans.
    • Workshop: Using Manticore and Symbolic Execution to Find Smart Contracts Bugs – Devcon IV.
  • MAIAN: EVM bytecode analysis tool that checks whether a contract might be suicidal, prodigal or greedy.
    • Paper: Finding The Greedy, Prodigal, and Suicidal Contracts at Scale, Ivica Nikolic et al. (2018).
  • Mythril: EVM bytecode security analysis tool that uses concolic analysis, taint analysis and control flow checking.
    • Article: Practical Smart Contract Security Analysis and Exploitation— Part 1, Bernhard Mueller.
  • Oyente: EVM bytecode analysis tool based on symbolic execution.
    • Paper: Making Smart Contracts Smarter, Loi Luu et al. (2016).
  • Securify: Security scanner for Ethereum smart contracts.
    • Paper: Securify: Practical Security Analysis of Smart Contracts, Petar Tsankov et al. (2018).
  • VerX: Full functional verification for Ethereum smart contracts.
    • Paper: VerX: Safety Verification of Smart Contracts, Permenev et al. (2019).

Solidity

  • Certora
    • Paper: Finding Bugs Automatically in Smart Contracts with Parameterized Invariants, Thomas Bernardi et al (2020)
  • Slither: Solidity static analysis framework that checks for specific vulnerabilities.
    • Article: Slither – a Solidity static analysis framework.
  • SmartCheck: Static analysis tool for discovering vulnerabilities in Solidity contracts.
    • Paper: SmartCheck: static analysis of ethereum smart contracts, Sergei Tikhomirov et al. (2018).
  • Solidifier: Bounded Model Checker for Solidity.
  • Solidity’s SMTChecker: SMT and Horn-based model checker built-in the Solidity compiler which statically checks safety properties at compile-time, considering an unbounded number of transactions.
    • Talk: Fully Automated Inductive Invariants Inference for Solidity Smart Contracts – Devcon V, Leonardo Alt.
    • Slides: Fully Automated Inductive Invariants Inference for Solidity Smart Contracts – Devcon V, Leonardo Alt.
    • Article: SMTChecker Toward Completeness, Leonardo Alt.
    • Paper: Accurate Smart Contract Verification through Direct Modelling, Matteo Marescotti, Rodrigo Otoni, Leonardo Alt, Patrick Eugster, Antti E. J. Hyvärinen, and Natasha Sharygina (2020).
    • Paper: SMT-Based Verification of Solidity Smart Contracts, Leonardo Alt and Christian Reitwiessner (2018).
  • solc-verify: Functional verification of Solidity code using annotations and modular program verification.
    • Paper: solc-verify: A Modular Verifier for Solidity Smart Contracts, Á. Hajdu, D. Jovanović (2019).
    • Talk: solc-verify, a source-level formal verification tool for Solidity smart contracts, given by Á. Hajdu at Solidity Summit (2020)
    • Paper: SMT-Friendly Formalization of the Solidity Memory Model, Á. Hajdu, D. Jovanović (2020).
    • Talk: SMT-Friendly Formalization of the Solidity Memory Model, given by Á. Hajdu at SMT (2020)
    • Paper: Formal Specification and Verification of Solidity Contracts with Events, Á. Hajdu, D. Jovanović, G. Ciocarlie (2020).
    • Talk: Formal Specification and Verification of Solidity Contracts with Events, given by Á. Hajdu at FMBC (2020).
  • VeriSmart: Safety verified for Solidity smart contracts, based on automatic inference of contract invariants.
  • VeriSol: Formal specification, verification and scalable refutation of Solidity smart contracts using code contracts, Boogie and Corral.
    • Slides: Formal Verification of Smart Contracts and Protocols: What, Why, How – Devcon V, Shuvendu Lahiri et al.
    • Article: Researchers work to secure Azure Blockchain smart contracts with formal verification , Microsoft Research Blog.
    • Paper: Formal Specification and Verification of Smart Contracts for Azure Blockchain , Yuepeng Wang, Shuvendu K. Lahiri, Shuo Chen, Rong Pan, Isil Dillig, Cody Born, Immad Naseer.

Vyper

  • FVyper: A collection of useful Vyper contracts developed with formal methods (KEVM).
  • KVyper: Semantics of Vyper in K.

Update 2021


Ethereum Formal Verification

本页试图概述以太坊eth生态系统中的正式验证(及相关)项目,包括扩展和更新https://github.com/pirapira/ethereum-formal-verification-overview。

这里的重点是智能合约的正式验证,同时尝试收集协议和编译器的正式验证信息。

列表不完整,建议您访问项目页面了解更多信息。

如果您在此处没有信息或发现错误,请不要犹豫,打开问题/PR。

您可能还想访问以太坊eth正式方法Gitter频道。

Compilers

Solidity

  • 存款合同(运行时验证)(第1部分)
  • 存款合同(运行时验证)(第2部分)

Ethereum 2.0

Phase 0

  • Dafny中Eth2.0规范的正式验证:本项目的目标是用验证感知编程语言Dafny编写Eth2.0规范的正式规范。
  • Dafny中存款合同增量Merkle树算法的完全机械化证明。
  • Act:Act允许指定存储更新、前置/后置条件和契约不变量。它的工具套件还具有证明后端,能够通过Coq、SMT解算器或hevm证明许多属性。谈话:作为归纳系统的智能合约,马丁·伦德尔。
  • 谈话:作为归纳系统的智能合约,Martin Lundfall。

Smart Contracts

Projects / Tools

有几个项目旨在对智能合约进行正式规范和验证。这里给出的列表由目标语言分隔,然后按字母顺序排序。每个项目都提供了一些资源链接。有关特定项目的更多资源,请访问项目页面。

还有大量的论文描述了与智能合约的形式化验证相关的技术。例如,访问https://ntu-srslab.github.io/smart-contract-publications/然后在搜索框中键入2020。由于这个原因,我不再列出描述我找不到实际工具的技术的论文。以太坊eth形式化验证编译程序的稳定性框架。你是伊莎贝尔。IR-Yul的语义在Isabelle中正式化。

  • 存款合同(运行时验证)(第1部分)
  • 存款合同(运行时验证)(第2部分)
  • Dafny中Eth2.0规范的正式验证:本项目的目标是用验证感知编程语言Dafny编写Eth2.0规范的正式规范。
  • Dafny中存款合同增量Merkle树算法的完全机械化证明。
  • Act:Act允许指定存储更新、前置/后置条件和契约不变量。它的工具套件还具有证明后端,能够通过Coq、SMT解算器或hevm证明许多属性。谈话:作为归纳系统的智能合约,马丁·伦德尔。
  • 谈话:作为归纳系统的智能合约,Martin Lundfall。
  • Scribble:Scribble是一个运行时验证工具,用于将Scribble规范语言中的注释转换为检查规范的具体断言。
  • EthBMC:智能合约的有界模型检查器。以太信任:EVM字节码的分析工具。论文:以太坊eth智能合约静态分析的基础和工具,Ilya Grishchenko等人(2018)。
  • 论文:以太坊eth智能合约静态分析的基础和工具,Ilya Grishchenko等人(2018)。EthIsabelle:EVM的Lem形式化和一些Isabelle/HOL证明。会谈:智能合约的正式验证,平井洋一。
  • 谈话:智能合约的正式验证,平井洋一。以太坊eth智能合约的静态分析。HEVM:EVM代码的符号执行引擎和等价性检查器。文章:符号执行与ds测试,大卫特里。为了所有人,马丁,象征性的执行。
  • 文章:ds测试的符号执行,David Terry。
  • 文章:象征性的执行hevm,Martin Lundfall。虚拟机的语义。谈话:KEVM概述。论文:KEVM:以太坊eth虚拟机的完整语义,Everett Hildenbrandt et al.(2017)。
  • 谈话:KEVM概述。
  • 论文:KEVM:以太坊eth虚拟机的完整语义,Everett Hildenbrandt et al.(2017)。
  • KLab:K框架验证资源管理器和智能合约规范格式。教程:克拉布,埃弗雷特·希尔登布兰特。研讨会:使用KLab-Devcon IV的正式验证研讨会。找不到视频/幻灯片。教程:克拉布,埃弗雷特·希尔登布兰特。
  • 研讨会:使用KLab-Devcon IV的正式验证研讨会。找不到视频/幻灯片。
  • Manticore:基于符号执行的EVM字节码分析工具。文章:Manticore:人类的象征性处决。研讨会:使用Manticore和符号执行查找智能合约漏洞-Devcon IV.
  • 文章:Manticore:人类的符号执行。
  • 研讨会:使用Manticore和符号执行查找智能合约漏洞-Devcon IV.
  • MAIAN:EVM字节码分析工具,用于检查合约是否具有自杀性、挥霍性或贪婪性。论文:《在规模上发现贪婪、挥霍和自杀性合同》,Ivica Nikolic等人(2018)。
  • 论文:在规模上寻找贪婪、挥霍和自杀合同,Ivica Nikolic等人(2018)。
  • Mythril:EVM字节码安全分析工具,使用共现分析、污染分析和控制流检查。文章:实用智能合约安全分析与开发-第1部分,Bernhard Mueller。
  • 文章:实用智能合约安全分析与开发-第1部分,Bernhard Mueller。基于符号执行的EVM字节码分析工具。论文:《使智能合约更智能》,Loi Luu等人(2016)。
  • 论文:使智能合约更智能,Loi Luu等人(2016)。
  • 安全化:用于以太坊eth智能合约的安全扫描程序。论文:Securify:智能合约的实用安全分析,Petar Tsankov等人(2018)。
  • 论文:Securify:智能合约的实用安全分析,Petar Tsankov等人(2018)。
  • VerX:以太坊eth智能合约的全功能验证。论文:VerX:智能合约的安全验证,Permenev等人(2019)。
  • 论文:VerX:智能合约的安全验证,Permenev等人(2019)。Certora论文:在具有参数化不变量的智能合约中自动查找bug,Thomas Bernardi等人(2020)
  • 论文:在具有参数化不变量的智能合约中自动查找bug,Thomas Bernardi et al(2020)
  • Slither:检查特定漏洞的稳定静态分析框架。文章:Slither–一个稳固的静态分析框架。
  • 文章:Slither–一个稳固的静态分析框架。
  • SmartCheck:用于发现实体契约中漏洞的静态分析工具。论文:《SmartCheck:以太坊eth智能合约的静态分析》,Sergei Tikhomirov等人(2018年)。
  • 论文:SmartCheck:以太坊eth智能合约的静态分析,Sergei Tikhomirov等人(2018)。
  • 固化器:用于固化的有界模型检查器。
  • Solidity的SMTChecker:Solidity编译器内置的基于SMT和Horn的模型检查器,考虑到事务的无限数量,它在编译时静态检查安全属性。谈话:用于可靠智能合约的全自动归纳不变量推理-Devcon V,Leonardo Alt.幻灯片:用于可靠智能合约的全自动归纳不变量推理-Devcon V,Leonardo Alt.文章:SMTChecker Toward Completure,Leonardo Alt.论文:通过直接建模进行准确的智能合约验证,MatteoMarescotti、Rodrigo Otoni、Leonardo Alt、Patrick Eugster、Antti E.J.Hyvärinen和Natasha Sharygina(2020年)。论文:基于SMT的稳健智能合约验证,Leonardo Alt和Christian Reitwiessner(2018)。演讲:稳健智能合约的全自动归纳不变式推理——Devcon V,Leonardo Alt.
  • 幻灯片:稳健智能合约的全自动归纳不变式推理——Devcon V,Leonardo Alt.
  • 文章:SMTChecker走向完整,Leonardo Alt.
  • 论文:通过直接建模进行精确的智能合约验证,Matteo Marescotti、Rodrigo Otoni、Leonardo Alt、Patrick Eugster、Antti E.J.Hyvärinen和Natasha Sharygina(2020)。
  • 论文:基于SMT的稳健智能合约验证,Leonardo Alt和Christian Reitwiessner(2018)。solc-verify:使用注释和模块化程序验证对坚固性代码进行功能验证。论文:solc-verify:一个用于可靠度智能合约的模块化验证器。Hajdu,D.Jovanović(2019年)。对话:solc verify,一个用于可靠智能合约的源代码级形式化验证工具,由Á给出。Hajdu at Solidity Summit(2020)论文:固态存储器模型的SMT友好形式化,Á。Hajdu,D.Jovanović(2020年)。会谈:SMT友好的固态记忆模型的形式化,由Á给出。Hajdu at SMT(2020)论文:带事件的坚固性契约的形式规范和验证,Á。Hajdu,D.Jovanović,G.Ciocalie(2020年)。会谈:正式规范和验证与事件的坚固性合同,由Á给出。哈伊杜在FMBC(2020年)。
  • 论文:solc-verify:一个用于可靠度智能合约的模块化验证器,Á。Hajdu,D.Jovanović(2019年)。
  • 谈话:solc verify,一个用于可靠智能合约的源代码级正式验证工具,由Á给出。Hajdu在Solidity Summit(2020)
  • 论文:Solidity记忆模型的SMT友好形式化,Á。Hajdu,D.Jovanović(2020年)。
  • Talk:SMT友好的固态记忆模型形式化,由Á给出。Hajdu at SMT(2020)
  • 论文:带有事件的坚固性契约的形式规范和验证,Á。Hajdu,D.Jovanović,G.Ciocalie(2020年)。
  • Talk:带有事件的坚固性契约的形式规范和验证,由Á给出。哈伊杜在FMBC(2020年)。
  • VeriSmart:基于契约不变量的自动推断,对可靠智能契约进行安全验证。VeriSol:Solidit的形式化规范、验证和可扩展反驳

    Specification

    • Scribble:Scribble是一个运行时验证工具,用于将Scribble规范语言中的注释转换为检查规范的具体断言。
    • 论文:以太坊eth智能合约静态分析的基础和工具,Ilya Grishchenko等人(2018)。EthIsabelle:EVM的Lem形式化和一些Isabelle/HOL证明。会谈:智能合约的正式验证,平井洋一。

    EVM Bytecode

    • 谈话:智能合约的正式验证,平井洋一。以太坊eth智能合约的静态分析。HEVM:EVM代码的符号执行引擎和等价性检查器。文章:符号执行与ds测试,大卫特里。为了所有人,马丁,象征性的执行。
    • 文章:ds测试的符号执行,David Terry。
    • 谈话:KEVM概述。
    • KLab:K框架验证资源管理器和智能合约规范格式。教程:克拉布,埃弗雷特·希尔登布兰特。研讨会:使用KLab-Devcon IV的正式验证研讨会。找不到视频/幻灯片。教程:克拉布,埃弗雷特·希尔登布兰特。
    • 研讨会:使用KLab-Devcon IV的正式验证研讨会。找不到视频/幻灯片。
    • 研讨会:使用Manticore和符号执行查找智能合约漏洞-Devcon IV.
    • Mythril:EVM字节码安全分析工具,使用共现分析、污染分析和控制流检查。文章:实用智能合约安全分析与开发-第1部分,Bernhard Mueller。
    • 安全化:用于以太坊eth智能合约的安全扫描程序。论文:Securify:智能合约的实用安全分析,Petar Tsankov等人(2018)。
    • 论文:VerX:智能合约的安全验证,Permenev等人(2019)。Certora论文:在具有参数化不变量的智能合约中自动查找bug,Thomas Bernardi等人(2020)
    • Slither:检查特定漏洞的稳定静态分析框架。文章:Slither–一个稳固的静态分析框架。
    • SmartCheck:用于发现实体契约中漏洞的静态分析工具。论文:《SmartCheck:以太坊eth智能合约的静态分析》,Sergei Tikhomirov等人(2018年)。
    • 固化器:用于固化的有界模型检查器。
    • 幻灯片:稳健智能合约的全自动归纳不变式推理——Devcon V,Leonardo Alt.

    Solidity

    • 论文:通过直接建模进行精确的智能合约验证,Matteo Marescotti、Rodrigo Otoni、Leonardo Alt、Patrick Eugster、Antti E.J.Hyvärinen和Natasha Sharygina(2020)。
    • 论文:solc-verify:一个用于可靠度智能合约的模块化验证器,Á。Hajdu,D.Jovanović(2019年)。
    • 论文:Solidity记忆模型的SMT友好形式化,Á。Hajdu,D.Jovanović(2020年)。
    • 论文:带有事件的坚固性契约的形式规范和验证,Á。Hajdu,D.Jovanović,G.Ciocalie(2020年)。
    • Talk:带有事件的坚固性契约的形式规范和验证,由Á给出。哈伊杜在FMBC(2020年)。
    • solc-verify: Functional verification of Solidity code using annotations and modular program verification.
      • Paper: solc-verify: A Modular Verifier for Solidity Smart Contracts, Á. Hajdu, D. Jovanović (2019).
      • Talk: solc-verify, a source-level formal verification tool for Solidity smart contracts, given by Á. Hajdu at Solidity Summit (2020)
      • Paper: SMT-Friendly Formalization of the Solidity Memory Model, Á. Hajdu, D. Jovanović (2020).
      • Talk: SMT-Friendly Formalization of the Solidity Memory Model, given by Á. Hajdu at SMT (2020)
      • Paper: Formal Specification and Verification of Solidity Contracts with Events, Á. Hajdu, D. Jovanović, G. Ciocarlie (2020).
      • Talk: Formal Specification and Verification of Solidity Contracts with Events, given by Á. Hajdu at FMBC (2020).
    • VeriSmart: Safety verified for Solidity smart contracts, based on automatic inference of contract invariants.
    • VeriSol: Formal specification, verification and scalable refutation of Solidity smart contracts using code contracts, Boogie and Corral.
      • Slides: Formal Verification of Smart Contracts and Protocols: What, Why, How – Devcon V, Shuvendu Lahiri et al.
      • Article: Researchers work to secure Azure Blockchain smart contracts with formal verification , Microsoft Research Blog.
      • Paper: Formal Specification and Verification of Smart Contracts for Azure Blockchain , Yuepeng Wang, Shuvendu K. Lahiri, Shuo Chen, Rong Pan, Isil Dillig, Cody Born, Immad Naseer.

    Vyper

    • FVyper: A collection of useful Vyper contracts developed with formal methods (KEVM).
    • KVyper: Semantics of Vyper in K.
  • Update 2021

    部分转自网络,侵权联系删除区块链源码网

    www.interchains.cc

    https://www.interchains.cc/19624.html

    区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 ! QQ3039046426
    区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » 基于区块链的毕业设计Ethereum Formal Verification – 以太坊形式验证

    提供最优质的资源集合

    立即查看 了解详情