首页> 中国专利> 使用区块链网络的任务完成

使用区块链网络的任务完成

摘要

用于使用区块链网络(104)分配任务的方法、系统和计算机可读介质。方法包括:生成用于经由交互式应用程序(334)完成的任务以及使用所述区块链网络经由与所述区块链网络相关联的区块链(400)中的区块分配所述任务。所述区块链网络包括多个节点并且可由与所述交互式应用程序相关联的多个设备(106‑114)设备访问。所述方法还包括从所述客户端设备中的一个或多个接收与经由所述交互式应用程序处理所述任务的结果相关联的数据。基于接收的数据验证所述任务的完成。验证所述任务的完成可以包括分别从一组所述客户端设备接收关于所述任务是否完成的一组用户输入,以及基于此做出关于所述任务是否完成的共识确定。

著录项

  • 公开/公告号CN112513812A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 平衡媒体技术有限责任公司;

    申请/专利号CN201980051382.1

  • 发明设计人 C·克拉克;

    申请日2019-08-02

  • 分类号G06F9/46(20060101);

  • 代理机构11587 北京汇知杰知识产权代理有限公司;

  • 代理人李洁;董江虹

  • 地址 美国德克萨斯州

  • 入库时间 2023-06-19 10:14:56

说明书

技术领域

本公开内容总体上涉及区块链技术。更具体地,本公开内容涉及在向网格计算网络分派任务和从网格计算网络验证任务中使用区块链。

背景技术

随着对基于云的计算和大数据集的数据处理的需求增长,对计算机资源的需求也增长。网格或分布式计算是用于生成能够被用来处理大数据集的巨大计算能力的解决方案。网格计算或分布式计算是一种利用来自多个位置(即,不同的、远程定位的计算设备)的计算机资源的集合来执行相关任务的类型的计算。自愿计算是一种类型的网格计算,在该类型的网格计算中计算机所有者或用户捐献他们的计算资源(例如,处理能力和存储)给一个或多个项目。

区块链是使用加密来链接和保护的记录或区块的分布式列表或数据库。区块链由区块链网络中的计算机系统或节点(例如,被称为矿工)维护,所述计算机系统或节点各自具有它们自己的区块链的副本。矿工达成共识的记录被添加到区块链,这保持区块链的完整性。

附图说明

为了更完整地理解本公开内容以及其优点,现在参考以下结合附图进行的描述,在附图中相同的附图标记表示相同的部分:

图1例示了可以在其中实施本公开内容的各实施方案的示例网络化系统;

图2例示了可以在其中实施本公开内容的各实施方案的服务器的一个实施例;

图3例示了可以在其中实施本公开内容的各实施方案的客户端设备的一个实施例;

图4例示了可以在其中实施本公开内容的各实施方案的区块链的一个实施例的图;

图5例示了根据本公开内容的各实施方案的用于使用区块链网络分派和验证任务的方法的流程图;以及

图6例示了根据本公开内容的各实施方案的用于使用区块链网络接收和完成任务的过程的方法的流程图。

发明内容

本公开内容的实施方案提供了使用区块链网络分配任务。

在一个实施方案中,提供了一种用于使用区块链网络分配任务的方法。所述方法包括生成用于经由交互式应用程序完成的任务以及使用所述区块链网络经由与所述区块链网络相关联的区块链中的区块分配所述任务。所述区块链网络包括多个节点并且可由与所述交互式应用程序相关联的多个客户端设备访问。所述方法还包括经由所述区块链网络中的所述节点中的一个或多个从所述客户端设备中的一个或多个接收与经由所述交互式应用程序处理所述任务的结果相关联的数据以及基于接收的数据验证所述任务的完成。

在另一个实施方案中,提供了一种用于使用区块链网络分配任务的系统。所述系统包括处理器和可操作地连接到所述处理器的通信接口。所述处理器被配置为:生成用于经由交互式应用程序完成的任务;以及使用所述区块链网络经由与所述区块链网络相关联的区块链中的区块分配所述任务。所述区块链网络包括多个节点并且可由与所述交互式应用程序相关联的多个客户端设备访问。所述通信接口被配置为经由所述区块链网络中的所述节点中的一个或多个从所述客户端设备中的一个或多个接收与经由所述交互式应用程序处理所述任务的结果相关联的数据。基于接收的数据验证所述任务的完成。

在又另一个实施方案中,提供了一种用于使用区块链网络分配任务的非暂时性计算机可读介质。所述计算机可读介质包括程序代码,所述程序代码在由系统的处理器执行时导致所述系统:生成用于经由交互式应用程序完成的任务;使用所述区块链网络经由与所述区块链网络相关联的区块链中的区块分配所述任务;以及经由所述区块链网络中的所述节点中的一个或多个从所述客户端设备中的一个或多个接收与经由所述交互式应用程序处理所述任务的结果相关联的数据。所述区块链网络包括多个节点并且可由与所述交互式应用程序相关联的多个客户端设备访问。基于接收的数据验证所述任务的完成。

