[发明专利]一种区块链构造方法有效
申请号: | 201910033675.9 | 申请日: | 2019-01-15 |
公开(公告)号: | CN109859044B | 公开(公告)日: | 2022-12-27 |
发明(设计)人: | 田海博;刘鲁 | 申请(专利权)人: | 中山大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06Q20/38 |
代理公司: | 广州市深研专利事务所(普通合伙) 44229 | 代理人: | 陈雅平 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于有向无环图和权益证明的区块链构造方法,涉及客户端、区块链节点两类逻辑主体。区块链节点把时间划分为不同的世代,在每个世代的开始根据节点权益等信息确定该世代的区块链节点列表,客户端节点通过分布式应用DAPP产生应用消息,封装为净交易NT,并通过网络发送给多个区块链节点;之后区块链节点接收NT,封装为区块链交易BT,并通过网络发给其它区块链节点,当区块链节点接收到BT,形成有向无环图,更新不稳定NT的权重证明,当权重证明超过权重门限后,NT稳定,区块链节点通过合约执行稳定NT所含应用消息,更新NT所属账户的状态。该发明能够并行的确认交易,具有较好的安全性和效率。 | ||
搜索关键词: | 一种 区块 构造 方法 | ||
【主权项】:
1.一种区块链构造方法,包括客户端节点、区块链节点两类逻辑节点,所述区块链节点划分为三类:用于发出区块链交易BT的活动区块链节点、不发出区块链交易BT但准备成为活动区块链节点的准区块链节点、和不发出区块链交易也不准备成为活动区块链节点的静默区块链节点;其中,客户端节点包含网络模块、净交易NT模块和分布式应用DAPP模块;区块链节点包含网络模块、NT/BT模块、节点管理模块、合约模块、状态数据库模块、交易数据库/缓存模块;所述网络模块完成网络通信的功能;所述NT模块封装DAPP的应用消息、生成NT;所述DAPP模块提供面向用户的应用;所述净交易NT是客户端节点向区块链节点发送的内容,至少包括应用消息、预付权益数、NT的生成时间、客户端节点的计数器、客户端节点的公钥、客户端的数字签名等;所述状态数据库模块用于存储所有账户的权益、计数器等状态;所述NT/BT模块用于解析并封装NT、生成BT;所述区块链交易BT是一个活动区块链节点向其它区块链节点发出的内容,至少包括NT、2个或多个其它BT的哈希值、该区块链节点的公钥、区块链交易的生成时间,该区块链节点的计数器,该区块链节点的数字签名等;所述节点管理模块用于改变区块链节点的类别,从静默区块链节点成为准区块链节点,从准区块链节点成为活动区块链节点;合约模块用于执行净交易及其中的应用消息,改变状态数据库中账户的内容;合约变量是在区块链节点的合约模块使用的参数;所述交易数据库/缓存模块用于缓存BT和存储BT;所述方法包含如下步骤:S1)区块链节点把时间按照时间周期T划分为不同的时间段,每个时间段称为世代,T是一个大于0的实数;把最开始的时间段作为第一个世代,称为世代0;接下来的第二个世代称为世代1,以此类推;第i+1个世代表示为世代i,i为大于等于1的正整数;在每个世代开始的时间点确定该世代的所有活动区块链节点并形成该世代的活动区块链节点列表,每个世代的活动区块链节点列表的长度有固定的上限NC,所述NC表示一个正整数;区块链节点还在除第一个世代外的每个世代开始的时间点确定该世代之前形成的状态数据库的默克尔根;S2)客户端节点通过DAPP产生应用消息,并通过NT封装应用消息,发送NT给多个当前世代的活动区块链节点;当前世代的活动区块链节点接收NT,判断NT的合法性;如果合法就封装为BT,插入本地的交易数据库,并经由网络发给当前其它区块链节点;S3)区块链节点接收BT,验证BT的合法性,验证不通过放弃处理该BT;否则通过交易数据库和缓存形成区块链交易的有向无环图,采用发送BT的区块链节点的权重来更新其包含的不稳定NT和其直接、间接引用的BT所包含的不稳定NT的权重证明;当权重证明超过权重门限后,NT稳定;S4)区块链节点通过合约模块执行稳定的NT,更新该NT所含公钥对应账户的状态,更新根据合约代码授权更改的账户状态。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910033675.9/,转载请声明来源钻瓜专利网。