热搜:
579 0 0
  • tv48
    • 34
      帖子
    • 0
      评论
    • 723
      源点
    智能合约是如何运作的?
    发表于7天前 只看楼主 帖子标签:

    智能合约是一种直接控制数字资产的电脑程序。通过在区块链上写入类似if-then语句的程序,使得当预先编好的条件被触发时,程序自动触发支付及执行合约中的其它条款。


    智能合约工作原理


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

    1、多方用户共同参与制定一份智能合约;

    2、合约通过P2P网络扩散并存入区块链;

    3、区块链构建的智能合约自动执行。

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


    (1)首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。

    (2)两个以两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语言;参与者分别用各自私钥进行签名;以确保合约的有效性。

    (3)签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。

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


    (1)合约通过P2P的方式在区块链全网中扩散,每个节点都会收到一份;区块链中的验证节点会将收到的合约先保存到内存中,等待新一轮的共识时间,触发对该份合约的共识和处理。

    (2)共识时间到了,验证节点会把最近一段时间内保存的所有合约,一起打包成一个合约集合(set),并算出这个合约集合的Hash值,最后将这个合约集合的Hash值组装成一个区块结构,扩散到全网;其它验证节点收到这个区块结构后,会把里面包含的合约集合的Hash取出来,与自己保存的合约集合进行比较;同时发送一份自己认可的合约集合给其它的验证节点;通过这种多轮的发送和比较;所有的验证节点最终在规定的时间内对最新的合约集合达成一致。

    (3)最新达成的合约集合会以区块的形式扩散到全网,如下图所示,每个区块包含以下信息:当前区块的Hash值、前一区块的Hash值、达成共识时的时间戳、以及其它描述信息;同时区块链最重要的信息是带有一组已经达成共识的合约集;收到合约集的节点,都会对每条合约进行验证,验证通过的合约才回最终写入区块链中,验证的内容主要是合约参与者的私钥签名是否与账户匹配。

添加评论 (需要登录)