掌桥专利:专业的专利平台
掌桥专利
首页

具有人工智能节点的区块链系统

文献发布时间:2024-04-18 19:58:53


具有人工智能节点的区块链系统

技术领域

本发明涉及人工智能技术领域,特别涉及一种具有人工智能节点的区块链系统。

背景技术

区块链技术是一种以安全方式组织数据的分布式账本,可以以可验证和永久的方式有效地记录两个计算机系统之间的交易。典型的区块链是不断增长的记录列表,称为区块,区块还包含前一个块(即“链”)的加密哈希,因此在不更改所有后续块的情况下,无法追溯更改区块链的任何给定块中的数据。

人工智能是一个构建能够推理、学习和行动的计算机和机器的科学领域。

将人工智能和区块链技术结合,能够有效扩展区块链的应用场景。例如人工智能可以提高区块链上智能合约的准确性和可靠性;人工智能可用于分析区块链网络的性能并识别出区块链网络性能的瓶颈,如节点数量、交易分布、共识算法效率等,从而优化网络减少处理交易所需时间。

目前大多数的人工智能对区块链的计算均使用链外计算的方式(如沙盒和链外可信计算设备)进行人工智能计算,以减少链上存储运行结果带来的存储资源的消耗。但链外计算对区块链的信任机制产生了影响。当集成AI虚拟机到区块链时可能会出现计算结果不一致的问题。主要原因是分布式环境中的节点之间可能存在网络延迟、通信故障或节点故障等因素。这些因素可能导致节点在执行相同的计算任务时产生不一致的结果。当计算结果不一致时,可能会信任问题、数据一致性问题等。

发明内容

基于此,有必要针对上述技术问题,提供一种具有人工智能节点的区块链系统。

一种具有人工智能节点的区块链系统,包括:接收单元、调度引擎、多个人工智能节点和至少一个验证节点;

所述接收单元用于接收用户发出的执行业务请求,响应所述执行业务请求,调用智能合约,检测所述智能合约是否需要调用人工智能算法,当所述智能合约需要调用人工智能算法时,将所述执行业务请求发送至所述调度引擎;

所述调度引擎用于响应所述执行业务请求,从所述区块链的多个人工智能节点中选取至少两个作为目标节点,将所述执行业务请求发送至所述目标节点,接收所述目标节点反馈的初始计算结果,检测各所述初始计算结果是否一致,当各所述初始计算结果不一致时,将各所述初始计算结果发送至所述验证节点;

所述人工智能节点上部署有人工智能模型,所述人工智能节点用于在被选择为所述目标节点时,基于人工智能模型对所述执行业务请求进行计算,得到所述初始计算结果;

所述验证节点用于对各所述初始计算结果进行预设共识算法,获得一致的计算结果。

在其中一个实施例中,所述调度引擎用于响应所述执行业务请求,根据各所述人工智能节点的历史计算记录,从所述区块链的多个人工智能节点中选取至少两个作为目标节点。

在其中一个实施例中,所述调度引擎用于响应所述执行业务请求,基于共识策略从所述区块链的多个人工智能节点中选取至少两个作为目标节点。

在其中一个实施例中,所述调度引擎用于响应所述执行业务请求,从策略库中查询所述智能合约对所述人工智能模型是否具有访问权限,当所述智能合约对所述人工智能模型具有访问权限时,从所述区块链的多个人工智能节点中选取至少两个作为目标节点。

在其中一个实施例中,所述人工智能节点还用于当所述人工智能模型存在随机性需求时,使用区块链上的可信随机数生成器获得随机信息,利用所述随机信息执行所述随机性需求对应的算法。

在其中一个实施例中,当所述人工智能模型存在随机性需求时,各所述人工智能节点从所述区块链上的可信随机数生成器获得相同的所述随机信息,分别利用所述随机信息执行所述随机性需求对应的算法。

在其中一个实施例中,还包括数据引擎,所述数据引擎用于获取数据提供方提供的模型推理数据,将各所述模型推理数据发送至各所述人工智能节点。

在其中一个实施例中,还包括注册引擎;

