2021
DOI: 10.1145/3431726
|View full text |Cite
|
Sign up to set email alerts
|

Developing Cost-Effective Blockchain-Powered Applications

Abstract: Ethereum is a blockchain platform that hosts and executes smart contracts. Executing a function of a smart contract burns a certain amount of gas units (a.k.a., gas usage). The total gas usage depends on how much computing power is necessary to carry out the execution of the function. Ethereum follows a free-market policy for deciding the transaction fee for executing a transaction. More specifically, transaction issuers choose how much they are willing to pay for each unit of gas (a.k.a., gas price). The fina… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
14
0

Year Published

2021
2021
2024
2024

Publication Types

Select...
4
4

Relationship

0
8

Authors

Journals

citations
Cited by 55 publications
(14 citation statements)
references
References 25 publications
0
14
0
Order By: Relevance
“…Since the optimization level of each open-source smart contract is available ( §3.2), we count the number of smart contracts with and smart contracts without optimization in ds3 and ds4, individually. [110] JUMPDEST [111] PUSH1 0x00 [113] JUMPDEST [114] DUP3 [115] DUP2 [116] LT [117] ISZERO [118] PUSH1 0x83 [120] //deploy the bytecode, obtain its address let target := create(0, add(code_ptr, 0x20), mload(code_ptr)) //record the address in sc_addr[] mstore(add(sc_addr, mul(0x20, add(i, 1))), target) } } return sc_addr; } M4: number of transactions invoking a smart contract. It may reflect the popularity of a smart contract because popular smart contracts will attract more users.…”
Section: Rq2mentioning
confidence: 99%
“…Since the optimization level of each open-source smart contract is available ( §3.2), we count the number of smart contracts with and smart contracts without optimization in ds3 and ds4, individually. [110] JUMPDEST [111] PUSH1 0x00 [113] JUMPDEST [114] DUP3 [115] DUP2 [116] LT [117] ISZERO [118] PUSH1 0x83 [120] //deploy the bytecode, obtain its address let target := create(0, add(code_ptr, 0x20), mload(code_ptr)) //record the address in sc_addr[] mstore(add(sc_addr, mul(0x20, add(i, 1))), target) } } return sc_addr; } M4: number of transactions invoking a smart contract. It may reflect the popularity of a smart contract because popular smart contracts will attract more users.…”
Section: Rq2mentioning
confidence: 99%
“…The gas cost reflects the time and space complexity of function tasks and operations as they are executed by the Ethereum Virtual Machine (EVM) [35], [36]. To determine an estimated upper-bound gas usage of all the functions in our smart contracts, we ran simulated tests, issuing repeated Ethereum transaction requests, in the Remix IDE, which provides gas-usage estimation of transactions at the bytecode level [37], [38]. Table 2 summarizes the algorithms and their execution cost in Ether.…”
Section: A Cost Analysismentioning
confidence: 99%
“…Gas limit, gas price and transaction fee. In Ethereum, every transaction has a specified amount of gas to be consumed for execution [32]. The gas limit determines the maximum amount of computational effort that can be used to execute a transaction, while the gas price is the amount of Ether that the transaction sender is willing to pay for each unit of gas consumed.…”
Section: Abnormal Gas Consumption Scenariosmentioning
confidence: 99%
“…The issuer of a transaction sets both gas limit and gas price. If the execution of a transaction requires consuming more gas than that specified by the gas limit parameter, such a transaction fails with an out-of-gas exception and gets rolled back [32]. The actual transaction fee depends on the final amount of gas cost and defines as gas cost × gas price.…”
Section: Abnormal Gas Consumption Scenariosmentioning
confidence: 99%