CN109165092A - 一种基于有效算力贡献的共识方法、装置及系统 - Google Patents

一种基于有效算力贡献的共识方法、装置及系统 Download PDF

Info

Publication number
CN109165092A
CN109165092A CN201810750036.XA CN201810750036A CN109165092A CN 109165092 A CN109165092 A CN 109165092A CN 201810750036 A CN201810750036 A CN 201810750036A CN 109165092 A CN109165092 A CN 109165092A
Authority
CN
China
Prior art keywords
calculating
node
common recognition
task
calculate
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
CN201810750036.XA
Other languages
English (en)
Other versions
CN109165092B (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.)
Matrix Technology (shenzhen) Co Ltd
Original Assignee
Matrix Technology (shenzhen) 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 Matrix Technology (shenzhen) Co Ltd filed Critical Matrix Technology (shenzhen) Co Ltd
Priority to CN201810750036.XA priority Critical patent/CN109165092B/zh
Publication of CN109165092A publication Critical patent/CN109165092A/zh
Priority to PCT/CN2019/095368 priority patent/WO2020011182A1/zh
Application granted granted Critical
Publication of CN109165092B publication Critical patent/CN109165092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

本发明提供了一种基于有效算力贡献的共识方法、装置及系统,接收计算发布方发布的计算任务以及计算任务对应的计算需求;根据计算需求进行计算任务的相应配置;获取计算任务所需的数据,并将计算任务编译成为布尔电路;形成多个并行计算任务,并分发到多个计算节点处进行计算;接收计算节点对并行计算任务进行计算的计算结果和计算证明,并根据计算证明确定计算结果是否有效;若有效,确定计算结果对应的计算节点的累计计算贡献值,并为各计算节点分配预设奖励;接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;获得N个共识节点,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。

Description