所述注册引擎用于接收用户发出的人工智能算法部署请求,将所述人工智能算法部署请求广播至区块链的各节点,接收节点反馈的注册信息,将所述注册信息对应的所述节点在模型注册表中记录为所述人工智能节点。

在其中一个实施例中,所述人工智能节点还用于删除所述人工智能模型后,向所述注册引擎发送删除通知;

所述注册引擎响应于所述删除通知,在所述模型注册表中删除所述人工智能节点。

在其中一个实施例中,所述预设共识算法包括基于投票的算法。

上述具有人工智能节点的区块链系统,当该执行业务请求所调用的智能合约需要调用人工智能算法时时,则由调度引擎将执行业务请求分配至所选取的目标节点,由目标节点利用人工智能模型进行计算。当各目标节点的初始计算结果不一致时,由验证节点对初始计算结果运行共识算法,得到一致的计算结果。从而有效避免了由于计算结果不一致导致的信任问题和数据一致性问题,有效保证数据的正确性和完整性,避免产生纠纷和争议,且避免由此引发的效率下降的问题。

附图说明

图1为一个实施例中具有人工智能节点的区块链系统的系统逻辑架构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

实施例一

本实施例中,如图1所示,提供了一种具有人工智能节点的区块链系统,其包括:接收单元、调度引擎、多个人工智能节点和至少一个验证节点。

所述接收单元用于接收用户发出的执行业务请求,响应所述执行业务请求,调用智能合约,检测所述智能合约是否需要调用人工智能算法,当所述智能合约需要调用人工智能算法时,将所述执行业务请求发送至所述调度引擎;

所述调度引擎用于响应所述执行业务请求,从所述区块链的多个人工智能节点中选取至少两个作为目标节点,将所述执行业务请求发送至所述目标节点,接收所述目标节点反馈的初始计算结果,检测各所述初始计算结果是否一致,当各所述初始计算结果不一致时,将各所述初始计算结果发送至所述验证节点;

所述人工智能节点上部署有人工智能模型,所述人工智能节点用于在被选择为所述目标节点时,基于人工智能模型对所述执行业务请求进行计算,得到所述初始计算结果;

所述验证节点用于对各所述初始计算结果进行预设共识算法,获得一致的计算结果。

本实施例中,该具有人工智能节点的区块链系统也可以称为区块链,该区块链包括调度引擎和多个节点,其中各所述节点包括人工智能节点、验证节点和运算节点。其中,区块链的节点利用虚拟执行引擎实现,该虚拟执行引擎也可以称为虚拟机,因此,图1中,VM(Virtual Machine)即为区块链的节点,AIVM则为部署了人工智能模型的节点,即人工智能节点。

人工智能节点上部署有人工智能模型,该人工智能模型用于执行人工智能算法,当智能合约需要调用人工智能算法时,由该人工智能模型实现,由人工智能模型运行人工智能算法对智能合约进行计算。值得一提的是,该智能合约的定义和执行特定的业务逻辑和规则预存在区块链上。

