当前位置: 首页 > 专利查询>张必英专利>正文

一种基于机器学习的区块链四阶段共识方法技术

技术编号:38360716 阅读:9 留言:0更新日期:2023-08-05 17:30
为了利用区块链服务节点的算力对机器学习模型进行训练,同时也为了提高共识速度,本发明专利技术提供了一种基于机器学习的区块链四阶段共识方法。本发明专利技术所提供的区块链共识方法把共识过程分为任务发布、预训练、最终训练、验证与奖励四个过程。客户节点将机器学习模型、训练脚本和数据集上传至星际文件系统(Inter Planetary File System,IPFS),将任务列表写入区块链。预训练服务节点从区块链读取任务属性信息,从IPFS中获取真实数据集和训练脚本,在本地计算节点训练,准确度达到要求时上传模型至IPFS中,把模型信息写入区块链中。最终训练节点从区块链中读取预模型和数据集的地址,从IPFS获取机器学习模型并下载到本地,对机器学习模型进行最终训练并把最终模型写入IPFS中,将其地址写入区块链网络中。验证服务节点从区块链中获取最终模型地址,从IPFS文件系统中取出最终模型并进行验证,对训练模型的节点发放奖励。发放奖励。发放奖励。

【技术实现步骤摘要】
一种基于机器学习的区块链四阶段共识方法
一、

[0001]本专利技术涉及区块链领域和机器学习领域,具体涉及基于机器学习的区块链共识方法。
二、
技术介绍

[0002]在区块链领域,基于工作量证明的共识算法安全性高,被广泛应用。该算法通常会执行大量计算,这些计算单纯就是为了解决密码哈希难题,并没有实际意义,造成了计算资源和能源的严重浪费。在不影响共识算法安全性的同时,如何在共识过程中减少计算资源和能源的浪费已经成为研究者们关注的问题。与此同时,机器学习模型的训练需要强大的算力,但是需要机器学习模型训练的客户往往没有高性能计算机,具有机器学习高性能训练服务的需求。一方面是区块链高性能计算能力的浪费,一方面是机器学习对高性能计算服务的需求,本专利技术的出发点和思路就是将两者融合,利用区块链服务节点的强大计算能力为学习模型训练服务。
[0003]基于机器学习的区块链共识算法就是利用区块链服务节点的强大计算能力为学习模型训练服务、减少计算资源和能源浪费的一种解决方案,其基本思想是,在共识过程中不做没有实际意义的密码哈希难题,而是利用计算资源对机器学习模型进行训练。基于机器学习的区块链共识算法提高了资源和能源利用率,但是共识速度仍然较慢。
三、
技术实现思路