根据以下附图、描述和权利要求,其他技术特征对于本领域技术人员来说可以是容易明了的。

具体实施方式

本专利文件中的下文所讨论的图1至图6和用来描述本公开内容的原理的各实施方案仅是通过例示的方式,并且不应以任何方式被解释为限制本公开内容的范围。本领域技术人员将理解,可以在任何适当地布置的系统或设备中实施本公开内容的原理。

本公开内容的各实施方案提供了在区块链环境中“人类”计算任务(即,利用来自客户端设备的用户的输入的计算任务,诸如通过引用并入本文的2018年6月5日提交的题为“Platform for Collaborative Processing of Computing Tasks”的序列号为16/000,589的美国专利申请(以下称为“’589申请”)中描述的那些)的包含、分配、完成、验证和/或补偿。在这些实施方案中,需要完成这些类型的请求的实体将任务推送到区块链。连接计算网格中的各种客户端计算设备的平台(例如,诸如在’589申请中描述的平台)由客户端设备利用以访问来自区块链的任务以由客户端设备在客户端应用程序(例如,交互式应用程序或游戏,诸如在’589申请中描述的那些)中处理。客户端设备然后将处理任务的结果返回到区块链网络中的矿工以用于经由发布到区块链的记录递送到原始请求者或连接到区块链网络的其他实体。处理任务的客户端设备然后可以经由区块链例如以加密货币代币或加密实用代币的形式接收补助(credit,存入金额),例如通过执行存储在区块链中的智能合约。结果,本公开内容的实施方案以可以免于欺骗、停机时间或来自外部各方的干扰的方式安全可靠的方式提供任务的分配、完成、验证和/或补偿。

图1例示了可以在其中实施本公开内容的各实施方案的示例网络化系统100。图1中所示出的网络化系统100的实施方案仅用于例示。在不脱离本公开内容的范围的前提下,可以使用网络化系统100的其他实施方案。

如图1中所示出的,系统100包括网络101,该网络便于系统100中各种部件之间的通信。例如,网络101可以在网络地址之间传达互联网协议(IP)数据包或其他信息。网络101可以包括一个或多个局域网(LAN);城域网(MAN);广域网(WAN);虚拟私人网(VPN);全球网——诸如因特网——的全部或一部分;或在一个或多个位置处的任何其他通信系统。

网络101便于各种服务器(或服务器系统)102-104与各种客户端设备106-114之间的通信。服务器102-104中的每个可以是任何合适的电子计算或处理设备,该电子计算或处理设备可以提供包括用于一个或多个客户端设备106-114的软件的计算服务。服务器102-104中的每个可以例如包括一个或多个处理设备、存储指令和数据的一个或多个存储器和便于通过网络101通信的一个或多个网络接口。例如,服务器102可以通过使用客户端设备106-114协调自愿网格计算来提供或管理用于使用网格计算协作地计算、研究或开发的平台。服务器103可以是与研究者、软件开发者或游戏开发者配套(assort)的服务器,如下文更详细地讨论的,该服务器103具有需要由客户端设备106-114经由平台处理的项目或任务。服务器系统104是包括计算节点的区块链网络,所述计算节点诸如处理用于区块链的交易的采矿计算机系统(或矿工),如下文更详细地讨论的。

每个客户端设备106-114表示通过网络101与至少一个服务器或其他计算设备交互的任何合适的电子计算或处理设备。在此实施例中,客户端设备106-114包括台式计算机106、移动电话或智能手机108、平板计算机110、膝上型计算机112、视频游戏控制台114、机顶盒和/或电视机等。然而,在网络化系统100中可以使用任何其他或附加客户端设备。例如,任何互联网或网络可连接设备或物联网(IoT)设备(例如,智能电视机、电冰箱、树莓派(Raspberry PI)等)可以用于系统100中的客户端设备106-114中的一个。如下文所讨论的,在各实施方案中,客户端设备106-114在服务器102的协调下(可能连同其他计算设备一起)参与形成自愿计算网格以处理从区块链网络104接收的任务。如本文所讨论的,客户端设备106-114可以被认为是计算网格的个体单元(cell)。此外,个体单元可以直接地与彼此或与服务器通信或使用例如具有或不具有集中式服务器的对等网络、自组网(ad hoc)和/或基于网眼的网络间接地与彼此或与服务器通信。

在各实施方案中,与客户端设备106-114连接的服务器(例如,服务器102)形成用于计算机任务的处理的计算网格。在各实施方案中,服务器102管理用于从区块链网络104和计算网格的单元接收的任务的协调、提供和跟踪的自定义代码(custom code)。在其他实施方案中,服务器102管理连接计算网格内的单元的虚拟私人网(VPU)以执行任务。在这些实施方案中,商业上可得的软件可以由计算网格运行以执行计算任务。

