CN114238492A - 一种基于区块链的非可信节点合作系统与方法 - Google Patents
一种基于区块链的非可信节点合作系统与方法 Download PDFInfo
- Publication number
- CN114238492A CN114238492A CN202110803576.1A CN202110803576A CN114238492A CN 114238492 A CN114238492 A CN 114238492A CN 202110803576 A CN202110803576 A CN 202110803576A CN 114238492 A CN114238492 A CN 114238492A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- block
- chain
- public
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004364 calculation method Methods 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000012856 packing Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于区块链的非可信节点合作系统,包括:公有链模块,用于下传区块信息到主节点,接收主节点上传的计算完成的区块,并按贡献记录将奖励按比例发放给各节点;联盟链合作保护模块,公有链中合作的几个节点,通过联盟链的形式实现连接和共识,区块成功上链后,联盟链节点接收公有链平台按比例发放的奖励;边缘服务器计算模块,布置在系统边缘,由多个高计算资源的服务器组成,负责向节点售卖计算资源,承接卸载的计算任务,辅助公有链节点共识上链过程,起到辅助轻量级节点加入区块链的作用。本发明的一种基于区块链的非可信节点合作系统,通过联盟链实现了非可信节点间的合作,避免了各节点之间的不信任及部分节点之间可能存在的合谋等问题。
Description
技术领域
本发明涉及一种基于区块链的非可信节点合作方法与系统,属于区块链技术领域。
背景技术
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。共识机制是保证分布式节点一致性的关键技术。对于公有链系统,最常用的工作量证明机制(Proof of work,POW)即是利用Hash函数的单向不可逆特性,通过算力竞争最先计算得到小于特定难度随机数的节点获得记账权,以此保证区块链系统各节点的一致性。
工作量证明机制通常需要耗费大量的计算和存储资源,这对于计算和存储资源有限的轻量级设备(如移动设备等)来说难以独立完成。为了解决这一问题,将边缘计算与区块链结合起来,区块链节点可将工作量证明等计算任务卸载到边缘服务器上,使得轻量级设备可以充当区块链节点。由于单个节点的算力有限,节点之间可采取合作的模式,共同完成工作量证明过程。但由于节点之间信息不透明,缺乏相互信任,给节点合作带来诸多挑战。
为了解决节点合作过程中的安全和信任问题,我们提出一种基于区块链的非可信节点合作方法与系统,其中多个轻量级设备组成联盟链,每个设备作为联盟链的一个节点,各节点贡献的资金或算力在链上记录,保证后续公有链平台的奖励按照各节点资金或算力的贡献比例进行分配。各联盟链节点同时运行公有链程序,为实现节点合作,在公有链上产生新区块后,联盟链主节点从公有链上下载待确认的交易,并打包成新的区块。需要注意的是,联盟链主节点打包的交易中第一笔交易为各节点的贡献占比,后续交易为公有链上待确认的交易。
主节点利用各节点贡献的资金统一购买边缘计算资源,并将计算任务卸载到边缘服务器上,在边缘服务器完成Hash计算后,将找到的随机数返回主节点。之后主节点负责将区块上传到公有链上进行验证,以完成区块确认。区块确认后,区块奖励将按照块中第N条交易信息记录的各节点贡献比例进行分配。
为防止联盟链上过多节点参与共识过程导致延迟过高的问题,联盟链共识可采用基于信誉的PBFT共识机制,即先依据各节点信誉进行共识节点筛选,只有信誉值大于一定门限的节点才可参与共识,极大提高了共识效率。
基于以上分析,通过联盟链实现了非可信节点间的合作,避免了各节点之间的不信任及部分节点之间可能存在的合谋等问题。
发明内容
为解决边缘服务器与节点合谋的安全和信任问题,本发明提出了一种基于区块链的非可信节点合作方法与系统。
为实现上述目的,本发明采用以下技术方案:
一种基于区块链的非可信节点合作系统,包括:公有链模块、联盟链合作保护模块、边缘服务器计算模块;
公有链模块,公有链是区块组成的去中心化、可追溯、不可篡改的分布式账本,每个区块包括区块头和区块体,区块头中包含前一个区块和当前区块的Hash值、nonce随机数和 Merkle Root即Merkle树,区块体是节点打包的交易;对于公有链来说,节点想要成功生成区块,就必须完成工作量证明机制计算出符合要求的nonce随机数,并进行验证完成区块确认,才能上链并获得奖励。而对于一些轻量级设备来说,算力不足,很难独立完成,因此几个节点会采取合作的模式,这时我们需要共识机制在节点信息不透明、不可互信的情况下去保证节点合作的安全性,这就需要设置联盟链合作保护模块;节点在公有链模块上生成区块,当自身计算能力不足时,多个节点会采取合作的模式,组成联盟链并选出主节点,主节点根据区块中第N条交易记录各节点的贡献比例,N为自然数,所述贡献包括资金和算力,公有链模块用于下传区块信息到主节点,接收主节点上传的计算完成的区块,区块在公有链上验证成功后,公有链模块按区块中第N条交易的贡献记录将奖励按比例发放给各节点;
联盟链合作保护模块,合作的几个节点,通过联盟链的形式实现连接和共识,首先所有合作节点组成联盟链,每个节点在联盟链上广播自己能够提供的贡献和信誉值,并记录在联盟链上;轮流选出主节点,之后由主节点对节点的贡献和信誉进行评估,并选择合适的节点参与共识过程,防止过多节点参与共识过程而导致时延过高的问题;随后合作节点完成PBFT 共识,主节点从公有链打包待确认的交易信息,汇总各节点的资金后统一购买计算资源,将计算任务发送到边缘计算中心,在得到边缘计算器发回的计算完成的随机值后,将区块上传到公有链上进行验证,完成区块确认,区块成功上链后,联盟链节点接收公有链平台按比例发放的奖励;联盟链上主要实现的是PBFT的共识过程,保证合作的安全;
边缘服务器计算模块,布置在系统边缘,由多个高计算资源的服务器组成,负责向节点售卖计算资源,承接卸载的计算任务,边缘计算服务器主要负责接收主节点卸载的Hash计算任务并完成计算,之后将计算完成的nonce随机数返回到主节点,起到辅助轻量级节点参与区块链的作用。
一种基于区块链的非可信节点合作方法,包括以下步骤:
步骤1,组成联盟链:想要合作的节点共同组成一个联盟链,每个节点在链上广播可以提供的资金、算力以及信誉值,并记录在联盟链上;
步骤2,选择共识节点:首先轮流选出主节点,由主节点根据联盟链上从节点的信誉值及资金、算力,选择部分节点参与PBFT共识阶段,防止大量节点参与共识过程而导致时延过高;
步骤3,实现PBFT共识:主节点负责收集节点的资金并汇总,被选出的节点共同完成 PBFT共识过程;
步骤4,区块打包:各联盟链节点同时运行公有链程序,在公有链上产生新区块后,联盟链主节点重新从公有链上下载待确认的交易,并打包成新的区块,其中第N条交易信息记录各节点的贡献比例;
步骤5,Hash计算:主节点将打包好的区块上传到边缘计算云服务器上,在边缘计算器上完成Hash计算过程,之后边缘服务器将计算后的随机值返回到主节点;
步骤6,公有链验证:主节点将计算完成的区块上传到公有链上,在公有链上进行验证,完成区块确认过程;
步骤7,奖励发放:区块成功上链后,公有链按照第N条交易信息中各节点贡献比例将奖励分配给各节点,除去向服务器计算模块购买的算力成本,得到联盟链合作节点收益。
进一步地,N的取值为1。
进一步地,步骤2包括:
步骤2.1、轮流选出主节点:
PBFT系统中的主节点是轮流选出的,
p=vmod|R|,
其中p为主节点,v为视图编号,|R|为节点个数;
步骤2.2、选择共识节点:
由于合作节点较多,如果全部参与共识过程会导致过高的时延,因此我们可以考虑选取一部分算力贡献和信誉更高的节点实现共识,加快共识过程;
增加节点信誉认证模块,起初给予每个节点固定的信誉值,节点每完成一次诚实的合作过程,相应的信誉值增加,当节点在合作中出现欺骗行为时,信誉值相应地减少;
首先所有合作节点组成联盟链,在链上广播各自可提供的资金算力贡献以及信誉值,在轮流选出主节点后,根据各节点的算力贡献和信誉,由主节点选择其中贡献和信誉更高的部分节点来实现共识过程,防止过多节点参与共识而引起过高的时延。
进一步地,步骤3包括:
步骤3.1,Request阶段即请求阶段:
客户端发送Request消息给主节点。
步骤3.2,Pre-prepare阶段即预准备阶段:
主节点负责执行区块,产生签名包,并将签名包广播给所有共识节点;
步骤3.3,Prepare阶段即准备阶段:
所有从节点负责收集签名包,某节点收集满2*f+1的签名包后,表明自身达到可以提交区块的状态,开始广播Commit包;
步骤3.4,Commit阶段即确认阶段:
主从节点负责收集Commit包,某节点收集满2*f+1的Commit包后,直接将本地缓存的最新区块提交到数据库。
步骤3.5,Reply阶段即回复阶段:
进一步地,针对节点收益的求解问题,我们假定公有链上除了合作节点之外的其他节点算力不变,则合作节点数越多,联盟链上算力越多,占公有链总算力的比值越高,步骤7中,假设公有链上节点集合为S={s1,s2,...,sn},节点si∈S的算力为μi,根据POW工作机制,一个节点解决Hash问题的速度取决于单位时间内可以提供的算力,因此节点的算力越强,解决 POW问题的可能性越大,我们用pi定义节点成功生成区块的可能性,
因为节点在成功产生区块后,需要进行区块验证才能在公有链完成上链过程,获得奖励,而区块大小会影响验证的时延,设ti为区块大小,区块成功上链后公有链平台给予的固定奖励为R,可变奖励为r·ti,其中,r表示交易率,与区块大小有关,由于我们假设除了合作节点,公有链上其他节点的算力固定不变,那么参与合作的节点越多,合作联盟链上的节点总算力越高,合作节点算力占比越高,即生成区块的成功率pi越高,区块验证时延可用指数形式表示为ξ与λ都是时延系数,λi为第i个边缘服务器计算资源的单价,则联盟链上合作节点的收益可以由区块奖励减去算力购买成本来求得,总收益为:
本发明的有益效果是:
1、公有链节点合作时,引入联盟链对节点之间的合作进行监管,利用PBFT共识保障了非可信合作节点的安全和信任问题,记录每个节点的贡献,防止传统合作方式中因为节点之间资金贡献不透明而造成奖励分配不公平、节点故意作恶的情况,能够实现更诚信的利益分配。
2、在联盟链共识过程中,采用基于信誉的PBFT共识机制,即先依据各节点信誉进行共识节点筛选,只有信誉值大于一定门限的节点才可参与共识,防止了联盟链上过多节点参与共识过程导致延迟过高的问题,极大提高了共识效率。
3、利用了边缘计算技术,为公有链节点提供算力,解决了轻量级节点独立生成区块的困难,激励更多节点参与区块链,系统总算力的增加能提高公有链的安全性,同时也为边缘服务器带来了收益。
附图说明
图1系统整体框图;
图2合作节点数对节点联合收益的影响;
图3算力价格对节点联合收益的影响。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
一种基于区块链的非可信节点合作方法与系统,整体思路如图1所示,在参与公有链的节点可能存在计算资源不足的情况,这时在系统边缘布置服务器,公有链节点可以向边缘服务器计算中心购买计算资源,将计算任务卸载到边缘服务器上。而当单个节点资金不足以购买算力时,节点会选择合作模式,想要合作的几个节点以联盟链的形式连接,轮流选出主节点。链上节点广播自己可以提供的资金和信誉值,由主节点来挑选实现共识过程的节点并完成PBFT共识,防止过多节点参与共识过程而导致过高的时延。各联盟链节点同时运行公有链程序,在公有链发布新区块之后,主节点重新从公有链下载交易信息,且区块中第一条交易信息记录为各节点的贡献占比。主节点负责汇总各个节点的资金后统一购买边缘服务器的计算资源,将区块上传到边缘服务器上。在边缘服务器完成Hash计算后,将计算出的随机值返回主节点。之后主节点负责将区块上传到公有链上进行验证,完成区块确认。成功上链后公有链平台会根据块中第一条交易信息记录的各节点贡献比例将奖励发放给各节点。
一种基于区块链的非可信节点合作方法,包括以下步骤:
步骤1,组成联盟链:想要合作的节点共同组成一个联盟链,每个节点在链上广播可以提供的资金、算力以及信誉值,并记录在联盟链上;
步骤2,选择共识节点:首先轮流选出主节点,由主节点根据联盟链上从节点的信誉值及资金、算力,选择部分节点参与PBFT共识阶段,防止大量节点参与共识过程而导致时延过高;
步骤3,实现PBFT共识:主节点负责收集节点的资金并汇总,被选出的节点共同完成 PBFT共识过程;
步骤4,区块打包:各联盟链节点同时运行公有链程序,在公有链上产生新区块后,联盟链主节点重新从公有链上下载待确认的交易,并打包成新的区块,其中第一条交易信息记录各节点的贡献比例;
步骤5,Hash计算:主节点将打包好的区块上传到边缘计算云服务器上,在边缘计算器上完成Hash计算过程,之后边缘服务器将计算后的随机值返回到主节点;
步骤6,公有链验证:主节点将计算完成的区块上传到公有链上,在公有链上进行验证,完成区块确认过程;
步骤7,奖励发放:区块成功上链后,公有链按照第一条交易信息中各节点贡献比例将奖励分配给各节点,除去向服务器计算模块购买的算力成本,得到联盟链合作节点收益。
正如前所述,步骤2中联盟链中轮流选出主节点并通过PBFT机制实现共识过程包括:
步骤2.1、轮流选出主节点:
PBFT系统中的主节点是轮流选出的,
p=vmod|R|
其中p为主节点,v为视图编号,|R|为节点个数。
步骤2.2、共识节点选择:
由于合作节点较多,如果全部参与共识过程会导致过高的时延,因此我们可以考虑选取一部分算力贡献和信誉更高的节点实现共识,加快共识过程。
增加节点信誉认证模块,起初给予每个节点固定的信誉值,节点每完成一次诚实的合作过程,相应的信誉值增加,当节点在合作中出现欺骗行为时,信誉值相应地减少。
首先所有合作节点组成联盟链,在链上广播各自可提供的资金算力贡献以及信誉值,在轮流选出主节点后,根据各节点的算力贡献和信誉,由主节点选择其中贡献和信誉更高的部分节点来实现共识过程,防止过多节点参与共识而引起过高的时延。
步骤3中PBFT可容忍无效或者恶意节点数为f,为了保障整个系统可以正常运转,需要有2f+1个正常节点,系统的总节点数为3f+1,也就是说,PBFT算法可以容忍小于1/3个无效或者恶意节点;
步骤3包括:
步骤3.1,Request阶段:
客户端发送Request消息给主节点。
步骤3.2,Pre-prepare阶段:
负责执行区块,产生签名包,并将签名包广播给所有共识节点;
步骤3.3,Prepare阶段:
负责收集签名包,某节点收集满2*f+1的签名包后,表明自身达到可以提交区块的状态,开始广播Commit包;
步骤3.4,Commit阶段:
负责收集Commit包,某节点收集满2*f+1的Commit包后,直接将本地缓存的最新区块提交到数据库。
步骤3.5,Reply阶段:
增加信誉值筛选模块后,被选出的节点通过PBFT共识过程,不仅可以节约系统资源,还将各自的资金贡献诚实地记录在链上,在不可信的环境下保证合作的安全性。
骤7中,假设公有链上节点集合为S={s1,s2,...,sn},节点si∈S的算力为μi,根据POW 工作机制,一个节点解决Hash问题的速度取决于单位时间内可以提供的算力,因此节点的算力越强,解决POW问题的可能性越大,我们用pi定义节点成功生成区块的可能性,
因为节点在成功生成区块后,需要进行区块验证才能在公有链完成上链过程,获得奖励,而区块大小会影响验证的时延,设ti为区块大小,区块成功上链后公有链平台给予的固定奖励为R,可变奖励为r·ti,其中,r表示交易率,与区块大小有关,由于我们假设除了合作节点,公有链上其他节点的算力固定不变,那么参与合作的节点越多,合作联盟链上的节点总算力越高,合作节点算力占比越高,即生成区块的成功率pi越高,区块验证时延可用指数形式表示为ξ与λ都是时延系数,λi为第i个边缘服务器计算资源的单价,则联盟链上合作节点的收益可以由区块奖励减去算力购买成本来求得,总收益为:
通过仿真结果显示,节点联合收益随合作总算力的增加而增加,如图2所示。由于我们假设公有链上除了合作节点外其他节点的算力不变,则合作节点数的增加会使合作总算力增加,合作算力与系统总算力的比值增大,因此增加合作节点数能够提高合作节点的收益。节点数的增加虽然会带来更多的收益,但贡献和信誉值较低的节点加入联盟链时,增加了合作不可信的同时,由于其资金贡献小,带来的附加收益也不高,同时在共识过程还会造成系统时延过高,因此我们要合理地选择参与节点数,以最大化节点收益。
另一方面,如图3所示,算力价格的增加会导致节点联合收益的减少,因此我们应该选择价格更低的边缘服务器来购买计算资源,以获得最大的区块利润。
以上对本申请所提供的一种基于区块链的非可信节点合作方法与系统进行了详细介绍。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (7)
1.一种基于区块链的非可信节点合作系统,其特征在于,包括:公有链模块、联盟链合作保护模块、边缘服务器计算模块;
公有链模块,包括多个区块,每个区块包括区块头和区块体成,区块头中包含前一个区块和当前区块的Hash值即哈希值、nonce随机数即特定难度随机数,区块体是节点打包的交易;节点在公有链模块上产生区块,当自身计算能力不足时,多个节点会采取合作的模式,组成联盟链并选出主节点,主节点根据区块中第N条交易记录各节点的贡献比例,N为自然数,所述贡献包括资金和算力,公有链模块用于下传区块信息到主节点,接收主节点上传的计算完成的区块,区块在公有链上验证成功后,公有链模块按区块中第N条交易的贡献记录将奖励按比例发放给各节点;
联盟链合作保护模块,合作的几个节点,通过联盟链的形式实现连接和共识,首先所有合作节点组成联盟链,每个节点在联盟链上广播自己能够提供的贡献和信誉值,并记录在联盟链上;轮流选出主节点,之后由主节点对节点的贡献和信誉进行评估,并选择合适的节点参与共识过程,随后合作节点完成PBFT共识即Practical Byzantine Fault Tolerance,拜占庭共识,主节点从公有链打包待确认的交易信息,汇总各节点的资金后统一购买计算资源,将计算任务发送到边缘计算中心,在得到边缘计算器发回的计算完成的随机值后,将区块上传到公有链上进行验证,完成区块确认,联盟链节点接收公有链平台按比例发放的奖励;
边缘服务器计算模块,布置在系统边缘,由多个高计算资源的服务器组成,负责向节点售卖计算资源,承接卸载的计算任务,边缘计算服务器主要负责接收主节点卸载的Hash计算任务并完成计算,之后将计算完成的nonce随机数返回到主节点,起到辅助轻量级节点加入区块链的作用。
2.根据权利要求1所述的一种基于区块链的非可信节点合作系统,其特征在于,N的取值为1。
3.一种基于区块链的非可信节点合作方法,其特征在于,包括以下步骤:
步骤1,组成联盟链:想要合作的节点共同组成一个联盟链,每个节点在链上广播可以提供的资金、算力以及信誉值,并记录在联盟链上;
步骤2,选择共识节点:首先轮流选出主节点,由主节点根据联盟链上从节点的信誉值及资金、算力,选择部分节点参与PBFT共识阶段,防止大量节点参与共识过程而导致时延过高;
步骤3,实现PBFT共识:主节点负责收集节点的资金并汇总,被选出的节点共同完成PBFT共识过程;
步骤4,区块打包:各联盟链节点同时运行公有链程序,在公有链上产生新区块后,联盟链主节点重新从公有链上下载待确认的交易,并打包成新的区块,其中第N条交易信息记录各节点的贡献比例;
步骤5,Hash计算:主节点将打包好的区块上传到边缘计算云服务器上,在边缘计算器上完成Hash计算过程,之后边缘服务器将计算后的随机值返回到主节点;
步骤6,公有链验证:主节点将计算完成的区块上传到公有链上,在公有链上进行验证,完成区块确认过程;
步骤7,奖励发放:区块成功上链后,公有链按照第N条交易信息中各节点贡献比例将奖励分配给各节点,除去向服务器计算模块购买的算力成本,得到联盟链合作节点收益。
4.根据权利要求3所述的一种基于区块链的非可信节点合作方法,其特征在于,N的取值为1。
5.根据权利要求3所述的一种基于区块链的非可信节点合作方法,其特征在于,步骤2包括:
步骤2.1、轮流选出主节点:
PBFT系统中的主节点是轮流选出的,
p=v mod|R|,
其中p为主节点,v为视图编号,|R|为节点个数;
步骤2.2、选择共识节点:
选取一部分算力贡献和信誉更高的节点实现共识,加快共识过程;增加节点信誉认证模块,起初给予每个节点固定的信誉值,节点每完成一次诚实的合作过程,相应的信誉值增加,当节点在合作中出现欺骗行为时,信誉值相应地减少;首先所有合作节点组成联盟链,在链上广播各自可提供的资金算力贡献以及信誉值,在轮流选出主节点后,根据各节点的算力贡献和信誉,由主节点选择其中贡献和信誉更高的部分节点来实现共识过程。
6.根据权利要求3所述的一种基于区块链的非可信节点合作方法,其特征在于,步骤3包括:
步骤3.1,客户端发送Request消息给主节点;
步骤3.2,主节点负责执行区块,产生签名包,并将签名包广播给所有共识节点;
步骤3.3,所有从节点负责收集签名包,某节点收集满2*f+1的签名包后,表明自身达到可以提交区块的状态,开始广播Commit包;
步骤3.4,主从节点负责收集Commit包,某节点收集满2*f+1的Commit包后,直接将本地缓存的最新区块提交到数据库;
7.根据权利要求3所述的一种基于区块链的非可信节点合作方法,其特征在于,步骤7中,假设公有链上的节点集合为S={s1,s2,...,sn},节点si∈S的算力为μi,根据POW即工作量证明机制,一个节点解决Hash问题的速度取决于单位时间内可以提供的算力,因此节点的算力越强,解决POW问题的可能性越大,我们用pi定义节点成功产生区块的可能性,
设ti为区块大小,区块成功上链后公有链平台给予的固定奖励为R,可变奖励为r·ti,其中,r表示交易率,与区块大小有关,则区块验证时延可用指数形式表示为ξ与λ都是时延系数,λi为第i个边缘服务器计算资源的单价,则联盟链上合作节点的收益可以由公有链奖励减去算力购买成本来求得,总收益为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110803576.1A CN114238492A (zh) | 2021-07-15 | 2021-07-15 | 一种基于区块链的非可信节点合作系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110803576.1A CN114238492A (zh) | 2021-07-15 | 2021-07-15 | 一种基于区块链的非可信节点合作系统与方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114238492A true CN114238492A (zh) | 2022-03-25 |
Family
ID=80742850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110803576.1A Pending CN114238492A (zh) | 2021-07-15 | 2021-07-15 | 一种基于区块链的非可信节点合作系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114238492A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396443A (zh) * | 2022-10-31 | 2022-11-25 | 安徽中科晶格技术有限公司 | 基于时间因子的联盟链共识方法、装置、设备及存储介质 |
-
2021
- 2021-07-15 CN CN202110803576.1A patent/CN114238492A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396443A (zh) * | 2022-10-31 | 2022-11-25 | 安徽中科晶格技术有限公司 | 基于时间因子的联盟链共识方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Solutions to scalability of blockchain: A survey | |
CN110580653B (zh) | 一种基于交易的区块链共识机制 | |
Kaur et al. | Scalability in blockchain: Challenges and solutions | |
CN112073483B (zh) | 基于信誉与委员会背书机制的权威证明共识方法及系统 | |
CN109767199A (zh) | 基于信誉的pbft共识系统及方法、区块链数据处理系统 | |
CN112434343A (zh) | 一种基于双重区块链技术的虚拟电厂安全调度与交易方法 | |
CN109493056A (zh) | 一种基于供应链生态应用场景的区块链共识机制 | |
CN112163856A (zh) | 用于区块链与物联网融合场景的共识方法及系统 | |
CN109255713A (zh) | 一种区块链网络中某一时间段内记账权的获取方法 | |
CN113407977B (zh) | 基于聚合签名的跨链扩展方法及系统 | |
CN114499890A (zh) | 联盟链中基于节点分组的Raft PBFT两阶段共识机制 | |
CN115244526A (zh) | 用于去中心化事务通信协议的方法和系统 | |
CN112651830A (zh) | 应用于电力资源共享网络的区块链共识方法 | |
CN111314428A (zh) | 区块链节点的信誉评价方法及系统 | |
CN112020018B (zh) | 区块链记账组生成方法、共识方法及区块链系统 | |
CN113448694A (zh) | 一种提高事务处理能力的区块链共识方法 | |
CN114238492A (zh) | 一种基于区块链的非可信节点合作系统与方法 | |
CN113362067B (zh) | 一种基于异步共识的电力交易撮合方法及系统 | |
CN116595094A (zh) | 基于区块链的联邦学习激励方法、装置、设备和存储介质 | |
CN112565370B (zh) | 基于无线通信与区块链场景的计算结果验证方法及系统 | |
CN114422146A (zh) | 一种区块链主节点匿名排序方法 | |
CN112995167A (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
CN116452334B (zh) | 一种基于区块链的工业园区多边碳交易方法及系统 | |
CN109729074B (zh) | 一种音频数据的加密和对等存储方法及系统 | |
CN111522884B (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 |