System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于深度学习的区块链工作量证明共识方法技术_技高网

基于深度学习的区块链工作量证明共识方法技术

技术编号:41219286 阅读:5 留言:0更新日期:2024-05-09 23:39
本申请公开一种基于深度学习的区块链工作量证明共识方法,包括:任务分发中心发布深度学习任务并进行任务分发;所有全量节点接收客户端的交易请求,在本地将交易组织为区块,等待上链;全量节点利用本地数据集独立进行模型训练及验证任务;经过模型训练及验证任务的全量节点将新生成区块广播给所有其他全量节点进行验证;全量节点模型训练完成经由其他全量节点验证模型,其他全量节点认可该模型并复制区块上链,任务训练完成,任务中心节点下发其他任务,所述方法采用区块链共识机制,将全量求解哈希难题转换成训练深度学习模型,能够将涉及到的算力资源用于解决有用的任务,既可以创造出新的生产价值,又保证了区块的正常生成。

【技术实现步骤摘要】

本申请属于区块链,具体涉及一种基于深度学习的区块链工作量证明共识方法


技术介绍

1、区块链,是基于密码学,由包含了交易数据的区块构成的链式数据结构。区块间以哈希指针相连,区块链保存在参与网络的所有全量节点中,它们为整个区块链系统提供存储空间和算力支持,如果要修改区块链中的信息,必须征得半数算力以上节点的同意并修改所有节点中的信息,由于这些节点通常掌握在不同的主体手中,因此篡改区块链中的信息需要极高的成本,相比于传统的网络,区块链具有两大核心特点:一是数据难以篡改、二是去中心化。

2、共识机制是一整套由协议、激励构成的体系,使得整个网络的节点能够就区块链状态达成一致,允许区块链网络就交易的有效性和顺序达成协议,确保所有参与者有相同的账本,共识机制是维持区块链技术的去中心化和无信任性质的一个关键因素。

3、例如,工作量证明是比特币等区块链系统广泛采用的共识机制,所有全量节点依靠自身算力解决一个哈希难题,即,找到一个随机数,使得整体区块的哈希值的前位全部为0,这一哈希难题的特点在于,1)只能通过暴力搜索的方式找到满足条件的一个解;2)求解困难,但验证容易,首先找到满足条件的一个解的全量节点获得记账权,同时获得一定的虚拟货币作为奖励(铸币交易),由于哈希难题无任何实际意义,因此工作量证明过程中的算力均被浪费了。

4、近年来,深度学习在搜索技术、数据挖掘、机器学习、机器翻译、自然语言处理、多媒体学习、语音、推荐和个性化技术,以及其他相关领域都取得了很多成果,其可以实现端到端的学习;深度学习的有效性依赖于对大量数据的特征进行反复学习的过程,该过程通常需要耗费极大的算力,根据损失和准确度进行反向传播,不断学习数据特征,以此获得高准确率模型;当模型训练完成后,可使用测试数据进行模型准确率验证,验证过程仅涉及前向传播,因此耗费的算力较低。即,深度学习模型的训练同样具有求解困难,但验证容易的特点。

5、如前所述,区块链中最常见的共识机制——工作量证明(pow),其算法需要大量的计算能力解决数学难题,在寻找随机数解决哈希难题的过程中耗费电力十分严重,导致巨大的能源和算力消耗,且所消耗的算力不能被精准利用于实际有意义的任务。

6、深度学习模型依赖于大量的数据学习特征和模式,并且训练大量数据可以有效的防止过拟合,可以提高模型的泛化能力,但是大量的数据造成模型结构复杂、计算困难,需要大量的计算资源进行训练;同时,模型训练是一个前向和反向传播不断迭代的过程,需要多次在数据集上计算调整参数以找到最优解,此计算过程是密集型的,需要巨大的算力支撑。

7、例如,在现有的论文proof-of-learning:a blockchain consensus mechanismbased on machine learning competitions中,作者设定模型网络中有三类节点:供应商、训练者和验证者,其中验证者是在网络中随机选择的网络节点。分发的训练数据有训练集和测试集,其中测试集仅包含样本不包含标签,全量节点需要在规定的时间内将测试集的预测结果提交到托管任务的集中平台,平台对模型进行排名;时间截止后,测试结果排名第一的全量节点获得此次记账权及报酬,这与区块链正常上链流程不同,节点提交预测结果之后需要额外的等待时间,会有一定概率降低区块生成速度;同时,验证者是随机选择的,与pow中全量节点不仅可以共识,也可以进行验证不同,这种验证也是集中制的方法,违反了区块链去中心化的本质,且存在一定的安全隐患。

8、再如,另一论文energy-recycling blockchain with proof-of-deep-learning中将模型的训练和验证分成两个阶段,两个阶段全量节点均可提交训练模型。在第一个阶段全量节点只有训练的数据集,为防止全量节点使用测试集训练模型以获得虚高准确度,当到达设定的时间后,发布测试数据集给全量节点用于验证模型,同时采取一系列措施防止在第一阶段已经提交过模型的节点再次训练模型提交。并且在第二阶段时,所有全量节点利用发布的测试集对本地模型验证并将区块提交给全节点,全节点对提交的模型以准确度排序之后,使用测试集对模型进行验证,选择接受准确度最高的区块。这套流程不仅需要全量节点等待,同时对全量节点在第二阶段参加训练的行为也有较复杂的约束,容易发生恶意节点在第二阶段接收到测试集之后发送给勾结过的节点(一阶段并未提交模型),使区块链网络遭到破坏。