该人工智能模型包括人工智能模型包括神经网络(例如循环神经网络(RNN)、自然语言处理(NLP)、生成对抗网络(GAN)、基于树的模型、贝叶斯网络、支持向量、聚类、核方法,样条曲线、知识图谱或这些和其他技术中的一种或多种的集合。验证节点用于对初始计算结果进行共识计算,运算节点为区块链的普通的节点,各运算节点上没有部署人工智能模型。

本实施例中,调度引擎与各所述运算节点、各所述人工智能节点、验证节点连接,这样,该调度引擎可以基于用户发出的执行业务请求将计算任务调度分配给运算节点或人工智能节点,并且在各人工智能节点的初始计算结果不一致时,将初始计算结果发送至验证节点,由验证节点对初始计算结果进行验证,从而得到一致的计算结果。

值得一提的是,当各节点计算的结果不一致时,将会导致信任问题、数据一致性问题、智能合约问题和效率问题等问题。

信任问题:计算结果的不一致性可能降低参与者对区块链系统的信任。如果计算结果无法在不同节点之间达成一致,那么系统的可靠性和安全性就会受到质疑。

数据一致性问题:计算结果不一致,区块链上存储的数据可能会出现不一致的状态。这可能会导致数据的正确性和完整性受到破坏,从而影响到系统的正常运行。

智能合约问题:如果区块链上的人工智能节点用于执行智能合约,计算结果不一致可能导致合约的执行结果不一致。这可能会对合约参与者的利益和交互产生重大影响,并引发纠纷和争议。

效率问题:计算结果不一致可能导致系统的性能和效率下降。节点需要花费额外的时间和资源来处理和纠正不一致的结果,从而降低整个系统的吞吐量和响应能力。

本实施例中,该执行业务请求用于请求区块链执行业务,进行计算。当该执行业务请求所调用的智能合约需要调用人工智能算法时时,则由调度引擎将执行业务请求分配至所选取的目标节点,由目标节点利用人工智能模型进行计算。当各目标节点的初始计算结果不一致时,由验证节点对初始计算结果运行共识算法,得到一致的计算结果。从而有效避免了由于计算结果不一致导致的信任问题和数据一致性问题,有效保证数据的正确性和完整性,避免产生纠纷和争议,且避免由此引发的效率下降的问题。

在一个实施例中,所述调度引擎用于响应所述执行业务请求,根据各所述人工智能节点的历史计算记录,从所述区块链的多个人工智能节点中选取至少两个作为目标节点。

本实施例中,该历史计算记录中记录了过去节点完成计算任务的历史记录,一个实施例中,根据该历史计算记录中计算次数最多的多个人工智能节点作为目标节点。

在一个实施例中,所述调度引擎用于响应所述执行业务请求,基于共识策略从所述区块链的多个人工智能节点中选取至少两个作为目标节点。

本实施例中,目标节点基于共识策略通过选举产生。调度引擎基于共识策略从所述区块链的多个人工智能节点中通过选举产生至少两个人工智能节点作为目标节点。

在一个实施例中,所述调度引擎用于响应所述执行业务请求,从策略库中查询所述智能合约对所述人工智能模型是否具有访问权限,当所述智能合约对所述人工智能模型具有访问权限时,从所述区块链的多个人工智能节点中选取至少两个作为目标节点。

本实施例中,策略库中记录了智能合约对人工智能模型的访问权限,该访问权限也可以称为使用权限,如果该智能合约对人工智能模型具有访问权限,则调度引擎获取节点注册列表,从节点注册列表中选取至少两个人工智能节点作为目标节点。本实施例中,调度引擎可以通过智能合约来实现,智能合约定义和执行特定的业务逻辑和规则并保存在区块链上。

在一个实施例中,所述人工智能节点还用于当所述人工智能模型存在随机性需求时,使用区块链上的可信随机数生成器获得随机信息,利用所述随机信息执行所述随机性需求对应的算法。

本实施例中,人工智能模型存在随机性需求时,表明该人工智能模型中需要利用随机数进行计算,或者有随机运算的需求。当人工智能节点上的人工智能模型存在随机性,或者对随机性有需求时,则使用区块链上的可信随机数生成器来引入随机性。区块链上的可信随机数生成器可生成随机信息,该随机信息可以是随机数或者是随机数种子。各人工智能节点存在随机性需求时,从区块链上的可信随机数生成器获得随机信息,利用该随机信息进行运算,从而实现该随机性需求。

在一个实施例中,当所述人工智能模型存在随机性需求时,各所述人工智能节点从所述区块链上的可信随机数生成器获得相同的所述随机信息,分别利用所述随机信息执行所述随机性需求对应的算法。

本实施例中,每个人工智能节点都可以使用相同的随机数种子进行计算,从而保证每个人工智能节点的计算结果的一致性。

在一个实施例中,具有人工智能节点的区块链系统还包括数据引擎,所述数据引擎用于获取数据提供方提供的模型推理数据,将各所述模型推理数据发送至各所述人工智能节点。

本实施例中,数据引擎与各所述人工智能节点、验证节点连接,数据引擎与区块链外部的数据提供方连接,该数据提供方用于提供人工智能模型训练、推理所需的数据,通过该数据引擎为各人工智能节点提供模型推理数据,确保在区块链上的各人工智能节点上使用相同的输入数据。本实施例中,该模型推理数据可以通过分布式存储或共享的方式在区块链网络中传播,并且在每个人工智能节点上进行同步,以确保计算结果的一致性。

在一个实施例中,具有人工智能节点的区块链系统还包括注册引擎;所述注册引擎用于接收用户发出的人工智能算法部署请求,将所述人工智能算法部署请求广播至区块链的各节点,接收节点反馈的注册信息,将所述注册信息对应的所述节点在模型注册表中记录为所述人工智能节点。

本实施例中,该注册引擎用于接收注册信息,将节点注册为人工智能节点,并记录在节点注册列表中。

用户使用智能合约开发工具将智能合约代码编译为字节码,并部署到区块链上通过合约地址进行交互。用户向注册引擎发送人工智能算法部署请求。注册引擎向潜在参与的节点广播人工智能算法部署请求,该人工智能算法部署请求包括模型名称、模型类型、模型版本、模型描述、训练数据集、训练算法和参数、模型输入/输出、性能评估、许可证信息等;潜在参与节点可以是全体节点或预先注册加入且满足人工智能模型要求的节点;潜在参与的节点根据获得人工智能模型元数据确定是否部署人工智能模型,如潜在参与的节点确定部署人工智能模型,参与节点向注册引擎发出注册信息,注册引擎接收注册信息,并在模型注册表(节点注册列表)记录人工智能模型对应的参与节点,该参与节点即为人工智能节点。

在其中一个实施例中,所述人工智能节点还用于删除所述人工智能模型后,向所述注册引擎发送删除通知;所述注册引擎响应于所述删除通知,在所述模型注册表中删除所述人工智能节点。

本实施例中,当人工智能节点放弃运行人工智能模型后,通知注册引擎,从模型注册表中删除该节点。

在一个实施例中,所述预设共识算法包括基于投票的算法。本实施例中,该基于投票的算法包括拜占庭容错算法、Practical Byzantine Fault Tolerance(PBFT)、Proof ofStake(PoS)、Proof of Authority(PoA))或工作量证明算法。