[0004](一)目的
[0005]为了利用区块链服务节点的算力对机器学习模型进行训练,同时也为了提高共识速度,本专利技术提供了一种基于机器学习的区块链四阶段共识方法,为后续的区块链共识方法的研究、工程应用以及机器学习模型训练方法提供新的思路。r/>[0006](二)技术方案
[0007]本专利技术所提供的区块链共识方法把共识过程分为任务发布、预训练、最终训练、验证与奖励四个过程。区块链节点分为客户节点和服务节点两种类型,其中,服务节点又分为训练服务和验证服务两种类型。客户节点负责提交训练任务,服务服务节点负责完成预训练和最终训练任务,验证节点负责验证训练任务。机器学习模型、训练脚本和数据集存储在星际文件系统(Inter Planetary File System,IPFS)上,其相关属性信息存储在区块链上。三种类型的节点围绕区块链和IPFS文件系统协同工作,共同区块链共识过程。
[0008]基于机器学习的区块链四阶段共识方法的总体框架如附图1所示,具体步骤如下:
[0009](1)任务发布.客户节点将机器学习模型、训练脚本和数据集上传至IPFS文件系统,输入任务信息,初始化任务列表,将任务列表写入区块链,等待其它节点对模型进行训练。
[0010](2)预模型训练.训练服务节点从区块链读取任务列表,获得数据集和脚本地址,从IPFS中获取真实数据集和训练脚本,在本地计算节点训练,准确度达到75%就上传模型
至IPFS文件系统中,并且把模型地址以及公钥写入区块链中,此时完成预共识,账本进行更新。
[0011](3)最终模型训练.训练服务节点从区块链中读取预模型和数据集的地址,然后根据该地址从IPFS文件系统中获取机器学习模型并下载到本地,对机器学习模型进行最终训练。当达到预先设定的准确度阈值时,把模型数据写入IPFS中,将其地址写入区块链网络中,等待验证,获得奖励,账本进行第二次更新。
[0012](4)验证与奖励.验证服务节点从区块链中获取最终模型地址,从IPFS文件系统中取出最终模型并进行验证,如果最终模型符合要求,对训练模型的节点发放奖励。
四、附图说明
[0039]图1是基于机器学习的区块链四阶段共识方法的总体框架示意图
[0040]图2是任务发布详细过程的示意图
[0041]图3是预模型训练详细过程的示意图
[0042]图4是最终模型训练详细过程的示意图
[0043]图5是验证与奖励详细过程的示意图
五、具体实施方式
[0013]为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术实施方案进行进一步详细描述。
[0014]步骤1:任务发布,详细过程如附图2所示。
[0015]首先,客户节点将模型、训练脚本、数据集上传至IPFS文件系统,输入任务基本信息,包括任务名称、数据集和训练脚本在IPFS文件系统中的地址、预共识模型精度要求、最终模型精度要求、最大训练时间、奖励等。
[0016]然后,根据输入的任务基本信息,计算节点搜索区块链,判断对应的任务列表是否存在。如果不存在,则创建任务列表,并将其放入区块链中;如果存在,继续判断输入任务的奖励是否大于任务列表中首个任务的奖励,如果大于,则直接将输入任务写入任务列表的首位;如果小于,则利用冒泡排序算法,将该任务插入到任务列表合适的地方。
[0017]最后,更新区块链,将新任务列表放入区块链中。
[0018]步骤2:预模型训练,详细过程如附图3所示。
[0019]首先,训练服务节点读取区块链,从任务列表中取出第一个任务即奖励最高的任务,获取到数据集、训练脚本地址,将标志位设置为pre,代表节点处于预共识状态。
[0020]然后,从IPFS文件系统中下载数据集和训练脚本。
[0021]最后,在本地进行模型训练。判断训练精度是否达到预共识要求,即规定精度75%。如果达到要求,将预共识模型上传至IPFS文件系统中,同时更新区块链,将本节点的公钥和预共识模型的地址写入区块链。
[0022]步骤3:最终共识训练,详细过程如附图4所示。
[0023]首先,训练服务节点读取区块链,从任务列表中取出数据集和预模型地址,将标志位设置为train,代表节点处于最终共识状态。根据数据集和预模型地址,从IPFS下载数据集和预模型到本地节点。
[0024]然后,判断训练时间是否已经达到最大训练时间,如果达到最大训练时间,则说明在规定时间内,此节点没有成功完成模型训练,最终模型训练失败。如果没有达到最大训练时间,则在本地节点训练最终模型。每次训练之后,判断是否达到最大精度。
[0025]最后,上传最终模型至IPFS,更新区块链,将最终模型地址以及最终模型节点的公钥写入区块链中。
[0026]步骤4:验证与奖励,详细过程如附图5所示。
[0027]首先,验证服务节点从区块链读取最终模型地址和公钥,根据该地址和公钥,从IPFS下载最终模型和测试数据集。
[0028]然后,验证模型的精度是否达到要求,即最后训练后精度是否大于等于模型要求精度,如果是,给所有预训练节点和最终训练节点发放奖励;如果不是,仅给最终训练节点发放奖励。
[0029]最后,更新区块链,将奖励写入区块链,从任务列表中删除任务。
[0030]实验说明
[0031]1.实验环境
[0032]采用的机器为处理器AMD Ryzen 7 4800H 2.90GHz,RAM 16.0GB,使用VMware Workstation Pro创建虚拟机并且安装ubuntu16.4.7。区块链采用超级账本联盟链,包含四个peer节点、一个order节本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于机器学习的区块链四阶段共识方法,其特征在于,包括以下步骤:(1)客户节点完成任务发布,将机器学习模型、训练脚本和数据集上传至星际文件系统(Inter Planetary File System,IPFS),输入任务信息,初始化任务列表,将任务列表写入区块链,等待其它节点对模型进行训练;(2)预训练服务节点完成预训练,从区块链读取任务列表,获得数据集和脚本地址,从IPFS中获取真实数据集和训练脚本,在本地计算节点训练,准确度达到75%就上传模型至IPFS中,并且把模型地址以及公...

【专利技术属性】
技术研发人员:张必英杜左强马颖
申请(专利权)人:张必英
类型:发明
国别省市:

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

1