一种基于有效算力贡献的共识方法、装置及系统
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于有效算力贡献的共识方法、装置及系统。
背景技术
目前,区块链技术发展迅速,例如当前的一些数字货币(比特币、以太坊等)均采用的是区块链技术。而在区块链技术中,需要采用共识机制,即通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,就可以认为全网对此也能够达成共识。
而目前区块链,特别是公链主流还是使用工作量证明(Proof of Work,简称PoW)、股权证明(Proof of Stake,简称PoS)或者股份授权证明(Delegated Proof of Stake,简称DPoS)等共识机制或其变种,而PoW、PoS等共识机制需要哈希(Hash)挖矿,也就是用穷举的算法来计算一个符合条件的Hash值,挖矿的作用就是为了竞争记账权,也就是谁先挖到矿,谁负责把链上的交易打包出块,从而获取奖励。而目前所有主流区块链平台基本都是使用交易过程本地重放的方法来验证交易,即获得记账权的节点出块的时候,需要基于本地最新的账本状态来执行交易,并把交易本身以及执行的结果打包出块,并把区块同步给其他节点,其他节点需要基于自己本地的最新的账本状态来重新执行交易,如果执行的结果跟收到块里面的结果一致,才会把收到的区块写到本地链上。导致所有的节点都需要执行交易,这称为交易过程本地重放验证方法。可见,该方式一方面浪费大量算力,另一方面也使得共识达成的周期较长。
而随着数字货币挖矿难度的提升,挖矿成了一个重投入,目前已经先后出现专业矿工、矿场和矿池等角色,个人用户以自由设备挖矿已是遥不可及。具现有数据显示,比特币和以太坊50%以上的哈希率分别在前四大矿工和前三大矿工手中,形成隐形权力结构,这已经偏离了区块链技术的初衷。
为了克服上述问题,目前现有技术一般采用EOS(Enterprise Operation System,即为商用分布式应用设计的一款区块链操作系统)、Cosmos(区块链的互联网,旨在解决很多密码学货币问题的网络)等技术:其中,EOS采用了DPoS共识机制来解决共识效率低和算力浪费的问题。但该技术简单的将挖矿过程去掉,带来的问题是权利过于集中,也不能把现有的矿机的算力利用起来,进行有用的计算。而Cosmos的共识协议Tendermint其实是经典拜占庭容错(BFT)算法的改进版本。该技术也能在一定程度上解决共识效率低和算力浪费的问题,在通过保证金提前确定拥有投票权的节点叫做验证人。但缺陷在于也不能保证权利的过度集中在验证人的手里,同时也不能把现有的矿机的算力利用起来,进行有用的计算。
发明内容
本发明的实施例提供一种基于有效算力贡献的共识方法、装置及系统,以解决目前区块链中的共识机制存在的算力浪费、共识效率低和权力过于集中的问题。
为达到上述目的,本发明采用如下技术方案:
一种基于有效算力贡献的共识方法,包括:
接收计算发布方发布的计算任务以及所述计算任务对应的计算需求;
根据所述计算需求进行计算任务的相应配置;
获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;
根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算;
接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效;
在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;
接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;
将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
具体的,所述计算任务对应的计算需求,包括可验证计算算法。
具体的,根据所述计算需求进行计算任务的相应配置,包括:
根据所述计算需求中包括的可验证计算算法,配置可验证计算算法的相应参数。
具体的,获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路,包括:
获取所述计算任务所需的数据,并根据预先设置的编译器将所述计算任务编译成为布尔电路;所述布尔电路包括多个门电路,各个门电路具有相应的消耗权重。
具体的,根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算,包括:
将所述布尔电路拆分为多个布尔子电路,每个布尔子电路包括一至多个门电路;
将可验证计算算法的相应参数、布尔子电路和计算任务所需的数据整合成多个并行计算任务;
将所述多个并行计算任务通过计算通道分发到多个计算节点处进行计算;其中,同一并行计算任务被同时分发到多个计算节点处,并保留预先设置的计算冗余度。
具体的,接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效,包括:
接收所述计算节点对所述并行计算任务进行计算的计算结果和根据可验证计算算法的相应参数进行可验证计算得到的计算证明;
根据所述计算证明确定计算节点进行计算的实际工作量,以及验证所述计算结果是否正确;所述计算节点进行计算的实际工作量包括实际正确计算的门电路个数。
具体的,在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励,包括:
在确定计算节点进行计算的实际工作量,以及验证所述计算结果正确后,根据实际正确计算的门电路个数和各门电路的消耗权重,确定所述计算结果对应的计算节点的累计计算贡献值;
根据所述累计计算贡献值为各计算节点分配预设奖励;其中所述预设奖励和所述累计计算贡献值成正比。
具体的,接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票,包括:
接收各计算节点的投票信息,并根据所述投票信息确定投票是否成功;所述投票信息包括所投票的备选节点和所投票的累计计算贡献值信息;
在计算节点所拥有的累计计算贡献值满足所述累计计算贡献值信息时,确定投票成功,并在共识周期结束后,将投票成功对应的计算贡献值从所述计算节点处扣除;
在计算节点所拥有的累计计算贡献值未满足所述累计计算贡献值信息时,确定投票失败。
具体的,将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的,包括:
将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法轮流出块,并对区块数据完成共识的;该N个共识节点被用于将正确的计算结果和对应的累计计算贡献值写入到区块链网络的区块中。
一种基于有效算力贡献的共识装置,包括:
计算任务及需求接收单元,用于接收计算发布方发布的计算任务以及所述计算任务对应的计算需求;
计算任务配置单元,用于根据所述计算需求进行计算任务的相应配置;
布尔电路编译单元,用于获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;
并行计算任务分发单元,用于根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算;
计算结果及证明接收单元,用于接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效;
奖励分配单元,用于在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;
投票单元,用于接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;
共识节点确定单元,用于将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
具体的,所述计算任务及需求接收单元中的计算任务对应的计算需求,包括可验证计算算法。
另外,所述计算任务配置单元,具体用于:
根据所述计算需求中包括的可验证计算算法,配置可验证计算算法的相应参数。
另外,所述布尔电路编译单元,具体用于:
获取所述计算任务所需的数据,并根据预先设置的编译器将所述计算任务编译成为布尔电路;所述布尔电路包括多个门电路,各个门电路具有相应的消耗权重。
另外,所述并行计算任务分发单元,具体用于:
将所述布尔电路拆分为多个布尔子电路,每个布尔子电路包括一至多个门电路;
将可验证计算算法的相应参数、布尔子电路和计算任务所需的数据整合成多个并行计算任务;
将所述多个并行计算任务通过计算通道分发到多个计算节点处进行计算;其中,同一并行计算任务被同时分发到多个计算节点处,并保留预先设置的计算冗余度。
此外,所述计算结果及证明接收单元,具体用于:
接收所述计算节点对所述并行计算任务进行计算的计算结果和根据可验证计算算法的相应参数进行可验证计算得到的计算证明;
根据所述计算证明确定计算节点进行计算的实际工作量,以及验证所述计算结果是否正确;所述计算节点进行计算的实际工作量包括实际正确计算的门电路个数。
此外,所述奖励分配单元,具体用于:
在确定计算节点进行计算的实际工作量,以及验证所述计算结果正确后,根据实际正确计算的门电路个数和各门电路的消耗权重,确定所述计算结果对应的计算节点的累计计算贡献值;
根据所述累计计算贡献值为各计算节点分配预设奖励;其中所述预设奖励和所述累计计算贡献值成正比。
此外,所述投票单元,具体用于:
接收各计算节点的投票信息,并根据所述投票信息确定投票是否成功;所述投票信息包括所投票的备选节点和所投票的累计计算贡献值信息;
在计算节点所拥有的累计计算贡献值满足所述累计计算贡献值信息时,确定投票成功,并在共识周期结束后,将投票成功对应的计算贡献值从所述计算节点处扣除;
在计算节点所拥有的累计计算贡献值未满足所述累计计算贡献值信息时,确定投票失败。
此外,所述共识节点确定单元,具体用于:
将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法轮流出块,并对区块数据完成共识的;该N个共识节点被用于将正确的计算结果和对应的累计计算贡献值写入到区块链网络的区块中。
一种基于有效算力贡献的共识系统,包括:计算发布方、基于有效算力贡献的共识装置和多个计算节点;
所述计算发布方用于向基于有效算力贡献的共识装置发布计算任务以及所述计算任务对应的计算需求;
所述基于有效算力贡献的共识装置用于根据所述计算需求进行计算任务的相应配置;获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处;
所述计算节点用于对所述并行计算任务进行计算,形成计算结果和计算证明,并发送至所述基于有效算力贡献的共识装置;
所述基于有效算力贡献的共识装置还用于根据所述计算证明确定所述计算结果是否有效;在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
本发明实施例提供的一种基于有效算力贡献的共识方法、装置及系统,首先接收计算发布方发布的计算任务以及所述计算任务对应的计算需求;根据所述计算需求进行计算任务的相应配置;获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算;接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效;在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。可见,本发明是基于有效工作量证明算法,将共识与计算分离,算力只用来执行实际的计算工作,不用来挖矿,从而可以解决目前区块链中的共识机制存在的算力浪费、共识效率低和权力过于集中的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于有效算力贡献的共识方法的流程图一;
图2为本发明实施例提供的一种基于有效算力贡献的共识方法的流程图二;
图3为本发明实施例提供的一种基于有效算力贡献的共识装置的结构示意图;
图4为本发明实施例提供的一种基于有效算力贡献的共识系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于有效算力贡献的共识方法,包括:
步骤101、接收计算发布方发布的计算任务以及所述计算任务对应的计算需求。
步骤102、根据所述计算需求进行计算任务的相应配置。
步骤103、获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路。
步骤104、根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算。
步骤105、接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效。
步骤106、在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励。
步骤107、接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票。
步骤108、将得到投票最多的预先设置的N个备选节点作为N个共识节点。
其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。从而由于选出N个共识节点,且该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的,则可以在下一次接收计算发布方发布的计算任务后,能够执行上述步骤101至步骤106。即在步骤108之后可返回继续执行步骤101。
本发明实施例提供的一种基于有效算力贡献的共识方法,是基于有效工作量证明算法,将共识与计算分离,算力只用来执行实际的计算工作,不用来挖矿,不存在算力浪费的问题。另外,共识节点之间采用实用拜占庭容错算法对区块数据完成共识对于复杂计算,区块中直接包含交易结果及其证明,验证节点可通过密码学算法进行快速有效的验证,不需要采用计算过程本地重放的方法来验证交易,避免算力的浪费,同时也从整体上提升了区块链的共识效率,从而提升全网的交易吞吐量。本发明可以解决目前区块链中的共识机制存在的算力浪费、共识效率低和权力过于集中的问题。
为了使本领域技术人员更好的了解本发明,下面列举一个更为详细的实施例,如图2所示,本发明实施例提供一种基于有效算力贡献的共识方法,包括:
步骤201、接收计算发布方发布的计算任务以及所述计算任务对应的计算需求。
具体的,所述计算任务对应的计算需求包括可验证计算算法(VerifiableCompilation,简称VC)。
步骤202、根据所述计算需求中包括的可验证计算算法,配置可验证计算算法的相应参数。
步骤203、获取所述计算任务所需的数据,并根据预先设置的编译器将所述计算任务编译成为布尔电路。
此处可将计算任务编译成为布尔电路,该布尔电路包括多个门电路,各个门电路具有相应的消耗权重。
步骤204、将所述布尔电路拆分为多个布尔子电路,每个布尔子电路包括一至多个门电路。
步骤205、将可验证计算算法的相应参数、布尔子电路和计算任务所需的数据整合成多个并行计算任务。
步骤206、将所述多个并行计算任务通过计算通道分发到多个计算节点处进行计算;同一并行计算任务被同时分发到多个计算节点处,并保留预先设置的计算冗余度。
步骤207、接收所述计算节点对所述并行计算任务进行计算的计算结果和根据可验证计算算法的相应参数进行可验证计算得到的计算证明。
步骤208、根据所述计算证明确定计算节点进行计算的实际工作量,以及验证所述计算结果是否正确;所述计算节点进行计算的实际工作量包括实际正确计算的门电路个数。
步骤209、在确定计算节点进行计算的实际工作量,以及验证所述计算结果正确后,根据实际正确计算的门电路个数和各门电路的消耗权重,确定所述计算结果对应的计算节点的累计计算贡献值。
该计算节点的累计计算贡献值可以是其实际正确计算的门电路按照消耗权重求和得出的值。
步骤210、根据所述累计计算贡献值为各计算节点分配预设奖励;其中所述预设奖励和所述累计计算贡献值成正比。
步骤211、接收各计算节点的投票信息,并根据所述投票信息确定投票是否成功。
其中,所述投票信息包括所投票的备选节点和所投票的累计计算贡献值信息。
此处,在一个时间周期内,可以按累计计算贡献值大小对各计算节点进行排序,累计计算贡献值多的计算节点作为备选节点,例如可预先设置N个累计计算贡献值多的计算节点作为备选节点。
在步骤211之后执行步骤212或者步骤213。
步骤212、在计算节点所拥有的累计计算贡献值满足所述累计计算贡献值信息时,确定投票成功,并在共识周期结束后,将投票成功对应的计算贡献值从所述计算节点处扣除。
步骤213、在计算节点所拥有的累计计算贡献值未满足所述累计计算贡献值信息时,确定投票失败。
在步骤212和步骤213之后执行步骤214。
步骤214、将得到投票最多的预先设置的N个备选节点作为N个共识节点。
其中,该N个共识节点之间是采用实用拜占庭容错算法轮流出块,并对区块数据完成共识的;该N个共识节点被用于将正确的计算结果和对应的累计计算贡献值写入到区块链网络的区块中。从而由于选出N个共识节点,且该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的,则可以在下一次接收计算发布方发布的计算任务后,能够执行上述步骤201至步骤213。即在步骤214之后可以继续执行步骤201。
另外,对于出块的共识节点获得的收益可按照投票比例分给进行投票的计算节点。如果发现共识节点作假,可取消其作为共识节点的资格,并扣除所有累计计算贡献值以及一定的资金。下一个周期再重复选举过程。
在验证区块的有效性时,系统可按照合约的复杂程度自适应的配置验证方法。针对简单合约(合约不涉及并行或者外包计算,也就是本地节点计算就能完成的称为简单合约),节点只需要重新计算合约,并检查结果是否一致。对于复杂合约(并行计算或者外包计算,也就是除了本地节点之外,还需要其他节点协助计算才能完成的合约称为复杂合约),系统会将合约中承载的功能计算分发给多个计算节点,每个计算节点在反馈计算结果以及计算证明。共识节点将计算结果与计算证明放在区块链中的区块中,其他节点只需验证证明确定区块的合法性,当合约非常复杂时,并行计算可以大幅降低区块验证的时间,提高性能。
本发明实施例提供的一种基于有效算力贡献的共识方法,首先接收计算发布方发布的计算任务以及所述计算任务对应的计算需求;根据所述计算需求进行计算任务的相应配置;获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算;接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效;在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;将得到投票最多的预先设置的N个备选节点作为N个共识节点,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。可见,本发明是基于有效工作量证明算法,将共识与计算分离,算力只用来执行实际的计算工作,不用来挖矿,从而可以解决目前区块链中的共识机制存在的算力浪费、共识效率低和权力过于集中的问题。本发明可适用于区块链的相关产品或者服务,包括公链产品或者联盟链的产品。
对应于上述图1和图2所示的方法实施例,如图3所示,本发明实施例还提供一种基于有效算力贡献的共识装置,包括:
计算任务及需求接收单元31,用于接收计算发布方发布的计算任务以及所述计算任务对应的计算需求。
计算任务配置单元32,用于根据所述计算需求进行计算任务的相应配置。
布尔电路编译单元33,用于获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路。
并行计算任务分发单元34,用于根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算。
计算结果及证明接收单元35,用于接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效。
奖励分配单元36,用于在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励。
投票单元37,用于接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票。
共识节点确定单元38,用于将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
具体的,所述计算任务及需求接收单元31中的计算任务对应的计算需求,包括可验证计算算法。
另外,所述计算任务配置单元32,具体用于:
根据所述计算需求中包括的可验证计算算法,配置可验证计算算法的相应参数。
另外,所述布尔电路编译单元33,具体用于:
获取所述计算任务所需的数据,并根据预先设置的编译器将所述计算任务编译成为布尔电路;所述布尔电路包括多个门电路,各个门电路具有相应的消耗权重。
另外,所述并行计算任务分发单元34,具体用于:
将所述布尔电路拆分为多个布尔子电路,每个布尔子电路包括一至多个门电路。
将可验证计算算法的相应参数、布尔子电路和计算任务所需的数据整合成多个并行计算任务。
将所述多个并行计算任务通过计算通道分发到多个计算节点处进行计算;其中,同一并行计算任务被同时分发到多个计算节点处,并保留预先设置的计算冗余度。
此外,所述计算结果及证明接收单元35,具体用于:
接收所述计算节点对所述并行计算任务进行计算的计算结果和根据可验证计算算法的相应参数进行可验证计算得到的计算证明。
根据所述计算证明确定计算节点进行计算的实际工作量,以及验证所述计算结果是否正确;所述计算节点进行计算的实际工作量包括实际正确计算的门电路个数。
此外,所述奖励分配单元36,具体用于:
在确定计算节点进行计算的实际工作量,以及验证所述计算结果正确后,根据实际正确计算的门电路个数和各门电路的消耗权重,确定所述计算结果对应的计算节点的累计计算贡献值。
根据所述累计计算贡献值为各计算节点分配预设奖励;其中所述预设奖励和所述累计计算贡献值成正比。
此外,所述投票单元37,具体用于:
接收各计算节点的投票信息,并根据所述投票信息确定投票是否成功;所述投票信息包括所投票的备选节点和所投票的累计计算贡献值信息。
在计算节点所拥有的累计计算贡献值满足所述累计计算贡献值信息时,确定投票成功,并在共识周期结束后,将投票成功对应的计算贡献值从所述计算节点处扣除。
在计算节点所拥有的累计计算贡献值未满足所述累计计算贡献值信息时,确定投票失败。
此外,所述共识节点确定单元38,具体用于:
将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法轮流出块,并对区块数据完成共识的;该N个共识节点被用于将正确的计算结果和对应的累计计算贡献值写入到区块链网络的区块中。
本发明实施例提供的一种基于有效算力贡献的共识装置,是基于有效工作量证明算法,将共识与计算分离,算力只用来执行实际的计算工作,不用来挖矿,从而可以解决目前区块链中的共识机制存在的算力浪费、共识效率低和权力过于集中的问题。
另外,如图4所示,本发明实施例还提供一种基于有效算力贡献的共识系统,包括:计算发布方41、基于有效算力贡献的共识装置42和多个计算节点43。
该计算发布方41用于向基于有效算力贡献的共识装置42发布计算任务以及所述计算任务对应的计算需求。
该基于有效算力贡献的共识装置42用于根据所述计算需求进行计算任务的相应配置;获取所述计算任务所需的数据(可从第三方系统、区块链上或者区块链外得到所需的数据),并将所述计算任务编译成为布尔电路;根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点43处。
该计算节点43用于对所述并行计算任务进行计算,形成计算结果和计算证明,并发送至所述基于有效算力贡献的共识装置42。
该基于有效算力贡献的共识装置42还用于根据所述计算证明确定所述计算结果是否有效;在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;接收各计算节点43以累计计算贡献值作为的投票数据,并对备选节点进行投票;将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
本发明实施例提供的一种基于有效算力贡献的共识系统,是基于有效工作量证明算法,将共识与计算分离,算力只用来执行实际的计算工作,不用来挖矿,从而可以解决目前区块链中的共识机制存在的算力浪费、共识效率低和权力过于集中的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (19)