尽管图1例示了网络化系统100的一个实施例,但是可以对图1进行各种改变。例如,系统100可以以任何合适的布置包括任何数目的每个部件,并且服务器102-104和客户端设备106-114中的每个可以表示为系统100的一部分的任何数目的服务器和/或客户端设备。例如,服务器102的功能可以由区块链网络104中的计算机执行或客户端设备106-114可以直接从区块链网络104接收任务而无需通过服务器102管理。通常,计算和通信系统具有各种各样的配置,并且图1不将本公开内容的范围限制到任何特定配置。虽然图1例示了可以在其中使用在此专利文件中所公开的各种特征的一个操作环境,但是可以在任何其他合适的系统中使用这些特征。

图2和图3例示了根据本公开内容的各实施方案的网络化系统中的示例计算设备。具体地,图2例示了服务器200的一个实施例,并且图3例示了示例客户端设备300。在此例示性实施例中,服务器200表示图1中的包括区块链网络104中的计算节点或矿工中的任何一个的服务器102-104中的任何一个,并且客户端设备300可以表示图1中的客户端设备106-114中的一个或多个。

如图2中所示出的,服务器200包括总线系统205,该总线系统205支持处理器210、存储设备215、通信接口(或电路)220和输入/输出(I/O)单元225之间的通信。处理器210执行可以被加载到存储器230内的指令。处理器210可以以任何合适的布置包括任何合适的数目和类型的处理器或其他设备。处理器210的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路系统。

存储器230和持久性存储装置235是存储设备215的实施例,该存储设备215表示能够存储信息(诸如暂时的或持久的数据、程序代码和/或其他合适的信息)和便于该信息的检索的任何结构。存储器230可以表示随机存取存储器或任何其他合适的易失性或非易失性存储设备。持久性存储装置235可以包含支持长期存储数据的一个或多个部件或设备,诸如只读存储器、硬盘驱动器、闪存或光盘。例如,持久性存储装置235可以存储数据的一个或多个数据库、包括要执行的任务和完成的任务的记录的区块链、用于自愿计算网格中的单元的客户端应用程序、等待分派到自愿计算网格中的单元的任务和/或来自自愿计算网格的处理结果等。

通信接口220支持与其他系统或设备的通信。例如,通信接口220可以包括便于通过网络101进行通信的网络接口卡或无线收发器。通信接口220可以支持通过任何合适的物理或无线通信链路的通信。I/O单元225允许数据的输入和输出。例如,I/O单元225可以为通过键盘、鼠标、小键盘、触摸屏或其他合适的输入设备的用户输入提供连接。I/O单元225还可以将输出发送到显示器、打印机或其他合适的输出设备。

尽管图2例示了服务器200的一个实施例,但是可以对图2进行各种改变。例如,图2中的各种部件可以被组合、被进一步细分或被省略,并且可以根据特定需要添加附加部件。作为一个具体实施例,虽然被描绘为一个系统,但是服务器200可以包括可以被远程定位的多个服务器系统。在另一个实施例中,不同的服务器系统可以提供处理、存储和/或通信资源中的一些或全部,以用于根据本公开内容的各实施方案管理到区块链网络的任务的分派和来自区块链网络的任务的返回结果,和/或在区块链网络中形成计算节点或矿工。在另一个实施例中,服务器200可以是自愿计算网格的一部分。例如,自愿计算网格中的一个或多个计算设备可以包括用于单独地或共同地执行服务器200的动作的软件,如本文所讨论的。

图3例示了根据本公开内容的实施方案的示例客户端设备300。图3中所例示的客户端设备300的实施方案仅用于例示,并且图1的客户端设备106-114可以具有相同的或类似的配置。然而,客户端设备具有各种各样的配置,并且图3不将本公开内容的范围限制到电子设备的任何具体实施方式。如图3中所示出的,客户端设备300包括通信接口(或电路)305、处理器310、输入/输出(I/O)接口315、输入设备325、显示器320和存储器330。存储器330包括操作系统(OS)332和一个或多个客户端应用程序334。

通信接口或电路305支持与其他系统或设备的通信。例如,通信接口305可以包括便于通过网络101进行通信的网络接口卡或无线收发器。通信接口305可以支持通过任何合适的物理或无线通信链路的通信。对于利用无线通信的实施方案,通信接口305可以使用各种各样的无线通信协议(例如,蓝牙、Wi-Fi、蜂窝、LTE通信协议等)经由一个或多个天线接收传入的射频(RF)信号。

处理器310可以包括一个或多个处理器或其他处理设备,并且执行存储在存储器330中的OS 332,以控制客户端设备300的总体操作。处理器310也能够执行驻留在存储器330中的客户端应用程序334,诸如,用于执行计算任务的一个或多个客户端应用程序的程序代码,所述计算任务诸如,例如,处理或计算任务、通信或网络任务、以及从作为自愿计算网格的一部分的区块链网络接收的存储任务。客户端应用程序334可以包括用于机器学习应用程序或交互式应用程序的程序代码,诸如需要、使用或激励用户输入的视频游戏或应用程序,如下文更详细地讨论的。处理器310、通信接口305和/或存储器330构成客户端设备300的计算资源。处理器310可以以任何合适的布置包括任何合适的数目和类型的处理器或其他设备。处理器310的示例类型包括微处理器、微控制器、图形处理单元(GPU)、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路系统。

处理器310可以根据执行过程的需要将数据移入或移出存储器330。处理器310还耦合到I/O接口315,该I/O接口315为客户端设备300提供连接到其他设备(诸如膝上型计算机和手持式计算机)的能力。I/O接口315提供附件与处理器310之间的通信路径。

处理器310还耦合到输入设备325和显示器320。客户端设备300的操作员可以使用输入设备325来将数据和输入提供到客户端设备300内。例如,输入设备325可以是触摸屏、按钮、键盘、跟踪球、鼠标、触笔、电子笔、视频游戏控制器等。显示器320可以是液晶显示器、发光二极管显示器或能够渲染文本和/或至少有限的图形(诸如来自网站)的其他显示器。存储器330耦合到处理器310。存储器330的一部分可以包括随机存取存储器(RAM),并且存储器330的另一部分可以包括闪存或其他只读存储器(ROM)。

尽管图3例示了客户端设备300的一个实施例,但是可以对图3进行各种改变。例如,图3中的各种部件可以被组合、被进一步细分或被省略,并且可以根据特定需要添加附加部件。作为一个具体实施例,处理器310可以被划分为多个处理器,诸如一个或多个中央处理单元(CPU)和一个或多个图形处理单元(GPU)。在另一个实施例中,显示器320可以外部连接到客户端设备300或不是客户端设备300的一部分,诸如例如,与视频游戏控制台或台式计算机连接。

图4例示了可以在其中实施本公开内容的各实施方案的区块链400的一个实施例的图。通常,以各种各样的配置形成和管理区块链,并且图4不将本公开内容的范围限制为任何特定配置。

区块405-区块430形成以区块405开始并且以区块430结束的区块链中的区块。例如,区块405-区块430或记录可以包括交易数据或程序。例如,每个区块通常将包括区块ID、用于密码学的哈希(hash)、时间戳以及一些数据(例如,交易记录、应用程序、程序代码等)。在各实施方案中,如下文更详细地讨论的,各种区块包括用于请求任务的完成和/或来自完成的任务的结果的程序代码。例如,区块可以包括将代币——诸如加密货币代币或实用代币——指示为用于任务的成功竞争的补助的记录。

如所描绘的,区块405-区块420和区块430是主区块链400的一部分,该主区块链400的副本在矿工中的每个处被维护。为了将新的区块添加到区块链400,矿工必须达成共识。对于区块链400中的任何区块,仅存在一个路径。因为区块链400是分布式的,所以区块通常在短时间间隔内被创建。如果提议由不同的矿工添加竞争区块,分叉发生,诸如,在区块415之后。当分叉发生时,矿工从在时间上首先接收无论哪个区块构建。

为了管理区块链400,矿工寻求计算用于硬币的交易(例如,挖矿)。在各实施方案中,这些矿工存储用于分派给客户端设备的任务的程序代码和接收来自任务的完成的结果。矿工获取来自任务完成的这些结果来构建区块。例如,矿工将来自任务的结果组合来创建区块以添加到链以记录任务被完成,以及哪些客户端设备因那些任务的完成而接收补助(例如,以加密货币代币或实用代币的形式)。

在各实施方案中,需要通过计算网格进行任务竞争的那些,并且特别是对于用户输入或交互可以辅助任务的完成的那些类型的任务,经由区块链400发布用于竞争的任务。例如,服务器102可以将包括用于指示任务的竞争的程序代码的区块添加到区块链400。在一些实施方案中,服务器102也可以生成交互式应用程序,该交互式应用程序可以被用来执行任务和在用户请求或批准时或在没有用户干预或请求的情况下从区块链拉取(pull)任务。例如,任务可以被创建为可以作为特定于任务的完成的游戏的一部分被玩或被完成的一个或多个任务中的一个,或仅仅为整个较大的游戏的一部分。例如,在本公开内容的各实施方案中,使用的游戏可以是人类计算游戏(HCG)或基于人类的计算(HBC)游戏。计算网格中的客户端设备(即,客户端设备106-114中的任何一个)经由平台从区块链400请求任务。作为一个非限制性实施例,对于需要图像分析以在图像中找到特定对象的任务,请求是通过网格计算消费者向区块链请求任务的执行而提出的。在此实施例中,区块包括区块ID和用于请求识别图像中的对象的代码。