实施例二

本实施例中,提供一种具有人工智能节点的区块链系统,该系统基于区块链的基础上实现。区块链是一个去中心化的分布式系统,需要保持各节点的一致性,即每个节点内的状态机具有相同的初始状态,按相同的顺序执行相同的命令,保持相同的状态改变,最终取得一致的结束状态。为了使各个节点设备表现出同样的硬件配置和运行环境,需要使用虚拟机屏蔽各个节点的差异性,这样可以保证在去中心化的多种不同硬件和运行环境的机器上得到相同的运行结果。

本实施例中,用户使用所选的编程语言编写智能合约代码,该智能合约调用人工智能算法;人工智能模型包括但不限于神经网络(例如循环神经网络(RNN))、自然语言处理(NLP)、生成对抗网络(GAN)、基于树的模型、贝叶斯网络、支持向量、聚类、核方法,样条曲线、知识图谱或这些和其他技术中的一种或多种的集合。

首先,进行AI模型的注册:

用户使用智能合约开发工具将智能合约代码编译为字节码,并部署到区块链上通过合约地址进行交互。随后,用户向注册引擎发送人工智能算法部署请求;注册引擎向潜在参与节点广播人工智能算法部署请求,该请求包括但不限于模型名称、模型类型、模型版本、模型描述、训练数据集、训练算法和参数、模型输入/输出、性能评估、许可证信息等;潜在参与节点可以是全体节点或预先注册加入且满足AI模型要求的节点。

潜在参与节点根据获得AI模型元数据确定是否部署AI模型。参与节点向注册引擎注册,注册引擎中的模型注册表记录AI模型对应的参与节点。

节点放弃运行AI模型后,通知注册引擎,从模型注册表中删除该节点。

然后,区块链调用人工智能算法:

具体地,用户向区块链提出执行业务请求,调用智能合约,如果智能合约需要调用人工智能算法,则智能合约向调度引擎发送请求,以请求执行人工智能算法。

