计算机科学 ›› 2021, Vol. 48 ›› Issue (2): 289-294.doi: 10.11896/jsjkx.200500105

• 信息安全 • 上一篇    下一篇

基于区块并行的以太坊智能合约高速重放

陈自民1, 卢艺文2, 郭燕1   

  1. 1 中国科学技术大学苏州研究院 江苏 苏州215000
    2 安比实验室 江苏 苏州215000
  • 收稿日期:2020-05-22 修回日期:2020-08-21 出版日期:2021-02-15 发布日期:2021-02-04
  • 通讯作者: 郭燕(guoyan@ustc.edu.cn)
  • 作者简介:czmmm@ustc.edu.cn

High-speed Replay of Ethereum Smart Contracts Based on Block Parallel

CHEN Zi-min1, LU Yi-wen2, GUO Yan1   

  1. 1 Suzhou Research Institute,University of Science and Technology of China,Suzhou,Jiangsu 215000,China
    2 SECBIT Lab,Suzhou,Jiangsu 215000,China
  • Received:2020-05-22 Revised:2020-08-21 Online:2021-02-15 Published:2021-02-04
  • About author:CHEN Zi-min,born in 1995,master.His main research interests include blockchain and cryptography.
    GUO Yan,born in 1981,lecturer.Her main research interests include information security,blockchain and NLP.

摘要: 分析和研究以太坊上的区块、交易、账户和智能合约数据具有巨大价值,但是以太坊数据量大、数据种类多、存储结构各异,当前数据获取方法的获取速度慢而且获取的数据不全,因此充分利用这些数据非常困难。文中提出了基于区块并行的以太坊数据快速导出工具Geth-query,通过分析以太坊内部机制,利用区块世界状态快照消除区块之间的依赖关系,优化本机资源利用效率并行重放区块,实现了快速而全面地提取以太坊链上数据。实验证明,Geth-query提取的数据种类丰富,数据导出速度相比传统方法提升了10倍左右。为了使用方便,文中同时对导出的数据进行存储优化,并在前端页面进行数据展示,从而为分析和研究以太坊提供了数据基础。

关键词: 并行重放, 数据抽取, 以太坊, 智能合约

Abstract: Analyzing and researching blocks,transactions,accounts,and smart contract data on Ethereum is of great value,but Ethereum has a large amount of data,many types of data,and different storage structures.The current data acquisition methods are slow and the acquired data are incomplete,so it is very difficult to use these data.This paper proposes Geth-query,a fast data export tool for Ethereum based on block parallel.By analyzing the internal mechanism of Ethereum,it uses snapshots of the world state of the block to eliminate dependencies between blocks and optimize the efficiency of local resource utilization to parallel replay block,thus achieving fast and comprehensive extraction of data on the Ethereum chain.Experiments prove that the types of data extracted by Geth-query are rich,and the data export speed is about 10 times faster than traditional methods.For ease of use,this paper also optimizes the storage of the exported data and displays the data on the front-end page,thus providing a data foundation for the analysis and research of Ethereum.

Key words: Data extraction, Ethereum, Parallel replay, Smart contract

中图分类号: 

  • TP315
[1] ATZEI N,BARTOLETTI M,CIMOLI T.A survey of attacks on ethereum smart contracts (sok)[C]//International Confe-rence on Principles of Security and Trust.Springer,Berlin,Heidelberg,2017:164-186.
[2] CHEN W,ZHENG Z,CUI J,et al.Detecting ponzi schemes on ethereum:Towards healthier blockchain technology[C]//Proceedings of the 2018 World Wide Web Conference.2018:1409-1418.
[3] CHEN T,LI X,WANG Y,et al.An adaptive gas cost mechanism for ethereum to defend against under-priced dos attacks[C]//International Conference on Information Security Practice and Experience.Springer,Cham,2017:3-24.
[4] LEE X T,KHAN A,SEN GUPTA S,et al.Measurements,analyses,and insights on the entire ethereum blockchain network[C]//Proceedings of The Web Conference 2020.2020:155-166.
[5] KIFFER L,LEVIN D,MISLOVE A.Stick a fork in it:Analyzing the ethereum network partition[C]//Proceedings of the 16th ACM Workshop on Hot Topics in Networks.2017:94-100.
[6] NIKOLI I,KOLLURI A,SERGEY I,et al.Finding the greedy,prodigal,and suicidal contracts at scale[C]//Proceedings of the 34th Annual Computer Security Applications Conference.2018:653-663.
[7] BARTOLETTI,M,LANDE S,POMPIANU L,et al.A general framework for blockchain analytics[C]//1st Workshop on Sca-lable and Resilient Infrastructures for Distributed Ledgers.ACM,2017.
[8] Google.blockchain-etl/ethereum-etl[EB/OL].https://github.com/ blockchain-etl/ethereumetl.2019.
[9] ZHENG W,ZHENG Z,DAI H N,et al.Xblock-EOS:Extracting and exploring blockchain data from EOSIO[J].arXiv:2003.11967,2020.
[10] BISTARELLI S,MAZZANTE G,MICHELETTI M,et al.Analysis of ethereum smart contracts and opcodes[C]//International Conference on Advanced Information Networking and Applications.Springer,Cham,2019:546-558.
[11] ETHERSCAN.Etherscan[EB/OL].https://cn.Etherscan.com/.
[12] BARTOLETTI M,CARTA S,CIMOLI T,et al.Dissecting Ponzi schemes on Ethereum:identification,analysis,and impact[J].Future Generation Computer Systems,2020,102:259-277.
[13] CHEN T,LI Z,ZHANG Y,et al.Dataether:Data exploration framework for ethereum[C]//2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS).IEEE,2019:1369-1380.
[14] CHEN T,ZHU Y,LI Z,et al.Understanding ethereum viagraph analysis[C]//IEEE Conference on Computer Communications.IEEE,2018:1484-1492.
[15] ETHEREUM F.Geth v1.9.0[EB/OL].https://blog.ethereum.org/2019/07/10/geth-v1-9-0/.
[16] BOWE S,GABIZON A,GREEN M D.A multi-party protocol for constructing the public parameters of the Pinocchio zk-SNARK[C]//International Conference on Financial Cryptography and Data Security.Springer,Berlin,Heidelberg,2018:64-77.
[17] FEIGE U,FIAT A,SHAMIR A.Zero-knowledge proofs ofidentity[J].Journal of cryptology,1988,1(2):77-94.
[18] TETHER.Tether[EB/OL].https://tether.to/.2020.
[1] 王子凯, 朱健, 张伯钧, 胡凯.
区块链与智能合约并行方法研究与实现
Research and Implementation of Parallel Method in Blockchain and Smart Contract
计算机科学, 2022, 49(9): 312-317. https://doi.org/10.11896/jsjkx.210800102
[2] 黄松, 杜金虎, 王兴亚, 孙金磊.
以太坊智能合约模糊测试技术研究综述
Survey of Ethereum Smart Contract Fuzzing Technology Research
计算机科学, 2022, 49(8): 294-305. https://doi.org/10.11896/jsjkx.220500069
[3] 傅丽玉, 陆歌皓, 吴义明, 罗娅玲.
区块链技术的研究及其发展综述
Overview of Research and Development of Blockchain Technology
计算机科学, 2022, 49(6A): 447-461. https://doi.org/10.11896/jsjkx.210600214
[4] 高健博, 张家硕, 李青山, 陈钟.
RegLang:一种面向监管的智能合约编程语言
RegLang:A Smart Contract Programming Language for Regulation
计算机科学, 2022, 49(6A): 462-468. https://doi.org/10.11896/jsjkx.210700016
[5] 卫宏儒, 李思月, 郭涌浩.
基于智能合约的秘密重建协议
Secret Reconstruction Protocol Based on Smart Contract
计算机科学, 2022, 49(6A): 469-473. https://doi.org/10.11896/jsjkx.210700033
[6] 张潆藜, 马佳利, 刘子昂, 刘新, 周睿.
以太坊Solidity智能合约漏洞检测方法综述
Overview of Vulnerability Detection Methods for Ethereum Solidity Smart Contracts
计算机科学, 2022, 49(3): 52-61. https://doi.org/10.11896/jsjkx.210700004
[7] 刘峰, 张嘉淏, 周俊杰, 利牧, 孔德莉, 杨杰, 齐佳音, 周爱民.
基于改进哈希时间锁的区块链跨链资产交互协议
Novel Hash-time-lock-contract Based Cross-chain Token Swap Mechanism of Blockchain
计算机科学, 2022, 49(1): 336-344. https://doi.org/10.11896/jsjkx.210600170
[8] 郭显, 王雨悦, 冯涛, 曹来成, 蒋泳波, 张迪.
基于区块链的工业控制系统角色委派访问控制机制
Blockchain-based Role-Delegation Access Control for Industrial Control System
计算机科学, 2021, 48(9): 306-316. https://doi.org/10.11896/jsjkx.210300235
[9] 王向宇, 杨挺.
智能合约定义路由目录服务器
Routing Directory Server Defined by Smart Contract
计算机科学, 2021, 48(6A): 504-508. https://doi.org/10.11896/jsjkx.200700210
[10] 郭上铜, 王瑞锦, 张凤荔.
区块链技术原理与应用综述
Summary of Principle and Application of Blockchain
计算机科学, 2021, 48(2): 271-281. https://doi.org/10.11896/jsjkx.200800021
[11] 代闯闯, 栾海晶, 杨雪莹, 过晓冰, 陆忠华, 牛北方.
区块链技术研究综述
Overview of Blockchain Technology
计算机科学, 2021, 48(11A): 500-508. https://doi.org/10.11896/jsjkx.201200163
[12] 凌飞, 陈世平.
基于区块链的企业联盟共享数字积分管理机制
Shared Digital Credits Management Mechanism of Enterprise Alliance Based on Blockchain
计算机科学, 2021, 48(11A): 533-539. https://doi.org/10.11896/jsjkx.201200170
[13] 陈迎仁, 郭莹楠, 郭享, 倪一涛, 陈星.
基于特征相似度计算的网页包装器自适应
Web Page Wrapper Adaptation Based on Feature Similarity Calculation
计算机科学, 2021, 48(11A): 218-224. https://doi.org/10.11896/jsjkx.210100230
[14] 王辉, 陈博, 刘玉祥.
基于区块链的人事档案管理系统研究
Research on Personnel File Management System Based on Blockchain
计算机科学, 2021, 48(11A): 713-718. https://doi.org/10.11896/jsjkx.210300051
[15] 李玉, 段宏岳, 殷昱煜, 高洪皓.
基于区块链的去中心化众包技术综述
Survey of Crowdsourcing Applications in Blockchain Systems
计算机科学, 2021, 48(11): 12-27. https://doi.org/10.11896/jsjkx.210600152
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!