在各实施方案中,任务被连接到交互式应用程序或游戏,使得在交互式应用程序或游戏在客户端设备上运行期间客户端设备可以处理或呈现用于完成的任务。当由客户端从区块链接收时,请求的任务导致客户端设备经由区块ID运行任务,例如,服务器102可以维护区块链中需要被执行的任务的数据库以及任务的相关联的要求。客户端设备可以查看存储在区块链中的各种任务以识别可以通过客户端设备完成的特定任务。例如,任务可以被编程以用于在客户端设备具有或运行的特定游戏中竞争。在另一个实施例中,客户端设备可以基于特定游戏或任务的用户选择、可用于任务完成的补偿数额或任务完成的复杂度、或完成任务所需的计算资源的量和类型来选择待被执行的任务。另外,通过网格内的客户端设备中的任何一个经由平台可以检索相同的任务。一旦客户端设备完成处理任务(例如,包括从用户接收输入以完成任务),客户端设备生成来自任务的结果并且将结果提交回到区块链以由矿工进行验证。例如,矿工试图使用接收的结果来形成区块。重要地,因为任务可以由网格中的所有客户端设备完成,所以将可能存在由不同的矿工接收的几个结果。利用所有不同的接收的结果,矿工可以开发关于类似的或相同的结果的共识以使矿工验证正确的一个或多个结果,以使得提交那些结果的相关联的客户端设备(例如,正确地并且最快速地完成任务的客户端设备)和将结果区块添加到链的矿工接收用于任务的成功完成的补助。例如,矿工使用一种查看结果彼此有多类似的共识算法或来自任务的先前处理的某种标准。

例如,在各实施方案中,共识算法包含用户输入以处理共识算法。换句话说,利用和/或激励用户参与来执行共识确定或提供验证。例如,任务可以是用于创建训练数据,例如,使第一组用户绘制用户认为对象位于图像中的位置。然后,共识算法将包含不同的一组用户,该组用户确认执行任务的用户实际上是否正确地识别图像中的对象(或对象的位置)。例如,如果存在足够的用户确认已经在图像中正确地识别/定位对象,则共识算法验证答案为正确(即,任务的结果是正确的/任务已经被完成)。结果,代替仅仅使用用户以用于分布式计算(例如,经由客户端设备300),这些实施方案使用该分布式计算处的用户以用于进行验证。在这些实施方案中,用人类的直觉替换或增强传统的计算任务(例如,共识投票),因为在某些任务(例如,诸如对象识别和定位)上人类可能比计算机更好。另外,虽然个体用户响应可能不可靠或包括一些偏见,但是使用平台以进行协作计算时,相当大数目的用户输入可以被用来提供验证,这提供更大的可靠性。例如,可以将许多这些用户验证结果取平均以形成共识确定。

因此,本公开内容的各实施方案提供经由区块链网络的人类计算任务的分配。在一个实施例中,此人类计算任务是区块中待被完成的实际任务。例如,用基于人类计算的任务替换或增强经由区块链网络分配的计算任务,例如使用智能合约。换句话说,这些区块可以包括基于人类计算的智能合约。在另一个实施例中,人类计算任务被包括在共识算法中,该共识算法可以进而是一组智能合约,该组智能合约被执行以用于提供关于主要任务是否已经被成功完成的个体输入。

例如,区块链具有内置的共识以使许多用户必须核实一个区块才使该区块被批准在链上。可以通过具有相关性的智能合约来实施此核实过程,所述相关性可能需要将一个计算或人类计算任务添加到链,然后,创建另一个智能合约以获取创建的区块并且使用这些区块作为输入以编译完整的最终结果,所述最终结果是其他计算区块的组合。在一些实施方案中,执行共识任务的用户可以是用于区块链的矿工。就像区块链上的矿工建议哈希值以察看哈希值是否起作用一样,在这些实施方案中,该哈希值被替换为人类计算任务,该人类计算任务被暂时添加到区块链直到任务已经从人类验证者接收足够的验证。在一些实施方案中,这些用户执行的任务可以组成两个部分:实际哈希值创建(例如,矿工)和哈希值验证。

在这些实施方案中,包含基于人类输入的共识算法可以是有用的以检测或解释人类引入的偏见,诸如思想或情感,例如,认识到人类可以比检测其他人类是否正确地执行原始计算任务更好。

图5例示了根据本公开内容的各实施方案的用于使用区块链网络分派和验证任务的过程。例如,图5中所描绘的过程被描述为由图2中的服务器200实施;该过程也可以由图1中的服务器系统102-104中的任何一个实施,并且不同的服务器系统可以执行该过程的任何数目的或部分的步骤,该过程在本文中被统称为系统。

该过程以系统将用于完成的任务的区块添加到区块链(步骤505)开始。例如,在此过程中,该系统可以是用于提供协作计算平台的系统,该协作计算平台向区块链网络提供信息和从区块链网络提供信息。在另一个实施例中,该系统可以是区块链网络中的矿工或节点,该矿工或节点生成和到区块链的区块以添加用于完成的任务并且协助任务验证和共识。在另一个实施例中,该系统可以实施上述两个角色的某个组合。在步骤505中,该系统可以将用于待被完成的各种计算任务的记录添加到区块链。在各实施方案中,任务不仅仅是任何类型的软件,而是需要或利用用户输入或人类直觉的自定义任务,例如,与机器学习有关,以改善或优化机器学习应用程序,例如,作为HBC的一部分。如本文中所使用的,机器学习是使用统计技术来使用输入构建模型以迭代地和渐进地改善任务的处理。如本文中所使用的,示例机器学习应用程序包括但不限于数据科学、分析学、信息学、人工智能(AI)和数据采矿应用程序。例如,可以使用交互式应用程序执行经由区块链提供的这些任务以生成用于机器学习算法(诸如深度神经网络)的训练数据;评估决策,诸如监督学习;提供解决方案的突变;和/或其他由人类直觉提供或辅助的附加启发式过程。在2019年3月26日提交的并且题为“Abstracted Interface for Gamification of Machine LearningAlgorithms”的序列号为16/365,647的美国申请中描述了与机器学习算法相关的来自人类执行的任务的结果的使用的附加示例,所述美国申请通过引用并入本文。

