CN116233140A - 基于权重的出块节点确定方法、装置、设备及存储介质 - Google Patents

基于权重的出块节点确定方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116233140A
CN116233140A CN202210928423.4A CN202210928423A CN116233140A CN 116233140 A CN116233140 A CN 116233140A CN 202210928423 A CN202210928423 A CN 202210928423A CN 116233140 A CN116233140 A CN 116233140A
Authority
CN
China
Prior art keywords
block
node
weight
random
determined
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.)
Pending
Application number
CN202210928423.4A
Other languages
English (en)
Inventor
毛岱山
王超博
肖苗苗
柯亚萍
曾佑诚
林宝泉
刘岭峰
麦佩雨
王洪龙
陈意斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Entropy Chain Technology Xiamen Co ltd
Original Assignee
Entropy Chain Technology Xiamen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Entropy Chain Technology Xiamen Co ltd filed Critical Entropy Chain Technology Xiamen Co ltd
Priority to CN202210928423.4A priority Critical patent/CN116233140A/zh
Publication of CN116233140A publication Critical patent/CN116233140A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1042Peer-to-peer [P2P] networks using topology management mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及区块链技术领域,本申请提供一种基于权重的出块节点确定方法、装置、设备及存储介质,所述方法获取全部节点的预设出块权重,将不小于1的正整数分配至全部节点,作为随机因子;获取一随机数,基于随机数与随机因子的关系,确定出块节点。通过上述方式,本发明基于预设出块权重,分配随机因子至各待确定出块节点,并通过一个链上生成的随机数与总权重计算得到余数,将余数与随机因子进行匹配,确定出块节点。由此,使出块概率与出块权重成正比,简化了出块节点确定的流程,提升了区块链中确定出块节点的效率,解决了目前区块链中确定出块节点效率低的技术问题。

Description

基于权重的出块节点确定方法、装置、设备及存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于权重的出块节点确定方法、装置、设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,出现了区块链技术。区块链技术(BlockchainTechnology,BT),也被称为分布式账本技术,是一种互联网数据库技术,其特点是去中心化、公开透明,让每个人均可参与数据库记录。区块链是由多个分布式节点共同参与维护的数据存储系统,多个数据块连接成链式数据结构,并通过共识机制以传输和同步数据,从而保障各个节点数据的一致性,且各节点数据不可被修改。在区块链技术中,共识机制尤为重要。
区块链本质上是一个全局共享的数据库,区块链目前已经被广泛运用于各个领域,例如金融、证券、医疗、供应链等领域。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了特定的信息,用于验证其信息的有效性和生成下一个区块。
在区块链中,传统比如EOS(Enterprise Operating System,企业操作系统)使用的DPOS(Delegated Proof of Stake,共识机制)算法是通过持币者投票从区块链的所有节点中选出一组候选出块节点,之后在一定时间内,当需要上链时,这组候选出块节点按照规定顺序轮流进行出块,即按照一定的顺序轮流产生区块,出块顺序确定后容易被恶意定位攻击,会给整个区块链带来安全性问题。另外,当对产生的区块进行验证时,为了公平及安全,通常被选出的候选出块节点数量比较大。为了区块验证的准确性,传统DPOS算法要求所有候选出块节点均参与对产生的区块的验证,这样由于候选出块节点数量众多,导致出块效率降低。因此,如何控制解决区块链中确定出块节点效率低成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提供一种基于权重的出块节点确定方法、装置、设备及计算机可读存储介质,旨在解决现有区块链中确定出块节点效率低的技术问题。
为实现上述目的,本发明提供一种基于权重的出块节点确定方法,所述方法获取全部待确定出块节点的预设出块权重;基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数。
进一步地,基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子,包括:
获取一组不重复且不小于1的正整数,基于所述预设出块权重,将全部所述正整数随机分配至各所述待确定出块节点;
将分配至各所述待确定出块节点的各所述正整数作为所述随机因子,且将各所述待确定出块节点的全部所述随机因子组合,生成待确定随机因子组。
进一步地,获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数之前,还包括:
获取全部所述随机因子,并对全部所述随机因子进行求和计算,获取全部所述待确定出块节点对应的总权重。
进一步地,获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数,包括:
通过区块链网络生成一大于1的正整数作为所述随机数;
将所述随机数与所述总权重进行取余计算,得到一余数;
将所述待确定随机因子组与所述余数进行匹配。
进一步地,将所述待确定随机因子组与所述余数进行匹配之后,还包括:
根据匹配的结果,将所述待确定随机因组中与所述余数相同的随机因子所在的所述待确定出块节点确定为出块节点。
进一步地,获取全部待确定出块节点的预设出块权重,包括:
读取节点权重值列表,从节点权重值列表中读取各节点分别对应的节点权重值,作为所述预设出块权重。
进一步地,所述随机因子为从1开始依次排列的正整数。
此外,为实现上述目的,本发明还提供一种基于权重的出块节点确定装置,所述装置包括预设出块权重获取模块,用于获取全部待确定出块节点的预设出块权重;随机因子分配模块,用于基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;出块节点确定模块,用于获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数。
此外,为实现上述目的,本发明还提供一种基于权重的出块节点确定设备,所述基于权重的出块节点确定设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于权重的出块节点确定程序,其中所述基于权重的出块节点确定程序被所述处理器执行时,实现如上述的基于权重的出块节点确定方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于权重的出块节点确定程序,其中所述基于权重的出块节点确定程序被处理器执行时,实现如上述的基于权重的出块节点确定方法的步骤。
本发明提供一种基于权重的出块节点确定方法,所述方法通过获取全部待确定出块节点的预设出块权重;基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数。通过上述方式,本发明基于预设出块权重,分配随机因子至各待确定出块节点,并通过一个链上生成的随机数与总权重计算得到余数,将余数与随机因子进行匹配,确定出块节点。由此,使出块概率与出块权重成正比,简化了出块节点确定的流程,提升了区块链中确定出块节点的效率,解决了目前区块链中确定出块节点效率低的技术问题。
附图说明
图1为本发明实施例方案中涉及的基于权重的出块节点确定设备的硬件结构示意图;
图2为本发明基于权重的出块节点确定方法第一实施例的流程示意图;
图3为本发明基于权重的出块节点确定方法第二实施例的流程示意图;
图4为本发明基于权重的出块节点确定方法第三实施例的流程示意图;
图5为本发明基于权重的出块节点确定装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例涉及的基于权重的出块节点确定方法主要应用于基于权重的出块节点确定设备,该基于权重的出块节点确定设备可以是PC、便携计算机、移动终端等具有显示和处理功能的设备。
参照图1,图1为本发明实施例方案中涉及的基于权重的出块节点确定设备的硬件结构示意图。本发明实施例中,基于权重的出块节点确定设备可以包括处理器1001(例如CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口);存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的硬件结构并不构成对基于权重的出块节点确定设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及基于权重的出块节点确定程序。
在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的基于权重的出块节点确定程序,并执行本发明实施例提供的基于权重的出块节点确定方法。
本发明实施例提供了一种基于权重的出块节点确定方法。
参照图2,图2为本发明基于权重的出块节点确定方法第一实施例的流程示意图。
本实施例中,所述基于权重的出块节点确定方法包括以下步骤:
步骤S10,获取全部待确定出块节点的预设出块权重;
本实施例中,区块链交易记账由分布在不同地方的多个节点共同完成,每一个节点都记录的是完整的账本和交易,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性。但是区块链真正实施记账前,会通过共识算法选择由哪个节点产生新的区块来发起记账,即获得记账权,这个产生新的区块过程就称为出块。
区块链上一个节点产生一个交易之后,会将交易广播出去。链上的每个节点会去收集网络上的交易信息,放入本地内存池进行一些基本验证,如果验证成功,则将其放入“未确认交易池”,等待被打包;节点根据根据共识算法获得记账权后,将从“未确认交易池”中抽取约一定数量的“未确认交易”进行打包,把这些交易打包成一个区块,将自己节点打包的未确认交易写入新的区块中,由于区块容量有限,有可能并不是所有未确认交易都会被当前出块打包,此时会根据一定的优先级方式挑选打包交易。
区块链出块后出块节点需要将新区块在网络中传播,每个节点将独立校验网络中的新区块,每一个节点在将它转发到其节点之前,会进行一系列的测试去验证它,这确保了只有有效的区块会在网络中传播。
可以理解的是,由于区块链是去中心化分散网络,所以必须设计一套维护系统的运作顺序和公平性的机制,即共识机制,用来决定谁取得区块链的记账权并获得系统新币奖励。比特币的POW(Proof-of-Work,工作量证明机制)共识机制是一种多劳多得的模式,其优点是算法简单,容易实现,破坏系统的话需要投入巨大的成本,能够有一定的安全保障。不过该算法的缺点也比较明显,就是需要耗费大量电力,对交易的处理效率较低,像比特币系统就是每秒7笔交易的处理能力。因此,人们不断去琢磨新的共识机制,以便更好地运作区块链系统。
步骤S20,基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;
本实施例中,例如,每一个安装有比特币客户端软件并连接到比特币区块链的电脑就是比特币区块链的一个有效节点,世界上有多少台这样的电脑,区块链上就有多少个节点。
所有的节点都是具备投票的权利,每次要出块的时候,所有的节点都会参与投票,按照不同的投票规则,也就是共识机制进行投票,从而选出一个节点。所有节点通过共识机制达成共识,本轮投票以选中的这个节点出的块为准,其他节点出的块就不作数了。获得区块权利的人出块之后会得到区块链的奖励,也就是代币,如比特币。为了得到奖励,大家都会争抢出块的权利。
在区块链中,共识算法的好坏对总觉得区块链出块的效率,目前常用的共识算法有POW、POS、DPOS等。
步骤S30,获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数;
本实施例中,通过区块链生成一个随机数,将这个随机数与总权重进行相应的求余计算,得到余数后再将余数与全部的随机因子进行匹配,与余数相同的随机因子所在的待确定出块节点被选择为出块节点。
本实施例中,可以选择现有算法去获得这个随机数,如VRF(Verifiable RandomFunctions,可验证随机函数)算法。在VRF出现之前,为了满足选举信息的可验证,通常采用公开的信息作为输入,通过公开的随机函数得出随机结果,以随机结果作为依据进行抽签。由于所有信息均为公开,故所有节点都可以在本地计算出抽签结果。
但上述抽签方案有一个很大的问题:攻击者有一定的时间窗口能够预测出抽签结果,及时对被选举人实施攻击。
VRF很好地解决了这个问题:
由于使用节点私钥作为输入,VRF的结果无法被预测。其他节点只有通过网络接收到随机结果后才能对其合法性进行验证,即攻击者在得知选举结果时,选举人已经做出行动了;
VRF的输出值除了随机值外,还包含一个proof,提供了随机值验证的零知识证明,即不必知道某人私钥即可证明该随机值是由某人产生的。
在具体实施例中,可验证随机函数(VRF)是公钥密码学与哈希函数结合的另外一种应用方式,只有私钥的持有者才能计算哈希,但是任何拥有公钥的人都可以验证哈希的正确性,VRF有助于防止枚举基于哈希的数据结构攻击。
区块链中,大部分的共识算法,无论是POW、POS,或是由他们衍生出来的DPOS,都需要选出一堆或者一个节点来参与共识或者打包区块,这个过程虽然会有持币情况、设备配置、信誉等各种因素影响,但必须是随机的、无法被预测的,这时候就可能会用到随机算法。
可验证随机函数可以看作是一个随机预言机(Random Oracle,RO),通过任意的一个输入,获得一个随机数输出。可验证随机函数比随机预言机多了一个非交互的零知识证明,可以用来验证该随机数输出的正确性,表明这个随机数的确是某个人或者节点生成的。使用VRF,达到的目的跟POW的过程有些类似,就是为了随机而又安全地抽取出块节点,
本实施例提供一种基于权重的出块节点确定方法,所述方法通过获取全部待确定出块节点的预设出块权重;基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数。通过上述方式,本发明基于预设出块权重,分配随机因子至各待确定出块节点,并通过一个链上生成的随机数与总权重计算得到余数,将余数与随机因子进行匹配,确定出块节点。由此,使出块概率与出块权重成正比,简化了出块节点确定的流程,提升了区块链中确定出块节点的效率,解决了目前区块链中确定出块节点效率低的技术问题。
参照图3,图3为本发明基于权重的出块节点确定方法第二实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S20具体包括包括:
步骤S21,获取一组不重复且不小于1的正整数,基于所述预设出块权重,将全部所述正整数随机分配至各所述待确定出块节点;
步骤S22,将分配至各所述待确定出块节点的各所述正整数作为所述随机因子,且将各所述待确定出块节点的全部所述随机因子组合,生成待确定随机因子组。
本实施例中,将从1开始排列的正整数根据待出块节点的出块权重,随机分配至全部待确定出块节点,每个正整数都作为对应节点的随机因子。
本实施例中,基于预设出块权重,分配随机因子至各待确定出块节点,并通过一个链上生成的随机数与总权重计算得到余数,将余数与随机因子进行匹配,将与余数相同的随机因子所在的待确定出块节点确定为出块节点。由此,使出块概率与出块权重成正比,简化了出块节点确定的流程,提升了区块链中确定出块节点的效率,解决了目前区块链中确定出块节点效率低的技术问题。
基于上述图2所示实施例,本实施例中,所述步骤S30之前,还包括:
获取全部所述随机因子,并对全部所述随机因子进行求和计算,获取全部所述待确定出块节点对应的总权重。
进一步地,将所有的随机因子相加,以获得待确定出块节点的总权重。
本实施例中,基于预设出块权重,分配随机因子至各待确定出块节点,并通过一个链上生成的随机数与总权重计算得到余数,将余数与随机因子进行匹配,将与余数相同的随机因子所在的待确定出块节点确定为出块节点。由此,使出块概率与出块权重成正比,简化了出块节点确定的流程,提升了区块链中确定出块节点的效率,解决了目前区块链中确定出块节点效率低的技术问题。
参照图4,图4为本发明基于权重的出块节点确定方法第三实施例的流程示意图。
基于上述图2所示实施例,本实施例中,所述步骤S30具体包括:
步骤S31,通过区块链网络生成一大于1的正整数作为所述随机数;
步骤S32,将所述随机数与所述总权重进行取余计算,得到一余数;
步骤S33,将所述待确定随机因子组与所述余数进行匹配。
本实施例中,网络生成随机数的方法以现有的VRF算法为例。在VRF出现之前,为了满足选举信息的可验证,通常采用公开的信息作为输入,通过公开的随机函数得出随机结果,以随机结果作为依据进行抽签。由于所有信息均为公开,故所有节点都可以在本地计算出抽签结果。可验证随机函数(VRF)是公钥密码学与哈希函数结合的另外一种应用方式,只有私钥的持有者才能计算哈希,但是任何拥有公钥的人都可以验证哈希的正确性,VRF有助于防止枚举基于哈希的数据结构攻击。
区块链中,大部分的共识算法,无论是POW、POS,或是由他们衍生出来的DPOS,都需要选出一堆或者一个节点来参与共识或者打包区块,这个过程虽然会有持币情况、设备配置、信誉等各种因素影响,但必须是随机的、无法被预测的。这时候就可能会用到随机算法。
本实施例中,基于预设出块权重,分配随机因子至各待确定出块节点,并通过一个链上生成的随机数与总权重计算得到余数,将余数与随机因子进行匹配,将与余数相同的随机因子所在的待确定出块节点确定为出块节点。由此,使出块概率与出块权重成正比,简化了出块节点确定的流程,提升了区块链中确定出块节点的效率,解决了目前区块链中确定出块节点效率低的技术问题。
基于上述图4所示实施例,本实施例中,所述步骤S30之后,还包括:
根据匹配的结果,将所述待确定随机因组中与所述余数相同的随机因子所在的所述待确定出块节点确定为出块节点。
本实施例中,实现方法如下:
当前链上有3个节点,其权重分别为:
A:1
B:2
C:3
当前总权重为6,考虑按简单顺序分配:
A:1
B:2,3
C:4,5,6
链上生成的随机数为10,10对6取余,余数为4,C节点拥有数字4,则C节点出块。
本实施例中,基于预设出块权重,分配随机因子至各待确定出块节点,并通过一个链上生成的随机数与总权重计算得到余数,将余数与随机因子进行匹配,将与余数相同的随机因子所在的待确定出块节点确定为出块节点。由此,使出块概率与出块权重成正比,简化了出块节点确定的流程,提升了区块链中确定出块节点的效率,解决了目前区块链中确定出块节点效率低的技术问题。
此外,本发明实施例还提供一种基于权重的出块节点确定装置。
参照图5,图5为本发明基于权重的出块节点确定装置第一实施例的功能模块示意图。
本实施例中,所述基于权重的出块节点确定装置包括:
预设出块权重获取模块10,用于获取全部待确定出块节点的预设出块权重;
随机因子分配模块20,用于基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;
出块节点确定模块30,用于获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数。
进一步地,所述基于权重的出块节点确定装置还包括总权重计算模块,所述总权重计算模块包括:
总权重计算单元,用于获取全部所述随机因子,并对全部所述随机因子进行求和计算,获取全部所述待确定出块节点对应的总权重。
进一步地,所述预设出块权重获取模块10包括:
预设出块权重获取单元,用于获取所述预设出块权重。
进一步地,所述随机因子分配模块20包括:
随机因子获取单元,用于获取一组不重复且不小于1的正整数,基于所述预设出块权重,将全部所述正整数随机分配至各所述待确定出块节点;
待确定随机因子组生成单元,用于将分配至各所述待确定出块节点的各所述正整数作为所述随机因子,且将各所述待确定出块节点的全部所述随机因子组合,生成待确定随机因子组。
进一步地,所述出块节点确定模块30包括:
随机数获取单元,用于通过区块链网络生成一大于1的正整数作为所述随机数;
余数计算单元,用于将所述随机数与所述总权重进行取余计算,得到一余数;
匹配单元,用于将所述待确定随机因子组与所述余数进行匹配。
进一步地,所述出块节点确定模块30还包括:
出块节点确定单元,用于根据匹配的结果,将待确定随机因子组与所述余数相同的随机因子所在的所述待确定出块节点确定为出块节点。
其中,上述基于权重的出块节点确定装置中各个模块与上述基于权重的出块节点确定方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
此外,本发明实施例还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有基于权重的出块节点确定程序,其中所述基于权重的出块节点确定程序被处理器执行时,实现如上述的基于权重的出块节点确定方法的步骤。
其中,基于权重的出块节点确定程序被执行时所实现的方法可参照本发明基于权重的出块节点确定方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于权重的出块节点确定方法,其特征在于,所述出块节点确定方法包括以下步骤:
获取全部待确定出块节点的预设出块权重;
基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;
获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数。
2.如权利要求1所述的基于权重的出块节点确定方法,其特征在于,所述基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子,包括:
获取一组不重复且不小于1的正整数,基于所述预设出块权重,将全部所述正整数随机分配至各所述待确定出块节点;
将分配至各所述待确定出块节点的各所述正整数作为所述随机因子,且将各所述待确定出块节点的全部所述随机因子组合,生成待确定随机因子组。
3.如权利要求1所述的基于权重的出块节点确定方法,其特征在于,所述获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数之前,还包括:
获取全部所述随机因子,并对全部所述随机因子进行求和计算,获取全部所述待确定出块节点对应的总权重。
4.如权利要求1所述的基于权重的出块节点确定方法,其特征在于,所述获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数,包括:
通过区块链网络生成一大于1的正整数作为所述随机数;
将所述随机数与所述总权重进行取余计算,得到一余数;
将所述待确定随机因子组与所述余数进行匹配。
5.如权利要求4所述的基于权重的出块节点确定方法,其特征在于,所述将所述待确定随机因子组与所述余数进行匹配之后,还包括:
根据匹配的结果,将待确定随机因子组与所述余数相同的随机因子所在的所述待确定出块节点确定为出块节点。
6.如权利要求1所述的基于权重的出块节点确定方法,其特征在于,所述获取全部待确定出块节点的预设出块权重,包括:
读取节点权重值列表,从节点权重值列表中读取各节点分别对应的节点权重值,作为所述预设出块权重。
7.如权利要求1-6中任一项所述的基于权重的出块节点确定方法,其特征在于,所述随机因子为从1开始依次排列的正整数。
8.一种基于权重的出块节点确定装置,其特征在于,所述基于权重的出块节点确定装置包括:
预设出块权重获取模块,用于获取全部待确定出块节点的预设出块权重;
随机因子分配模块,用于基于所述预设出块权重,将不小于1的正整数分配至全部所述待确定出块节点,并将分配至各个正整数作为所述待确定出块节点的随机因子;
出块节点确定模块,用于获取一随机数,并基于所述随机数与所述随机因子的关系,确定所述出块节点,其中,所述随机数为大于1的正整数。
9.一种基于权重的出块节点确定设备,其特征在于,所述基于权重的出块节点确定设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于权重的出块节点确定程序,其中所述基于权重的出块节点确定程序被所述处理器执行时,实现如权利要求1至7中任一项所述的基于权重的出块节点确定方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于权重的出块节点确定程序,其中所述基于权重的出块节点确定程序被处理器执行时,实现如权利要求1至7中任一项所述的基于权重的出块节点确定方法的步骤。
CN202210928423.4A 2022-08-03 2022-08-03 基于权重的出块节点确定方法、装置、设备及存储介质 Pending CN116233140A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210928423.4A CN116233140A (zh) 2022-08-03 2022-08-03 基于权重的出块节点确定方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210928423.4A CN116233140A (zh) 2022-08-03 2022-08-03 基于权重的出块节点确定方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116233140A true CN116233140A (zh) 2023-06-06