1.一种基于有效算力贡献的共识方法,其特征在于,包括:
接收计算发布方发布的计算任务以及所述计算任务对应的计算需求;
根据所述计算需求进行计算任务的相应配置;
获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;
根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算;
接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效;
在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;
接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;
将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
2.根据权利要求1所述的基于有效算力贡献的共识方法,其特征在于,所述计算任务对应的计算需求,包括可验证计算算法。
3.根据权利要求2所述的基于有效算力贡献的共识方法,其特征在于,根据所述计算需求进行计算任务的相应配置,包括:
根据所述计算需求中包括的可验证计算算法,配置可验证计算算法的相应参数。
4.根据权利要求3所述的基于有效算力贡献的共识方法,其特征在于,获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路,包括:
获取所述计算任务所需的数据,并根据预先设置的编译器将所述计算任务编译成为布尔电路;所述布尔电路包括多个门电路,各个门电路具有相应的消耗权重。
5.根据权利要求4所述的基于有效算力贡献的共识方法,其特征在于,根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算,包括:
将所述布尔电路拆分为多个布尔子电路,每个布尔子电路包括一至多个门电路;
将可验证计算算法的相应参数、布尔子电路和计算任务所需的数据整合成多个并行计算任务;
将所述多个并行计算任务通过计算通道分发到多个计算节点处进行计算;其中,同一并行计算任务被同时分发到多个计算节点处,并保留预先设置的计算冗余度。
6.根据权利要求5所述的基于有效算力贡献的共识方法,其特征在于,接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效,包括:
接收所述计算节点对所述并行计算任务进行计算的计算结果和根据可验证计算算法的相应参数进行可验证计算得到的计算证明;
根据所述计算证明确定计算节点进行计算的实际工作量,以及验证所述计算结果是否正确;所述计算节点进行计算的实际工作量包括实际正确计算的门电路个数。
7.根据权利要求6所述的基于有效算力贡献的共识方法,其特征在于,在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励,包括:
在确定计算节点进行计算的实际工作量,以及验证所述计算结果正确后,根据实际正确计算的门电路个数和各门电路的消耗权重,确定所述计算结果对应的计算节点的累计计算贡献值;
根据所述累计计算贡献值为各计算节点分配预设奖励;其中所述预设奖励和所述累计计算贡献值成正比。
8.根据权利要求7所述的基于有效算力贡献的共识方法,其特征在于,接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票,包括:
接收各计算节点的投票信息,并根据所述投票信息确定投票是否成功;所述投票信息包括所投票的备选节点和所投票的累计计算贡献值信息;
在计算节点所拥有的累计计算贡献值满足所述累计计算贡献值信息时,确定投票成功,并在共识周期结束后,将投票成功对应的计算贡献值从所述计算节点处扣除;
在计算节点所拥有的累计计算贡献值未满足所述累计计算贡献值信息时,确定投票失败。
9.根据权利要求8所述的基于有效算力贡献的共识方法,其特征在于,将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的,包括:
将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法轮流出块,并对区块数据完成共识的;该N个共识节点被用于将正确的计算结果和对应的累计计算贡献值写入到区块链网络的区块中。
10.一种基于有效算力贡献的共识装置,其特征在于,包括:
计算任务及需求接收单元,用于接收计算发布方发布的计算任务以及所述计算任务对应的计算需求;
计算任务配置单元,用于根据所述计算需求进行计算任务的相应配置;
布尔电路编译单元,用于获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;
并行计算任务分发单元,用于根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处进行计算;
计算结果及证明接收单元,用于接收所述计算节点对所述并行计算任务进行计算的计算结果和计算证明,并根据所述计算证明确定所述计算结果是否有效;
奖励分配单元,用于在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;
投票单元,用于接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;
共识节点确定单元,用于将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
11.根据权利要求10所述的基于有效算力贡献的共识装置,其特征在于,所述计算任务及需求接收单元中的计算任务对应的计算需求,包括可验证计算算法。
12.根据权利要求11所述的基于有效算力贡献的共识装置,其特征在于,所述计算任务配置单元,具体用于:
根据所述计算需求中包括的可验证计算算法,配置可验证计算算法的相应参数。
13.根据权利要求12所述的基于有效算力贡献的共识装置,其特征在于,所述布尔电路编译单元,具体用于:
获取所述计算任务所需的数据,并根据预先设置的编译器将所述计算任务编译成为布尔电路;所述布尔电路包括多个门电路,各个门电路具有相应的消耗权重。
14.根据权利要求13所述的基于有效算力贡献的共识装置,其特征在于,所述并行计算任务分发单元,具体用于:
将所述布尔电路拆分为多个布尔子电路,每个布尔子电路包括一至多个门电路;
将可验证计算算法的相应参数、布尔子电路和计算任务所需的数据整合成多个并行计算任务;
将所述多个并行计算任务通过计算通道分发到多个计算节点处进行计算;其中,同一并行计算任务被同时分发到多个计算节点处,并保留预先设置的计算冗余度。
15.根据权利要求14所述的基于有效算力贡献的共识装置,其特征在于,所述计算结果及证明接收单元,具体用于:
接收所述计算节点对所述并行计算任务进行计算的计算结果和根据可验证计算算法的相应参数进行可验证计算得到的计算证明;
根据所述计算证明确定计算节点进行计算的实际工作量,以及验证所述计算结果是否正确;所述计算节点进行计算的实际工作量包括实际正确计算的门电路个数。
16.根据权利要求15所述的基于有效算力贡献的共识装置,其特征在于,所述奖励分配单元,具体用于:
在确定计算节点进行计算的实际工作量,以及验证所述计算结果正确后,根据实际正确计算的门电路个数和各门电路的消耗权重,确定所述计算结果对应的计算节点的累计计算贡献值;
根据所述累计计算贡献值为各计算节点分配预设奖励;其中所述预设奖励和所述累计计算贡献值成正比。
17.根据权利要求16所述的基于有效算力贡献的共识装置,其特征在于,所述投票单元,具体用于:
接收各计算节点的投票信息,并根据所述投票信息确定投票是否成功;所述投票信息包括所投票的备选节点和所投票的累计计算贡献值信息;
在计算节点所拥有的累计计算贡献值满足所述累计计算贡献值信息时,确定投票成功,并在共识周期结束后,将投票成功对应的计算贡献值从所述计算节点处扣除;
在计算节点所拥有的累计计算贡献值未满足所述累计计算贡献值信息时,确定投票失败。
18.根据权利要求17所述的基于有效算力贡献的共识装置,其特征在于,所述共识节点确定单元,具体用于:
将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法轮流出块,并对区块数据完成共识的;该N个共识节点被用于将正确的计算结果和对应的累计计算贡献值写入到区块链网络的区块中。
19.一种基于有效算力贡献的共识系统,其特征在于,包括:计算发布方、基于有效算力贡献的共识装置和多个计算节点;
所述计算发布方用于向基于有效算力贡献的共识装置发布计算任务以及所述计算任务对应的计算需求;
所述基于有效算力贡献的共识装置用于根据所述计算需求进行计算任务的相应配置;获取所述计算任务所需的数据,并将所述计算任务编译成为布尔电路;根据所述布尔电路、计算任务的相应配置和计算任务所需的数据,形成多个并行计算任务,并将所述多个并行计算任务分发到多个计算节点处;
所述计算节点用于对所述并行计算任务进行计算,形成计算结果和计算证明,并发送至所述基于有效算力贡献的共识装置;
所述基于有效算力贡献的共识装置还用于根据所述计算证明确定所述计算结果是否有效;在确定所述计算结果有效后,确定所述计算结果对应的计算节点的累计计算贡献值,并根据所述累计计算贡献值为各计算节点分配预设奖励;接收各计算节点以累计计算贡献值作为的投票数据,并对备选节点进行投票;将得到投票最多的预先设置的N个备选节点作为N个共识节点;其中,该N个共识节点之间是采用实用拜占庭容错算法对区块数据完成共识的。
CN201810750036.XA 2018-07-10 2018-07-10 一种基于有效算力贡献的共识方法、装置及系统 Active CN109165092B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810750036.XA CN109165092B (zh) 2018-07-10 2018-07-10 一种基于有效算力贡献的共识方法、装置及系统
PCT/CN2019/095368 WO2020011182A1 (zh) 2018-07-10 2019-07-10 一种基于有效算力贡献的共识方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810750036.XA CN109165092B (zh) 2018-07-10 2018-07-10 一种基于有效算力贡献的共识方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109165092A true CN109165092A (zh) 2019-01-08
CN109165092B CN109165092B (zh) 2021-07-20