作为步骤505的一部分,该系统可以从需要涉及用户输入的任务的一个或多个实体(诸如,例如,研究者、软件开发者等)接收和/或生成任务。为了生成区块,该系统可以生成并且包括用于区块的信息和用于区块的数据,该信息包括区块ID、时间戳,该数据包括例如用于指示任务的执行的程序代码。此程序代码可以包括指针(例如,URL/URI或对交互式应用程序中的代码的引用),需要用户输入的交互式应用程序的部件(例如,媒体、指向媒体的指针以及用于竞争的指令),或可以包括用于安装和执行整个交互式应用程序的程序代码以及需要用户输入的部件。例如,区块可以包括指示将被用来完成任务的交互式应用程序的信息、用于任务的完成的标准以及用于任务的完成的补偿。任务的完成可能需要经由交互式应用程序接收用户输入。结果,客户端设备可以直接在从区块链接收时例如经由交互式应用程序访问和运行/处理这些任务。

区块也可以包括将支付链接到任务的成功竞争的智能合约。例如,所述智能合约可以识别支付者和数额(例如,为了任务完成和矿工处理二者),例如,参考链中的一个或多个在先交易区块,所述在先交易区块以用于任务的完成的金额记录支付者的加密代币以及用于矿工在确定任务是否已经被完成中利用的用于任务的完成的标准。在这些实施方案中,用基于人类计算的任务替换或增强经由区块链网络分配的计算任务,例如,使用智能合约。换句话说,这些区块可以包括基于人类计算的智能合约。

此后,该系统向客户端设备提供任务以用于竞争(步骤510)。在此,该系统使用区块链来分配任务以用于通过客户端设备(例如,网络100中的客户端设备106-114)中的一个或多个来完成。在一个实施例中,作为步骤510的一部分,客户端设备可以请求任务并且该系统可以经由平台发送任务。

然后,该系统从客户端设备接收来自任务的完成的结果(步骤515)。例如,作为步骤515的一部分,完成任务的客户端设备将来自任务的结果发送到该系统。该系统或其他矿工可以从完成任务的不同客户端设备接收多个这样的结果。

此后,该系统验证任务的完成(步骤520)。例如,在步骤520中,该系统(或矿工组)可能已经以待被添加到区块链的新的记录的形式接收所述结果,并且试图基于与任务相关联的标准来验证所述记录。例如,与任务相关联的标准包括待被执行的动作、时序、数量和/或任务执行的结果的质量。矿工可以基于指示或包括用于任务的完成的数据的记录来验证记录。另外,服务器200(或矿工组)可以基于时序或结果质量验证记录。例如,要执行的第一个(或要执行的前N个,例如,对于与生成训练数据集相关联的任务),在一定时间之前完成的那些,或与执行任务的其他的结果的某种程度的一致性的结果可以被验证。

在这些实施方案中,用于经验证的结果的数据可以由服务器200使用或被提供用于在处理机器学习应用程序的至少一部分中使用用户输入。在一个实施例中,服务器200可以接收多个输入以用于机器学习。例如,服务器200接收完成任务的客户端设备的每个实例的所有结果(例如,任务完成是否被验证)。在另一个实施例中,相同的或类似的任务的多个实例可以被添加到区块,以使相同的或类似的任务的完成时的多个结果用于机器学习。

作为此步骤的一部分,该系统可以将与处理任务的结果相关联的数据发送到一组客户端设备106-114以用于验证任务的完成。例如,该系统可以请求来自多个用户的输入以开发共识或人类直觉在共识算法中的使用。该系统分别从响应的客户端设备接收关于任务是否完成的用户输入,并且基于接收的一组用户输入做出关于任务是否完成的共识确定。例如,该系统可以将用户输入取平均或寻找来自响应的客户端设备的某个阈值数目或百分比的批准以开发共识。

基于针对接收的记录的某种程度的共识,该系统(或矿工组)然后将记录添加到区块链(步骤525)。例如,在步骤525中,所述记录可以向从其接收所述记录的客户端设备传送某种形式的值,例如,以加密货币代币或实用代币的形式,例如,添加的记录或新的区块可以指示对与成功地完成任务的客户端设备相关联的账户的补偿的数额。另外,添加的记录或新的区块可以指示对区块链网络中的处理任务的完成的矿工或节点的补偿的数额。例如,创建记录的相关联的矿工执行智能合约,并且将完成任务的客户端设备的ID作为具有用于竞争的加密代币记录在区块中。另外,用接收的用于此处理的加密代币激励矿工(以验证、添加记录和执行智能合约),例如,作为执行智能合约的一部分。

