Technical Paper: Validity-Based Optimistic Smart Contracts

Connor Hughes
Fantom Foundation
Published in
2 min readApr 23, 2020

Research and development is a significant part of what we do, finding novel ways to advance the technology that underpins the Fantom ecosystem.

Today, we’re releasing a new technical paper on the optimization of smart contracts. Solidity is the most widely-used programming language for smart contracts but relies on sequential execution and validation of functions. That is, you have to wait for the first function of a smart contract to complete before the second can execute to avoid double-spending.

Quan Nguyen, Andre Cronje and Michael Kong have proposed a new smart-contract programming language, Object Validity (OV), that allows for concurrent executions within smart contracts. This approach increases the throughput and efficiency of smart contracts in distributed ledger networks by pre-checking the invariants (properties that do not change regardless of an object’s state) of different objects and ensuring the functions do not violate them during execution. If there are no violations, then the smart contract can be executed concurrently without waiting for the network to validate each stage.

This approach also dramatically reduces security issues related to reentrancy. These occur when contracts act on multiple initial requests before the consequences of each are recorded in the ledger.

For example, if my account balance is $50 and I submit two withdrawal requests for $50 each, the contract could execute both withdrawals if the available balance hasn’t updated to $0 by the time the second withdrawal attempts to run.

Our research will form the basis for further development work on optimizing smart contract execution, which we expect to apply to Fantom technology and further increase the performance and usability of our networks.

Check out the full paper here at Cornell University’s arXiv library!

Official Links for Fantom:

Official Email Address: contact@fantom.foundation

Official Website Link: https://www.fantom.foundation

Official Discord Discussion Group: https://discord.gg/6V42Gs8

Official Telegram Announcements Channel: https://t.me/fantomfoundation

Official Subreddit: https://www.reddit.com/r/FantomFoundation/

Official Twitter: https://twitter.com/FantomFDN

Official Medium: https://medium.com/fantomfoundation

Official Github: https://github.com/Fantom-foundation

Official YouTube Channel: https://www.youtube.com/c/fantomfoundation

--

--