基于区块链的智能合约构建及执行分为如下几步:

  1. 多方用户共同参与制定一份智能合约(构建)。
  2. 合约通过P2P网络扩散并存入区块链(存储)。
  3. 区块链构建的智能合约自动执行。

步骤1″多方用户共同参与制定一份智能合约“的过程,包括如下步骤:

  1. 首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。
  2. 两个或两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语言;参与者分别用各自私钥进行签名;以确保合约的有效性。
  3. 签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。

步骤2″合约通过P2P网络扩散并存入区块链“的过程,包括如下步骤:

  1. 合约通过P2P的方式在区块链全网中扩散,每个节点都会收到一份;区块链中的验证节点会将收到的合约先保存到内存中,等待新一轮的共识时间,触发对该份合约的共识和处理。
  2. 共识时间到了,验证节点会把最近一段时间内保存的所有合约,一起打包成一个合约集合(set),并算出这个合约集合的Hash值,最后将这个合约集合的Hash值组装成一个区块结构,扩散到全网。
  3. 最新达成的合约集合会以区块的形式扩散到全网,如下图所示,每个区块包含以下信息。

步骤3″区块链构建的智能合约自动执行“的过程,包括如下步骤:

  1. 智能合约会定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,等待共识;未满足触发条件的事务将继续存放在区块链上。
  2. 进入最新轮验证的事务,会扩散到每一个验证节点,与普通区块链交易或事务一样,验证节点首先进行签名验证,确保事务的有效性;验证通过的事务会进入待共识集合,等大多数验证节点达成共识后,事务会成功执行并通知用户。
  3. 事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约。
说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...