图6例示了根据本公开内容的各实施方案的用于使用区块链网络接收和完成任务的过程。例如,图6中所描绘的过程被描述为由图3中的客户端设备300实施。该过程也可以由图1中的任何客户端设备106-114实施。

该过程以客户端设备300从区块链接收用于完成的任务(步骤610)开始。例如,在步骤610中,客户端设备基于区块ID将任务拉取到交互式应用程序中用于完成。在一些实施方案中,客户端设备可以接收计算任务的列表(例如,从服务器102),或可以基于例如用户兴趣、可用于任务完成的游戏的类型和/或客户端设备处的所需计算资源的可用性确定可以被完成的任务的类型。客户端设备然后可以呈现任务列表以用于用户选择,或可以在没有用户干预的情况下将任务拉取到游戏中,例如,如果任务可以作为常规玩游戏(gameplay)的一部分被完成。在这些实施方案中,客户端设备基于存储在区块中的数据(诸如例如,任务标识符(区块ID、任务ID、URL、URI等))接收任务,以从外部数据库拉取数据以运行诸如可执行程序代码以下载和安装或运行用于执行任务的用户界面或可以处理任务所通过的较大的交互式应用程序,或用于安装或运行的整个用户界面或交互式应用程序。

此后,客户端设备300在处理任务中接收用户输入(步骤610)。例如,在步骤610中,客户端设备300生成用户界面(例如,作为游戏的一部分)以征求用户输入和/或人类直觉以根据任务的执行以数据形式生成结果。例如,此数据可以包括生成的训练数据或指示模式识别的数据。在各实施方案中,任务不仅仅是任何类型的计算而是需要或利用用户输入或人类直觉的自定义任务,例如,与机器学习有关,以改善或优化机器学习应用程序。例如,使用交互式应用程序执行在客户端设备300处处理的这些任务以生成用于机器学习算法(诸如深度神经网络)的训练数据;评估决策,诸如监督学习;提供解决方案的突变;和/或其他由人类直觉提供或帮助的附加启发式过程。

此后,客户端设备300发送用于待被添加到区块链的区块的来自处理任务的结果(步骤615)。例如,在步骤615中,客户端设备300生成并且格式化来自任务完成的结果,以及将指示结果的数据发送到服务器,诸如例如,服务器102。客户端设备300或服务器102可以格式化并且包括结果数据以形成用于区块链的提议的区块。客户端设备300发送用于待被添加到区块链的区块的结果数据以接收用于任务的完成的独立验证的补助,如上文所讨论的。此后,如果被验证(如上文所讨论的),客户端设备和相关联的用户以加密代币的形式接收用于任务的完成的补助。

尽管图5和图6分别例示了用于使用区块链网络来分派和验证任务以及使用区块链网络来接收和完成任务的过程的实施例,但是可以对图5和图6进行各种改变。例如,虽然被示出为一系列步骤,但是每个图中的各步骤可以重叠、并行发生、以不同顺序发生或发生多次。在另一个实施例中,步骤可以被省略或由其他步骤替换。

因此,本公开内容的各实施方案提供了在区块链环境中利用用户输入和/或人类直觉的计算任务的包含、分配、完成、验证和/或补偿。需要完成这样的任务的那些实体可以利用本文所公开的区块链分配机制的可靠性、可用性、匿名性和安全性,以访问它们的任务的完成所需的用户输入和/或人类直觉。此外,经由本文所公开的区块链分配机制的可靠性、可用性、匿名性和安全性,使得用户能够有附加的机会来使他们的计算和直觉货币化。结果,本公开内容的实施方案以可以免于欺骗、停机时间或来自外部各方的干扰的方式安全可靠的方式提供任务的分配、完成、验证和/或补偿。

一个实施方案提供了一种用于使用区块链网络分配任务的方法。所述方法包括生成用于经由交互式应用程序完成的任务以及使用所述区块链网络经由与所述区块链网络相关联的区块链中的区块分配所述任务。所述区块链网络包括多个节点并且可由与所述交互式应用程序相关联的多个客户端设备访问。所述方法还包括经由所述区块链网络中的所述节点中的一个或多个从所述客户端设备中的一个或多个接收与经由所述交互式应用程序处理所述任务的结果相关联的数据。基于接收的数据验证所述任务的完成。

另一个实施方案提供了一种用于使用区块链网络分配任务的系统。所述系统包括处理器,所述处理器被配置为:生成用于经由交互式应用程序完成的任务;以及使用所述区块链网络经由与所述区块链网络相关联的区块链中的区块分配所述任务。所述区块链网络包括多个节点并且可由与所述交互式应用程序相关联的多个客户端设备访问。所述系统还包括通信接口,所述通信接口可操作地连接到所述处理器。所述通信接口被配置为经由所述区块链网络中的所述节点中的一个或多个从所述客户端设备中的一个或多个接收与经由所述交互式应用程序处理所述任务的结果相关联的数据。基于接收的数据验证所述任务的完成。

