本发明专利技术实施例涉及一种应用于区块链的打包方法及装置。包括:确定指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名,每个出块节点的第一数字签名通过该出块节点对第一哈希值进行签名得到,所述第一哈希值根据第一区块进行第一哈希运算得到;对所述指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名进行第二哈希运算,得到第二哈希值;根据所述第二哈希值以及预设的第一随机规则,在所述多个出块节点中选择第二出块节点作为第二区块的出块节点。以此,可以出块节点可以指定下一出块节点,该指定过程具有一定的随机性和可验证性,可以降低区块链被攻击成功的可能,并且提高了区块链节点网络的出块效率。
Packing Method and Device Applied to Block Chain
【技术实现步骤摘要】
应用于区块链的打包方法及装置
本专利技术涉及计算机
,尤其涉及一种应用于区块链的打包方法及装置。
技术介绍
区块链网络中的每一个节点,就相当于存储所有区块数据的每一台电脑或者服务器终端。所有新区块的生产,以及交易的验证与记帐,并将其广播给全网同步,都由节点来完成。节点,就是我们俗称的矿工。每个矿工的不同算力,决定了它能分配到多少记帐权,收获多少奖励。区块链第一代共识机制叫POW,就是工作量证明共识机制,俗称挖矿。要想生产新的区块,就必须进行成千上万次哈希碰撞的运算。而这些运算,会消耗很多电力,造成能源浪费,因此也倍受垢病。更让大家担心的是,一旦大部分算力被垄断,去中心化就受到威胁。第二代共识机制叫POS,就是权益证明共识机制,它是根据持币数量与时间来决定谁拥有更多的记帐权。这种共识机制的优点是可以避免能源消耗,但缺点是话语权都被持币大户所掌控,形成中央集权的特征,也与区块链去中心化的初衷背道而驰。第三代共识机制就是DPOS,其最大的特征,就是在POS权益证明的基础之上,加入了选举制度。经过所有持币用户投票选举诞生的最终获得记帐权的超级节点进行记账,可以极大地降低了能源的浪费,但是,由于运算都集中的超级节点上,对超级节点的算力要求较高,且超级节点的效率直接影响记账的效率,这就导致,该种方式应对大规模数据的能力不强,发展受到制约。
技术实现思路
基于上述问题,本专利技术实施例提供了一种应用于区块链的打包方法及装置。第一方面,本专利技术实施例提供了一种应用于区块链的打包方法。所述区块链节点网络包括多个出块节点,所述方法适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述方法包括:确定指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名,每个出块节点的第一数字签名通过该出块节点对第一哈希值进行签名得到,所述第一哈希值根据第一区块进行第一哈希运算得到;对所述指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名进行第二哈希运算,得到第二哈希值;根据所述第二哈希值以及预设的第一随机规则,在所述多个出块节点中选择第二出块节点作为第二区块的出块节点,所述第二区块为所述第一区块的下一个区块。在一些实施例中,所述对所述指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名进行第二哈希运算,得到第二哈希值,包括:将所述指定数量个出块节点的第一数字签名、所述第一出块节点的第一数字签名和第一数值进行第二哈希运算得到第二哈希值,所述第一数值为1-n或者所述第一出块节点的序列号,所述n为任意值。在一些实施例中,所述预设的第一随机规则包括:将所述第二哈希值转换为10进制,并取第二数值的余数,所述第二数值根据所述多个出块节点的数量确定;确定所述余数对应的验证节点为所述第二出块节点。在一些实施例中,还包括:生成第一区块,对所述第一区块进行第一哈希运算得到第一哈希值;向所述指定数量个出块节点发送所述第一哈希值;分别接收所述指定数量个出块节点发送的第一数字签名;对所述第一哈希值进行签名得到第一出块节点的第一数字签名。在一些实施例中,还包括:根据预设的第二随机规则,在所述多个出块节点选择指定数量个出块节点。在一些实施例中,还包括:接收第三出块节点发送的第三哈希值,所述第三哈希值为对第三区块进行第一哈希运算得到;根据所述第二随机规则,验证自身是否为需要对所述第三哈希值进行签名的节点;如果是,则对所述第三哈希值进行签名得到所述第一出块节点的第二数字签名;向所述第三出块节点发送所述第一出块节点的第二数字签名。在一些实施例中,还包括:向所述多个出块节点发送所述第一数字签名。在一些实施例中,还包括:接收第四出块节点发送的第三数字签名,所述第二数字签名针对第四区块;对所述指定数量个出块节点的第三数字签名和所述第四出块节点的第三数字签名进行第二哈希运算,得到第四哈希值;根据所述第四哈希值以及预设的随机规则,判断所述第一出块节点是否为所述第五区块的出块节点,所述第五区块为所述第四区块的下一区块;如果是,对所述第五区块进行打包。第二方面,提供了一种应用于区块链的打包装置,所述区块链节点网络包括多个出块节点,所述装置适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述装置包括:确定单元,用于确定指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名,每个出块节点的第一数字签名通过该出块节点对第一哈希值进行签名得到,所述第一哈希值根据第一区块进行第一哈希运算得到;哈希单元,用于对所述指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名进行第二哈希运算,得到第二哈希值;选择单元,用于根据所述第二哈希值以及预设的第一随机规则,在所述多个出块节点中选择第二出块节点作为第二区块的出块节点,所述第二区块为所述第一区块的下一个区块在一些实施例中,所述哈希单元具体用于:将所述指定数量个出块节点的第一数字签名、所述第一出块节点的第一数字签名和第一数值进行第二哈希运算得到第二哈希值,所述第一数值为1-n或者所述第一出块节点的序列号,所述n为任意值。在一些实施例中,所述预设的第一随机规则包括:将所述第二哈希值转换为10进制,并取第二数值的余数,所述第二数值根据所述多个出块节点的数量确定;确定所述余数对应的验证节点为所述第二出块节点。在一些实施例中,还包括:生成单元,用于生成第一区块,对所述第一区块进行第一哈希运算得到第一哈希值;发送单元,用于向所述指定数量个出块节点发送所述第一哈希值;接收单元,用于分别接收所述指定数量个出块节点发送的第一数字签名;签名单元,用于对所述第一哈希值进行签名得到第一出块节点的第一数字签名。在一些实施例中,还包括:选择单元,用于根据预设的第二随机规则,在所述多个出块节点选择指定数量个出块节点。在一些实施例中,还包括:接收单元,用于接收第三出块节点发送的第三哈希值,所述第三哈希值为对第三区块进行第一哈希运算得到;验证单元,用于根据所述第二随机规则,验证自身是否为需要对所述第三哈希值进行签名的节点;签名单元,如果是,用于则对所述第三哈希值进行签名得到所述第一出块节点的第二数字签名;发送单元,用于向所述第三出块节点发送所述第一出块节点的第二数字签名。在一些实施例中,,还包括:发送单元,用于向所述多个出块节点发送所述第一数字签名。在一些实施例中,还包括:接收单元,用于接收第四出块节点发送的第三数字签名,所述第二数字签名针对第四区块;哈希单元,用于对所述指定数量个出块节点的第三数字签名和所述第四出块节点的第三数字签名进行第二哈希运算,得到第四哈希值;判断单元,用于根据所述第四哈希值以及预设的随机规则,判断所述第一出块节点是否为所述第五区块的出块节点,所述第五区块为所述第四区块的下一区块;打包单元,如果是,用于对所述第五区块进行打包。第三方面,本说明书实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述第一方面或第二方面中任意一方面或多方面的方法步骤。第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面中任意一本文档来自技高网...
【技术保护点】
1.一种应用于区块链的打包方法,其特征在于,区块链节点网络包括多个出块节点,所述方法适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述方法包括:确定指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名,每个出块节点的第一数字签名通过该出块节点对第一哈希值进行签名得到,所述第一哈希值根据第一区块进行第一哈希运算得到;对所述指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名进行第二哈希运算,得到第二哈希值;根据所述第二哈希值以及预设的第一随机规则,在所述多个出块节点中选择第二出块节点作为第二区块的出块节点,所述第二区块为所述第一区块的下一个区块。
【技术特征摘要】
1.一种应用于区块链的打包方法,其特征在于,区块链节点网络包括多个出块节点,所述方法适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述方法包括:确定指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名,每个出块节点的第一数字签名通过该出块节点对第一哈希值进行签名得到,所述第一哈希值根据第一区块进行第一哈希运算得到;对所述指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名进行第二哈希运算,得到第二哈希值;根据所述第二哈希值以及预设的第一随机规则,在所述多个出块节点中选择第二出块节点作为第二区块的出块节点,所述第二区块为所述第一区块的下一个区块。2.根据权利要求1所述的方法,其特征在于,所述对所述指定数量个出块节点的第一数字签名和所述第一出块节点的第一数字签名进行第二哈希运算,得到第二哈希值,包括:将所述指定数量个出块节点的第一数字签名、所述第一出块节点的第一数字签名和第一数值进行第二哈希运算得到第二哈希值,所述第一数值为1-n或者所述第一出块节点的序列号,所述n为任意值。3.根据权利要求1所述的方法,其特征在于,所述预设的第一随机规则包括:将所述第二哈希值转换为10进制,并取第二数值的余数,所述第二数值根据所述多个出块节点的数量确定;确定所述余数对应的验证节点为所述第二出块节点。4.根据权利要求1所述的方法,其特征在于,还包括:生成第一区块,对所述第一区块进行第一哈希运算得到第一哈希值;向所述指定数量个出块节点发送所述第一哈希值;分别接收所述指定数量个出块节点发送的第一数字签名;对所述第一哈希值进行签名得到第一出块节点的第一数字签名。5.根据权利要求4所述的方法,其特征在于,还包括:根据预设的第二随机规则,在所述多个出块节点选择指定数量个出块节点。6.根据权利要求5所述的方法,其特征在于,还包括:接...
【专利技术属性】
技术研发人员:吉建勋,杨慧,
申请(专利权)人:北京艾摩瑞策科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。