摘要
针对以太坊平台提供的数据管理功能简单且存在低吞吐率和高延迟的问题,提出一种基于智能合约的以太坊可信存证机制。首先针对以太坊平台暴露的数据管理问题提出一个基于智能合约的以太坊可信存证框架,然后通过集中化数据统一处理、认证数据分布式存储以及高效动态取证这几个方面阐述所提机制的框架和实现,最后通过基于智能合约的系统开发表明了该机制的可实现性。实验及分析结果表明,该方法与传统关系数据库存证相比,增加了处理可信性、存储可信性和访问可信性;与区块链存证相比,丰富了数据管理功能、降低了区块存储成本、提高了存证效率。
Aiming at the problem that Ethereum platporm has simple data management function and poor performance of low throughput and high latency, a trusted storage mechanism based on smart contract in Ethereum was proposed. Firstly, a framework of trusted storage based on smart contract was proposed for solving data management problem exposed in Ethereum. Secondly, the framework and implementation of the proposed mechanism were expounded from the aspects of centralized data processing, authenticated data distributed storage and dynamic forensics. Finally, the feasibility of the mechanism was proved by the system development based on smart contract. The experimental and analysis results show that compared with the traditional relational database storage, the proposed method increases processing credibility, storage credibility and access credibility; compared with blockchain storage, it enriches data management function, reduces the cost of block storage and improves the efficiency of storage.
引文
[1]NAKAMOTO S.Bitcoin:a peer-to-peer electronic cash system[EB/OL].[2018-05-10].http://www.academia.edu/download/54517945/Bitcoin_paper_Original_2.pdf.
[2]BUTERIN V.A next-generation smart contract and decentralized application platform[EB/OL].[2018-05-10].https://cryptorating.eu/whitepapers/Ethereum/Ethereum_white_paper.pdf.
[3]Etherscan.Ethereum unique address growth chart[EB/OL].[2018-09-02].https://etherscan.io/chart/address/.
[4]钱卫宁,邵奇峰,朱燕超,等.区块链与可信数据管理:问题与方法[J].软件学报,2018,29(1):150-159.(QIAN W N,SHAO Q F,ZHU Y C,et al.Research problems and methods in blockchain and trusted data management[J].Journal of Software,2018,29(1):150-159.)
[5]袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016,42(4):481-494.(YUAN Y,WANG F Y.Blockchain:the state of the art and future trends[J].Acta Automatica Sinica,2016,42(4):481-494.)
[6]TSCHORSCH F,SCHEUERMANN B.Bitcoin and beyond:a technical survey on decentralized digital currencies[J].IEEE Communications Surveys&Tutorials,2016,18(3):2084-2123.
[7]PASS R,SEEMAN L,SHELAT A.Analysis of the blockchain protocol in asynchronous networks[C]//Proceedings of the 2017Annual International Conference on the Theory and Applications of Cryptographic Techniques.Berlin:Springer,2017:643-673.
[8]GERVAIS A,KARAME G O,WUST K,et al.On the security and performance of proof of work blockchains[C]//Proceedings of the2016 ACM SIGSAC Conference on Computer and Communications Security.New York:ACM,2016:3-16.
[9]ATZEI N,BARTOLETTI M,CIMOLI T.A survey of attacks on Ethereum smart contracts(So K)[C]//Proceedings of the 2017International Conference on Principles of Security and Trust.Berlin:Springer,2017:164-186.
[10]LIN I C,LIAO T C.A survey of blockchain security issues and challenges[J].International Journal of Network Security,2017,19(5):653-659.
[11]GARCIA-MOLINA H.Database Systems:the Complete Book[M].New Delhi:Pearson Education India,2008:555-615.
[12]GRAY J,REUTER A.Transaction Processing:Concepts and Techniques[M].Amsterdam:Elsevier,1992:22-40.
[13]TSENG L.Recent results on fault-tolerant consensus in messagepassing networks[C]//Proceedings of the 2016 International Colloquium on Structural Information and Communication Complexity.Berlin:Springer,2016:92-108.
[14]LYNCH N A.Distributed Algorithms[M].Amsterdam:Elsevier,1996:53-73.
[15]BAILIS P,FEKETE A,FRANKLIN M J,et al.Coordination avoidance in database systems[J].Proceedings of the VLDB Endowment,2014,8(3):185-196.
[16]ZHANG Y,WU S,JIN B,et al.A blockchain-based process provenance for cloud forensics[C]//Proceedings of the 2017 3rd IEEE International Conference on Computer and Communications.Piscataway,NJ:IEEE,2017:2470-2473.
[17]BAHGA A,MADISETTI V K.Blockchain platform for industrial Internet of things[J].Journal of Software Engineering and Applications,2016,9(10):533-546.
[18]VU Q H,LUPU M,OOI B C.Peer-to-Peer Computing:Principles and Applications[M].Berlin:Springer,2009:229-277.
[19]CHENEY J,CHITICARIU L,TAN W C.Provenance in databases:why,how,and where[J].Foundations and Trends in Databases,2009,1(4):379-474.
[20]邵奇峰,金澈清,张召,等.区块链技术:架构及进展[J].计算机学报,2018,41(5):969-988.(SHAO Q F,JIN C Q,ZHANG Z,et al.Blockchain:architecture and research progress[J].Chinese Journal of Computers,2018,41(5):969-988.)
[21]MERKLE R C.A digital signature based on a conventional encryption function[C]//Proceedings of the 1987 Conference on the Theory and Application of Cryptographic Techniques.Berlin:Springer,1987:369-378.
[22]LUU L,CHU D H,OLICKEL H,et al.Making smart contracts smarter[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security.New York:ACM,2016:254-269.
[23]Mongo DB.What is Mongo DB?[EB/OL].[2 0 1 8-0 9-0 5].https://www.mongodb.com/what-is-mongodb/.
[24]Bigchain DB.Meet Bigchain DB,the blockchain database[EB/OL].[2018-09-05].https://www.bigchaindb.com/.
[25]Github.Go Ethereum[EB/OL].[2018-08-08].https://github.com/ethereum/go-ethereum/wiki/.
[26]BONNEAU J.Eth IKS:using Ethereum to audit a CONIKS key transparency log[C]//Proceedings of the 2016 International Conference on Financial Cryptography and Data Security.Berlin:Springer,2016:95-105.
[27]Github.RLP encoding of Ethereum[EB/OL].[2018-09-08].https://github.com/ethereum/wiki/wiki/RLP/.
[28]BERTONI G,DAEMEN J,PEETERS M,et al.Keccak sponge function family main document[EB/OL].[2018-05-10].https://pdfs.semanticscholar.org/0978/de0c295f158cd5afe3a145a2e1fe6497eec7.pdf.
[29]EYAL I,SIRER E G.Majority is not enough:bitcoin mining is vulnerable[J].Communications of the ACM,2018,61(7):95-102.
[30]杨保华,陈昌.区块链原理,设计与应用[M].北京:机械工业出版社,2017:93-97.(YANG B H,CHEN C.Principle,Programming and Applications of Blockchain[M].Beijing:China Machine Press,2017:93-97.)
[31]申屠青春.区块链开发指南[M].北京:机械工业出版社,2017:109-146.(SHENTU Q C.Development Guide of Blockchain[M].Beijing:China Machine Press,2017:109-146.)