9、基于现有技术存在的上述技术问题,本申请提出一种基于深度学习的区块链工作量证明共识方法。


技术实现思路

1、本申请的目的是针对现有技术的不足,提供一种基于深度学习的区块链工作量证明共识方法。

2、本申请采用如下技术方案:

3、一种基于深度学习的区块链工作量证明共识方法,包括:

4、步骤1,任务分发中心发布深度学习任务并对区块链中的所有全量节点进行任务分发,任务包括模型训练需要的数据、初始模型结构及初始参数以及一组准确度阈值,当全量节点训练的模型达到设定的准确度之后,广播区块进行验证;

5、步骤2,所有全量节点接收客户端的交易请求,在本地将交易组织为区块,等待上链;

6、步骤3,全量节点利用本地数据集独立进行模型训练及验证任务;

7、步骤4,经过模型训练及验证任务的全量节点将新生成区块广播给所有其他全量节点进行验证,其他全量节点收到广播的区块之后,利用本地存储的数据对区块中的模型参数进行验证;

8、步骤5,全量节点模型训练完成经由其他全量节点验证模型,其他全量节点认可该模型并复制区块上链,其他全量节点向任务中心发送表示认可的信息,超过半数全量节点认可该模块时,任务中心获知有新区块的产生,当新区块产生的个数与本次任务阈值要求个数一致,本次任务已经训练完成,任务中心节点下发其他任务,同时清空本地计时器。

9、进一步地,步骤1中,任务中心在分发数据时遵循动态分配原则,根据区块网络中的实体数量对初始数据进行划分,所有节点收到的用于训练和测试深度学习模型的数据均为独立同分布;当节点收到数据,将数据集分为训练集和测试集,用以训练本地模型。

10、进一步地,步骤3中,当某个全量节点某次验证结果超过准确度阈值,该全量节点获得一组满足要求的模型参数,在该数据集上准确度达到了阈值要求。

11、进一步地,步骤3中,区块包括区块头和区块体,其中,区块头包括有版本号、父块哈希值、merkle根、模型准确度以及时间戳,区块体中包含当前节点之前并未被上链的所有交易。

12、进一步地,步骤3中,将训练模型的最终参数保存在区块体中,最终参数与交易信息共同组成了区块的默克尔树(merkle tree),其中,模型参数的merkle根为每一层模型参数组合后进行哈希运算所得的哈希值,哈希值与下一层的参数组合之后继续进行哈希运算求哈希值,最后模型参数的哈希值与交易的哈希值组合进行哈希运算之后组成了区块头中本文档来自技高网...

【技术保护点】

1.一种基于深度学习的区块链工作量证明共识方法,其特征在于,包括:

2.根据权利要求1所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤1中,任务中心在分发数据时遵循动态分配原则,根据区块网络中的实体数量对初始数据进行划分,所有节点收到的用于训练和测试深度学习模型的数据均为独立同分布;当节点收到数据,将数据集分为训练集和测试集,用以训练本地模型。

3.根据权利要求1所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤3中,当某个全量节点某次验证结果超过准确度阈值,该全量节点获得一组满足要求的模型参数,在该数据集上准确度达到了阈值要求。

4.根据权利要求3所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤3中,区块包括区块头和区块体,其中,区块头包括有版本号、父块哈希值、Merkle根、模型准确度以及时间戳,区块体中包含当前节点之前并未被上链的所有交易。

5.根据权利要求4所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤3中,将训练模型的最终参数保存在区块体中,最终参数与交易信息共同组成了区块的默克尔树,其中,模型参数的Merkle根为每一层模型参数组合后进行哈希运算所得的哈希值,哈希值与下一层的参数组合之后继续进行哈希运算求哈希值,最后模型参数的哈希值与交易的哈希值组合进行哈希运算之后组成了区块头中的哈希值,并利用电子签名进行防伪标识。

6.根据权利要求1所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤4中,当全量节点的测试准确度达到所需阈值之后,全量节点认可新区块,并将新区块在本地账本上进行记录;本全量节点基于新区块中所包括的模型参数,继续进行下一轮模型的训练和区块的生成工作。

7.根据权利要求6所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤4中,当测试准确率低于所需阈值时,本全量节点丢弃该新区块,并继续进行模型训练,等待自身训练获得满足条件的模型、或其他全量节点发来新的区块。

8.根据权利要求1所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤1中,准确度阈值为一组阈值,用于使每次共识的难度和时间是相当的。

...

【技术特征摘要】

1.一种基于深度学习的区块链工作量证明共识方法,其特征在于,包括:

2.根据权利要求1所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤1中,任务中心在分发数据时遵循动态分配原则,根据区块网络中的实体数量对初始数据进行划分,所有节点收到的用于训练和测试深度学习模型的数据均为独立同分布;当节点收到数据,将数据集分为训练集和测试集,用以训练本地模型。

3.根据权利要求1所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤3中,当某个全量节点某次验证结果超过准确度阈值,该全量节点获得一组满足要求的模型参数,在该数据集上准确度达到了阈值要求。

4.根据权利要求3所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤3中,区块包括区块头和区块体,其中,区块头包括有版本号、父块哈希值、merkle根、模型准确度以及时间戳,区块体中包含当前节点之前并未被上链的所有交易。

5.根据权利要求4所述的基于深度学习的区块链工作量证明共识方法,其特征在于,步骤3中,将训练模型的最终参数保存在...

【专利技术属性】
技术研发人员:侯璐潘真真韩莹韩灵怡
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1