区块链100问|区块链2.0|52、智能合约是如何工作的?

我最近在重新学区块链,巩固一下细节,也收集一个“区块链100问”,供小白们使用(大佬可以另找教程),每天更新1-2个。

推特:0x00pluto


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

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

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

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

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

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

Subscribe to 0x00pluto
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.