查看原文
其他

智能合约是如何工作的?|区块链课堂第52问

2018-04-09 LucyCheng 哈希派

智能合约是如何工作的?


基于区块链的智能合约包括事务处理和事务保存机制,以及一个完备的自动状态机。从某种意义上来说,其工作原理类似于其他计算程序的if-then语句——包含发送数据的事务及涵盖数据描述信息的事件存入智能合约后,合约的资源状态被更新,进而触发状态机进行判断。如果存在满足时间描述信息的触发条件,状态机将根据预设信息选择合约动作自动执行。

 

简单来说,智能合约是一个事务处理模块和状态机构成的系统,它的存在是为了让复杂、带有触发条件的数字化承诺能够按参与者意愿正确执行。而基于区块链的智能合约构建及执行可分为如下步骤,

 

1、多方用户共同参与制定一份智能合约:两个或两个以上的区块链注册用户根据需要共同商定包括各方权利和义务的承诺。该承诺以电子化形式呈现,且需要参与者利用其私钥签名来确保有效性;

 

2、合约通过P2P网络扩散并存入区块链:合约通过P2P方式在区块链网络中扩散,接收到合约的验证节点将其保存在内存中,并于下一个共识时间把最近一段时间保存的所有合约打包为集合扩散至网络。其他节点收到信息后将其与自己保存的合约集合进行比较,并把自己认可的合约集合发送给其他节点。在多轮发送和比较后,所有验证节点最终在规定时间内对最新合约集合达成一致;

 

3、在区块链上构建的智能合约自动执行:智能合约定期检查合约状态,其中未满足触发条件的事务继续存放在区块链上;而满足条件的事务则被推送至待验证队列,等大多数验证节点达成共识,事务成功执行并通知用户。而当合约包括所有事务都顺利执行后,状态机会将合约标记为完成并于最新区块将其移除,反之继续保存在区块链上等待下一轮共识直至处理完毕。

 

这整个事务和状态处理的过程都由区块链底层内置智能合约系统自动完成,具有透明和不可篡改性。


昨日回顾:为什么说以太坊是区块链2.0的代表?

明日预告:为什么要用区块链技术来实现智能合约?

※区块链课堂是哈希派围绕区块链技术推出的每日问答栏目,帮助大家从各方面了解区块链领域的相关知识。如果你对区块链有自己的想法以及相关疑惑,欢迎在评论区留言,我们将会在近期更新中为你解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存