CN113783697A - 一种基于委托的数据广播服务证明共识协议应用方法 - Google Patents
一种基于委托的数据广播服务证明共识协议应用方法 Download PDFInfo
- Publication number
- CN113783697A CN113783697A CN202110951748.XA CN202110951748A CN113783697A CN 113783697 A CN113783697 A CN 113783697A CN 202110951748 A CN202110951748 A CN 202110951748A CN 113783697 A CN113783697 A CN 113783697A
- Authority
- CN
- China
- Prior art keywords
- node
- transaction
- nodes
- service
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012546 transfer Methods 0.000 claims abstract description 34
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims abstract description 4
- 239000012634 fragment Substances 0.000 claims description 36
- 230000007246 mechanism Effects 0.000 claims description 15
- 238000010276 construction Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000005065 mining Methods 0.000 claims description 4
- 238000005192 partition Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000009414 blockwork Methods 0.000 claims 1
- 238000013519 translation Methods 0.000 claims 1
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 5
- 239000003999 initiator Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000008733 trauma Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于委托的数据广播服务证明共识协议应用方法,包括:区块链共识初始化步骤;数据传播服务步骤;通证转账和服务证明交易转换步骤;选举被委托节点步骤;委托节点构造创块交易发放奖励步骤;委托节点构造新区块步骤;委托节点区块共识步骤。与现有的基于区块链的共识协议相比,本申请通过奖励(虚拟通证)激励用户进行数据传播,可以有效的促进网络中各个节点参与数据传播服务从而提高消息的传播范围以及影响力;提出的共识协议可以减少传统区块链共识协议如工作量证明协议等的资源浪费问题;进一步提供数据的传播范围以及影响力;且不依赖任何金融机构,减少因存在第三方带来的信任问题。
Description
技术领域
本申请涉及网络空间安全技术领域,尤其涉及一种基于委托的数据广播服务证明共识协议应用方法。
背景技术
随着互联网技术的快速发展,越来越多的设备开始接入互联网中,广告以及路况情况等等用于提高服务质量的消息如何在传播的范围尽可能多是目前亟需解决的一个问题涉及的场景包括但不限于自动驾驶、广告广播等。但由于在数据传播中需要消耗一定的通信资源,包括网络带宽和存储资源等,使得网络中的节点缺乏动力参与数据传输服务。一些节点甚至为了节省通信资源的成本,会试图丢弃分配给它的消息。例如,在自动驾驶的场景中,如果车辆等具有通信能力的移动设备不及时的传播其他设备共享的路况信息,就可能导致由于缺乏及时路况消息,导致车辆作出错误的操作从而发生严重的事故。
为了解决上述问题,迫切需要一个有效的激励机制,一些方案提出了基于信誉的解决方案,在网络中引入一个可信的机构,根据节点的行为确立其信誉值从而确定每个节点提供消息传递服务时可获得的奖励。基于信誉的解决方案的一个缺点是,中心化的可信机构可能会受到单点故障的影响。在中心化的可信机构的情况下,也有一些方案提出在区块链上建立了激励机制,提供了一个分布式的解决方案。然而,PoW(Proofof-Work)中的传统激励方案不适合数据传输的场景,因为POW需要参与者消耗大量的计算资源到挖矿工作中,而往往参与数据传递的节点缺乏计算能力。
因此,目前迫切需要一个不仅能减少计算资源的浪费,而且能激励资源有限的节点参与消息传递时的方法。
发明内容
本申请提供一种基于委托的数据广播服务证明共识协议应用方法,以解决现有技术中计算资源被浪费、节点缺乏计算能力的问题。
为解决上述技术问题,本申请提出一种基于委托的数据广播服务证明共识协议应用方法,包括:区块链共识初始化步骤:区块链的参与节点分为服务器节点、消息认证机构以及轻量级客户端节点;其中,轻量级客户端节点以及服务器节点进入区块链系统前需要向消息认证机构注册其身份,申请一对用于区块链交易的公钥和私钥;同时,根据节点注册的物理地址将其划分为不同的分片,在初始化节点每一分片还需随机选举出负责第一轮新区块生成的共识节点列表;其中上一轮的共识节点列表中的最后一个节点负责更新下一轮的共识节点列表;数据传播服务步骤:轻量级客户端获取到待发送的消息后,轻量级客户端对待发送消息进行签名构建,并向附近的其他节点一对一发送签名构造消息,其他节点接收到签名构造消息后验证签名构造消息是否有效;当签名构造消息有效时,其他节点则回发响应消息;通证转账和服务证明交易转换步骤:提供数据传播服务后,需要通过构造服务证明交易将数据传播服务转换为服务证明,其中服务证明用于在节点所属分片中使用;同时,节点利用转账交易将虚拟通证转发至其他节点,如果交易双方来自不同分区,则交易的处理由接收方所属分区进行处理;选举被委托节点步骤:轻量级客户端节点选举某一服务器节点作为被委托者替代轻量级客户端节点参与区块链共识,轻量级客户端节点以获得的服务证明交易作为输入构造投票交易,投票交易输出为所选择的服务器节点的公钥;委托节点构造创块交易发放奖励步骤:以委托节点的投票交易作为输入构造创块交易,并根据各个节点委托给其的服务证明交易来构造创块交易,其输出将创币奖励按比例发放给各个委托节点;委托节点构造新区块步骤:被委托节点按照上一轮区块的共识节点列表生成新的区块,打包属于同一分片的未处理交易以及创块交易;若此时被委托节点是共识节点列表中的最后一个节点,则负责计算本轮新打包的投票交易;根据投票交易计算被委托节点的权值,按照权值高低排序选择前k个权值对应的节点为下一轮的共识节点列表,其中,k为预设常数;委托节点区块共识步骤:广播新生成的区块给同一分片中的其他服务器节点,共识节点列表中的其他节点收到新区块后需要对区块进行签名并广播签名消息,获得超过共识节点列表中三分之二节点确认的区块才被加入到区块链中。
可选地,区块链共识初始化步骤,包括:服务器节点包括通信资源、计算资源以及存储资源,能够完整存储区块链的数据,并存储有网络中传播的各类消息,服务器节点之间定期的同步区块链数据,并且根据委托方的委托与其他服务器节点竞争挖矿权;服务器节点进入区块链系统前,先向消息认证机构提交其物理地址以及其公钥;轻量级客户端节点通过接受和转发消息来提供数据传播服务,并通过区块链的服务交易证明将其提供的服务转换为服务证明,并且作为委托方利用投票交易将其委托服务证明委托给服务器节点,并且作为委托方利用投票交易将其委托服务证明委托给服务器节点,由服务器节点代替其参与区块链共识获得奖励,同时还能够进行虚拟通证的交易;轻量级客户端节进入区块链系统前,先向消息认证机构提交其物理地址以及其公钥;消息认证机构负责对进入区块链的节点的公钥进行认证并颁发证书,将进去区块链的节点划分到不同的分片中,同时,从不同的分片中随机选取一定数量的节点作为负责第一轮新区块生成的共识节点列表。
可选地,数据传播服务步骤,包括:轻量级客户端节点将需要传播的消息通过网络发送给周围的实体,节点将签名构造信息转发至其他节点,首先需要用其密钥在传递消息的上构造签名;接受到其他节点发送过来的消息后,节点需要使用发送方提供的公钥进行验证,若验证通过则回复相应的响应消息证明接受到发送方发送的消息;同时,接受到新消息后,节点能够将新消息传播给其他节点以提供数据传播服务。
可选地,通证转账和服务证明交易转换步骤,包括:轻量级客户端节点将其获得的签名构造信息对应的响应消息绑定,用其私钥进行签名作为输入,轻量级客户端对应的公钥作为交易的输出,构造服务证明交易;轻量级客户端节点进行通证转账,获得虚拟通证后能够通过转账交易花费通证;转账接收方接收到转账交易后能够以交易作为输入继续构造转账交易进行花费。
可选地,选举被委托节点步骤,包括:轻量级客户端节点构造投票交易将服务证明交易委托给其选定的属于相同分片的服务器节点,投票交易的输入为未使用的服务证明交易,输出为服务器节点的公钥,投票交易的票值Votei按以下公式计算:Votei=BM*a+FM*b其中,i表示轻量级客户端节点,BM表示未使用的服务证明交易所包含的广播消息的数量,FM表示未使用的服务证明交易所包含的传递消息的数量,a代表BM消息的权重取值,为0-1;b代表FM消息的计算权重取值,为0-1。
可选地,委托节点构造创块交易发放奖励步骤,包括:服务器节点以未花费的投票交易作为创币交易的输入,根据所有作为输入的未花费投票交易的权值,其中权值Vote计算公式如下:Vote=∑iVoteij其中,Voteij表示轻量级客户端节点i投票给服务器节点j的权值;根据权值为交易对应的投票的轻量级客户端节点发放奖励。
可选地,委托节点构造新区块步骤,包括:打包为处理的交易,其中交易类型包括转账交易、投票交易和服务证明交易;验证交易是否正确;若此时负责生成区块的节点是共识节点列表中的最后一个节点,统计投票交易并计算出每个服务器获得的票值,并按照票值从高到低排列每个分片内的服务器节点,按照票值选取一定数量的服务器节点作为下一轮的共识节点列表;产生新的区块。
可选地,委托节点区块共识步骤,包括:服务器生成新区块后将其广播给同一分片中的共识节点列表中的服务器节点验证交易,其他节点接收到区块后检查;辅助生成区块的服务器接收到三分之二的共识节点列表中的服务器节点的确认后,将其他节点的签名加上新区块广播给同一分片中的其他节点,节点收到区块后检查。
为解决上述技术问题,本申请提出一种电子设备,包括存储器和处理器,存储器连接处理器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述的方法。
为解决上述技术问题,本申请提出一种计算机可读存储介质,存储有计算机程序,计算机程序被执行时实现上述的方法。
本申请相对于现有技术具有如下的优点及效果:
(1)通过设计的方法可以有效的促进网络中各个节点参与数据传播服务从而提高消息的传播范围以及影响力;
(2)通过提出的共识协议可以减少传统区块链共识协议如工作量证明协议等的资源浪费问题。本申请基于服务证明(Proof of Services)的共识协议,有效降低资源消耗的同时,构建一种可激励用户积极参与数据传播服务的机制;
(3)本申请提出的委托机制可以激励计算能力以及存储能力不足的节点也积极参与数据传播服务,进一步提供数据的传播范围以及影响力;
(4)本申请所设计的激励机制是去中心化的激励机制无需通过可信第三方对奖励进行分发,不依赖任何金融机构,减少因存在第三方带来的信任问题;
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请基于委托的数据广播服务证明共识协议应用方法一实施例的流程示意图;
图2是本申请基于委托的数据广播服务证明共识协议应用方法一实施例的应用示意图;
图3是本申请基于委托的数据广播服务证明共识协议应用方法一实施例的消息传播流程图;
图4是本申请电子设备一实施例的结构示意图;
图5是本申请计算机可读存储介质一实施例的结构示意图;
具体实施方式
为使本领域的技术人员更好地理解本申请的技术方案,下面结合附图和具体实施方式对本申请所提供一种基于委托的数据广播服务证明共识协议应用方法进一步详细描述。
本申请提供一种基于委托的数据广播服务证明共识协议应用方法,服务证明表示节点参与传播一次消息并获得接收方回复被称为提供一次服务证明。客户端节点拥有的服务证明越多获得的奖励的概率越大并且获得的奖励越多,服务端节点获得的委托证明越多其获得区块生成权的概率越大。
请参阅图1-图3,图1是本申请基于委托的数据广播服务证明共识协议应用方法一实施例的流程示意图,图2是本申请基于委托的数据广播服务证明共识协议应用方法一实施例的应用示意图;图3是本申请基于委托的数据广播服务证明共识协议应用方法一实施例的消息传播流程图。
在本实施例中,具体可以包括步骤S1~S7,如下:
S1:区块链共识初始化步骤。
区块链的参与节点分为三类:服务器节点、消息认证机构TA、以及轻量级客户端节点,轻量级客户端节点以及服务器节点进入区块链系统前需要向TA注册其身份申请一对用于区块链交易的公私钥(pk,sk)。同时,根据节点注册的物理地址将其划分为不同的分片(shard1,shard2,....,shardn),在初始化节点每一分片还需随机选举出负责第一轮新区块生成的共识节点列表list1,list2,…,listn,共识节点列表中的最后一个节点负责更新下一轮的共识节点列表。
服务器节点,拥有较大的计算机资源包括通信资源、计算资源以及存储资源,可以完整存储区块链的数据,并存储在网络中传播的各类消息,服务器节点之间定期的同步区块链数据,并且根据委托方的委托与其他服务器节点竞争挖矿权,服务器节点进入区块链系统前,先向消息认证机构TA提交其物理地址locates,其公钥pks。
轻量级客户端节点指网络中的手机、电脑、以及各种类型的低计算能力的智能设备,该类节点通过接受和转发消息来提供数据传播服务,并且通过区块链的服务证明交易将其提供的服务转换为服务证明,并且作为委托方利用投票交易将其委托服务证明委托给服务器节点,由服务器节点代替其参与区块链共识获得奖励,同时还可以通过转账交易等进行虚拟通证的交易;轻量级客户端节点节点进入区块链系统前,先向消息认证机构TA提交其物理地址locateC,其公钥pks。
消息认证机构TA,负责对进入区块链的节点的公钥进行认证并颁发证书,将进去区块链的节点划分到不同的分片中,同时,从不同的分片中随机选取一定数量的节点作为负责第一轮新区块生成的共识节点列表list1,list2,…,listn,具体各功能函数如下:
1)GEN(Vsk,pk)→C:使用主密钥和参与节点的公钥,生成参与节点的认证证书C;因此C也可以代表参与了的节点;
2)DIST(locate,pk)→shardid:根据节点提供的物理位置将节点分到shardid分片;
S2:数据传播服务步骤。
轻量级客户端获取到待发送的消息M后,客户端对消息进行签名构造(FM,ForwardMessage),向附近的其他节点一对一发送消息FM,其他节点收到消息后验证消息是否有效,如果有效则回发响应消息(ACK,AcknowledgeMessage),具体为:
S201,轻量级客户端节点将需要传播的消息通过网络发送给周围的实体。节点构造FM转发消息给其他节点,首先需要用其密钥skC在传递消息FM上签名,
S202,接受到其他节点C2发送过来的消息后,节点需要使用发送方提供的公钥进行验证,若验证通过回复相应的ACK证明接受到发送方发送的消息,响应消息形式如下:
同时,接受到新消息后,节点也可以采用与S201相同的方式将消息进一步的传播给其他节点以提供数据传播服务。
其中,步骤S201~步骤S202可参照图3,在图3中,Message M即待发送的消息,Response是响应消息。
S3:通证转账和服务证明交易转换步骤。
提供数据传播服务后,需要通过构造服务证明交易(SPV,ServiceProvingTransaction)将数据传播服务转换为服务证明,服务证明只可以在节点所属分片中使用。同时,节点可以利用转账交易(Trans,TransferTransaction)将虚拟通证转发给其他节点如果交易双方来自不同分片,则该转账交易的处理交给接收方所属分片进行处理的,具体为:
S301,数据传输服务转换为服务证明,轻量级客户端节点C通过服务证明交易将提供的传输服务转换为服务证明,即将其获得的FM对应的ACK绑定用其私钥进行签名作为输入,轻量级客户端对应的公钥作为交易的输出,构造服务证明交易SPV,如下:
Input:{(FM1,ACK1),…,(FMk,ACKk)}
Output:pkc
S302,轻量级客户端节点进行通证转账,获得虚拟通证后后可以通过转账交易花费该通证,即以未花费的转账交易作为输入,以要转账对象的公钥作为输出进行花费;转账接收方接收到转账交易后可以以该交易作为输入继续构造转账交易进行花费,特别地,转账交易的接受方属于shardi和交易的发起方shardj,即不属于同一个分片时,这类交易属于跨分片交易,处理该类交易的分片由交易接受方所属的分片决定,即如果转账交易的输出属于shardi,那么将该交易发给shardi对应的服务器节点进行打包。在打包跨分片交易时,shardi对应的服务器节点需要与shardj分片的服务器节点进行通信,获得对应分片三分之二的节点的签名{σ1,…,σk}认证输入的交易确实为未花费交易才可以将该笔交易打包;
S4:选举被委托节点步骤。
轻量级客户端节点选举某一服务器节点作为被委托者替代轻量级客户端节点参与区块链共识。轻量级客户端节点以获得的SPV作为输入构造投票交易(Vote,VoteTransaction),Vote输出为所选择的服务器节点的公钥地址(pk),具体为:
轻量级客户端节点将其服务证明委托给服务器节点:轻量级客户端节点C构造投票交易将服务证明SPV委托给其选定的属于相同分片的服务器节点S,投票交易的输入为未使用的服务证明交易SPV,输出为服务器节点的公钥地址pks,投票交易的票值按以下公式计算:
Votei=BM*a+FM*b
其中,i表示轻量级客户端节点,BM(Broadcasting Message)表示未使用的服务证明交易所包含的广播消息的数量,FM表示未使用的服务证明交易所包含的传递消息的数量,a代表BM消息的权重取值(0-1),b代表FM消息的计算权重取值(0-1)。
S5:委托节点构造创块交易发放奖励步骤。
以委托节点的投票交易作为输入构造创块交易(Cons,CoinserviceTransaction),并且根据各个节点委托给其的服务证明交易(SPV)来构造创块交易的输出将创币奖励按比例发放给各个委托节点,具体为:
S501、服务器节点构造创币交易输入:服务器节点Sj以未花费的投票交易作为创币交易的输入,根据所有作为输入的未花费投票交易的权值,其中权值计算公式如下:
其中,Voteij表示轻量级客户端节点i投票给服务器节点j的权值
S502、构造创币交易输出发放服务奖励:根据每个投票的权值为投票交易对应的投票的轻量级客户端节点发放奖励,即投票交易输出为投票的轻量级客户端节点的公钥地址pki,每个pki可获得的奖励reward如下:
rewardi=Voteij/vote
S6:委托节点构造新区块步骤。
被委托节点按照上一轮区块共识产生的节点顺序list按序负责生成新的区块,打包属于同一分片的未处理的交易TX1,TX2,,…以及创块交易TXcons,如果此时被委托节点是list中的最后一个节点,则负责计算本轮新打包的投票交易,根据投票交易计算被委托节点的权值,按照权值高低排序选择前k个权值对应的节点为下一轮的共识节点更新list,具体为:
S601,打包未处理的交易,交易类型包括SPV、Vote以及Trans,首先验证交易是否正确,包括:
1)SPV:验证交易输入中的所有(FMi,ACKi)对应的数字签名是否有效以及FMi,ACKi是否是两两对应。
2)Vote:验证交易输入的SPV是否是以上链的未花费的交易,输入对应的轻量级客户端节点是否与服务器节点属于同一分片即
pkc.shardid=pkS.shardid。
3)Trans:验证发起方和接收方的pk是否属于同一分片,如果属于不同分片,与发起方对应的分片的服务器节点进行通信,获得对应分片三分之二的节点的签名{σ1,…,σk}证明输入的交易确实未花费,则验证通过。
S602,如果此时负责生成区块的节点是list中的最后一个节点,统计Vote交易计算出每个服务器Sj获得的票值Votej,按票值从高到低排列每个分片内的服务器节点,按照票值选取一定数量的服务器节点作为下一轮的共识节点列表list={pk1,…,pkk};如果此时负责生成区块的节点不是最后一个节点无需更新列表。
S603,产生新的区块如下:
B={Header,hash,timestamp,(TXreward,TX1,TX2,,…),{σ1,…,σk},list},
其中Header={hashpre,vote,count}是区块头包含前一区块的hashpre值以及获得的权值vote以及区块中包含的交易数count,hash表示区块的散列值,timestamp表示当前时间戳,(TX1,TX2,,…)表示区块B包含的交易列表,{σ1,…,σk}表示对跨分片交易的认证。
S7:委托节点区块共识步骤。
广播新生成的区块给同一分片中的其他服务器节点,list中的其他节点收到新区块后需要对区块进行签名并广播签名消息,获得超过list中三分之二节点确认的区块才被加入到区块链中。
S701、服务器生成新区块B后将其广播给同一分片中的list中的服务器节点验证交易,其他节点收到区块后检查,包括:
1)TXcons中输入使用的投票交易是否来自同一个分片并且验证数字签名是否正确;
2)TXcons的输出值是否正确,包括输出地址以及输出的金额;
3)验算Vote值是否计算正确;
4)验证区块中打包的交易是否有效,对于跨分片交易需要验证是否附加对应分片的认证,从而验证区块是否有效;
S702、负责生成区块的服务器收到三分之二的list中的服务器节点的确认后,将其他节点的签名加上新区块B广播给同一分片中的其他节点,节点收到区块后检查,包括:
1)TXcons中输入使用的投票交易是否来自同一个分片并且验证数字签名是否正确;
2)TXcons的输出值是否正确,包括输出地址以及输出的金额;
3)验算Vote值是否计算正确;
4)验证区块中打包的交易是否有效,对于跨分片交易需要验证是否附加对应分片的认证,从而验证区块是否有效;
5)生成区块的节点是否包含在list中并且轮到该节点复杂区块生成;
6)是否附加超过三分之二的同一分片中的list中的服务器节点的确认。如果验证通过,服务器确认该区块有效并将其附加到本地区块链中。
基于上述的一种基于委托的数据广播服务证明共识协议应用方法,本申请还提出一种电子设备,如图4所示,图4是本申请电子设备一实施例的结构示意图。电子设备400可以包括存储器41和处理器42,存储器41连接处理器42,存储器41中存储有计算机程序,计算机程序被处理器42执行时实现上述任一实施例的方法。其步骤和原理在上述方法已详细介绍,在此不再赘述。
在本实施例中,处理器42还可以称为CPU(central processing unit,中央处理单元)。处理器42可以是一种集成电路芯片,具有信号的处理能力。处理器42还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
基于上述的一种基于委托的数据广播服务证明共识协议应用方法,本申请还提出一种计算机可读存储介质。请参阅图5,图5是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质500上存储有计算机程序51,计算机程序51被处理器执行时实现上述任一实施例的方法。其步骤和原理在上述方法已详细介绍,在此不再赘述。
进一步的,计算机可读存储介质500还可以是U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存储器(random access memory,RAM)、磁带或者光盘等各种可以存储程序代码的介质。
可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。文中所使用的步骤编号也仅是为了方便描述,不对作为对步骤执行先后顺序的限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种基于委托的数据广播服务证明共识协议应用方法,其特征在于,包括:
区块链共识初始化步骤:区块链的参与节点分为服务器节点、消息认证机构以及轻量级客户端节点;其中,所述轻量级客户端节点以及所述服务器节点进入区块链系统前需要向所述消息认证机构注册其身份,申请一对用于区块链交易的公钥和私钥;同时,根据节点注册的物理地址将其划分为不同的分片,在初始化节点每一分片还需随机选举出负责第一轮新区块生成的共识节点列表;其中上一轮的共识节点列表中的最后一个节点负责更新下一轮的共识节点列表;
数据传播服务步骤:所述轻量级客户端获取到待发送的消息后,所述轻量级客户端对所述待发送消息进行签名构建,并向附近的其他节点一对一发送签名构造消息,所述其他节点接收到所述签名构造消息后验证所述签名构造消息是否有效;当所述签名构造消息有效时,所述其他节点则回发响应消息;
通证转账和服务证明交易转换步骤:提供所述数据传播服务后,需要通过构造服务证明交易将所述数据传播服务转换为服务证明,其中所述服务证明用于在节点所属分片中使用;同时,所述节点利用转账交易将虚拟通证转发至其他节点,如果交易双方来自不同分区,则所述交易的处理由接收方所属分区进行处理;
选举被委托节点步骤:所述轻量级客户端节点选举某一服务器节点作为被委托者替代轻量级客户端节点参与区块链共识,所述轻量级客户端节点以获得的所述服务证明交易作为输入构造投票交易,所述投票交易输出为所选择的服务器节点的公钥;
委托节点构造创块交易发放奖励步骤:以委托节点的投票交易作为输入构造创块交易,并根据各个节点委托给其的服务证明交易来构造所述创块交易,其输出将创币奖励按比例发放给各个委托节点;
委托节点构造新区块步骤:被委托节点按照上一轮区块的共识节点列表生成新的区块,打包属于同一分片的未处理交易以及创块交易;若此时被委托节点是所述共识节点列表中的最后一个节点,则负责计算本轮新打包的投票交易;根据所述投票交易计算被委托节点的权值,按照所述权值高低排序选择前k个权值对应的节点为下一轮的共识节点列表,其中,k为预设常数;
委托节点区块共识步骤:广播新生成的区块给同一分片中的其他服务器节点,所述共识节点列表中的其他节点收到新区块后需要对区块进行签名并广播签名消息,获得超过所述共识节点列表中三分之二节点确认的区块才被加入到区块链中。
2.根据权利要求1所述的基于委托的数据广播服务证明共识协议应用方法,其特征在于,所述区块链共识初始化步骤,包括:
所述服务器节点包括通信资源、计算资源以及存储资源,能够完整存储区块链的数据,并存储有网络中传播的各类消息,服务器节点之间定期的同步区块链数据,并且根据委托方的委托与其他服务器节点竞争挖矿权;所述服务器节点进入所述区块链系统前,先向所述消息认证机构提交其物理地址以及其公钥;
所述轻量级客户端节点通过接受和转发消息来提供所述数据传播服务,并通过所述区块链的服务交易证明将其提供的服务转换为服务证明,并且作为委托方利用所述投票交易将其委托服务证明委托给所述服务器节点,并且作为委托方利用所述投票交易将其委托服务证明委托给服务器节点,由所述服务器节点代替其参与区块链共识获得奖励,同时还能够进行虚拟通证的交易;所述轻量级客户端节进入所述区块链系统前,先向所述消息认证机构提交其物理地址以及其公钥;
所述消息认证机构负责对进入区块链的节点的公钥进行认证并颁发证书,将进去区块链的节点划分到不同的分片中,同时,从不同的分片中随机选取一定数量的节点作为负责第一轮新区块生成的共识节点列表。
3.根据权利要求2所述的基于委托的数据广播服务证明共识协议应用方法,其特征在于,所述数据传播服务步骤,包括:
所述轻量级客户端节点将需要传播的消息通过网络发送给周围的实体,节点将签名构造信息转发至其他节点,首先需要用其密钥在传递消息的上构造签名;
接受到其他节点发送过来的消息后,节点需要使用发送方提供的公钥进行验证,若验证通过则回复相应的响应消息证明接受到所述发送方发送的消息;
同时,接受到新消息后,节点能够将所述新消息传播给其他节点以提供所述数据传播服务。
4.根据权利要求3所述的基于委托的数据广播服务证明共识协议应用方法,其特征在于,所述通证转账和服务证明交易转换步骤,包括:
所述轻量级客户端节点将其获得的签名构造信息对应的响应消息绑定,用其私钥进行签名作为输入,所述轻量级客户端对应的公钥作为交易的输出,构造所述服务证明交易;
所述轻量级客户端节点进行通证转账,获得虚拟通证后能够通过转账交易花费所述通证;转账接收方接收到转账交易后能够以所述交易作为输入继续构造转账交易进行花费。
5.根据权利要求4所述的基于委托的数据广播服务证明共识协议应用方法,其特征在于,所述选举被委托节点步骤,包括:
所述轻量级客户端节点构造投票交易将服务证明交易委托给其选定的属于相同分片的服务器节点,投票交易的输入为未使用的服务证明交易,输出为所述服务器节点的公钥,投票交易的票值Votei按以下公式计算:
Votei=BM*a+FM*b
其中,i表示轻量级客户端节点,BM表示未使用的服务证明交易所包含的广播消息的数量,FM表示未使用的服务证明交易所包含的传递消息的数量,a代表BM消息的权重取值,为0-1;b代表FM消息的计算权重取值,为0-1。
7.根据权利要求6所述的基于委托的数据广播服务证明共识协议应用方法,其特征在于,所述委托节点构造新区块步骤,包括:
打包为处理的交易,其中所述交易类型包括所述转账交易、所述投票交易和服务证明交易;验证所述交易是否正确;
若此时负责生成区块的节点是所述共识节点列表中的最后一个节点,统计投票交易并计算出每个服务器获得的票值,并按照票值从高到低排列每个分片内的服务器节点,按照所述票值选取一定数量的服务器节点作为下一轮的共识节点列表;
产生新的区块。
8.根据权利要求7所述的基于委托的数据广播服务证明共识协议应用方法,其特征在于,所述委托节点区块共识步骤,包括:
服务器生成新区块后将其广播给同一分片中的共识节点列表中的服务器节点验证交易,其他节点接收到区块后检查;
辅助生成区块的服务器接收到三分之二的共识节点列表中的服务器节点的确认后,将其他节点的签名加上新区块广播给同一分片中的其他节点,节点收到区块后检查。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器连接所述处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110951748.XA CN113783697B (zh) | 2021-08-18 | 2021-08-18 | 一种基于委托的数据广播服务证明共识协议应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110951748.XA CN113783697B (zh) | 2021-08-18 | 2021-08-18 | 一种基于委托的数据广播服务证明共识协议应用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113783697A true CN113783697A (zh) | 2021-12-10 |
CN113783697B CN113783697B (zh) | 2022-07-29 |
Family
ID=78838308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110951748.XA Active CN113783697B (zh) | 2021-08-18 | 2021-08-18 | 一种基于委托的数据广播服务证明共识协议应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113783697B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710507A (zh) * | 2022-03-30 | 2022-07-05 | 蚂蚁区块链科技(上海)有限公司 | 一种共识方法和区块链节点 |
CN114928473A (zh) * | 2022-04-22 | 2022-08-19 | 北京航空航天大学 | 适应交易量动态变化的异步共识方法及系统 |
CN115766017A (zh) * | 2022-09-27 | 2023-03-07 | 国网天津市电力公司 | 一种基于权益证明的电力区块链云端部署方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109275122A (zh) * | 2018-08-03 | 2019-01-25 | 暨南大学 | 一种基于服务证明的共识协议设计及其车联网应用方法 |
US20190073666A1 (en) * | 2016-02-12 | 2019-03-07 | Royal Bank Of Canada | Methods and systems for digital reward processing |
US20200090207A1 (en) * | 2018-09-14 | 2020-03-19 | Hewlett Packard Enterprise Development Lp | Rewards for custom data transmissions |
CN111510502A (zh) * | 2020-04-28 | 2020-08-07 | 吉林科创电力有限公司 | 一种基于动态信誉值的pbft共识传播优化方法 |
-
2021
- 2021-08-18 CN CN202110951748.XA patent/CN113783697B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190073666A1 (en) * | 2016-02-12 | 2019-03-07 | Royal Bank Of Canada | Methods and systems for digital reward processing |
CN109275122A (zh) * | 2018-08-03 | 2019-01-25 | 暨南大学 | 一种基于服务证明的共识协议设计及其车联网应用方法 |
US20200090207A1 (en) * | 2018-09-14 | 2020-03-19 | Hewlett Packard Enterprise Development Lp | Rewards for custom data transmissions |
CN111510502A (zh) * | 2020-04-28 | 2020-08-07 | 吉林科创电力有限公司 | 一种基于动态信誉值的pbft共识传播优化方法 |
Non-Patent Citations (1)
Title |
---|
蔡婷 等: "区块链赋能的高效物联网数据激励共享方案", 《软件学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114710507A (zh) * | 2022-03-30 | 2022-07-05 | 蚂蚁区块链科技(上海)有限公司 | 一种共识方法和区块链节点 |
CN114710507B (zh) * | 2022-03-30 | 2023-10-27 | 蚂蚁区块链科技(上海)有限公司 | 一种共识方法、区块链节点、介质和共识节点 |
CN114928473A (zh) * | 2022-04-22 | 2022-08-19 | 北京航空航天大学 | 适应交易量动态变化的异步共识方法及系统 |
CN115766017A (zh) * | 2022-09-27 | 2023-03-07 | 国网天津市电力公司 | 一种基于权益证明的电力区块链云端部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113783697B (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113783697B (zh) | 一种基于委托的数据广播服务证明共识协议应用方法 | |
CN110391911B (zh) | 区块链匿名投票系统及方法 | |
WO2020133326A1 (zh) | 区块链生成方法、系统、计算机存储介质和电子设备 | |
US20200127825A1 (en) | Revocation of cryptographic keys in the absence of a trusted central authority | |
CN109275122B (zh) | 一种基于服务证明的共识协议设计及其车联网应用方法 | |
US11025714B2 (en) | System and method for announcing cryptographic keys on a blockchain | |
CN110198213B (zh) | 一种基于秘密共享随机数共识算法的系统 | |
CN110971413B (zh) | 一种随机数的生成方法、生成装置及存储介质 | |
CN109698754B (zh) | 基于环签名的车队安全管理系统及方法、车辆管理平台 | |
CN109284623B (zh) | 基于用户隐私保护的群智感知任务的管理方法 | |
CN111989892B (zh) | 认证系统及计算机可读取的记录介质 | |
CN116167068B (zh) | 一种基于区块链的网络边缘资源可信分配方法及系统 | |
Su et al. | Distributed attribute-based signature with attribute dynamic update for smart grid | |
Braeken et al. | ECQV-IBI: Identity-based identification with implicit certification | |
Baniata et al. | Prifob: a privacy-aware fog-enhanced blockchain-based system for global accreditation and credential verification | |
JP6742557B2 (ja) | 認証システム | |
Wang et al. | Consensus algorithm based on verifiable randomness | |
CN113112269B (zh) | 多重签名方法、计算机设备和存储介质 | |
Fan et al. | Fairness electronic payment protocol | |
JP4971917B2 (ja) | 署名生成装置、署名検証装置、グループ管理装置、およびそれらのプログラム | |
Harn et al. | Contract signature in e-commerce | |
Xu et al. | Coinmingle: A decentralized coin mixing scheme with a mutual recognition delegation strategy | |
US12125007B2 (en) | Fast blockchain payment method and system | |
US20240161071A1 (en) | Fast blockchain payment method and system | |
CN117499027B (zh) | 一种电子合同多方主体认证与数据保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |