CN115242420A - 基于智能合约的区块链贡献证明共识方法及*** - Google Patents

基于智能合约的区块链贡献证明共识方法及*** Download PDF

Info

Publication number
CN115242420A
CN115242420A CN202210161974.2A CN202210161974A CN115242420A CN 115242420 A CN115242420 A CN 115242420A CN 202210161974 A CN202210161974 A CN 202210161974A CN 115242420 A CN115242420 A CN 115242420A
Authority
CN
China
Prior art keywords
node
contribution
nodes
contracts
pledge
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
Application number
CN202210161974.2A
Other languages
English (en)
Other versions
CN115242420B (zh
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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN202210161974.2A priority Critical patent/CN115242420B/zh
Publication of CN115242420A publication Critical patent/CN115242420A/zh
Application granted granted Critical
Publication of CN115242420B publication Critical patent/CN115242420B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于智能合约的区块链贡献证明共识方法及***,方法包括:基于智能合约,根据节点在区块链***中的操作行为,为节点计算并分配***贡献值和应用贡献值;根据参与共识的候选节点在上一周期的贡献值和/或代币的质押数量进行加权计算,根据各候选节点的权值进行离线VRF抽签计算,并根据抽签结果选举得到委员会节点;根据节点的贡献值和/或代币的质押者、质押方式和质押数量的比例进行分配奖励,同时对未积极完成共识出块任务的节点所质押的贡献值和/或代币进行扣押惩罚。通过本发明的技术方案,使区块链***具有更高的适用性,实现了完整的贡献值积累和兑现过程,能够降低攻击和恶意节点,具有较高的可靠性。

Description

基于智能合约的区块链贡献证明共识方法及***
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于智能合约的区块链贡献证明共识方法以及一种基于智能合约的区块链贡献证明共识***。
背景技术
共识机制是区块链节点间在数据存储、数据验证和数据维护方面达成一致的策略和方法,很大程度与区块链的处理效率相关联。而区块链性能的问题是目前亟需解决的重点问题,随着区块链***中业务量的快速增长,***延迟增加,吞吐量低等性能问题就会凸显。目前主流公链的性能在数十至数百交易每秒,比如以太坊主链TPS约为13,与中心化***的性能有很大差距,无法满足需要快速处理数据的应用场景的需求。对于并发量要求高的应用场景,区块链技术的性能有待进一步提高,需要突破高性能共识机制,拓展区块链技术的适用性。
目前公链***的共识机制包括,工作量证明,权益证明,委托权益证明,实用拜占庭容错,贡献证明等。其中贡献证明是近年提出的一种新型的共识机制,其主要共识过程是,区块链用户使用区块链应用时,执行应用中的各种操作,会产生不同的贡献值,然后再根据贡献值为依据选择共识的出块节点。该共识的核心思想是通过累积贡献值,鼓励区块链中的节点进行诚实可靠的操作,并获得相应的奖励,从保证区块链***能够高效且安全的运行。
贡献证明共识机制的提出,虽然可以提高区块链共识效率,增加区块链节点参与度,防止中心化现象,但是目前研究中的设计方案中仍存在一些缺陷:
1.存在单一应用场景的限制,贡献值证明是基于知识产权保护应用场景下提出的,其贡献值产生方式的设计关联了应用的业务流程。虽然在改进的研究中有提到,可以根据不同的业务逻辑进行定制化的修改。但是,区块链因其数据不可修改和不可逆的性质,一旦启动运行后,针对***层面的修改更新只能通过硬分叉实现,无法实现对不同的应用进行动态关联。这种过强的应用关联性使贡献值证明失去了可扩展性,无法适用于一个通用的公链***。
2.贡献值的产生方式和使用方式不兼容,贡献值产生于用户使用区块链应用的过程中,而贡献值又使用在了共识过程中,这两者分别属于区块链***的两个不同的模块。这两个模块的参与者群体可能存在少量的交集,但大部分不相同。对于共识模块的参与者,有一定的硬件和网络环境的条件要求,并不是所有的区块链使用者都能够参与。而使用区块链应用的过程可以通过钱包或轻节点的方式进行,这也是当前所有区块链***共同采用的区块链应用交互方式,使用者无需同步区块链节点就可以完成应用操作。如此一来,按照贡献值证明的设计,会产生大量无法使用的贡献值,这些无效的贡献值同时还会影响共识中计算的过程。
3.共识过程缺少高效的容错机制,最初的贡献值证明中提出按照贡献值的数量由高到低排序,然后选出贡献值最高的节点作为下一轮次的出块节点,这种共出块节点选择方式一旦遇到突发情况,比如共识节点出现网络问题无法完成出块时,将导致整个区块链***无法正常运行。之后的改进研究中,通过与工作量证明的结合的方式,让一组候选节点进行竞争,实现了容错效果,但是引入工作量证明的同时也带来了问题,比如通过算力破坏贡献值作为节点选择唯一依据。
4.共识过程缺少完整的安全机制,贡献证明的提出基于了一个假设的前提条件,即高贡献值的账户具有高的可信度的。但是,作为一种面向公链共识机制,该假设是否成立还需要进一步探讨。单纯以贡献值作为选择共识节点的依据,而不设置相应的安全机制,和防止恶意节点的方案,会降低区块链***的可靠性。
发明内容
针对上述问题,本发明提供了一种基于智能合约的区块链贡献证明共识方法及***,通过在贡献值证明的核心思想基础上重新设计贡献值产生方式、共识过程,使区块链***具有更高的适用性,实现了完整的贡献值积累和兑现过程,同时,共识过程的VRF随机抽签和质押、惩罚机制,能够降低攻击和恶意节点,具有较高的可靠性,此外,利用智能合约能够通过去中心化应用完成参与共识过程,实现区块链中更多节点参与到维护区块链的过程。
为实现上述目的,本发明提供了一种基于智能合约的区块链贡献证明共识方法,包括:
基于智能合约,根据节点在区块链***中的操作行为,为所述节点计算并分配***贡献值和应用贡献值,其中,所述***贡献值为根据所述节点参与维护所述区块链***的操作行为分配得到,所述应用贡献值为根据所述节点调用所述区块链***部署的应用合约的配置参数进行分配;
根据参与共识的候选节点在上一周期的贡献值和/或代币的质押数量进行加权计算,根据各候选节点的权值进行离线VRF抽签计算,并根据抽签结果选举得到委员会节点;
根据节点的贡献值和/或代币的质押者、质押方式和质押数量的比例进行分配奖励,同时对未积极完成共识出块任务的节点所质押的贡献值和/或代币进行扣押惩罚。
在上述技术方案中,优选地,所述根据节点在区块链***中的操作行为为所述节点计算并分配***贡献值的具体过程包括:
根据节点为新加入的候选验证节点或新的应用注册进行提议和投票的操作行为,在投票结束时为参与投票的节点增加贡献值;
根据节点为候选节点质押代币的操作行为,当候选节点被选举为出块节点并完成出块后,为质押节点增加贡献值;
针对同步所有数据的节点,根据每个周期生成的存储证明进行计算并提交存储证明结果,出块节点在出块时,对提交的存储证明结果进行验证,并为提交节点计算贡献值;
针对参与共识的候选节点,计算VRF进行抽签并提交计算结果,出块节点在出块时,对提交的计算结果进行验证,并为提交节点计算贡献值。
在上述技术方案中,优选地,所述根据节点在区块链***中的操作行为为所述节点计算并分配应用贡献值的具体过程包括:
统计节点调用的所述区块链***上部署的应用合约,根据所述应用合约注册过程对应的应用注册合约中的配置参数,对调用所述应用合约的节点分配所述配置参数对应的贡献值。
在上述技术方案中,优选地,所述候选节点为达到预设质押条件的参与共识的节点,所述委员会节点根据预设出块时间进行出块,根据预设的周期重新选举委员会节点;
出块节点完成出块后,质押贡献值的节点获得本次区块中的代币手续费,质押代币的节点获得预设数量的贡献值。
在上述技术方案中,优选地,所述智能合约包括投票合约、提议合约、共识节点管理合约、应用数据合约、质押合约、贡献值管理合约、存储证明合约、VRF抽签合约、奖励合约和惩罚合约。
本发明还提出一种基于智能合约的区块链贡献证明共识***,应用如上述技术方案中任一项公开的基于智能合约的区块链贡献证明共识方法,包括:
贡献值管理模块,用于基于智能合约,根据节点在区块链***中的操作行为,为所述节点计算并分配***贡献值和应用贡献值;
委员会选举模块,用于根据参与共识的候选节点在上一周期的贡献值和/或代币的质押数量进行加权计算,根据各候选节点的权值进行离线VRF抽签计算,并根据抽签结果选举得到委员会节点;
节点奖惩模块,用于根据节点的贡献值和/或代币的质押者、质押方式和质押数量的比例进行分配奖励,同时对未积极完成共识出块任务的节点所质押的贡献值和/或代币进行扣押惩罚。
在上述技术方案中,优选地,所述贡献值管理模块具体用于:
根据节点为新加入的候选验证节点或新的应用注册进行提议和投票的操作行为,在投票结束时为参与投票的节点增加贡献值;
根据节点为候选节点质押代币的操作行为,当候选节点被选举为出块节点并完成出块后,为质押节点增加贡献值;
针对同步所有数据的节点,根据每个周期生成的存储证明进行计算并提交存储证明结果,出块节点在出块时,对提交的存储证明结果进行验证,并为提交节点计算贡献值;
针对参与共识的候选节点,计算VRF进行抽签并提交计算结果,出块节点在出块时,对提交的计算结果进行验证,并为提交节点计算贡献值。
在上述技术方案中,优选地,所述贡献值管理模块还用于:
统计节点调用的所述区块链***上部署的应用合约,根据所述应用合约注册过程对应的应用注册合约中的配置参数,对调用所述应用合约的节点分配所述配置参数对应的贡献值。
在上述技术方案中,优选地,所述候选节点为达到预设质押条件的参与共识的节点,所述委员会节点根据预设出块时间进行出块,根据预设的周期重新选举委员会节点;
出块节点完成出块后,质押贡献值的节点获得本次区块中的代币手续费,质押代币的节点获得预设数量的贡献值。
在上述技术方案中,优选地,所述智能合约包括投票合约、提议合约、共识节点管理合约、应用数据合约、质押合约、贡献值管理合约、存储证明合约、VRF抽签合约、奖励合约和惩罚合约。
与现有技术相比,本发明的有益效果为:通过在贡献值证明的核心思想基础上重新设计贡献值产生方式、共识过程,使区块链***具有更高的适用性,实现了完整的贡献值积累和兑现过程,同时,共识过程的VRF随机抽签和质押、惩罚机制,能够降低攻击和恶意节点,具有较高的可靠性,此外,利用智能合约能够通过去中心化应用完成参与共识过程,实现区块链中更多节点参与到维护区块链的过程。
附图说明
图1为本发明一种实施例公开的基于智能合约的区块链贡献证明共识方法的流程示意图;
图2为本发明一种实施例公开的基于智能合约的区块链贡献证明共识的总体功能结构示意图;
图3为本发明一种实施例公开的贡献值的产生方式示意图;
图4为本发明一种实施例公开的提议和投票的贡献值计算流程示意图;
图5为本发明一种实施例公开的质押代币的贡献值计算流程示意图;
图6为本发明一种实施例公开的存储证明贡献值计算流程示意图;
图7为本发明一种实施例公开的抽签结果贡献值计算流程示意图;
图8为本发明一种实施例公开的应用合约注册流程示意图;
图9为本发明一种实施例公开的应用贡献值计算流程示意图;
图10为本发明一种实施例公开的周期和委员会的实施方式示意图;
图11为本发明一种实施例公开的委员会节点的选举流程示意图;
图12为本发明一种实施例公开的VRF抽签计算流程示意图;
图13为本发明一种实施例公开的出块奖励流程示意图;
图14为本发明一种实施例公开的出块节点的完整过程流程示意图;
图15为本发明一种实施例公开的共识智能合约的示意类图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明做进一步的详细描述:
如图1和图2所示,根据本发明提供的一种基于智能合约的区块链贡献证明共识方法,包括:
基于智能合约,根据节点在区块链***中的操作行为,为节点计算并分配***贡献值和应用贡献值,其中,***贡献值为根据节点参与维护区块链***的操作行为分配得到,应用贡献值为根据节点调用区块链***部署的应用合约的配置参数进行分配;
根据参与共识的候选节点在上一周期的贡献值和/或代币的质押数量进行加权计算,根据各候选节点的权值进行离线VRF抽签计算,并根据抽签结果选举得到委员会节点;
根据节点的贡献值和/或代币的质押者、质押方式和质押数量的比例进行分配奖励,同时对未积极完成共识出块任务的节点所质押的贡献值和/或代币进行扣押惩罚。
在该实施方式中,通过在贡献值证明的核心思想基础上重新设计贡献值产生方式、共识过程,使区块链***具有更高的适用性,实现了完整的贡献值积累和兑现过程,同时,共识过程的VRF随机抽签和质押、惩罚机制,能够降低攻击和恶意节点,具有较高的可靠性,此外,利用智能合约能够通过去中心化应用完成参与共识过程,实现区块链中更多节点参与到维护区块链的过程。
如图3所示,具体地,该方法分别针对贡献值、共识过程和共识智能合约进行改进设计,其中,将与贡献值相关的区块链操作行为进行明确的定义,分别为***贡献值和应用贡献值,并说明贡献值计算的方式和产生的过程;共识过程部分主要涉及出块方式、出块节点选择方法以及节点参与共识的完整过程,并对本方法的容错机制和安全机制进行说明。此外,共识智能合约部分为基于智能合约的贡献证明的设计。
在上述实施方式中,优选地,***活动贡献值指节点参与维护区块链***的相关操作行为,通过智能合约实现并预置在区块链***中,具体包括以下几种情况:
如图4所示,根据节点为新加入的候选验证节点或新的应用注册进行提议和投票的操作行为,在投票结束时为参与投票的节点增加贡献值;
如图5所示,根据节点为候选节点质押代币的操作行为,当候选节点被选举为出块节点并完成出块后,为质押节点增加贡献值;
如图6所示,针对同步所有数据的节点,根据每个周期生成的存储证明进行计算并提交存储证明结果,出块节点在出块时,对提交的存储证明结果进行验证,并为提交节点计算贡献值;
如图7所示,针对参与共识的候选节点,计算VRF进行抽签并提交计算结果,出块节点在出块时,对提交的计算结果进行验证,并为提交节点计算贡献值。
如图8和图9所示,在上述实施方式中,优选地,根据节点在区块链***中的操作行为为节点计算并分配应用贡献值的具体过程包括:
统计节点调用的区块链***上部署的应用合约,比如数字知识产权保护应用通过确权合约进行数字作品信息上链,供应链应用通过供应链数据合约将物流数据上链等,根据应用合约注册过程对应的应用注册合约中的配置参数,对调用应用合约的节点分配配置参数对应的贡献值。
如图10所示,在上述实施方式中,周期是在区块链启动时设置的一个时间间隔,通常使用一个固定的区块高度表示该时间间隔,比如1000个区块为一个周期。在一个周期内将由固定的验证节点按照预设的出块时间进行出块,比如每3s产生一个区块。当到达两个周期交替的时间点时,会重新选择下一个周期的验证节点。
候选节点为达到预设质押条件的参与共识的节点,委员会是一组负责出块的节点,由候选节点选举产生委员会节点,委员会节点会在每次周期交替时重新进行选举产生,并负责一个周期内出块的过程。委员会节点根据预设出块时间进行出块,根据预设的周期重新选举委员会节点;在一个周期内,委员会中的节点预先分配好了出块的位置,其他节点可根据接收到的新区块的高度,判断出块节点是否为合法的出块节点。
使用委员会和周期的方式,即使发生少量节点无法正常出块的问题,也能够保证共识节点稳定运行,保证区块链***具有较高的容错率。
其中,如图11和图12所示,委员会选举采用按照节点权重比例进行随机抽签选举的方式进行。参与共识的候选节点在t-1的周期时间段内,进行代币或贡献值的质押,当到达周期交替时间时,会按照贡献值和质押代币数量进行加权计算后,得到t周期时节点的权重,权重越大成为验证节点的可能性越大。然后由个候选节点在t周期内进行离线的可验证随机函数(VRF)抽签计算,并提交抽签结果,根据抽签结果,选出t+1周期的委员会节点。
由于贡献值和代币的质押数据是公开的,如果单纯按照权重进行排名后选择节点,选举的结果是可预测的,存在通过控制质押数量来操纵选举结果的可能性。而在本发明中使用VRF的抽签过程,增加了委员会节点选举过程的随机性,防止操纵选举的问题,且该抽签过程最大程度上保证了随机抽签的概率和权重的占比相同。
如图13所示,优选地,出块节点完成出块后,质押贡献值的节点获得本次区块中的代币手续费,质押代币的节点获得预设数量的贡献值,奖励将按照该节点的质押者、质押方式、和质押数量进行分配。
如图14所示,其中,参与共识的节点需要达到一定的质押条件,才可以参与到选举的过程中,同时为防止恶意节点或者参与共识的节点没有积极的完成共识的出块任务,将对其质押的代币或贡献值进行扣押,质押和惩罚的机制具有质押者的博弈概念,为了使自己质押的代币或贡献值能够实现奖励的兑现,质押者会选择为积极维护区块链的节点进行质押,同时,因为奖励的分配是根据质押比例进行分配的,质押者也需要考虑如何最大化自身的收益,防止质押结果集中化,最终形成一个良性的质押和选举过程,防止恶意节点被选择为出块节点。
如图15所示,在上述实施方式中,优选地,智能合约包括投票合约、提议合约、共识节点管理合约、应用数据合约、质押合约、贡献值管理合约、存储证明合约、VRF抽签合约、奖励合约和惩罚合约。通过上述智能合约实现贡献值管理、验证节点管理等各项***功能,所有的***合约将预置在区块链中。通过智能合约设计,可以将***功能解耦,有利于区块链未来的升级过程,同时,区块链使用者或区块链节点的维护者可以通过去中心化应用(DApp)和智能合约进行交互,进行***的共识操作,方便了使用的过程。
本发明还提出一种基于智能合约的区块链贡献证明共识***,应用如上述实施方式中任一项公开的基于智能合约的区块链贡献证明共识方法,包括:
贡献值管理模块,用于基于智能合约,根据节点在区块链***中的操作行为,为节点计算并分配***贡献值和应用贡献值;
委员会选举模块,用于根据参与共识的候选节点在上一周期的贡献值和/或代币的质押数量进行加权计算,根据各候选节点的权值进行离线VRF抽签计算,并根据抽签结果选举得到委员会节点;
节点奖惩模块,用于根据节点的贡献值和/或代币的质押者、质押方式和质押数量的比例进行分配奖励,同时对未积极完成共识出块任务的节点所质押的贡献值和/或代币进行扣押惩罚。
在该实施方式中,通过在贡献值证明的核心思想基础上重新设计贡献值产生方式、共识过程,使区块链***具有更高的适用性,实现了完整的贡献值积累和兑现过程,同时,共识过程的VRF随机抽签和质押、惩罚机制,能够降低攻击和恶意节点,具有较高的可靠性,此外,利用智能合约能够通过去中心化应用完成参与共识过程,实现区块链中更多节点参与到维护区块链的过程。
在上述实施方式中,优选地,贡献值管理模块具体用于:
根据节点为新加入的候选验证节点或新的应用注册进行提议和投票的操作行为,在投票结束时为参与投票的节点增加贡献值;
根据节点为候选节点质押代币的操作行为,当候选节点被选举为出块节点并完成出块后,为质押节点增加贡献值;
针对同步所有数据的节点,根据每个周期生成的存储证明进行计算并提交存储证明结果,出块节点在出块时,对提交的存储证明结果进行验证,并为提交节点计算贡献值;
针对参与共识的候选节点,计算VRF进行抽签并提交计算结果,出块节点在出块时,对提交的计算结果进行验证,并为提交节点计算贡献值。
在上述实施方式中,优选地,贡献值管理模块还用于:
统计节点调用的区块链***上部署的应用合约,根据应用合约注册过程对应的应用注册合约中的配置参数,对调用应用合约的节点分配配置参数对应的贡献值。
在上述实施方式中,优选地,候选节点为达到预设质押条件的参与共识的节点,委员会节点根据预设出块时间进行出块,根据预设的周期重新选举委员会节点;
出块节点完成出块后,质押贡献值的节点获得本次区块中的代币手续费,质押代币的节点获得预设数量的贡献值。
在上述实施方式中,优选地,智能合约包括投票合约、提议合约、共识节点管理合约、应用数据合约、质押合约、贡献值管理合约、存储证明合约、VRF抽签合约、奖励合约和惩罚合约。
根据上述实施方式公开的基于智能合约的区块链贡献证明共识方法及***,优势在于:
1.相比现有技术中贡献证明的方案,改进了贡献值产生方式的设计,将原有的与应用耦合程度过大的贡献值设计进行了解耦,明确区分了***贡献值和应用贡献值这两大类贡献值产生方式,并且采用智能合约对应用部分进行管理,使应用的贡献值产生方式可以进行动态的扩展,使区块链***具有更高的适用性。
2.增加了使用贡献值进行质押并获取出块奖励的过程,使区块链应用的使用者可以通过此方式参与共识的过程,实现了完整的贡献值积累和兑现过程。
3.采用新的共识过程,解决了原有贡献证明中容错的问题,具有较高的可靠性。同时,在节点选举过程中,使用随机抽签过程解决按照权重选择出块节点方式存在通过预测权重结果进行攻击的问题,增加质押和惩罚机制,防止恶意节点。
4.结合智能合约实现共识过程,结合去中心化自治组织的模式,区块链的使用者可以更加方便地通过去中心化应用完成参与共识的过程,更好地实现所有的区块链中的参与者,能够共同参与到维护区块链的过程中。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于智能合约的区块链贡献证明共识方法,其特征在于,包括:
基于智能合约,根据节点在区块链***中的操作行为,为所述节点计算并分配***贡献值和应用贡献值,其中,所述***贡献值为根据所述节点参与维护所述区块链***的操作行为分配得到,所述应用贡献值为根据所述节点调用所述区块链***部署的应用合约的配置参数进行分配;
根据参与共识的候选节点在上一周期的贡献值和/或代币的质押数量进行加权计算,根据各候选节点的权值进行离线VRF抽签计算,并根据抽签结果选举得到委员会节点;
根据节点的贡献值和/或代币的质押者、质押方式和质押数量的比例进行分配奖励,同时对未积极完成共识出块任务的节点所质押的贡献值和/或代币进行扣押惩罚。
2.根据权利要求1所述的基于智能合约的区块链贡献证明共识方法,其特征在于,所述根据节点在区块链***中的操作行为为所述节点计算并分配***贡献值的具体过程包括:
根据节点为新加入的候选验证节点或新的应用注册进行提议和投票的操作行为,在投票结束时为参与投票的节点增加贡献值;
根据节点为候选节点质押代币的操作行为,当候选节点被选举为出块节点并完成出块后,为质押节点增加贡献值;
针对同步所有数据的节点,根据每个周期生成的存储证明进行计算并提交存储证明结果,出块节点在出块时,对提交的存储证明结果进行验证,并为提交节点计算贡献值;
针对参与共识的候选节点,计算VRF进行抽签并提交计算结果,出块节点在出块时,对提交的计算结果进行验证,并为提交节点计算贡献值。
3.根据权利要求1所述的基于智能合约的区块链贡献证明共识方法,其特征在于,所述根据节点在区块链***中的操作行为为所述节点计算并分配应用贡献值的具体过程包括:
统计节点调用的所述区块链***上部署的应用合约,根据所述应用合约注册过程对应的应用注册合约中的配置参数,对调用所述应用合约的节点分配所述配置参数对应的贡献值。
4.根据权利要求2所述的基于智能合约的区块链贡献证明共识方法,其特征在于,所述候选节点为达到预设质押条件的参与共识的节点,所述委员会节点根据预设出块时间进行出块,根据预设的周期重新选举委员会节点;
出块节点完成出块后,质押贡献值的节点获得本次区块中的代币手续费,质押代币的节点获得预设数量的贡献值。
5.根据权利要求1至4中任一项所述的基于智能合约的区块链贡献证明共识方法,其特征在于,所述智能合约包括投票合约、提议合约、共识节点管理合约、应用数据合约、质押合约、贡献值管理合约、存储证明合约、VRF抽签合约、奖励合约和惩罚合约。
6.一种基于智能合约的区块链贡献证明共识***,其特征在于,应用如权利要求1至5中任一项所述的基于智能合约的区块链贡献证明共识方法,包括:
贡献值管理模块,用于基于智能合约,根据节点在区块链***中的操作行为,为所述节点计算并分配***贡献值和应用贡献值;
委员会选举模块,用于根据参与共识的候选节点在上一周期的贡献值和/或代币的质押数量进行加权计算,根据各候选节点的权值进行离线VRF抽签计算,并根据抽签结果选举得到委员会节点;
节点奖惩模块,用于根据节点的贡献值和/或代币的质押者、质押方式和质押数量的比例进行分配奖励,同时对未积极完成共识出块任务的节点所质押的贡献值和/或代币进行扣押惩罚。
7.根据权利要求6所述的基于智能合约的区块链贡献证明共识***,其特征在于,所述贡献值管理模块具体用于:
根据节点为新加入的候选验证节点或新的应用注册进行提议和投票的操作行为,在投票结束时为参与投票的节点增加贡献值;
根据节点为候选节点质押代币的操作行为,当候选节点被选举为出块节点并完成出块后,为质押节点增加贡献值;
针对同步所有数据的节点,根据每个周期生成的存储证明进行计算并提交存储证明结果,出块节点在出块时,对提交的存储证明结果进行验证,并为提交节点计算贡献值;
针对参与共识的候选节点,计算VRF进行抽签并提交计算结果,出块节点在出块时,对提交的计算结果进行验证,并为提交节点计算贡献值。
8.根据权利要求6所述的基于智能合约的区块链贡献证明共识***,其特征在于,所述贡献值管理模块还用于:
统计节点调用的所述区块链***上部署的应用合约,根据所述应用合约注册过程对应的应用注册合约中的配置参数,对调用所述应用合约的节点分配所述配置参数对应的贡献值。
9.根据权利要求7所述的基于智能合约的区块链贡献证明共识***,其特征在于,所述候选节点为达到预设质押条件的参与共识的节点,所述委员会节点根据预设出块时间进行出块,根据预设的周期重新选举委员会节点;
出块节点完成出块后,质押贡献值的节点获得本次区块中的代币手续费,质押代币的节点获得预设数量的贡献值。
10.根据权利要求6至9中任一项所述的基于智能合约的区块链贡献证明共识***,其特征在于,所述智能合约包括投票合约、提议合约、共识节点管理合约、应用数据合约、质押合约、贡献值管理合约、存储证明合约、VRF抽签合约、奖励合约和惩罚合约。
CN202210161974.2A 2022-02-22 2022-02-22 基于智能合约的区块链贡献证明共识方法及*** Active CN115242420B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210161974.2A CN115242420B (zh) 2022-02-22 2022-02-22 基于智能合约的区块链贡献证明共识方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210161974.2A CN115242420B (zh) 2022-02-22 2022-02-22 基于智能合约的区块链贡献证明共识方法及***

Publications (2)

Publication Number Publication Date
CN115242420A true CN115242420A (zh) 2022-10-25
CN115242420B CN115242420B (zh) 2024-06-25

Family

ID=83667813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210161974.2A Active CN115242420B (zh) 2022-02-22 2022-02-22 基于智能合约的区块链贡献证明共识方法及***

Country Status (1)

Country Link
CN (1) CN115242420B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116739587A (zh) * 2023-07-05 2023-09-12 无锡市公安局 一种实现公安机关扣押、保管涉案虚拟货币的***及方法
CN118074886A (zh) * 2024-04-15 2024-05-24 南京邮电大学 一种区块链中基于多级委员会的去中心化节点管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018049713A1 (zh) * 2016-09-19 2018-03-22 弗洛格(武汉)信息科技有限公司 一种基于区块链技术一致性算法的数据管理方法及***
CN109165092A (zh) * 2018-07-10 2019-01-08 矩阵元技术(深圳)有限公司 一种基于有效算力贡献的共识方法、装置及***
CN111414373A (zh) * 2020-03-18 2020-07-14 深圳市网心科技有限公司 一种共识方法和共识***
CN112862607A (zh) * 2021-01-19 2021-05-28 平安科技(深圳)有限公司 区块链共识机制实现方法、装置、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018049713A1 (zh) * 2016-09-19 2018-03-22 弗洛格(武汉)信息科技有限公司 一种基于区块链技术一致性算法的数据管理方法及***
CN109165092A (zh) * 2018-07-10 2019-01-08 矩阵元技术(深圳)有限公司 一种基于有效算力贡献的共识方法、装置及***
CN111414373A (zh) * 2020-03-18 2020-07-14 深圳市网心科技有限公司 一种共识方法和共识***
CN112862607A (zh) * 2021-01-19 2021-05-28 平安科技(深圳)有限公司 区块链共识机制实现方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116739587A (zh) * 2023-07-05 2023-09-12 无锡市公安局 一种实现公安机关扣押、保管涉案虚拟货币的***及方法
CN116739587B (zh) * 2023-07-05 2024-06-04 无锡市公安局 一种实现公安机关扣押、保管涉案虚拟货币的***及方法
CN118074886A (zh) * 2024-04-15 2024-05-24 南京邮电大学 一种区块链中基于多级委员会的去中心化节点管理方法

Also Published As

Publication number Publication date
CN115242420B (zh) 2024-06-25

Similar Documents

Publication Publication Date Title
Yuan et al. CSEdge: Enabling collaborative edge storage for multi-access edge computing based on blockchain
CN114189421B (zh) 一种领导者节点选举方法、***、存储介质及设备
CN115242420A (zh) 基于智能合约的区块链贡献证明共识方法及***
US11593321B2 (en) Systems and methods of self-administered protocols on a blockchain platform
CN111988203B (zh) 节点选举方法、装置及存储介质
CN109166037B (zh) 区块链的共识方法
CN112104482B (zh) 一种基于并行投票的共识方法
CN110928951B (zh) 一种基于区块链的数据共享及仲裁方法
CN111082943B (zh) 一种高效的区块链共识方法
EP4318362A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
Du et al. MBFT: A new consensus algorithm for consortium blockchain
CN110490562A (zh) 一种多区块链的跨链数据处理方法和***
CN111563786A (zh) 一种基于区块链的虚拟电厂调控平台及运行方法
Wang et al. Beh-Raft-Chain: a behavior-based fast blockchain protocol for complex networks
WO2022267715A1 (zh) 一种预言机节点筛选方法、装置、存储介质及电子装置
Xu et al. Microchain: A hybrid consensus mechanism for lightweight distributed ledger for IoT
CN113568972A (zh) 一种面向图式区块链的混合共识实现装置及实现方法
Kalyaev et al. Method of multiagent scheduling of resources in cloud computing environments
CN111130875B (zh) 一种区块链的共识方法、装置、设备及存储介质
CN113282418A (zh) 一种模型聚合处理方法及装置
Mišić et al. Towards decentralization in dpos systems: election, voting and leader selection using virtual stake
CN110427763B (zh) 一种基于预定义执行代码的分布式***的共识方法
CN113435949B (zh) 基于智能合约的去中心化联邦机器学习方法、***及存储介质
CN111338754A (zh) 一种基于云簇的虚拟机借调方法
Wang et al. Lever: breaking the shackles of scalable on-chain validation

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