Correct-by-Design Blockchain-based Smart Contracts
The adoption of blockchain based distributed ledgers is growing fast due to their ability to provide reliability, integrity, and auditability without trusted entities. One of the key capabilities of these emerging platforms is the ability to create self-enforcing smart contracts. However, the development of smart contracts has proven to be error-prone in practice, and as a result, contracts deployed on public platforms are often riddled with security vulnerabilities. This issue is exacerbated by the design of these platforms, which forbids updating contract code and rolling back malicious transactions. In light of this, it is crucial to ensure that a smart contract is secure before deploying it and trusting it with significant amounts of cryptocurrency.
This project introduces a framework for the formal verification of contracts that are specified using a transition-system based model with rigorous operational semantics. Our model-based approach allows developers to reason about and verify contract behavior at a high level of abstraction. Our framework allows the generation of smart-contract code from the verified models, which enables the correct-by-design development of smart contracts.
- Correct-by-Design Interacting Smart Contracts and a Systematic Approach for Verifying ERC20 and ERC721 Contracts with VeriSolid
- Selfish Mining Attacks Exacerbated by Elastic Hash Supply
- Safe and Private Forward-Trading Platform for Transactive Microgrids
- Blockchains for Transactive Energy Systems: Opportunities, Challenges, and Approaches
- Equilibrium of Blockchain Miners with Dynamic Asset Allocation