2020
DOI: 10.1007/978-3-030-53288-8_10
|View full text |Cite
|
Sign up to set email alerts
|

Synthesis of Super-Optimized Smart Contracts Using Max-SMT

Abstract: With the advent of smart contracts that execute on the blockchain ecosystem, a new mode of reasoning is required for developers that must pay meticulous attention to the gas spent by their smart contracts, as well as for optimization tools that must be capable of effectively reducing the gas required by the smart contracts. Super-optimization is a technique which attempts to find the best translation of a block of code by trying all possible sequences of instructions that produce the same result. This paper pr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
3
3
1

Relationship

0
7

Authors

Journals

citations
Cited by 21 publications
(9 citation statements)
references
References 17 publications
0
9
0
Order By: Relevance
“…Orthogonal to the techniques used in Gasol , Albert et al. 109 propose another way to find the cheapest alternative instructions for a smart contract through super-optimization 211 and Max-SMT encoding, which takes EVM bytecode as input. They first extract a so-called stack functional specification by symbolic execution, then use the Max-SMT encoding method to feed the optimization task into the SMT-solver, and finally get a set of optimized operations with the same functionality as that of the inputs.…”
Section: Constructing Smart Contracts With Turing-complete Languagesmentioning
confidence: 99%
See 1 more Smart Citation
“…Orthogonal to the techniques used in Gasol , Albert et al. 109 propose another way to find the cheapest alternative instructions for a smart contract through super-optimization 211 and Max-SMT encoding, which takes EVM bytecode as input. They first extract a so-called stack functional specification by symbolic execution, then use the Max-SMT encoding method to feed the optimization task into the SMT-solver, and finally get a set of optimized operations with the same functionality as that of the inputs.…”
Section: Constructing Smart Contracts With Turing-complete Languagesmentioning
confidence: 99%
“…SMT is relatively lightweight and often used along with other techniques, 109 , 117 , 118 and the utilization of this technique alone is less touched. For future research, the utilization of SMT could be future considered to support the analysis of large-scale contracts, and combinations of SMT and other techniques are also worth consideration to achieve better performance (either accuracy or efficiency).…”
Section: Constructing Smart Contracts With Turing-complete Languagesmentioning
confidence: 99%
“…Uploading MultiCall is expensive, costing 1,751,894 gas. 5 However, the creation cost can be amortised over all users. Allocating an account can be done by depositing Ether as part of a call to MultiCall; the marginal cost of allocating the account is 22158.…”
Section: Setup Costmentioning
confidence: 99%
“…Albert et al created a super-optimising tool for the EVM, which finds the optimal code for straight-line segments containing arithmetic and bitwise instructions by exhaustive search [5]. Using a data set of transactions to the 128 most-called smart contracts, they obtain a potential gas optimisation of 0.59%.…”
Section: Micro-optimisationmentioning
confidence: 99%
“…They encoded a sequence of instructions within a basic block as SMT formulas and found cheaper bytecodes using a constraint solver. Albert et al [26] also employed a super-optimization approach to optimize the instruction sequence. They extracted a stack functional specification from a block and synthesized a new optimized block with the minimal gas cost, which has the same stack functional specification as the extracted version.…”
Section: Related Studiesmentioning
confidence: 99%