不看要后悔了,白话智能合约

       我们都知道地铁站里的自动售货机,我要购买一瓶6块钱的水,投入10块,确认后,水就自动吐出来了,然后找零4个钢镚,我们可以简单的理解为一个智能合约的雏形,当然要用智能合约来实现,可比我们想象的要复杂。

      智能合约的本质是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。该承诺以计算机能读懂的编码语言来执行,只要参与者达成合约建立的权力和义务的约定,就由计算机或者计算机网络自动执行。

       智能合约的执行流程:首先我们需要根据达成的协议创建合约,锁定数字资产。然后调用合约提供的接口执行承诺的协议。最后由合约来完成转移数字资产

       智能合约的工作原理:多方用户参与制定一份(承诺的协议)智能合约——参与用必须先注册成为区块链用户,然后区块链会返回账户地址及唯一私钥,两个及以上用户根据需求共同协商一份承诺,承诺包含相关权力和义务,以电子化的方式编入机器语言,参与者各自通过私钥签名,确保合约的有效性,最后把签名的承诺内容,传入区块链网络中。
       合约通过P2P网络扩散并存入区块链——合约通过点对点的方式在区块链中扩散,每个节点都会收到一份。区块链中的验证节点会将收到的合约保存到内存中,等待新一轮共识时间,触发合约的共识并处理。共识时间到了,验证节点把最近一段时间内保存的所有合约,一起打包成一个合约集合,并算出这个合约集合的哈希值,最后将这个合约集合的哈希值组装成一个区块结构,扩散到全网。其它验证节点收到这个区块结构后,取出哈希值中的合约集。与自己保存的合约集合进行比较,同时发送一份自己认可的合约集给其他验证节点。通过这种多能的发送比较,所有的验证节点最终在合约规定的时间内对最新的合约达成一致,最新达成的合约集以区块链的形式扩散到全网。

     区块链构建的智能合约自动执行——智能合约会定期检查自动机的状态,逐条遍历每个合约内包含的状态机,事务以及触发条件。将条件满足的事务推送到待验证的队列中,等待共识,未满足触发条件的事务将继续存放在区块链上。进入最新一轮验证的事务会扩散到每一个验证节点,与普通区块链交易或事务一样,验证节点首先进行签名验证,确保有效性。验证通过的事务进入待共识集合,等大多数验证节点达成共识后,事务会成功执行并通知用户。事务执行成功后,只能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约。反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕。整个事务和状态的处理都是由区块链底层内置智能合约系统自动完成,全程透明,不可篡改。

     综上所述,来源于书本及网络,让我们了解的有直观的认识。

你可能感兴趣的:(不看要后悔了,白话智能合约)