上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
0.5 智能合约层
智能合约是一种用算法和程序来编制合同条款的部署在区块链上且可按照规则自动执行的数字化协议。早期由于计算条件的限制和应用场景的缺失,智能合约并未受到研究者的广泛关注,直到区块链技术出现之后,智能合约才被重新定义。区块链实现了去中心化的存储,智能合约在其基础上实现了去中心化的计算。
比特币脚本是指嵌在比特币交易上的一组指令,由于指令类型单一,实现功能有限,其只能算作智能合约的雏形。以太坊提供了图灵完备的脚本语言Solidity和Serpent,并且提供了沙盒环境以太坊虚拟机(Ethereum Virtual Machine,EVM)供用户编写和运行智能合约。超级账本的智能合约被称为链码(Chaincode),它选用Docker容器作为沙盒环境,Docker容器中带有一组经过签名的基础磁盘映像及Go与Java语言的运行环境和SDK,以运行Go与Java语言编写的链码。本书只对比特币脚本和Solidity语言进行相关介绍。