计算机科学 ›› 2022, Vol. 49 ›› Issue (9): 312-317.doi: 10.11896/jsjkx.210800102

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

区块链与智能合约并行方法研究与实现

王子凯, 朱健, 张伯钧, 胡凯   

  1. 北京航空航天大学计算机学院 北京 100191
    云南省区块链应用技术重点实验室 昆明 650233
  • 收稿日期:2021-08-12 修回日期:2022-04-07 出版日期:2022-09-15 发布日期:2022-09-09
  • 通讯作者: 胡凯(hukai@buaa.edu.cn)
  • 作者简介:(wangzk@buaa.edu.cn)
  • 基金资助:
    国家重点研发计划(2018YFB1402702);云南省重大科技专项(202002AB080001-8,202002AA100007)

Research and Implementation of Parallel Method in Blockchain and Smart Contract

WANG Zi-kai, ZHU Jian, ZHANG Bo-jun, HU Kai   

  1. School of Computer Science and Engineering,Beihang University,Beijing 100191,China
    Yunnan Key Laboratory of Blockchain Application Technology,Kunming 650233,China
  • Received:2021-08-12 Revised:2022-04-07 Online:2022-09-15 Published:2022-09-09
  • About author:WANG Zi-kai,born in 1996,postgra-duate.His main research interests include blockchain and distributed system.
    HU Kai,born in 1963,professor.His main research interests include distri-buted system,blockchain and formal verification.
  • Supported by:
    National Key Research and Development of China(2018YFB1402702) and Science and Technology Major Project of Yunnan Province(202002AB080001-8,202002AA100007).

摘要: 随着区块链技术的不断成熟,能够提供安全、匿名、不可篡改的交易环境且面向企业的区块链应用越来越多。传统的区块链架构面临着性能低、拓展性不足等问题,无法满足面向企业级应用的高并发、大数据的应用场景需求。为了更好地适应愈加丰富的应用场景,发挥区块链技术的价值,文中研究并提出了一种简化拜占庭容错SBFT(Simple Byzantine Fault Tole-rance)共识算法,以提升共识阶段的效率;提出Task并行智能合约模型,充分利用多核系统的并行效率;改进传统区块链系统架构,体现了轻量、低耦合、智能合约可扩展的特点,方便企业应用的二次开发;在此基础上,研发了ParaChain区块链与智能合约系统。实验验证表明,基于并行化技术ParaChain区块链在TPS性能和可拓展性方面的表现相较于基于传统PBFT共识协议的区块链系统有较大提升。

关键词: 区块链技术, 智能合约, ParaChain区块链, SBFT共识协议, Task并行智能合约模型

Abstract: With the continuous maturity of blockchain technology,there are more and more blockchain applications for enterprises that can provide a safe,anonymous and non-tamperable transaction environment.Traditional blockchain architecture is faced with problems such as low performance and insufficient scalability.It can neither meet the needs of high concurrency nor the big data application scenarios for enterprise-level applications.In order to better adapt to the more abundant application scenarios and give full paly to the value of blockchain technology,this paper proposes a simple practical byzantine fault tolerance(SBFT)consensus algorithm to improve the efficiency of the consensus phase,and a Task parallel smart contract model is proposed to make full use of the parallelism efficiency of multi-core systems.we have improved the traditional blockchain system architecture to have the characteristics of light weight,low coupling,and smart contract scalability,which facilitates the secondary development of enterprise applications.On this basis,the ParaChain blockchain and smart contract system are developed.Experimental results show that the performance and scalability of the ParaChain blockchain based on parallelization technology is greatly improved compared to the blockchain system based on the traditional PBFT consensus protocol.

Key words: Blockchain technology, Smart contract, ParaChain blockchain, SBFT consensus protocol, Task parallel smart contract model

中图分类号: 

  • TP311