Family

ID=86573694

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210928423.4A Pending CN116233140A (zh) 2022-08-03 2022-08-03 基于权重的出块节点确定方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116233140A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562885A (zh) * 2023-07-07 2023-08-08 北京信大融金教育科技有限公司 基于区块链的供应链系统管理方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116562885A (zh) * 2023-07-07 2023-08-08 北京信大融金教育科技有限公司 基于区块链的供应链系统管理方法、装置、设备及介质
CN116562885B (zh) * 2023-07-07 2023-09-29 北京信大融金教育科技有限公司 基于区块链的供应链系统管理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US10965445B2 (en) Blockchain-based unexpected data detection
US10659217B2 (en) Blockchain-based automated user matching
JP7210466B2 (ja) ブロックチェーンを用いてデータ記録を分配するシステム及び方法
CN107220130B (zh) 一种在区块链的节点处实现的信息共识方法、装置及系统
US11893552B2 (en) Distributed consensus algorithm and apparatus for rapidly generating block
US11151559B2 (en) Blockchain-based remittance method and apparatus
EP2916484B1 (en) User Authentication using elliptic curve based OTP
CN109889497A (zh) 一种去信任的数据完整性验证方法
CN112613601B (zh) 神经网络模型更新方法、设备及计算机存储介质
KR102601973B1 (ko) 시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법
CN109919614A (zh) 一种区块链中使用零知识证明保护智能合约隐私的方法
CN116233140A (zh) 基于权重的出块节点确定方法、装置、设备及存储介质
JP3102692B2 (ja) カードの真性を証明する方法
CN113822675A (zh) 基于区块链的报文处理方法、装置、设备及存储介质
Chaudhary et al. Blockchain-based secure voting mechanism underlying 5G network: A smart contract approach
CN108900310A (zh) 区块链签名处理方法及区块链签名处理装置
Li et al. Cryptoeconomics: Economic Mechanisms Behind Blockchains
Lai et al. Blockchain for achieving accountable outsourcing computations in edge computing
CN110493008A (zh) 一种区块链认证方法、装置、设备及介质
CN109858903A (zh) 一种基于区块链的点评信息可信度评价方法及装置
Jia et al. A blockchain-based privacy-preserving and collusion-resistant scheme (ppcr) for double auctions
Monrat et al. Addressing the performance of blockchain by discussing sharding techniques
CN110910091A (zh) 一种数据处理方法、设备及介质
Youssef et al. Ripple: Overview and outlook
Sariboz et al. FIRST: frontrunning resilient smart contracts

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