调度引擎分析请求,从注册引擎的模型注册表查找拥有符合所需人工智能算法要求的虚拟机的区块链节点。

调度引擎向符合要求节点集合中根据过去节点的完成任务的历史记录选择节点或基于共识策略通过选举产生节点。

目标节点确定后,调度引擎向所选节点发送计算请求。

目标节点收到请求后,进行人工智能算法计算,其中:如果AI算法中存在随机性,可以使用区块链上的可信随机数生成器来引入随机性。每个节点都可以使用相同的随机数种子进行计算,从而保证结果的一致性。

通过数据引擎从链外的数据提供方获取AI推理所需数据,确保在区块链上的所有节点上使用相同的输入数据。数据可以通过分布式存储或共享的方式在网络中传播,并且在每个节点上进行同步,以确保计算结果的一致性。

区块链上的AI虚拟机使用可验证计算的技术。计算被分成可验证的步骤,并且可以通过验证来确保每个步骤的计算结果是正确的。通过将计算结果的验证步骤纳入区块链中,可以验证结果的一致性。

计算结束后,目标节点将计算结果返回给调度引擎,如果计算结构一致,判定数据有效;如果不一致,由计算结果验证节点运行共识算法,例如基于投票的算法(如拜占庭容错算法、Practical Byzantine Fault Tolerance(PBFT)、Proof of Stake(PoS)、Proof ofAuthority(PoA))或工作量证明算法。这些共识算法通过节点之间的投票、验证和通信来确保计算结果的一致性。节点达成多数共识或依靠授权节点的验证来决定最终的结果。

本实施例中的区块链结构如图1所示,在现有图灵完备的智能合约虚拟执行引擎(简称为“虚拟机”)的基础上新增AI虚拟机,用于执行AI模型,AI虚拟机可以和虚拟机在同一单元内,也可以彼此分离;区块链节点上可以仅包含虚拟机也可以同时包含两种虚拟机。

AI模型的基本运算可拆分成算子,即相关硬件操作的封装,AI软件通过调用算子接口使用硬件资源完成计算。AI虚拟机的AI模型调用预定义算子库完成AI模型推理。算子库包括激活函数、损失函数、正则化、归一化、池化运算、卷积运算、模型评估、循环网络、编码、距离计算、自然语言处理(语音,语义,文本)、视觉运算以及优化器等。

AI虚拟机中保存AI元数据、AI模型、数据集,在AI虚拟机的存储器中存储指令,这些指令在由处理器执行时可以使处理器基于AI模型,对用户的输入数据进行AI推理;AI推理计算被分解成可验证的步骤,并且可以通过验证来确保每个步骤的计算结果是正确的。通过将计算结果的验证步骤纳入区块链中,可以验证结果的一致性;一个AI虚拟机中可以包含一个或多个AI模型。

AI调度引擎用于从智能合约接受AI模型调用请求,并向策略库查询该智能合约AI模型的访问权限,如果具有访问权限则从AI注册引擎获取潜在AI虚拟机节点列表,并根据过去节点的完成任务的历史记录选择节点或基于共识策略通过选举产生节点,将请求发送给列表中节点;调度引擎可以通过智能合约来实现,智能合约定义和执行特定的业务逻辑和规则并保存在区块链上。

AI节点注册引擎,内含AI节点注册表。希望加载AI虚拟机的节点向AI节点注册引擎发起请求,上传AI模型及其元数据保存在节点注册表中,注册引擎的智能合约可以在区块链上存储用户注册信息,并定义适当的访问控制规则。

AI计算结果验证节点,用于在AI计算结果不一致时,使用共识算法使区块链节点对AI计算结果达成共识。

数据引擎从链外获取AI推理所需的数据集,数据可以通过分布式存储或共享的方式在网络中传播,并且在每个AI节点上进行同步。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 基于区块链的商品信息生成方法、区块链节点及其系统
  • 一种具有隐私保护的区块链节点可靠性预测方法及系统
  • 一种具有隐私保护的区块链节点可靠性预测方法及系统
技术分类

06120116510147