Family

ID=64897543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810750036.XA Active CN109165092B (zh) 2018-07-10 2018-07-10 一种基于有效算力贡献的共识方法、装置及系统

Country Status (2)

Country Link
CN (1) CN109165092B (zh)
WO (1) WO2020011182A1 (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109949157A (zh) * 2019-03-08 2019-06-28 矩阵元技术(深圳)有限公司 一种区块链共识的处理方法、装置及系统
CN109981281A (zh) * 2019-01-14 2019-07-05 北京领主科技有限公司 基于区块链提案随机共识确定候选元素的方法及装置
CN110011981A (zh) * 2019-03-15 2019-07-12 湖北工程学院 一种基于区块链的可信云存储方法及系统
CN110049109A (zh) * 2019-03-26 2019-07-23 湖南天河国云科技有限公司 区块链共享存储的核算方法、系统和计算机可读存储介质
CN110119315A (zh) * 2019-05-14 2019-08-13 思力科(深圳)电子科技有限公司 基于区块链的渲染方法、相关设备及系统
CN110166295A (zh) * 2019-05-23 2019-08-23 杭州趣链科技有限公司 一种用于判断网络拓扑支持拜占庭容错与否的方法
CN110458540A (zh) * 2019-07-25 2019-11-15 南京邮电大学 一种基于贡献度的随机签共识机制算法
WO2020011182A1 (zh) * 2018-07-10 2020-01-16 云图有限公司 一种基于有效算力贡献的共识方法、装置及系统
CN110855432A (zh) * 2019-10-31 2020-02-28 广东工业大学 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制
CN110855443A (zh) * 2019-10-29 2020-02-28 上海唯链信息科技有限公司 一种基于区块链和零知识证明的投票方法及装置
CN111383111A (zh) * 2020-03-03 2020-07-07 李斌 一种基于计算资源算力证明的共识算法
WO2020143183A1 (zh) * 2019-01-11 2020-07-16 平安科技(深圳)有限公司 基于股份授权证明机制的区块链共识方法及相关设备
CN111432014A (zh) * 2020-03-30 2020-07-17 上海玳鸽信息技术有限公司 一种区块链共识算法中主节点选取的方法和装置
CN111539016A (zh) * 2020-04-14 2020-08-14 浙江浙燃能源有限公司 分布式计算方法、系统、区块链节点及计算机介质
CN111951363A (zh) * 2020-07-16 2020-11-17 广州玖的数码科技有限公司 一种基于云算链的渲染方法、系统及存储介质
CN112330450A (zh) * 2020-11-04 2021-02-05 天津大学 算力交易处理方法、装置、区块链的节点及存储介质
CN113283892A (zh) * 2021-05-26 2021-08-20 北京航空航天大学 一种基于投票机制的PoSearch与PBFT融合共识算法
CN113590282A (zh) * 2021-07-19 2021-11-02 海宁奕斯伟集成电路设计有限公司 算力调度方法、系统、电子设备及计算机可读存储介质
CN113726758A (zh) * 2021-08-25 2021-11-30 百保(上海)科技有限公司 基于区块链的数据隐私计算方法及系统
WO2021244206A1 (zh) * 2020-06-03 2021-12-09 华为技术有限公司 报文处理方法、设备、系统及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612618B (zh) * 2021-08-18 2022-05-17 东北大学 一种联盟链共识方法及装置
CN117560161B (zh) * 2024-01-11 2024-04-09 中移信息系统集成有限公司 区块链的共识节点轮换方法及装置、可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452884A (zh) * 2016-10-21 2017-02-22 北京云图科瑞科技有限公司 区块链系统中的数据分配方法及装置
CN107103009A (zh) * 2016-02-23 2017-08-29 杭州海康威视数字技术股份有限公司 一种数据处理方法及装置
CN107181599A (zh) * 2017-07-18 2017-09-19 天津理工大学 基于区块链的路由位置数据保密存储及共享方法
CN107590738A (zh) * 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器
CN107786339A (zh) * 2016-08-31 2018-03-09 陈新 分层可控联盟区块链系统
CN108122165A (zh) * 2017-12-15 2018-06-05 北京中电普华信息技术有限公司 一种区块链共识方法及系统
CN108182636A (zh) * 2018-01-30 2018-06-19 杨显波 基于贡献的区块链共识机制
US20180189732A1 (en) * 2017-01-05 2018-07-05 International Business Machines Corporation Blockchain for program code credit and programmer contribution in a collective

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9870591B2 (en) * 2013-09-12 2018-01-16 Netspective Communications Llc Distributed electronic document review in a blockchain system and computerized scoring based on textual and visual feedback
CN106097006A (zh) * 2016-06-09 2016-11-09 杭州复杂美科技有限公司 区块链计费模式
CN107678865A (zh) * 2017-09-20 2018-02-09 中国银行股份有限公司 基于交易分组的区块链的验证方法以及系统
CN107992356B (zh) * 2017-12-13 2021-09-14 深圳壹账通智能科技有限公司 区块链事务区块处理方法、电子装置及可读存储介质
CN109165092B (zh) * 2018-07-10 2021-07-20 矩阵元技术(深圳)有限公司 一种基于有效算力贡献的共识方法、装置及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103009A (zh) * 2016-02-23 2017-08-29 杭州海康威视数字技术股份有限公司 一种数据处理方法及装置
CN107786339A (zh) * 2016-08-31 2018-03-09 陈新 分层可控联盟区块链系统
CN106452884A (zh) * 2016-10-21 2017-02-22 北京云图科瑞科技有限公司 区块链系统中的数据分配方法及装置
US20180189732A1 (en) * 2017-01-05 2018-07-05 International Business Machines Corporation Blockchain for program code credit and programmer contribution in a collective
CN107181599A (zh) * 2017-07-18 2017-09-19 天津理工大学 基于区块链的路由位置数据保密存储及共享方法
CN107590738A (zh) * 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器
CN108122165A (zh) * 2017-12-15 2018-06-05 北京中电普华信息技术有限公司 一种区块链共识方法及系统
CN108182636A (zh) * 2018-01-30 2018-06-19 杨显波 基于贡献的区块链共识机制

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020011182A1 (zh) * 2018-07-10 2020-01-16 云图有限公司 一种基于有效算力贡献的共识方法、装置及系统
WO2020143183A1 (zh) * 2019-01-11 2020-07-16 平安科技(深圳)有限公司 基于股份授权证明机制的区块链共识方法及相关设备
CN109981281A (zh) * 2019-01-14 2019-07-05 北京领主科技有限公司 基于区块链提案随机共识确定候选元素的方法及装置
CN109981281B (zh) * 2019-01-14 2021-11-26 北京领主科技有限公司 基于区块链提案随机共识确定候选元素的方法及装置
CN109949157A (zh) * 2019-03-08 2019-06-28 矩阵元技术(深圳)有限公司 一种区块链共识的处理方法、装置及系统
CN110011981A (zh) * 2019-03-15 2019-07-12 湖北工程学院 一种基于区块链的可信云存储方法及系统
CN110049109B (zh) * 2019-03-26 2022-04-01 湖南天河国云科技有限公司 区块链共享存储的核算方法、系统和计算机可读存储介质
CN110049109A (zh) * 2019-03-26 2019-07-23 湖南天河国云科技有限公司 区块链共享存储的核算方法、系统和计算机可读存储介质
CN110119315A (zh) * 2019-05-14 2019-08-13 思力科(深圳)电子科技有限公司 基于区块链的渲染方法、相关设备及系统
CN110166295A (zh) * 2019-05-23 2019-08-23 杭州趣链科技有限公司 一种用于判断网络拓扑支持拜占庭容错与否的方法
CN110458540A (zh) * 2019-07-25 2019-11-15 南京邮电大学 一种基于贡献度的随机签共识机制算法
CN110458540B (zh) * 2019-07-25 2022-08-23 南京邮电大学 一种基于贡献度的随机签共识机制算法
CN110855443A (zh) * 2019-10-29 2020-02-28 上海唯链信息科技有限公司 一种基于区块链和零知识证明的投票方法及装置
CN110855443B (zh) * 2019-10-29 2022-07-01 上海唯链信息科技有限公司 一种基于区块链和零知识证明的投票方法及装置
CN110855432A (zh) * 2019-10-31 2020-02-28 广东工业大学 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制
CN111383111A (zh) * 2020-03-03 2020-07-07 李斌 一种基于计算资源算力证明的共识算法
CN111432014A (zh) * 2020-03-30 2020-07-17 上海玳鸽信息技术有限公司 一种区块链共识算法中主节点选取的方法和装置
CN111432014B (zh) * 2020-03-30 2023-05-05 上海玳鸽信息技术有限公司 一种区块链共识算法中主节点选取的方法和装置
CN111539016A (zh) * 2020-04-14 2020-08-14 浙江浙燃能源有限公司 分布式计算方法、系统、区块链节点及计算机介质
CN111539016B (zh) * 2020-04-14 2023-04-07 浙江浙燃能源有限公司 分布式计算方法、系统、区块链节点及计算机介质
WO2021244206A1 (zh) * 2020-06-03 2021-12-09 华为技术有限公司 报文处理方法、设备、系统及存储介质
US11616706B2 (en) 2020-06-03 2023-03-28 Huawei Technologies Co., Ltd. Packet processing method and device designed for blockchain tasks
CN111951363A (zh) * 2020-07-16 2020-11-17 广州玖的数码科技有限公司 一种基于云算链的渲染方法、系统及存储介质
CN112330450A (zh) * 2020-11-04 2021-02-05 天津大学 算力交易处理方法、装置、区块链的节点及存储介质
CN112330450B (zh) * 2020-11-04 2022-07-19 天津大学 算力交易处理方法、装置、区块链的节点及存储介质
CN113283892A (zh) * 2021-05-26 2021-08-20 北京航空航天大学 一种基于投票机制的PoSearch与PBFT融合共识算法
CN113590282A (zh) * 2021-07-19 2021-11-02 海宁奕斯伟集成电路设计有限公司 算力调度方法、系统、电子设备及计算机可读存储介质
CN113726758A (zh) * 2021-08-25 2021-11-30 百保(上海)科技有限公司 基于区块链的数据隐私计算方法及系统

Also Published As

Publication number Publication date
CN109165092B (zh) 2021-07-20
WO2020011182A1 (zh) 2020-01-16

Similar Documents

Publication Publication Date Title
CN109165092A (zh) 一种基于有效算力贡献的共识方法、装置及系统
Chatterjee et al. Probabilistic smart contracts: Secure randomness on the blockchain
CN109964446B (zh) 一种基于投票的共识方法
KR102240939B1 (ko) 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법
McCorry et al. A smart contract for boardroom voting with maximum voter privacy
CN108959621B (zh) 一种区块链网络的实现方法、装置、设备及存储介质
US10615979B1 (en) Replication-related protocols for decentralized networks
Christidis et al. A framework for designing and evaluating realistic blockchain-based local energy markets
CN106452884B (zh) 区块链系统中的数据分配方法及装置
CN107864198A (zh) 一种基于深度学习训练任务的区块链共识方法
CN106296191A (zh) 一种区块链功耗感知的PoW共识机制
CN107464106A (zh) 区块链主链与侧链间交易的方法及系统
US20120317034A1 (en) Transparent virtual currency using verifiable tokens
CN108282539A (zh) 基于双层网络的去中心化存储系统
CN109194510A (zh) 基于区块链的数据处理方法和装置
CN109493203A (zh) 一种数据核算方法、装置及存储介质
CN108347483A (zh) 基于双层网络的去中心化计算系统
JP2018101367A (ja) 情報処理システム、情報処理方法、プログラム及び情報処理装置
CN109064329A (zh) 一种算力交易方法及计算通道
WO2021074848A1 (en) Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method
CN110247772A (zh) 一种以数字凭证为核心的基础区块链方法与系统
CN110276600A (zh) 一种去中心化的电子支票方法与系统
Cai et al. Advanced Blockchain Technology: Frameworks and Enterprise-Level Practices
Küfeoğlu Blockchain applications and peer-to-peer tradings
Abdullah et al. A Decentralized Energy Management System Inculcating SupplyDemand Ratio (SDR) and Miners' Stake through Blockchain Smart Contract for Community Microgrid Operation

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