logo好方法网

一种区块链数据量证明共识协议


技术摘要:
本发明公开了一种区块链数据量证明共识协议,该算法基于分布式名誉管理系统,数据买卖双方在交易完成后进行互相评价,评价会被计算成信用值并计录在区块链上,任何人都无法进行篡改。本发明中的数据量证明(Proof of Data,PoD)共识协议根据用户的信用值动态调整用户挖矿  全部
背景技术:
近年来,以比特币为主的数字加密货币的诞生将区块链技术推向公众的视野。作 为数字加密货币的底层技术,区块链凭借其去中心化、不可篡改、可溯源等特性成为人们持 续关注和研究的重点。未来,区块链技术将广泛应用于数据存储、数据鉴证、金融交易、资产 管理、选举投票等领域。 作为区块链技术的重要组成部分,共识算法近年来也成为人们学习和研究的重 点。近年来,在公有链、私有链和联盟链上,各种共识算法层出不穷,也不断暴露出相应的问 题。其中,工作量证明(Proof  of  Work,PoW),极大的浪费资源,共识达成的效率较低,而且 容易形成算力垄断。权益证明(Proof  of  Stake,PoS) ,虽然在PoW的基础上得以改进,但是 拥有大部分权益的少数股东控制了记账权,不利于系统的发展。代理股权证明(Delegated  Proof  of  Stake,DPoS)虽然通过选举代理人将股权与挖矿权进行了分离,但是很难保证节 点被选中后不进行作弊行为。实用拜占庭容错(Practical  Byzantine  Fault  Tolerance, PBFT)基于传统的拜占庭容错进行改进,性能良好,但是却只能容忍最多33%的不诚实节 点,稳定性较差。 因此,设计出一种能兼顾系统效率与安全性的共识算法是本领域技术人员亟需解 决的问题。
技术实现要素:
有鉴于此,本发明针对去中心化的数据收集、存储、交易网络,提供了一种区块链 数据量证明共识协议,该数据量证明(Proof  of  Data ,PoD)共识算法根据用户在社区中的 信用值动态调整用户的挖矿难度,信用值越高的用户越容易解出挖矿难题,获得挖矿奖励; 一定程度上减少了算力资源的消耗,缩短了达成共识的时间,提高了系统的性能。 为了实现上述目的,本发明采用如下技术方案: 一种区块链数据量证明共识协议,具体步骤如下: A.建立名誉系统,根据用户的交易记录和在社区之间的互动计算信用值,并将用 户的信用值存储在区块链上; B.在数据量证明共识算法的框架下进行挖矿,挖矿难度与用户的信用值成反比; 且所述挖矿过程的具体公式为: 公式(1)中,nonce为随机数,pre_hash为前一区块的哈希值,merkel_root为当前 区块要打包的所有交易的梅克尔树根哈希值,D为当前全网平均挖矿的难度值,i为记账旷 工的索引,Ti为所述记账矿工的信用值,λ为用来保证归一化关系的系数。 4 CN 111582864 A 说 明 书 2/6 页 优选的,所述归一化关系为: 优选的,步骤A具体流程如下: A1 .数据交易前,所述名誉系统对用户均进行信用评级;其中,用户包括生产者和 消费者; A2.数据交易完成后,实施反馈机制:所述消费者对所述生产者进行评价,所述生 产者收到评价反馈后,对消费者进行评价,所述消费者和所述生产者分别对评价进行签名, 附带在交易中,矿工对交易的合法性进行验证,通过挖矿达成分布式共识,将附带反馈信息 的交易添加到新区块中,其他节点同步更新区块,使得反馈信息永久存储至区块链上,并计 算成用户信用值。 优选的,所述反馈机制的具体流程如下: A21.所述消费者通过所述名誉系统向所述生产者提交所需服务的购买订单,所述 生产者接收到所述购买订单后向所述消费者提出付款请求,所述消费者完成付款; A22.付款完成后,所述消费者被允许使用服务; A23.所述生产者对本次交易签署凭证,并将所述凭证发送给所述消费者请求联合 签名; A24.若所述消费者对所述生产者提供的服务满意,并且愿意留下积极的反馈,则 进行联合签名,完成所述凭证; 若所述消费者对所述生产者提供的服务不满意或不愿意留下积极的反馈,则无需 对凭证进行签名,直接结束交易; A25.每次交易后用户获得的评价会进行累计,形成用户的信用值。 采用上述技术方案的有益效果为: 有效解决了当前的区块链技术中其他共识算法中所存在的诚信问题,提高了挖矿 系统的稳定性。 优选的,所述步骤B中的所述挖矿的过程是运行哈希计算; 所述记账矿工不断尝试寻找一个临时随机数,将所述临时随机数、前一区块的哈 希值、以及当前区块所有的交易连接起来,组成一整串字符,所述字符经过哈希函数的输出 值落在目标区间内,则所述当前区块满足条件,挖矿成功。 优选的,用户的挖矿难度值由 决定; 其中,用户的信用值越高,所述 值越低,用户挖矿难度越低,越容易解出计算 难题,赢得区块奖励;反之则难度越高,难以解出计算难题; 每生成一个区块,当前区块中则包括区块链平台对提供优质数据的数据矿工的奖 励发放交易,采用数据矿工的数据信用值Tj作为奖励发放的权重。 采用上述技术方案的有益效果为: 通过用户信用值来降低用户挖矿难度,减少了达成共识所需的算力消耗,缩短了 系统达成共识的时间,提升了系统性能。与此同时,通过挖矿奖励激励的方式,用户会选择 更加诚实的在网络上行事,以提高自己的信用值,降低自己挖矿难度,获得更多的挖矿奖 励;发放奖励则能进一步激励节点提供优质数据给平台,而采用数据矿工的数据信用值Tj 5 CN 111582864 A 说 明 书 3/6 页 作为奖励发放的权重,则有效防止了节点上传垃圾或者地质数据。 优选的,所述奖励的具体算法如下: 每21个区块时间为一个数据奖励时间段;在每个所述数据奖励时间段内,将所有 向所述区块链平台注册新数据的数据矿工集合记为SD; 在所述数据奖励时间段内的最后一个区块中对数据矿工发放数据挖矿奖励;数据 矿工将获得的数据挖矿奖励计算方式为: 公式(3)中,j为数据矿工的索引,rD[j]为第j个数据矿工获得的数据挖矿奖励,gD 为每个数据矿工在当前数据奖励时间段内能够得到奖励的上限,RD为计划将要在当前数据 奖励时间段内发放数据奖励的总额最大值,Tj为信用值。 优选的,当Tj≤0时,用户无法立即获得数据挖矿奖励; 若Tj>0时,用户得到的奖励为: 采用上述技术方案的有益效果为: 有效防止了新用户制造大量垃圾数据以骗取奖励,同时也有效防止了信用值过低 的用户继续在平台上进行低质量的交易。 优选的,每个数据矿工在所述数据奖励时间段内能够得到奖励的上限为gD; 当 时,未发放的奖励自动回到所述区块链平台,等待将来发放。 采用上述技术方案的有益效果为: 进一步防止了占有很大数据信用值权重的单一节点独占大部分奖励,同时防止在 该时间段内数据矿工数目较少时少数节点获得大量奖励。 经由上述的技术方案可知,与现有技术相比,为了兼顾系统效率与安全性,本发明 公开提供了一种区块链数据量证明共识协议,该共识算法为基于用户信用值的数据量证明 (Proof  of  Data)共识算法,首先建立一套完整的名誉系统,根据用户在社区中的行为表 现,计算出其相应的信用值,PoD共识算法会根据用户的信用值来动态调整用户挖矿的难 度,使得拥有较高信用值的用户更加容易获得记账权,赢得挖矿奖励。因为用户的信用值记 录在区块链上,公开透明,任何人都无法进行篡改,所以用户只能选择在网络中诚实行事, 以获得更高的信用值,来赢得更多的挖矿奖励。PoD共识算法巧妙地将用户评价机制放在每 笔交易之后进行,避免了为了选出诚实的节点而再次进行全网投票,提升了网络的效率。通 过用户的信用值来动态调整用户的挖矿难度,在一定程度上降低了节点挖矿的算力消耗, 缩短了系统达成共识的时间,提高了系统效率。此外,由于用户的信用值无法形成垄断,只 能通过他人的评价获得,一定程度上避免了算力和权益的集中化形成的垄断,促进系统良 性可持续发展。 6 CN 111582864 A 说 明 书 4/6 页 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。 图1附图为本发明提供的名誉系统的流程示意图; 图2附图为本发明提供的反馈机制工作流程示意图。
分享到:
收藏