CN110599141B - 用于向节点分配处理费用的方法、装置、系统和介质 - Google Patents
用于向节点分配处理费用的方法、装置、系统和介质 Download PDFInfo
- Publication number
- CN110599141B CN110599141B CN201910870084.7A CN201910870084A CN110599141B CN 110599141 B CN110599141 B CN 110599141B CN 201910870084 A CN201910870084 A CN 201910870084A CN 110599141 B CN110599141 B CN 110599141B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- consensus
- processing
- value
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0645—Rental transactions; Leasing transactions
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本公开内容涉及用于向节点分配处理费用的方法、装置、系统和介质。在该方法中,接收来自发送交易请求的用户的处理费用;根据负责对区块链网络中的交易达成共识的多个节点各自的通信网络质量、处理资源、以及在历史共识过程中的响应状况中的至少一项,确定所述多个节点中的每个节点的投票权益值,其中,每个节点在多轮达成共识的过程中当选为共识算法中的提议者的次数是基于该节点的投票权益值的;以及根据每个节点的投票权益值占所述多个节点的投票权益值之和的比例,将所述处理费用分配给每个节点。通过将费用分配与节点的技术状况相关联,有助于节点改进自己的技术状况,还可以吸引技术状况良好的新节点的加入,从而提高网络质量。
Description
技术领域
本公开涉及区块链技术,更具体地,涉及区块链技术中用于向节点分配处理费用的方法、装置、系统和介质。
背景技术
由于区块链上记录的信息具有不可篡改性,区块链技术在用户身份追溯、交易验证等方面具有突出的优势,因此在当今的技术发展中得到了越来越多的关注。区块链网络节点在对区块链上的交易请求进行验证、打包等处理过程中需要消耗一定的资源,比如存储空间、运算资源和网络带宽等,因此,发起交易请求的用户通常需要为这些处理向节点付费。
为了激励更多的节点参与到区块链网络的建设中,从而提供更多的存储能力和更快的处理能力,用户所付费用会按照一定的奖励机制分配给区块链网络上的节点。例如,在做为公链的主流技术之一的以太坊(ETH)中,节点根据处理用户交易请求所花费的资源从用户预先支付的燃料(gas)费用中取得相应收入。在做为公链的另一主流技术的柚子(EOS)中,节点根据它持有代币的数量和时间按照一定比例从系统增发的代币中获得收入,并通过向分布式应用程序开发者出售节点自己的存储空间、运算资源和网络带宽而获得收入。
但是,无论是在以太坊还是柚子中,节点的收入要不与各次交易处理的gas费用有关、要不与节点持有的权益有关,并不涉及节点自身的技术状况。比如,节点可能连接到的通信网络的质量不好,存储和处理性能不佳,但根据特定规则被分配了对于gas费用较大的交易的记帐权,那么该节点获得的收入较高;反之,节点可能具有良好的通信网络质量,存储和处理性能也较好,但根据特定规则被分配了对于gas费用较小的交易的记帐权,那么该节点获得收入较低。这样的处理费用的分配方式难以督促节点改进自身的技术状况,并且难以吸引技术状况良好的节点加入区块链网络,从而难以优化区块链网络的质量。此外,在目前的联盟链中完全不涉及任何费用分配的方案,这使得在联盟链中同样难以优化网络质量。
发明内容
本公开提供了一种用于向节点分配处理费用的方法、装置、系统和介质,能够通过将费用分配与节点的技术状况相关联来促进节点提高性能,从而提高区块链网络质量。
根据本公开的一个方面,提供了一种用于在区块链网络中向节点分配处理费用的方法。该方法包括:接收来自发送交易请求的用户的处理费用;根据负责对区块链网络中的交易达成共识的多个节点各自的通信网络质量、处理资源、以及在历史共识过程中的响应状况中的至少一项,确定所述多个节点中的每个节点的投票权益值,其中,每个节点在多轮达成共识的过程中当选为共识算法中的提议者的次数是基于该节点的投票权益值的;以及根据每个节点的投票权益值占所述多个节点的投票权益值之和的比例,将所述处理费用分配给每个节点。
根据本公开的另一方面,提供了一种用于在区块链网络中向节点分配处理费用的装置。该装置包括用于执行上述方法中的各步骤的部件。
根据本公开的再一方面,提供了一种用于在区块链网络中向节点分配处理费用的系统。该系统包括:存储有计算机可执行指令的存储器;以及与所述存储器耦合的处理器,当所述计算机可执行指令被所述处理器执行时使得所述处理器执行上述方法。
根据本公开的又一方面,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令当被处理器执行时使得所述处理器执行上述方法。
本公开实施例提供的方法引入了基于节点的通信网络质量、处理资源和/或响应状况的投票权益值这一概念,通过使用投票权益值来按比例进行费用分配,使得技术状况更好的节点能够获得更高的收入。这种通过将费用分配与节点的技术状况相关联的方式,可以促进节点改进自己的通信网络质量、处理资源和/或响应状况,使得节点既可以从硬件方面提高硬件水平,又可以从软件方面优化处理流程,从而提高节点的性能。节点技术状况的改进带来的节点性能的提高又可以提高区块链网络的质量,使得网络上的交易的执行、验证和存储过程更加快速和高效。此外,这样的费用分配方式还会吸引技术状况良好的新节点的加入,使得区块链网络能更快速、安全、高效地运行,进一步提高区块链网络的质量。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1是根据本公开实施例的用于向节点分配处理费用的方法的流程图。
图2是根据本公开实施例的用于向节点分配处理费用的方法的例子的流程图。
图3是根据本公开实施例的用于向节点分配处理费用的装置的框图。
图4是根据本公开实施例的用于向节点分配处理费用的另一装置的框图。
图5是根据本公开实施例的用于向节点分配处理费用的系统的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面,参照图1描述根据本公开实施例的用于向节点分配处理费用的方法100的流程图。
在步骤S110中,接收来自发送交易请求的用户的处理费用。
例如,用户可以向区块链网络中的任一节点发送诸如转移一定量代币、执行智能合约等的交易请求。为了使得区块链网络能够执行这笔交易,用户需要支付一定量的处理费用,用于支付节点的运算消耗。以借用以太坊技术的区块链为例,用户可以按照预定的付费标准根据交易请求中包含的各处理步骤支付对应量的gas,这些gas用于支付以太坊虚拟机的运算消耗。
在步骤S120中,根据负责对区块链网络中的交易达成共识的多个节点各自的通信网络质量、处理资源、以及在历史共识过程中的响应状况中的至少一项,确定所述多个节点中的每个节点的投票权益值,其中,每个节点在多轮达成共识的过程中当选为共识算法中的提议者的次数是基于该节点的投票权益值的。
在本公开实施例的技术方案中,引入了投票权益值这一概念,它是基于节点自身的技术状况而设置的。投票权益值的作用一方面能够影响节点在共识算法中当选为提议者的次数,另一方面能够影响分配给节点的处理费用,使得具有更好技术状况的节点能够在区块链网络的运行过程中发挥更大的作用,并能被分得更多的收入,从而有助于激励节点提高自身的技术状况。
节点自身的技术状况指的是节点的硬件状况和/或软件状况,包括节点的通信网络质量、处理资源、以及在历史共识过程中的响应状况中的至少一项。节点的通信网络质量包括但不限于以下中的一项或多项:节点连接到的通信网络的带宽、通信网络的传输时延、距离权力中心的距离等。节点的处理资源包括但不限于以下中的一项或多项:节点的存储器的存储空间、节点的处理器的数量和运算速度、处理器访问存储器的速度等。节点在历史共识过程中的响应状况包括但不限于以下中的一项或多项:节点在过去的共识过程中是否按时发送应答、发送应答的延时是否过大、是否篡改过数据等。
在本公开的实施例中,节点自身的技术状况影响投票权益值的设置。如果节点连接的通信网络具有更大的网络带宽、更小的传输时延、距离权力中心更近的距离等,那么该节点可以具有更高的投票权益值。如果节点具有更大的存储空间、更快的运算速度等,那么该节点可以具有更高的投票权益值。如果节点在过去的共识过程中往往表现为一个诚实的节点,很少做出或者几乎不做出不合格的应答(不合格应答例如包括超时应答、篡改数据后应答、不应答等),那么该节点可以具有更高的投票权益值。上述条件可以以任何方式进行组合,只要确保技术状况更好的节点具有更高的投票权益值即可。
当节点被设置有各自的投票权益值之后,节点在共识算法中将基于其投票权益值与其它节点的投票权益值之间的大小关系,按照一定的频率当选为提议者。具体而言,可以对现有的共识算法进行改进或提出新的共识算法,使得由于技术状况更好而具有更大投票权益值的节点能够在多轮的共识过程中更多次地当选为提议者。
例如,可以在PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)算法中融入投票权益值的概念。现有的PBFT算法对所有节点平等对待,不为它们设置相区分的权重,使得如果网络中有f个恶意节点,那么网络中的总节点的数量需要达到n=3f+1,这样当网络的投票总数为2f+1时,认为所有节点对交易信息达成了共识。当引入投票权益值之后,如果最初所有节点的投票权益值都为默认值a,那么f个恶意节点的总投票权益值为f×a,所有节点的最初的总投票权益值为n×a(=3f×a+1×a),当网络在达成共识过程中的投票权益值达到门限2f×a+1×a时,认为所有节点对交易信息达成了共识。
在引入了投票权益值的PBFT算法中,假设负责对交易达成共识的四个节点A、B、C和D分别具有10、10、10、10的投票权益值,则这四个节点A、B、C和D在40轮共识过程中可以按照A、B、C、D、A、B、C、D……A、B、C、D的顺序分别当选10次提议者。如果这四个节点的投票权益值变为10、8、7和6,则这四个节点A、B、C和D在40轮共识过程中可以按照A、A、A、B、A、B、C、A、B、C、D、A、B、C、D……A、B、C、D、A的顺序分别当选13次、10次、9次和8次提议者。可见,具有更高权益值的节点能够更多次地当选为提议者,使得技术状况更好的节点能够为区块链的构建做出更大的贡献,从而有利于区块链网络质量的提高。在共识算法中根据节点的投票权益值选择恰当的节点做为提议者的方法可以容易地由本领域技术人员实现。例如,这可以通过为每个节点分配权重、并基于该权重来改变节点在当选为提议者的队列中的位置来实现。再例如,“Proposer selection procedure in Tendermint”文档(参见https://github.com/tendermint/tendermint/blob/a0234affb6959a0aec285eebf3a3963251d2d186/docs/spec/reactors/consensus/proposer-selectio n.md)中提出的方法可以被采用。
在其他共识算法或未来的共识算法中,本领域技术人员也完全有能力通过在共识算法中设置参数或权重来使得技术状况更好的节点能够更多次地当选为提议者。
根据本公开的实施例,可以通过以下方式来设置节点的投票权益值。
当节点加入区块链网络时,可以为节点设置预定的投票权益值,例如默认值a。
随着节点在网络中运行,节点的投票权益值可能在一些情况下被减小,减小的幅度可以为2、1、0.5等预定的值。例如当检测到某节点的通信网络质量下降(例如,网络带宽减小、传输延时变大、距权力中心的距离变远等)时,该节点的投票权益值可以被减小。再例如,当检测到某节点的处理资源降级(例如,可用的存储空间变少、处理器故障而导致处理速度变慢、处理器被其它非区块链处理占用过多算力等)时,该节点的投票权益值可以被减小。又例如,当检测到该节点多次在达成共识的过程中超时应答或未应答时,该节点的投票权益值可以被减小。上述各种情况可以以任何方式进行组合,只要当检测到节点的技术状况劣化时将其投票权益值减小即可。
这样,可以使得各节点具有与其技术状况相匹配的投票权益值,从而能够根据节点各自的性能为区块链的构建做出贡献,并能够根据其贡献大小公平地分得收入。
随着节点的投票权益值的减小,有可能网络在共识过程中产生的投票权益值不再能达到门限从而影响区块链的扩充,或者尽管仍能达到门限,但节点的投票权益值过低使得区块链网络在该节点处可能存在性能瓶颈。
根据本公开的实施例,在检测到节点的投票权益值低于预定阈值的情况下,可以向该节点发送通知以使得该节点提高通信网络质量、升级处理资源和/或优化共识流程。其中,提高通信网络质量可以包括增加网络带宽、优化路由而减少传输延时、移动物理位置或改变布线方式以使得距离权力中心的距离更近、等等,升级处理资源可以包括增加可用的存储空间、增加处理器的数量、将处理器更换为性能更高的处理器、从流程执行方面提高处理器的处理性能、等等。优化共识流程可以包括提高共识处理在节点处理队列中的优先级、利用更多的处理资源来进行交易的验证、等等。通过向节点发送通知,能够使节点改进自己的技术状况,从而整体上提高区块链网络的质量。
根据本公开的另一实施例,在检测到节点的投票权益值低于预定阈值的情况下,可以从区块链网络中排除该节点。这样,通过直接排除技术状况不好的节点参与区块链网络,能够使区块链网络中的恶意节点、运行速度慢的节点减少,从而整体上提高区块链网络的质量。
另外,还可以定期与投票权益值过低的节点进行通信,督促节点关注自身的技术状况,以使其将技术状况保持在较好的状态。如果区块链网络在共识过程中产生的投票权益值始终无法超过达成共识的门限,则为了保证网络的安全性,优选地由维护人员手动增大各节点的投票权益值。
在步骤S130中,根据每个节点的投票权益值占多个节点的投票权益值之和的比例,将处理费用分配给每个节点。
例如,对于发送交易请求的用户支付的处理费用gas,分别具有投票权益值10、8、7、6的节点A、B、C和D,可以分别分得gas×10/31、gas×8/31、gas×7/31和gas×6/31这么多的收入。显然,在共识算法中更多次地当选为提议者、对区块链构建起到更大作用、具有更好技术状况的节点A可以被分得更多的收入。这促使节点为了得到更大的利益而努力改进自己的技术状况,从而整体上提高区块链网络的质量。
当用户的交易请求是执行做为代码集合的智能合约时,为了保证智能合约的安全性,可以通过abigen软件工具将共识算法中需要考虑的投票权益值与智能合约涉及的处理费用相联系,使得能够根据投票权益值按比例分配处理费用。
根据本发明的实施例,准备向各节点分配的用户支付的处理费用可以在共识过程之后向各节点分配。优选地,可以在包含用户交易的数据被成功添加到区块链之后,将用户支付的处理费用按S130中确定的比例转移给对应的节点的账户。例如,节点A、B、C和D可以对包含用户交易的候选区块进行验证,当验证通过并对该区块达成共识之后,该区块可以被添加到区块链,然后再将处理费用转移给节点A、B、C和D。如果由于种种原因,验证未能通过或者未能达成共识,可以将处理费用中的一小部分按S130中的比例分配给各节点,以在一定程度上覆盖它们的资源消耗。
上述方法可以用在各种区块链类型中。特别地,由于联盟链网络尚没有合理分配用户的处理费用的方式,该方法可以被应用到联盟链中,例如全部节点为以太坊虚拟机类型的联盟链中。在这样的联盟链中,以太坊虚拟机不仅可以参与共识过程,还可以计算向节点分配的费用。此外,通过现有的abigen软件工具可以实现以太坊虚拟机与区块链程序的相互调用。当在联盟链中采用根据本公开实施例的方法时,通过按节点的技术状况进行费用分配,有利于督促节点改进自己的技术状况,并吸引更多的技术状况良好的节点加入,从而提高联盟链网络的质量。
在图2中,以智能合约这类分布式应用为例,描述本公开实施例的向节点分配处理费用的方法200的例子。
在S210中,用户向区块链网络发送执行智能合约的请求,并支付对应的处理费用以支付例如以太坊虚拟机的运算消耗。
在S220中,根据节点的技术状况,例如通信网络质量、处理资源、以及在历史共识过程中的响应状况中的至少一项,确定节点的投票权益值。该投票权益值也是节点在PBFT共识算法中的权益值,是对PBFT共识的贡献值。
在S230中,智能合约通过abigen软件工具获取各节点的投票权益值,将交易的处理费用按照节点的投票权益值占投票权益值总和的比例给到对应的节点。
在S240中,在包含用户交易的区块完成后,即添加到区块链之后,将整个区块中的全部交易的处理费用按照S230中的方式进行累计,然后发送到节点指定的账户中。
上面描述了根据本发明实施例的用于向节点分配处理费用的方法。接下来描述根据本发明实施例的用于向节点分配处理费用的装置、系统和介质。
图3示出了根据本公开实施例的用于向节点分配处理费用的装置300的框图。
装置300包括接收部件310、确定部件320和分配部件330。接收部件310可被配置为接收来自发送交易请求的用户的处理费用。确定部件320可被配置为根据负责对区块链网络中的交易达成共识的多个节点各自的通信网络质量、处理资源、以及在历史共识过程中的响应状况中的至少一项,确定所述多个节点中的每个节点的投票权益值,其中,每个节点在多轮达成共识的过程中当选为共识算法中的提议者的次数是基于该节点的投票权益值的。分配部件330可被配置为根据每个节点的投票权益值占所述多个节点的投票权益值之和的比例,将所述处理费用分配给每个节点。
通过根据基于节点技术状况的投票权益值来按比例分配处理费用,可以督促节点关注自己的通信网络质量、处理资源和/或响应状况,使得节点既可以从硬件方面提高硬件水平,又可以从软件方面优化处理流程,从而有助于提高节点的性能。节点技术状况的改进可以提高区块链网络的质量,使得网络上的交易的执行、验证和存储过程更加快速和高效。此外,这样的费用分配方式还会吸引技术状况良好的新节点的加入,使得区块链网络能够更加快速、安全、高效地运行,进一步提高网络质量。
接收部件310、确定部件320和分配部件330的上述操作和/或其它操作可以参考上文关于图1和图2的描述,为了避免重复,在此不再赘述。
图4示出了根据本公开实施例的用于向节点分配处理费用的装置400的框图。装置400中的接收部件410、确定部件420和分配部件430与装置300中的接收部件310、确定部件320和分配部件330基本相同。
根据本公开的实施例,确定部件420可被进一步配置为在节点加入区块链网络时为节点设置预定的投票权益值,例如预定的默认值。确定部件420还可被进一步配置为在如下情况中的至少一种情况下,将节点的投票权益值减小:检测到该节点的通信网络质量下降,检测到该节点的处理资源降级,以及检测到该节点多次在达成共识的过程中超时应答或未应答。
根据本公开的实施例,装置400还可以包括通知部件440。通知部件440可以被配置为在检测到节点的投票权益值低于预定阈值的情况下,向该节点发送通知以使得该节点提高通信网络质量、升级处理资源和/或优化共识流程。
根据本公开的实施例,装置400还可以包括排除部件450。排除部件可以被配置为在检测到节点的投票权益值低于预定阈值的情况下,从区块链网络中排除该节点。
根据本公开的实施例,分配部件430可以被配置为在所述多个节点对包含所述用户的交易的数据达成共识并且该数据被添加到区块链之后,将处理费用转移到每个节点对应的账户。
确定部件420、分配部件430、通知部件440和排除部件450的上述操作和/或其它操作可以参考上文关于图1和图2的描述,为了避免重复,在此不再赘述。
图5示出了根据本发明实施例的用于向节点分配处理费用的系统500的结构框图。
系统500可以是现有及未来可能出现的任何具有信息处理能力的装置。系统500包括存储器510和处理器520。存储器510可以是只读存储器、光盘、硬盘、磁盘、闪存或其它任何非易失性存储介质。存储器可以存储用于实现方法100中的一个或多个步骤的计算机可执行指令。
处理器520耦接至存储器510,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器520用于执行存储器510中存储的用于实现上述方法中的一个或多个步骤的计算机可执行指令,由此可以通过将费用分配与节点的技术状况相关联,来促进节点提高性能并吸引新的高性能节点加入,从而提高网络质量。
如现有计算机装置中那样,处理器520可以通过总线耦合至存储器510。系统500可以通过读写接口连接至外部存储装置以便调用外部数据,还可以通过网络接口连接至网络或者其他计算机装置,此处不再进行详细描述。
根据本发明的实施例,计算机可读存储介质上可以存储有用于执行上述方法中的一个或多个步骤的计算机可执行指令,当所述指令被处理器运行时,能够使得处理器执行相应的步骤,从而通过将费用分配与节点的技术状况相关联来促进节点提高性能,进而提高区块链网络质量。
本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
Claims (10)
1.一种用于在区块链网络中向节点分配处理费用的方法,包括:
接收来自发送交易请求的用户的处理费用;
根据负责对区块链网络中的交易达成共识的多个节点各自的通信网络质量、处理资源、以及在历史共识过程中的响应状况,确定所述多个节点中的每个节点的投票权益值,使得技术状况更好的节点具有更高的投票权益值,其中,每个节点在多轮达成共识的过程中当选为共识算法中的提议者的次数是基于该节点的投票权益值的,每个节点在所述多轮达成共识的过程中按照满足所述多个节点的投票权益值的顺序当选为提议者,以及每轮达成共识的过程中仅有一个节点当选为提议者;以及
根据每个节点的投票权益值占所述多个节点的投票权益值之和的比例,将所述处理费用分配给每个节点。
2.根据权利要求1所述的方法,其中,所述确定所述多个节点中的每个节点的投票权益值包括:
在节点加入区块链网络时为节点设置预定的投票权益值;以及
在如下情况中的至少一种情况下,将节点的投票权益值减小:
检测到该节点的通信网络质量下降,
检测到该节点的处理资源降级,以及
检测到该节点多次在达成共识的过程中超时应答或未应答。
3.根据权利要求2所述的方法,其中,将节点的投票权益值减小之后,所述方法还包括:
在检测到节点的投票权益值低于预定阈值的情况下,向该节点发送通知以使得该节点提高通信网络质量、升级处理资源和/或优化共识流程。
4.根据权利要求2所述的方法,其中,将节点的投票权益值减小之后,所述方法还包括:
在检测到节点的投票权益值低于预定阈值的情况下,从区块链网络中排除该节点。
5.根据权利要求1所述的方法,其中,所述将所述处理费用分配给每个节点包括:
在所述多个节点对包含所述用户的交易的数据达成共识并且该数据被添加到区块链之后,将所述处理费用转移到每个节点对应的账户。
6.根据权利要求1所述的方法,其中,所述共识算法包括PBFT算法。
7.根据权利要求1所述的方法,其中,所述区块链网络是联盟链网络。
8.一种用于在区块链网络中向节点分配处理费用的装置,包括用于执行根据权利要求1至7中任一项所述的方法的步骤的部件。
9.一种用于在区块链网络中向节点分配处理费用的系统,包括:
存储有计算机可执行指令的存储器;以及
与所述存储器耦合的处理器,当所述计算机可执行指令被所述处理器执行时使得所述处理器执行根据权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机可执行指令,所述计算机可执行指令当被处理器执行时使得所述处理器执行根据权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870084.7A CN110599141B (zh) | 2019-09-16 | 2019-09-16 | 用于向节点分配处理费用的方法、装置、系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910870084.7A CN110599141B (zh) | 2019-09-16 | 2019-09-16 | 用于向节点分配处理费用的方法、装置、系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599141A CN110599141A (zh) | 2019-12-20 |
CN110599141B true CN110599141B (zh) | 2023-06-30 |
Family
ID=68859582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910870084.7A Active CN110599141B (zh) | 2019-09-16 | 2019-09-16 | 用于向节点分配处理费用的方法、装置、系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599141B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111383019A (zh) * | 2020-05-28 | 2020-07-07 | 支付宝(杭州)信息技术有限公司 | 一种基于联盟链网络的交易执行方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10360191B2 (en) * | 2016-10-07 | 2019-07-23 | International Business Machines Corporation | Establishing overlay trust consensus for blockchain trust validation system |
CN109934608B (zh) * | 2017-12-18 | 2020-10-30 | 厦门本能管家科技有限公司 | 一种区块链共识方法 |
CN108712468B (zh) * | 2018-04-19 | 2021-01-08 | 上海分布信息科技有限公司 | 一种区块链收益分配方法和分配系统 |
CN108923909B (zh) * | 2018-07-02 | 2021-07-20 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备及存储介质 |
-
2019
- 2019-09-16 CN CN201910870084.7A patent/CN110599141B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768665A (zh) * | 2018-07-02 | 2018-11-06 | 上海达家迎信息科技有限公司 | 区块链生成方法、装置、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110599141A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10346216B1 (en) | Systems, apparatus and methods for management of software containers | |
US11252220B2 (en) | Distributed code execution involving a serverless computing infrastructure | |
US10346775B1 (en) | Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system | |
US9917782B2 (en) | Equitable distribution of excess shared-resource throughput capacity | |
US9888067B1 (en) | Managing resources in container systems | |
US9858123B1 (en) | Moving resource consumers in computer systems | |
US9471393B2 (en) | Burst-mode admission control using token buckets | |
US9385956B2 (en) | Compound token buckets for burst-mode admission control | |
US9218221B2 (en) | Token sharing mechanisms for burst-mode operations | |
EP3014804B1 (en) | Burst mode control | |
CN111258745B (zh) | 一种任务处理方法及设备 | |
US11386371B2 (en) | Systems, apparatus and methods for cost and performance-based movement of applications and workloads in a multiple-provider system | |
USRE48680E1 (en) | Managing resources in container systems | |
US9830566B1 (en) | Managing resources in computer systems using action permits | |
US10552586B1 (en) | Systems, apparatus and methods for management of computer-based software licenses | |
CN116319768A (zh) | 计算任务的执行方法、装置、存储介质及电子装置 | |
CN110599141B (zh) | 用于向节点分配处理费用的方法、装置、系统和介质 | |
CN114629960A (zh) | 资源调度方法、装置、系统、设备、介质和程序产品 | |
CN112583609A (zh) | 一种云计费方法、装置、云管理平台、系统及存储介质 | |
Wang et al. | Optimal cloud instance acquisition via IaaS cloud brokerage with volume discount | |
Arantes et al. | Probabilistic byzantine tolerance scheduling in hybrid cloud environments | |
USRE48663E1 (en) | Moving resource consumers in computer systems | |
Zhang et al. | Machine Learning on the Cheap: An Optimized Strategy to Exploit Spot Instances | |
CN116703580A (zh) | 交易分发方法、节点和区块链系统 | |
CN117407162A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 200120 T3, 1788, 1800 Century Avenue, free trade Experimental Zone, Pudong New Area, Shanghai Applicant after: SHANGHAI INSURANCE EXCHANGE CO.,LTD. Address before: 200120 Shanghai East Road Pudong New Area Financial Information Center 22 Applicant before: SHANGHAI INSURANCE EXCHANGE CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |