Access the full text.
Sign up today, get DeepDyve free for 14 days.
Getting Deep into EVM: How Ethereum Works Backstage
(2020)
How to Write Upgradable Smart Contracts (Smart Contract Versioning)
[
[nGetting Deep into EVM: How Ethereum Works Backstage. Retrieved from https://hackernoon.com/getting-deep-into-evm-how-ethereum-works-backstage-ac7efa1f0015.
P. Hartel, M. Staalduinen (2019)
Truffle tests for free - Replaying Ethereum smart contracts for transparencyArXiv, abs/1907.09208
Coin Desk. 22-06-2018. $3 Billion Blockchain Tron Kicks Of Token Migration
Neville Grech, Lexi Brent, Bernhard Scholz, Y. Smaragdakis (2019)
Gigahorse: Thorough, Declarative Decompilation of Smart Contracts2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
[
2016–2020Layout of State Variables in Storage. Retrieved September 9, 2020 from https://solidity.readthedocs.io/en/v0.4.24/miscellaneous.html., 9
[ (2018)
Top 3 Blockchain and Data Management MythsRetrieved from https://www.gartner.com/smarterwithgartner/top-3-blockchain-and-data-management-myths/.
F. Cruz, Christine Gianone (1993)
Command-Line Options
Ethereum łMemoryž, Sifis Lagouvardos, Neville Grech, Ilias Tsatiris, Y. Smaragdakis (2020)
Precise Static Modeling of Ethereum łMemoryž
[ (2018)
Prepare Yourself for the Safex Blockchain SwapRetrieved from https://safexnews.net/prepare-for-safex-blockchain-swap/.
(2019)
Binance Chain Mainnet Swap
[ (2019)
Migrating Ethereum Qubicle Tokens to the Telos Chain of EOSRetrieved from https://qubicles.medium.com/migrating-ethereum-qubicle-tokens-to-the-telos-chain-of-eos-io-using-the-eos21-protocol-e79c14fcf112.
Migrating Ethereum Qubicle Tokens to the Telos Chain of EOS.IO Using the EOS21 Protocol
[ (2018)
$3 Billion Blockchain Tron Kicks Off Token MigrationRetrieved from https://www.coindesk.com/3-billion-blockchain-tron-kicks-off-token-migration-today.
[
[nHow Contract Migration Works. Retrieved August 12, 2020 from https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/., 12
Petra Kaufmann (2016)
Compilers Principles Techniques And Tools
Michael Rodler, Wenting Li, Ghassan Karame, Lucas Davi (2020)
EVMPatch: Timely and Automated Patching of Ethereum Smart Contracts
Á. Hajdu, Dejan Jovanovic (2020)
SMT-Friendly Formalization of the Solidity Memory ModelProgramming Languages and Systems, 12075
Post author By Mario. 2020. Storage vs. memory vs
[
Ethereum EVM IllustratedRetrieved from https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf.
[
2017–2020Upgrades Plugins. Retrieved September 9, 2020 from https://docs.openzeppelin.com/upgrades-plugins/1.x/., 9
(2018)
Prepare Yourself for the Safex Blockchain Swap. Retrieved from https://safexnews.net/prepare-forsafex-blockchain-swap
Peilin Zheng, Zibin Zheng, Jiajing Wu, Hongning Dai (2019)
XBlock-ETH: Extracting and Exploring Blockchain Data From EthereumIEEE Open Journal of the Computer Society, 1
J. Ferreira, Pedro Cruz, Thomas Durieux, Rui Abreu (2020)
SmartBugs: A Framework to Analyze Solidity Smart Contracts2020 35th IEEE/ACM International Conference on Automated Software Engineering (ASE)
How contract migration works
[ (2020)
SmartBugs: A framework to analyze solidity smart contractsProceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE’20). IEEE Computer Society
[ (2021)
Geth v1Retrieved from https://blog.ethereum.org/2021/03/03/geth-v1-10-0/.
(2018)
Token Swaps: What Are They, How They Work and Why They’re Happening Now
Sifis Lagouvardos, Neville Grech, Ilias Tsatiris, Y. Smaragdakis (2020)
Precise static modeling of Ethereum “memory”Proceedings of the ACM on Programming Languages, 4
Martin Westerkamp (2019)
Verifiable Smart Contract Portability2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)
From Soundiness to Soundness
(2019)
Soundness and Completeness: With Precision
(2016)
Layout of State Variables in Storage
(2018)
Understanding Ethereum Smart Contract Storage
Ethereum Virtual Machine (EVM)
[ (2019)
A Postmortem on the Parity Multi-Sig Library Self-DestructRetrieved from https://www.parity.io/a-postmortem-on-the-parity-multi-sig-library-self-destruct/.
Contract upgrade anti-patterns
[
[nSmartBugs: A Framework to Analyze Solidity Smart Contracts, Github Repository. Retrieved February 17, 2021 from https://github.com/smartbugs/smartbugs., 17
[ (2021)
Access Private Data on the Ethereum BlockchainRetrieved from https://cryptomarketpool.com/access-private-data-on-the-eth-blockchain/.
Enrique Fynn, A. Bessani, F. Pedone (2020)
Smart Contracts on the Move2020 50th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)
(2021)
Geth v1.10.0
(2019)
Ethereum: Datastore types explained
H. Bandara, Xiwei Xu, I. Weber (2019)
Patterns for Blockchain MigrationArXiv, abs/1906.00239
[
[nHow to Write Upgradable Smart Contracts (Smart Contract Versioning). Retrieved August 12, 2020 from https://medium.com/swlh/how-to-write-upgradable-smart-contracts-smart-contract-versioning-5ff5ce035732/.Accessed: 2020-08-12., 12
[
Storage vsMemory vs. Stack in Solidity; Ethereum—Dlt-repo. Retrieved from https://dlt-repo.net/storage-vs-memory-vs-stack-in-solidity-ethereum/.
Deloitte Ditches Ethereum for VeChain, Brags about Overtaking Bitcoin Transactions
[
[nRSK ETH Token Bridge. Retrieved from https://developers.rsk.co/tools/tokenbridge/.
[ (2018)
Ethereum Smart-contract StorageRetrieved September 12, 2020 from https://applicature.com/blog/blockchain-technology/ethereum-smart-contract-storage., 12
[
[nEthereum Virtual Machine (EVM). Retrieved from https://ethereum.org/en/developers/docs/evm/.
[
[nFrom Soundiness to Soundness. Retrieved from https://yanniss.github.io/M221/soundness.pdf.
Muhammad Zafar, Falak Sher, M. Janjua, Salman Baset (2018)
Sol2js: Translating Solidity Contracts into Javascript for Hyperledger FabricProceedings of the 2nd Workshop on Scalable and Resilient Infrastructures for Distributed Ledgers
(2021)
Access Private Data on the Ethereum Blockchain. Retrieved from https:// cryptomarketpool.com/access-private-data-on-the-eth-blockchain
(2018)
Blockchain: A Very Short History Of Ethereum Everyone Should Read. Retrieved October 10
Internal Transactions: What Do They Mean?
[
[nInternal Transactions: What Do They Mean? Retrieved from https://kb.myetherwallet.com/en/transactions/internal-transactions/.
[ (2018)
Blockchain: A Very Short History Of Ethereum Everyone Should ReadRetrieved October 10, 2020 from https://www.forbes.com/sites/bernardmarr/2018/02/02/blockchain-a-very-short-history-of-ethereum-everyone-should-read/., 10
Stack in Solidity; Ethereum-Dlt-repo
[ (2019)
Verifiable smart contract portabilityarXiv:1902.03868. Retrieved from http://arxiv.org/abs/1902.03868.
(2018)
may-2018. Top 3 Blockchain and Data Management Myths
(2021)
n.d.]. SmartBugs: A Framework to Analyze Solidity Smart Contracts, Github Repository. https://github.com/smartbugs/smartbugs Accessed: 2021-02-17
Josselin Feist, Gustavo Grieco, Alex Groce (2019)
Slither: A Static Analysis Framework for Smart Contracts2019 IEEE/ACM 2nd International Workshop on Emerging Trends in Software Engineering for Blockchain (WETSEB)
[
[nCommand-line Options. Retrieved from https://geth.ethereum.org/docs/interface/command-line-options.
In migrating and upgrading an Ethereum smart contract, it is necessary to transfer both the code as well as the stored data. Various methods attempt to migrate or upgrade a smart contract, but they are mostly manual, error-prone, and applicable only before deployment. Further, they have challenges in extracting the storage state of complex mapping data structures along with their keys. In this work, we present Smartmuv as an automatic source-code-based static analysis tool to analyze and extract the state from the storage-trie of smart contracts. Based on the abstract syntax tree and the control flow graphs of the Solidity source code, the tool analyzes each state variable including mapping types along the inheritance hierarchy. It also provides the upgrade algorithm that initializes the extracted state in the constructor of new smart contract. Smartmuv safely approximates the origin of the keys used in the mapping to extract values and has been able to extract the mapping state of 23,673 smart contracts with 95.7% overall precision. Moreover, we also validate the Smartmuv’s extracted state with the third-party tool Etherscan.
ACM Transactions on Software Engineering and Methodology (TOSEM) – Association for Computing Machinery
Published: Apr 26, 2023
Keywords: Blockchain
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.