另一个实施方案提供了一种用于使用区块链网络分配任务的非暂时性计算机可读介质。所述计算机可读介质包括程序代码,所述程序代码在由系统的处理器执行时导致所述系统:生成用于经由交互式应用程序完成的任务;以及使用所述区块链网络经由与所述区块链网络相关联的区块链中的区块分配所述任务。所述区块链网络包括多个节点并且可由与所述交互式应用程序相关联的多个客户端设备访问。所述计算机可读介质包括程序代码,所述程序代码在由系统的处理器执行时导致所述系统:经由所述区块链网络中的所述节点中的一个或多个从所述客户端设备中的一个或多个接收与经由所述交互式应用程序处理所述任务的结果相关联的数据。基于接收的数据验证所述任务的完成。

在以上实施例和实施方案中的任何一个中,所述结果与在连接到所述区块链网络的一个或多个客户端设备处在经由所述交互式应用程序处理所述任务期间接收的用户输入相关联。

在以上实施例和实施方案中的任何一个中,所述任务的完成需要经由所述交互式应用程序接收所述用户输入,所述方法还包括使用与接收的用户输入的结果相关联的数据处理机器学习应用程序的至少一部分。

在以上实施例和实施方案中的任何一个中,所述区块包括指示将被用来完成所述任务的所述交互式应用程序的信息、用于所述任务的完成的标准、以及用于所述任务的完成的补偿。

在以上实施例和实施方案中的任何一个中,所述方法还包括验证所述任务的完成的步骤,验证所述任务的完成包括:分别从一组所述客户端设备接收关于所述任务是否完成的一组用户输入;以及基于接收的所述一组用户输入做出关于所述任务是否完成的共识确定。

在以上实施例和实施方案中的任何一个中,验证所述任务的完成还包括:在接收所述一组用户输入之前,将与处理所述任务的所述结果相关联的所述数据发送到所述一组客户端设备以用于验证所述任务的完成。

在以上实施例和实施方案中的任何一个中,所述方法还包括以下步骤:响应于验证所述任务的完成,将新的区块添加到所述区块链,所述新的区块指示对所述区块链网络中的处理所述任务的完成的所述节点之一和与连接到所述区块链网络的完成所述任务的所述客户端设备之一相关联的账户的补偿。

阐明整个本专利文件中使用的某些词语和短语的定义可能是有利的。术语“耦合”以及其派生词是指两个或更多个元素之间的任何直接或间接通信,无论这些元素是否彼此物理接触。术语“发送”、“接收”和“传达”以及其派生词包含直接和间接通信。术语“包含(include)和包括(comprise)”以及其派生词是指包括但不限于。术语“或”是包含性的,意味着和/或。短语“与......相关联”以及其派生词意指包括……、包括在……内、与……互连、包含……、包含在……内、连接到……或与……连接、耦合到……或与……耦合、与……可通信、与……协作、交错、并置、与……接近、绑定到……或与……绑定、具有、具有……的属性、具有对……的关系或与……的关系等。当在术语中使用短语“诸如”时,意味着后面的记载的术语是一个或多个实施例,而不是对更早地记载的术语的限制。当与项列表一起使用时,短语“至少一个”意味着可以使用所列项中的一个或多个的不同组合,并且可能只需要列表中的一个项。例如,“A、B和C中的至少一个”包括以下组合中的任何一个:A、B、C、A和B、A和C、B和C、以及A和B和C。

此外,本文所描述的各种功能可以由一个或多个计算机程序实施或支持,所述计算机程序中的每个由计算机可读程序代码形成并且被体现在计算机可读介质中。术语“应用程序”和“程序”是指适于以合适的计算机可读程序代码实施的一个或多个计算机程序、软件部件、指令集、过程、功能、对象、类、实例、相关数据或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)或任何其他类型的存储器。“非暂时性”计算机可读介质排除传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括可以在其中持久地存储数据的介质和可以在其中存储数据并且稍后重写数据的介质,诸如可重写光盘或可擦除存储器设备。

在整个本专利文件中提供了其他某些单词和短语的定义。本领域普通技术人员应理解,在许多(如果不是大多数)实例中,这样的定义适用于这样的定义的词语和短语的在前的以及将来的使用。尽管已经使用一个示例性实施方案描述了本公开内容,但是可以向本领域技术人员建议各种改变和改型。本公开内容意在包含落入所附权利要求书的范围内的这样的改变和改型。本申请中的描述都不应被理解为暗示任何具体的元素、步骤或功能是必须被包括在权利要求范围内的必要元素。寻求专利的主题的范围仅由权利要求限定。此外,除非确切的词语“用于……的手段”由分词跟随,否则权利要求都不意在援引35U.S.C.§112(f)。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号