Page 99 - 《软件学报》2021年第11期
P. 99
张富利 等:一种智能合约微服务化框架 3425
Solidity、HyperledgerFabric 的链码(chaincode).
Fig.1 Schematic of blockchain
图 1 区块链示例图
1.2 智能合约研究现状
近年来,智能合约极大地丰富和扩展了区块链应用场景,形成了各式各样的去中心化应用(decentralized
application,简称 Dapp).在应用场景方面,McCorry 等人 [12] 将区块链应用在电子投票领域,实现了一个基于以太
坊的去中心化互联网公开投票协议.这是第一个实现的不依赖任何可信的权威机构来计数和保护选民隐私的
去中心化应用.Tonelli 等人 [13] 结合了智能合约与微服务的相似性,提出了一种架构方法,给出了一个电子商务平
台实现的例子.该例用智能合约将微服务体系结构进行重构,每个微服务的角色和服务运行到以太坊区块链上.
随后,Tonelli 等人 [14] 进行了一个案例研究,将微服务架构环境通过一组等效的智能合约进行复制和实现,证明了
利用智能合约实现一个简单的基于微服务的系统是可行的.Zhang 和 Wen [15] 提出了一种物联网电子商务模型,
旨在重新设计传统电子商务模型中的许多元素,并借助区块链和智能合约技术在物联网上实现智能财产和付
费数据的交易.Chang 和 Chen [16] 在供应链领域进行了系统文献综述,表明传统的供应链活动涉及多个中介、信
任和性能问题,利用区块链技术的潜力重建传统供应链商业的运作的方式,以便获得更好的性能、分布式治理
和过程自动化.Leka 等人 [17] 相信区块链技术将是下一个技术革命,同时表明,区块链研究现阶段在物联网 [18] 、医
疗、教育、政府各个领域都有涉及.
目前,区块链应用尚处于初级阶段,研究的重点是利用区块链技术特性应用在不同领域 [17] ,然而区块链应用
[6]
仍然未大规模落地.应用区块链技术,很大程度上就是利用区块链编写智能合约 .然而,智能合约的开发属全新
的开发领域,业界没有形成标准的开发流程.教育领域实践经验少 [19] ,使用门槛高.
其次,当前业界对于智能合约的部署研究探索较少,缺乏提高部署效率、缩短产品交付周期的有效工具与
框架 [5,20] .智能合约的部署通常采用的纯手工或脚本方式 [21,22] ,消耗大量的时间成本,给智能合约的部署和升级
带来了严重的负担.由于智能合约的不可修改性,一旦区块链上的智能合约出现漏洞,只能升级智能合约.另一