区块链实现智能合约

         区块链实现智能合约

一、制定生成智能合约

1、首先参与智能合约的用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥。公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。

2、两个以两个以上的用户根据需要,共同商定了一份承诺合约。合约中包含了双方的权利和义务;这些权利和义务以电子化的方式设计记录下来。

参与者分别用各自私钥进行签名,以确保合约的有效性。

3、签名后的智能合约,将会在区块链网络中广播出去


二、传输并存储智能合约

1、交易双方达成合约之后,合约通过P2P方式在区块链全网中广播,每个节点都会收到一份合约。区块链中的验证节点将会收到广播的合约,收到之后会先保存到内存中,等待共识时间的到来。

2、共识时间到来之后,验证节点会把该时间区间内收到的所有合约打包成一个合约集合Set;并计算该集合Set的Hash值;将合约集合Hash值封装在一个区块结构里,然后广播该区块结构。

3、其他验证节点收到该区块结构后,会分解出该结构里合约集合Hash值,与本验证节点Hash集合下的Hash值做比较;再发送一份本验证节点认可的合约集合给其他节点,通过这种多轮的发送和比较;所有的验证节点最终在规定的时间内对最新的合约集合达成一致。

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

区块链节点格式:

 

 

 

三、智能合约执行

1、智能合约会定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,等待共识;未满足触发条件的事务将继续存放在区块链上。

2、进入最新轮验证的事务,会扩散到每一个验证节点,与普通区块链交易或事务一样,验证节点首先进行签名验证,确保事务的有效性;验证通过的事务会进入待共识集合,等大多数验证节点达成共识后,事务会成功执行并通知用户。

3、事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约;反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕;整个事务和状态的处理都由区块链底层内置的智能合约系统自动完成,全程透明、不可攥改

 

 

发送数据包内容:

1、在交易双方签名完智能合约之后,将广播该智能合约到区块链网络中

2、验证节点在共识时间到来后,会广播一个包含合约集合Hash值的区块结构

3、其他验证节点发送一份本验证节点认可的合约集合

4、以区块结构形式发送最新达成的合约集合到全网

 

 


  • 9
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
区块链智能合约是一种基于区块链技术的智能化合约,它通过编写智能合约代码,实现了自动化执行、验证和执行合约条件的功能。区块链智能合约具有去中心化、透明、安全等特点,可以用于各种领域的应用。 DApp(去中心化应用)是构建在区块链上的应用程序,与传统的中心化应用不同,DApp使用智能合约来管理和执行应用逻辑,数据存储在区块链上,确保信息的可靠性和安全性。 实战电子版指的是对区块链智能合约与DApp应用进行实际操作和开发的电子版本。通过实战电子版,用户可以学习如何编写智能合约代码,了解区块链技术的应用场景,以及如何开发DApp应用。 实战电子版可以提供一系列的案例和示例代码,提供操作指南和开发工具,帮助用户深入理解区块链智能合约与DApp应用的原理和使用方法。用户可以通过实践和模拟操作来学习,并将所学知识应用到实际的区块链项目中。 通过实战电子版,用户可以学习到智能合约的编写和部署、DApp应用的开发和测试、区块链节点的搭建和管理等相关知识。同时,实战电子版还可以提供实时更新和维护,以适应区块链技术的不断发展和更新。 总而言之,区块链智能合约与DApp应用实战电子版是一种通过实践和模拟操作来学习和探索区块链技术的电子学习资源,对于理解、应用和开发区块链相关项目具有重要意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值