一、概念
1.定义
智能合约就是执行合约条款的可计算交易协议 ——Szabo
1.1 智能合约生命周期
(1)合约生成
包含合约多方协商、制定合约规范、进行合约验证、获得合约代码。
合约验证在基于系统抽象模型的虚拟机上进行。
(2)合约发布
合约发布与交易发布类似,经签名后的合约通过P2P的方式分发至每一个节点,每个节点会将收到的合约暂存在内存中并等待进行共识。
(3)合约执行
智能合约的执行是基于“事件触发”机制的.基于区块链的智能合约都包含事务处理和保存机制以及一个完备的状态机,用于接受和处理各种智能合约。
1.2 智能合约基本架构
区块链智能合约包含六要素:数据层、传输层、智能合约主体、验证层、执行层、应用层。
1.2.1 智能合约主体
智能合约主体包括协议和参数。
(1)协议是由标准机构发布的合法文本的程序化描述(实例化的模板)。
(2)参数包括业务逻辑模块(主 要 参 数)和 各 种附件模块。
1.2.2 数据加载方式
数据层包括状态数据、交易数据、合约 代 码、应用数据等,出于可观察和可验证的目的,状态数据和交易数据一般都采用链上存储方式。应用数据和合约代码的加载方式则分为链上和链下2种。
链下方式是指将智能合约的散列值存储于链上,并通过以散列值为索引的存储网络或可信赖的数据源来保存完整的合约 代 码。
散列值是由合约代码