[1]SHEN X,PEI Q Q,LIU X F.Survey of block chain[J].Chinese Journal of Network and Information Security,2016,2(11):11-20.
[2]YUAN Y,WANG F Y.Blockchain:The State of the Art and Future Trends[J].Acta Automatica Sinica,2016,42(4):481-494.
[3]WANG P,WEI B,WANG C.Application of blockchain techno-logy in government data sharing[J].Big Data Research,2020,6(4):2020037.
[4]AN R,HE D B,ZHANG Y R,et al.The Design of an Anti-Counterfeiting System Based on Blockchain[J].Journal of Cryptologic Research,2017,4(2):199-208.
[5]PAN J C.A trusted electronic deposit and consolidation certificate service platform based on “blockchain plus electronic authentication” technology[J].Cyberspace Security,2019,10(3):1-4.
[6]LI Z T,KANG J W,YU R,et al.Consortium blockchain for secure energy trading in industrial internet of things[J].IEEE Transactions on Industrial Informatics,2017,14(8):3690-3700.
[7]JAKOBSSON M,JUELS A.Proofs of work and bread pudding protocols[C]//Proceedings of the Secure Information Networks.Springer-Verlag,1999:258-272.
[8]BONNEAU J,MILLER A,CLARK J,et al.Research perspectives and challenges for Bitcoin and cryptocurrencies[C]//The IEEE Symposium on Security and Privacy.IEEE Computer Society,2015:104-121.
[9]KIAYIAS A,RUSSELL A,DAVID B,et al.Ouroboros:A pro-vably secure proof-of-stake blockchain protocol[C]//Annual International Cryptology Conference.2017:357-388.
[10]KING S,NADAL S.Ppcoin:Peer-to-peer Crypto-currency with Proof-of-stake [OL].White Paper,2012.https://people.cs.georgetown.edu/~clay/classes/fall2017/835/papers/peercoin-paper.pdf.
[11]BENTOV I,LEE C,MIZRAHI A,et al.Proof of activity:Extending Bitcoin's proof of work via proof of stake[J].ACM Sigmetrics Performance Evaluation Review,2014,42(3):34-37.
[12]LARIMERD.DPOS Consensus Algorithm-The Missing White Paper [OL].https://steemit.com/dpos/@dantheman/dpos-consensus-algorithm-this-missing-white-paper.
[13]KOGIAS E K,JOVANOVIC P,GAILLY N,et al.Enhancing bitcoin security and performance with strongconsistency via collective signing[C]//The 25th USENIX Security Symposium.2016:279-296.
[14]Hyperledger fabric [OL].https://wiki.hyperledger.org/display/fabric/Welcome+to+Hyperledger+Fabric.
[15]BERNSTEIN P A,GOODMAN N.Multiversion concurrency control-theory and algorithms[J].ACM Transactions Database System,1983,8(4):465-483.
[16]XIAO W,SUN J Y,ZHENG Q,et al.XuperChain:A blockchain system that supports smart contracts parallelization[C]//IEEE International Conference on Smart Internet of Things(Smart IoT).2020:309-313.
[17]THOMAS D,PAUL G,MAURICE H,et al.Adding Concurrency to Smart Contracts[C]//ACM Symposium on Principles of Distributed Computing.Association for Computing Machinery,2017:303-312.
[18]WANG S Y,ZHANG X H,YU W et al.Smart Contract Microservitization[C]//2020 IEEE 44th Annual Computers,Software,and Applications Conference(COMPSAC).IEEE Compu-ter Society,2020:1569-1574.
[19]BARTOLETTI M,GALLETTA L,MURGIA M.A True Concurrent Model of Smart Contracts Executions[J].arXiv:1905.04366,2019.
[1] 黄松, 杜金虎, 王兴亚, 孙金磊.
以太坊智能合约模糊测试技术研究综述
Survey of Ethereum Smart Contract Fuzzing Technology Research
计算机科学, 2022, 49(8): 294-305. https://doi.org/10.11896/jsjkx.220500069
[2] 傅丽玉, 陆歌皓, 吴义明, 罗娅玲.
区块链技术的研究及其发展综述
Overview of Research and Development of Blockchain Technology
计算机科学, 2022, 49(6A): 447-461. https://doi.org/10.11896/jsjkx.210600214
[3] 高健博, 张家硕, 李青山, 陈钟.
RegLang:一种面向监管的智能合约编程语言
RegLang:A Smart Contract Programming Language for Regulation
计算机科学, 2022, 49(6A): 462-468. https://doi.org/10.11896/jsjkx.210700016
[4] 卫宏儒, 李思月, 郭涌浩.
基于智能合约的秘密重建协议
Secret Reconstruction Protocol Based on Smart Contract
计算机科学, 2022, 49(6A): 469-473. https://doi.org/10.11896/jsjkx.210700033
[5] 张潆藜, 马佳利, 刘子昂, 刘新, 周睿.
以太坊Solidity智能合约漏洞检测方法综述
Overview of Vulnerability Detection Methods for Ethereum Solidity Smart Contracts
计算机科学, 2022, 49(3): 52-61. https://doi.org/10.11896/jsjkx.210700004
[6] 郭显, 王雨悦, 冯涛, 曹来成, 蒋泳波, 张迪.
基于区块链的工业控制系统角色委派访问控制机制
Blockchain-based Role-Delegation Access Control for Industrial Control System
计算机科学, 2021, 48(9): 306-316. https://doi.org/10.11896/jsjkx.210300235
[7] 王向宇, 杨挺.
智能合约定义路由目录服务器
Routing Directory Server Defined by Smart Contract
计算机科学, 2021, 48(6A): 504-508. https://doi.org/10.11896/jsjkx.200700210
[8] 郭上铜, 王瑞锦, 张凤荔.
区块链技术原理与应用综述
Summary of Principle and Application of Blockchain
计算机科学, 2021, 48(2): 271-281. https://doi.org/10.11896/jsjkx.200800021
[9] 陈自民, 卢艺文, 郭燕.
基于区块并行的以太坊智能合约高速重放
High-speed Replay of Ethereum Smart Contracts Based on Block Parallel
计算机科学, 2021, 48(2): 289-294. https://doi.org/10.11896/jsjkx.200500105
[10] 代闯闯, 栾海晶, 杨雪莹, 过晓冰, 陆忠华, 牛北方.
区块链技术研究综述
Overview of Blockchain Technology
计算机科学, 2021, 48(11A): 500-508. https://doi.org/10.11896/jsjkx.201200163
[11] 凌飞, 陈世平.
基于区块链的企业联盟共享数字积分管理机制
Shared Digital Credits Management Mechanism of Enterprise Alliance Based on Blockchain
计算机科学, 2021, 48(11A): 533-539. https://doi.org/10.11896/jsjkx.201200170
[12] 王辉, 陈博, 刘玉祥.
基于区块链的人事档案管理系统研究
Research on Personnel File Management System Based on Blockchain
计算机科学, 2021, 48(11A): 713-718. https://doi.org/10.11896/jsjkx.210300051
[13] 李玉, 段宏岳, 殷昱煜, 高洪皓.
基于区块链的去中心化众包技术综述
Survey of Crowdsourcing Applications in Blockchain Systems
计算机科学, 2021, 48(11): 12-27. https://doi.org/10.11896/jsjkx.210600152
[14] 陈先来, 赵晓宇, 曾工棉, 安莹.
基于区块链的患者在线交流模型
Online Patient Communication Model Based on Blockchain
计算机科学, 2021, 48(11): 28-35. https://doi.org/10.11896/jsjkx.210400240
[15] 刘峰, 王一帆, 杨杰, 周爱民, 齐佳音.
一种基于区块链的融合DKG与BLS的高阈值签名协议
Blockchain-based High-threshold Signature Protocol Integrating DKG and BLS
计算机科学, 2021, 48(11): 46-53. https://doi.org/10.11896/jsjkx.210200129
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!