CN110275891B - 人工智能软件市场 - Google Patents

人工智能软件市场 Download PDF

Info

Publication number
CN110275891B
CN110275891B CN201910192623.6A CN201910192623A CN110275891B CN 110275891 B CN110275891 B CN 110275891B CN 201910192623 A CN201910192623 A CN 201910192623A CN 110275891 B CN110275891 B CN 110275891B
Authority
CN
China
Prior art keywords
data
hashed
producer
node
digest
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.)
Active
Application number
CN201910192623.6A
Other languages
English (en)
Other versions
CN110275891A (zh
Inventor
M.M.弗朗西斯切尼
A.雅格莫汗
K.萨帕特瓦
K.闪穆甘
R.瓦库林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110275891A publication Critical patent/CN110275891A/zh
Application granted granted Critical
Publication of CN110275891B publication Critical patent/CN110275891B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • G06F16/1837Management specially adapted to peer-to-peer storage networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Power Engineering (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种人工智能软件市场。示例操作可以包括以下一项或多项:生成散列的摘要,该散列的摘要包括一个或多个验证数据集的散列和在先前迭代中从生产者节点选择的数据点的散列;以及将散列的摘要暴露给多个生产者节点;迭代地分别接收来自多个生产者节点的多个请求,其中每个请求标识由生产者节点可用的数据样本的散列提供的边缘值,基于与所述请求相关联的边缘值来选择从生产者节点接收的请求,取得与所选择的请求相关联的生产者节点的散列的数据,并将生产者节点的散列的数据与在一个或多个先前迭代中生成的散列的摘要进行聚合,以产生更新的摘要,并且经由分布式账本的数据块来存储更新的摘要。

Description

人工智能软件市场
技术领域
本申请一般涉及一种用于构成人工智能(artificial intelligence,AI)软件的数字市场,并且更具体地,涉及一种经由分布式账本(ledger)实现的市场,该分布式账本使得来自不同实体的散列的数据能够用于生成AI产品,而不会泄露基础数据。
背景技术
分布式账本是一个不断增长的记录列表,该记录列表通常应用加密技术(诸如存储数据的散列)。区块链是分布式账本的一个常见实例,并且可以用作公共或私有账本来存储信息。尽管主要用于金融交易,但区块链也可以用于存储与商品和服务相关的各种信息(即,产品、包裹、状态等)。分散的方案为分散的网络提供了权限和信任,并使其节点能够在“块”上记录它们的交易,这创建了被称为“区块链”的独特的“链”。散列代码可用于保护交易源的认证并移除中央媒介。分布式账本可以包括维持区块链块中不断增长的记录列表的数据库或其他数据存储装置,该区块链块由于其不可变的属性而被保护免于被篡改和修改。在某些情况下,这些块可以相互链接,或者它们可以是分开的。区块链可用于保持、跟踪、转移和验证信息。
传统上,生成人工智能(AI)软件模型和代码需要大型的、复杂的、通常是专有的数据集,该数据集由想要构建AI软件的实体在大量时间内积累。可以获取和使用的历史数据越多,AI软件就越好,因为它提供了更多可供学习的信息。然而,当实体没有可用于构成他们自己的模型的足够的历史数据时,消费者必须采用现成的软件,而现成的软件通常不是根据实体的需求量身定制的,或者实体必须完全放弃使用AI软件。因此,需要一种新的***,用于即使在实体数据不完整或不可用的情况下,也能为实体启用AI产品开发。
发明内容
一个示例实施例可以提供一种方法,该方法包括以下一项或多项:生成散列的摘要(hashed summary),该散列的摘要包括一个或多个验证数据集的散列和在先前迭代中从生产者节点(producer node)选择的数据点的散列,并将该散列的摘要暴露给多个生产者节点;迭代地分别从多个生产者节点接收多个请求,其中每个请求标识由可用于生产者节点的一个或多个数据样本的散列提供的边缘值;基于与该请求相关联的边缘值,从该多个请求当中选择从生产者节点接收的请求;取得与所选择的请求相关联的生产者节点的散列的数据;和将生产者节点的散列的数据与在一个或多个先前迭代中生成的散列的摘要进行聚合,以产生更新的摘要,并且经由分布式账本的数据块存储更新的摘要。
另一示例实施例可以提供一种***,该***包括被配置为与网络中的节点通信的网络接口和被配置为执行一个或多个迭代中的一个或多个的处理器,每个迭代包括:根据从消费者节点(consumer node)接收的一个或多个散列的验证数据集和在先前迭代中从生产者节点选择的数据点的散列来生成摘要;将散列的摘要暴露给多个生产者节点;响应于所暴露的散列的摘要,从该多个生产者节点接收多个请求,其中每个请求标识由可用于相应生产者节点的一个或多个数据样本的散列提供的边缘值;和从所接收的请求当中选择生产者节点的请求,并取得与所选择的请求相关联的生产者节点的散列的数据;其中,该处理器还被配置为将该生产者节点的散列的数据与在先前迭代中生成的摘要进行聚合,以生成更新的摘要,并经由分布式账本的数据块存储更新的摘要。
另一示例实施例可以提供一种包括指令的非暂时性计算机可读介质,当被处理器读取时,该指令使得处理器执行以下一项或多项操作:生成散列的摘要,该散列的摘要包括一个或多个验证数据集的散列和在先前迭代中从生产者节点选择的数据点的散列,并将该散列的摘要暴露给多个生产者节点;迭代地分别从多个生产者节点接收多个请求,其中每个请求标识由可用于生产者节点的一个或多个数据样本的散列提供的边缘值;基于与该请求相关联的边缘值,从该多个请求当中选择从生产者节点接收的请求;取得与所选择的请求相关联的生产者节点的散列的数据;以及将生产者节点的散列的数据与在一个或多个先前迭代中生成的散列的摘要进行聚合,以产生更新的摘要,并且经由分布式账本的数据块存储更新的摘要。
附图说明
图1是示出根据示例实施例的AI市场网络的图。
图2A是示出根据示例实施例的用于资产共享场景的对等节点区块链架构配置的图。
图2B是示出根据示例实施例的区块链节点之间的通信序列的图。
图3是示出根据示例实施例的许可的区块链网络的图。
图4是示出根据示例实施例的对散列的数据进行聚合的迭代过程的图。
图5A-图5B是示出根据示例实施例的用于为AI模型生成聚合的数据的散列的方法的图。
图6A是示出根据示例实施例的物理基础设施的图,该物理基础设施被配置为根据本文描述的一个或多个操作在区块链上执行各种操作。
图6B是示出根据示例实施例的签约方之间的智能合约配置和被配置为在区块链上实施智能合约条款的中介服务器的图。
图7是示出被配置为支持一个或多个示例实施例的计算机***的图。
具体实施方式
很容易理解,如这里的附图中一般描述和示出的,例示的组件可以以各种不同的配置来布置和设计。因此,如附图中所示的方法、装置、非暂时性计算机可读介质和***中的一个或多个的实施例的以下详细描述并不旨在限制本申请所要求保护的范围,而仅仅是所选实施例的代表。
在一个或多个实施例中,贯穿本说明书描述的例示的特征、结构或特性可以以任何合适的方式组合。例如,贯穿本说明书的短语“示例实施例”、“一些实施例”或其他类似语言的使用指的是结合该实施例描述的特定特征、结构或特性可以包括在至少一个实施例中的事实。因此,贯穿本说明书的短语“示例实施例”、“在一些实施例中”、“在其他实施例中”或其他类似语言的出现不一定都指同一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。
此外,虽然术语“消息”可能已经用于实施例的描述中,但是本申请可以应用于许多类型的网络数据,诸如分组、帧、数据报等。术语“消息”还包括分组、帧、数据报及其任何等同物。此外,虽然在示例性实施例中可以描绘特定类型的消息和信令,但是它们不限于特定类型的消息,并且本申请不限于特定类型的信令。
示例实施例提供了支持构成人工智能(AI)数据和模型的市场的方法、设备、网络和/或***。例如,期望生成AI模型的消费者可能期望更多专有数据来构建他们自己的AI模型。与其他资产不同,AI资产的效用随着构成的增加而增加,并可能受益于其他实体的模型,而不是传统的资产转移。因此,消费者可以与市场互动以获得额外的数据/模型,从而提高AI模型的准确性、效率等,而不必自己生成数据。然而,专有数据是客户的敏感(通常受到保护的)数据、商业秘密、金融和不应该暴露给外界的其他类型的数据。示例实施例可以使用分布式账本(例如,区块链等),该分布式账本可以保持数据的隐藏性和安全性,同时还可以使得能够构建模型。
根据各个方面,消费者节点可以通过向聚合者节点发送请求,或者以其他方式经由区块链向聚合者节点暴露该请求来发起新的人工智能(AI)项目。该请求可以包括消费者节点的初始数据集(也称为验证集)、期望的软件的元数据等等,该初始数据集被散列并且对于聚合者节点是不可读的。聚合者节点可以检测新的项目请求,并且还可以在实际上不能查看验证集的情况下,基于元数据确定消费者期望的软件模型的类型。AI软件的示例包括可以预测未来事件(例如,运输路线物流、维护需求、供应损失、需求增加等)的学习软件。聚合者节点在区块链上为新项目生成新条目,或者以其他方式向能够帮助消费者生成AI软件的生产者节点广播请求。聚合者节点可以对存储在区块链上的数据进行散列。根据各个方面,聚合者节点使用的散列函数不同于消费者使用的散列函数。此外,聚合者节点使用的散列函数也不同于任何生产者节点使用的散列函数。在一些实施例中,***可以提供关于谁可以访问散列的细粒度访问。
生产者节点可以拥有或以其他方式控制专有数据,该专有数据可以用于帮助构成AI软件,但是该专有数据本质上可能是专有的并且不会暴露在生产者节点之外。聚合者节点可以与每个生产者节点共享局部保持的散列函数和改善值确定函数。根据各个方面,生产者节点可以基于从聚合者节点提供的确定函数来确定可以提供给消费者的初始数据集的值的量。然后,所确定的值的量可以以出价(bid)的形式被提交给聚合者节点,而不需要生产者节点提交任何专有数据。每个生产者节点可以出价,并且聚合者节点可以基于由生产者节点的数据所添加的值的改善水平来选择一个或多个出价。
聚合者节点可以通知获胜的生产者节点。作为响应,该生产者节点可以使用局部保持的散列函数对数据进行散列,该局部保持的散列函数隐藏基础数据,同时保持聚合者节点验证改善值的能力。这种局部保持的散列函数的示例包括内核最大平均差异(maximummean discrepancy,MMD)函数。因此,聚合者节点可以对散列的数据执行改善值确定函数,以基于从生产者节点接收的散列的数据来确定改善值。此外,聚合者节点可以验证在来自生产者节点的请求中提供的改善值等于根据散列的数据确定的改善值。如将理解的,局部保持的散列不同于在区块链上使用的典型加密散列。具体地,加密散列将数据完全编码。同时,局部保持的散列可以保持基础数据(即,数据点之间的位置)的足够信息(元数据),从而可以确定数据的改善水平或值。
当散列的数据被验证时,聚合者节点可以将散列的数据添加到包括初始数据集的散列的摘要(summary)中,并重复该过程以征求额外的出价,直到AI软件模型具有要构建的足够的数据。当数据已经被收集时,聚合者节点可以请求提供散列的数据的每个生产者节点以基于所提供的散列的数据为AI软件模型准备代码。当AI软件模型被构建时,它可以被提供给消费者节点。
根据各种实施例,AI市场使得(模型和数据的)分布式构成具有公平和可信的值属性。消费者可以根据他们给定的需求选择和组合(元)模型和数据。此外,生产者可以将模型和数据货币化,其中更有用的模型可以接收更高的值。然而,市场的设计可能使生产者能够在***露数据的情况下将它们的数据货币化。局部保持的散列交换和区块链的结合使得构成具有值属性。该***同时地使消费者能够确定如何最好地构成现有数据/模型、对其使用的AI资产进行补偿的生产者以及消费者和生产者资产的隐私。
区块链是一个分布式***,其包括多个相互通信的节点。区块链运行名为链码(例如,智能合约等)的程序、保存状态和账本数据并执行交易。有些交易是在链码上调用的操作。一般来说,区块链交易通常必须得到特定区块链成员的“认可”,并且只有认可的交易才能被提交给区块链,并对区块链的状态产生影响。未被认可的其他交易将被忽略。可能存在用于管理功能和参数的一个或多个特殊链码,统称为***链码。
节点是区块链***的通信实体。“节点”可以在不同类型的多个节点可以在同一物理服务器上运行的意义上执行逻辑功能。节点被分组在信任域中,并与以各种方式控制它们的逻辑实体相关联。节点可以包括不同类型,诸如消费者或向聚合者提交构建AI资产的请求的提交节点。聚合者可以向生产者节点广播构建AI资产的请求。基于分配给每个节点的角色,可以在区块链网络内为每个节点提供不同的权限和特权。
账本是区块链的所有状态转换的有序、防篡改的记录。状态转换可以由参与方(例如,消费者节点、聚合者节点、生产者节点等)提交的链码调用(即,交易)产生。交易可能导致一组资产键值对作为一个或多个操作数(诸如创建、更新、删除等)被提交到账本。账本包括区块链(也称为链),用于在块中存储不可变的、有序的记录。账本还包括状态数据库,该数据库维持区块链的当前状态。每个通道(channel)通常有一个账本。每个对等节点为它们是其成员的每个通道的账本维持一份副本。
链是一个交易日志,它可以被结构化为散列链接的块,并且每个块包含N个交易的一序列,其中N等于或大于1。块的报头包括块的交易的散列,以及前一个块的报头的散列。以这种方式,账本上的所有交易都可以排序并链接在一起。因此,不可能在不破坏散列链接的情况下篡改账本数据。最近添加的区块链块的散列表示该链上在它之前已经来了的每一个交易,使得有可能确保所有对等节点处于一致和可信的状态。该链可以存储在节点文件***(即,本地、附加存储、云等)上,有效地支持了区块链工作负载的仅附加(append-only)性质。
不可变账本的当前状态表示包括在链交易日志中的所有键的最新值。因为当前状态表示通道已知的最新的键值,所以它有时被称为世界状态(world state)。链码调用根据账本的当前状态数据执行交易。为了使这些链码交互有效,键的最新值可以存储在状态数据库中。状态数据库可能只是链交易日志中的索引视图,因此它可以随时从链中重新生成。状态数据库可以在对等节点启动时以及交易被接受之前自动恢复(或在需要时生成)。
图1示出了根据示例实施例的AI市场网络100。参考图1,AI市场网络100包括消费者节点110、聚合者节点120和多个生产者节点130以及区块链节点140。区块链节点140可以存储可由网络100中的任何其他节点访问的区块链(未示出)。此外,应当理解,区块链也可以或替代地存储在消费者节点110、聚合者节点120、生产者节点130等中的任何一个上。在图1的示例中,消费者节点110可以经由AI市场网络100发起新的构成项目。这里,该请求可以在本地发起,或者可以在客户端/消费者111的请求下发起。消费者节点110可以发送已经使用局部保持的散列函数进行了散列的初始数据集、以及初始数据集的元数据和消费者节点期望的AI资产的类型。元数据和散列的初始数据集可以存储在由区块链节点140存储的区块链中,或者直接发送到聚合者节点120。
聚合者节点120可以通过广播的区块链请求或通过从聚合者节点120向生产者节点130广播的发送,从多个生产者节点130征求出价。生产者节点130可以基于生产者节点130的相应数据来确定可以被添加到由消费者节点110请求的AI资产的值。生产者节点130可以提交要添加到聚合者节点120的值作为出价。聚合者节点120可以选择获胜的出价,并通知获胜的生产者节点。作为响应,生产者节点130可以向聚合者节点120提交散列的数据集。散列的数据集可以包括生产者节点130的专有数据,该专有数据由局部保持的散列进行编码,该局部保持的散列使得聚合者节点120能够验证由生产者节点130的数据提供的值。一旦成功验证,聚合者节点可以用获胜的生产者节点130的散列的数据更新存储在区块链上的元数据和散列的初始数据集(也称为初始摘要),以生成更新的摘要。聚合者节点120可以迭代地从生产者节点130征求额外的出价,直到不再有获胜的出价或者诸如AI资产完成、时间段到期等一些其他条件。
图2A示出了根据示例实施例的区块链***架构配置200A。参考图2A,区块链架构200A可以包括特定区块链元素,例如,参与到区块链交易添加和验证过程(共识)中的区块链节点281-284的组280。一个或多个区块链节点281-284可以请求AI资产,并且一个或多个区块链节点281-281可以提供用于架构200A中的AI资产的数据和模型。区块链节点可以发起区块链AI资产项目,并寻求写入存储在区块链层220中的分布式不可变账本,该账本的副本也可以存储在基础(underpinning)物理基础设施210上。区块链配置可以包括一个或多个应用270,该一个或多个应用270链接到应用编程接口(application programminginterfaces,API)260以访问和执行存储的程序/应用代码250(例如,链码、智能合约等),其中该程序/应用代码250可以根据参与者寻求的定制配置来创建,并且可以保持他们自己的状态、控制他们自己的资产以及接收外部信息。这可以作为交易来部署,并经由附加到分布式账本而安装在所有区块链节点281-284上。
区块链基地或平台205可以包括区块链数据、服务(例如,加密的信任服务、虚拟执行环境等)以及物理计算机基础设施(该基础设施可用于接收和存储新交易和AI资产(数据和模型)并向寻求访问账本中存储的数据记录的审计员提供访问(权限))的各种层。区块链层220可以暴露提供对处理程序代码和参与物理基础设施210所必需的虚拟执行环境的访问的接口。加密的信任服务230可用于验证交易(诸如资产交换交易),并将信息保密。然而,在一些实施例中,可以不使用加密,而是可以使用局部保持的散列。
图2A的区块链***架构配置200A可以经由区块链平台205暴露的一个或多个接口和提供的服务来处理和执行程序/应用代码250。代码250可以控制区块链资产。例如,代码250可以存储和转移数据块,并且可以由节点281-284以智能合约的形式执行,并且将链码与受其执行影响的条件或其他代码元素相关联。作为非限制性示例,可以创建智能合约来执行提醒、更新和/或受改变、更新等影响的其他通知。根据各种实施例,智能合约还可用于对专有数据执行距离保持散列函数、对散列的数据进行聚合、执行改善值确定等。智能合约本身可以用来标识与授权和访问要求以及账本使用相关联的规则。例如,从客户端设备接收的散列标识符信息252可以由包括在区块链层220中的一个或多个处理实体(例如,虚拟机)来进行处理。结果可以包括从区块链计算环境授权254的对第三方应用的访问。在该示例中,先前已知的用户标识符或数据模板信息可以存储在区块链平台205中。物理基础设施210可被访问以取得用户设备模板,并且该信息可用于与输入的用户标识符匹配以用于验证目的。
在链码内,可以经由高级应用和编程语言来创建智能合约,然后将其写入区块链的块。智能合约可以包括可执行代码,该可执行代码用区块链(例如,区块链对等体的分布式网络)注册、存储和/或复制。然而,在一些实施例中,包括定制的认可逻辑的智能合约对于相对于公共区块链网络中的其他节点的节点可能是唯一的。交易是智能合约代码的执行,智能合约代码可以响应于与智能合约相关联的条件被满足而被执行。智能合约的执行可以触发对数字区块链账本状态的可信的(多个)修改。智能合约执行导致的对区块链账本的(多个)修改可以通过一个或多个共识协议在整个区块链对等体的分布式网络中自动复制。
智能合约可以以键-值对的格式将数据写入区块链。此外,智能合约代码可以读取存储在区块链的值,并在应用操作中使用它们。智能合约代码可以将各种逻辑运算的输出写入区块链。该代码可用于在虚拟机或其他计算平台中创建临时数据结构。写入区块链的数据可以是公开的和/或可以被加密并维持为私有的。智能合约使用/生成的临时数据由所提供的执行环境保持在内存中,一旦识别出区块链所需的数据,该临时数据就会被删除。
链码可以包括智能合约的代码解释,并具有额外的特征。如本文所述,链码可以是部署在计算网络上的程序代码,其中在达成共识过程期间,链码由链验证器一起执行和验证。链码接收散列,并从区块链取得与使用先前存储的特征提取器创建的数据模板相关联的散列。如果散列标识符的散列和根据存储的标识符模板数据创建的散列匹配,则链码向请求的服务发送授权密钥。链码可以写入到与加密细节相关联的区块链数据。在图2A的示例中,可以根据提供资产服务的实体的规范来更新222智能合约信息的发布和获取。一个功能可以是,如果实体#2具有正确的凭证并且到期日尚未到期并且仍处于活动或未决状态(即,在到期日之前),则向请求实体(在该示例中为实体#2)提供对资产的访问224。在发布资产访问信息之前,需要正确的凭据,并且必须满足智能合约条件。
图2B示出了根据示例实施例的AI市场网络的区块链节点之间的通信序列200B。参考图2B,在290中,消费者节点281提交启动新AI项目的请求以及消费者的散列的初始数据集和关于要生成的AI资产的元数据。该请求可以存储在区块链层220上。在291中,聚合者节点282直接从消费者节点281或从区块链层220取得散列的摘要,并在区块链层220上生成广播的散列摘要交易。散列摘要可以包括散列的初始数据集、元数据、以及关于AI资产的任何其他信息。在该示例中,第一生产者节点283和第二生产者节点284基于292中的广播的散列摘要交易来检测新项目,并对散列的初始数据执行改善值函数,以确定各个生产者节点的数据可以向初始数据集提供多少值。这里,改善值可以基于生产者数据与消费者数据的相似程度来确定。
在293和294中,第一和第二生产者节点283和284提交它们各自的出价,该出价包括要提供的值。出价可以直接提交给聚合者节点282,或者它们可以存储在区块链层220上并由聚合者节点282检测。聚合者节点282然后基于不同出价的改善值选择获胜的出价。例如,聚合者节点282可以选择向初始数据集提供最大改善值的出价(在这种情况下是从生产者节点283接收的出价293)。作为响应,聚合者节点282通知生产者节点283。然后,在297,生产者节点283可以使用局部保持的散列来生成其数据的散列数据集,该局部保持的散列对数据进行编码同时能够计算/验证改善值,并且将散列的数据发送到聚合者节点282或区块链层220。
作为响应,聚合者节点282基于在297中接收的散列的数据来验证出价293内的从生产者节点283提供的改善值,并且当改善值被成功验证时,更新区块链层220以包括生产者节点283的散列的数据。聚合者节点282可以基于先前与生产者节点共享的值确定函数来确定改善值,以验证生产者节点正确地确定了要添加的值。由于局部保持的散列,聚合者节点可以在实际上不能解码基础数据的情况下,根据生产者节点的散列的数据确定改善值。
图3示出了许可的区块链网络300的示例,其特征在于分布式、分散的对等架构,以及管理用户角色和许可的认证机构318。在该示例中,区块链用户302可以向许可的区块链网络300提交交易,诸如构成新AI模型的请求。交易可以是部署、调用或查询,并且可以通过利用SDK的客户端侧应用、直接通过REST API等来发布。可信的商业网络可以提供对监管***310的访问(诸如审计员(例如,美国股票市场的证券交易委员会))。同时,区块链网络运营商***311管理成员许可(诸如注册监管***310作为“审计员”,注册区块链用户302作为“客户端”)。审计员被限制为只能查询账本,而客户端可以被授权部署、调用和查询特定类型的链码。此外,区块链网络运营商***311可以将一个或多个节点312指定为消费者节点、生产者节点、聚合者节点等。
区块链开发者***316编写链码和客户端应用。区块链开发者***316可以通过REST接口将链码直接部署到网络。为了在链码中包括来自传统数据源330的凭证,开发者***316可以使用带外(out-of-band)连接来访问数据。在该示例中,区块链用户302通过节点312连接到网络。在继续任何交易之前,节点312从认证机构318取得用户的注册和交易凭证。在一些情况下,区块链用户必须拥有这些数字凭证,以便在许可的区块链网络300上进行交易。同时,试图驱动链码的用户可能需要验证他们关于传统数据源330的凭证。为了确认用户的授权,链码可以通过传统处理平台320使用到该数据的带外连接。
在许可的区块链网络300中,参与者节点312是已知的,并且在网络内具有可验证的标识。节点312可以相互通信,并用其唯一签名来记录其结果。该唯一签名然后可由网络上的任何其他方/节点验证,以允许实施认可策略。与无许可的区块链相反,许可的区块链网络300可以仅允许诸如区块链网络运营商311的节点管理员部署节点角色。因此,不是任何用户都可以是聚合者、生产者或消费者。此外,许可的区块链网络300中的节点312可以具有不同的许可。
图4示出了根据示例实施例的对散列的数据进行聚合的迭代过程400。在该示例中,来自四个生产者节点411-414的各个数据(例如,本地专有数据)在四次迭代期间由聚合者420聚合在一起,用于构成AI资产。在该示例中,生产者节点411可以提供原始数据,诸如市场上的供应链数据和模型。然而,这些原始数据/模型不是直接购买的,而是作为服务提供的,同时保持对数据/模型的所有权。消费者实体可以使用作为服务提供的数据来创建AI模型,该AI模型可以包括一段代码。每个数据集的值可以由市场协议确定。同时,消费者节点可以为图4所示平台提供的值属***付费。
在该示例中,市场可以是实现为区块链网络的协议(例如,经由Hyperledger合成器等)。模型、数据和它们的散列表示可以存储在具有基于所有权的细粒度访问控制的区块链430上。来自生产者节点411-414的出价可以作为资产存储在区块链430上,并经由生产者411-414和聚合者420之间的交易来创建。出价资产受到访问限制,使得只有生成它的生产者和聚合者420可以查看它们。区块链430可以由***中的任何节点(诸如消费者、生产者和聚合者)访问。
在操作中,消费者(图4中未示出)可以通过创建新的“创建项目”交易来发起新的项目。该交易可以在区块链430上创建新的“AI项目”资产,该区块链430包含其验证数据集的散列和其他元数据。这里,验证数据集的散列只能由聚合者节点420和消费者节点查看,而不能由任何生产者节点411-414查看。聚合者420可以周期性地汇集这些资产并提交“启动项目”交易。然后,个体生产者411-414可以加入该项目。在每次迭代中,聚合者420可以创建广播的摘要交易,该广播的摘要交易创建包括了每次迭代后的摘要(包括来自消费者的初始数据的验证集)的散列表示的“散列的摘要”资产。该资产进而又可以由在项目中注册的任何生产者411-414访问(另一交易),然后他们提交出价交易。
聚合者420收集出价,聚合者420可以选择最佳出价,并提交在该迭代期间从多个生产者411-414当中识别出具有最佳出价的生产者的“获胜者交易”。最后,获胜的生产者提交包含数据点的散列表示的散列的数据点交易,该散列的数据点交易给出了与出价值相对应的改善。聚合者420然后验证并记录散列的数据点。在图4的示例中,该过程重复四次迭代,每次迭代向区块链430添加相应生产者的新的散列的数据块。然而,在一些实施例中,根据实施方式,散列的数据可以不存储在单独的块中,而是可以存储在单个块中。
由生产者节点411-414使用的散列可以是专用的基于内核-MMD的散列函数或允许生产者计算单个数据点的值改善的其他局部保持的散列函数。这使得生产者411-414能够共享这些改善作为出价,而无需共享所有数据散列,直到它们被聚合者420购买。虽然摘要是通过多次迭代创建的,但是生产者/消费者数据从来都不是直接共享的,而是仅通过可以有不同隐私保障的散列表示来共享的。结果,散列的摘要或“原型选择”仅基于不同实体之间从未暴露的散列的数据。
随后,使用汇总数据实际创建AI模型存在多种方式。例如,可以以“轮循(roundrobin)”方式在摘要中的所选择的点上迭代地训练模型,其中每个生产者411-414基于在摘要的创建期间购买的散列的数据轮流细化当前模型。这确保了数据永远不会离开所有者,因此数据隐私被完全保护。作为另一示例,所选择的摘要数据点可以被发送到可信目的地,可信目的地进而训练模型。
在一些实施例中,网络可以采用两个散列函数,包括h1和h2。两者都可以是基于距离保持内核的函数,而不是常规的加密散列函数。散列的摘要(V*)可以是从各种生产者411-414所选择的数据点的h1散列的汇集,该h1散列的汇集的随机种子对于聚合者420是未知的,但是在生产者411-414和消费者之间共享。聚合者420可以总是仅通过具有对其自身私有的种子的另一散列函数h2来暴露摘要V*和验证集(V1)。原因是如果直接共享V*中的散列,将导致信息泄露。每个生产者可以使用上述“重新散列的”摘要V*和验证集V1来计算其可以贡献的次佳数据点。除了防止数据泄漏,h1和h2还能够计算数据点的改善值。选择这些函数的方式,值计算只是点积计算。
在每次迭代中,值改善的计算可能涉及到各种步骤。例如,聚合者420可以广播V*的h2散列(如上所述)和验证集V1的h1散列:g=h2(V*,h1(V1))。作为响应,每个生产者可以计算数据点p的值改善。由于h1和h2的性质,这个值只是g和h1(p)的点积。生产者然后选择最大化这个点积的点:p_max=point maximizing g.dot(h1(p))。该值作为出价被发送到聚合者420。聚合者420从生产者411-414收集出价,并选择最佳出价。
根据各种实施例,消费者希望构建来自不同生产者的最佳组合模型。同时,生产者希望将他们的数据/模型与提供的值成比例地货币化。示例实施例实现了市场网络,该市场网络可以相应地确定模型的最佳构成以及对每个生产者的值属性,而不暴露数据。***可以通过交换距离保持的散列来迭代地细化数据集/模型。同时,值属性可以在迭代中累积计算。而且,散列数据集/模型可以在每次迭代时被添加到区块链账本中。该***可以由智能合约管理,该智能合约实现学习协议以及值计算和补偿的逻辑(logistics)。***创建了每次数据/模型更新都提供的值的无可辩驳的逐迭代(iteration-by-iteration)日志。此外,该***生成AI资产的构成,该构成具有可审计和公允值属性,并且具有防止数据泄露的(统计)私密性。
在一些实施例中,当生成AI资产时,每个参与者节点可以同时充当消费者和生产者。在这个示例中,每个节点在没有从网络中涉及的其他节点接收有价值的回报而不仅仅是经济补偿的情况下可能不愿意共享。示例包括正在执行联合建模以检测欺诈/合规性的银行。其他示例包括足部信托(foot trusts)等等,其中激励分享是最重要的。
图5A示出了根据示例实施例的对散列的数据进行聚合以用于生成AI模型的方法500A。参考图5A,在510中,方法500A可以包括生成散列的摘要,该散列的摘要包括一个或多个验证数据集的散列和在先前迭代中从生产者节点选择的数据点的当前选择的散列,并且将散列的摘要暴露给多个生产者节点。例如,散列的摘要可以包括初始数据集的散列表示、与初始数据集相关联的元数据等。初始数据集可以是验证集,该验证集由希望构建或以其他方式构成AI模型的消费者节点提供。初始数据集可能太小而无法构建AI模型,因为它没有足够的信息来满足学习的准确性阈值。为了改善初始数据集,消费者节点可以请求聚合者节点找到可用于向初始数据集提供值的额外的数据。作为另一示例,验证集可以包括或以其他方式是在一个或多个先前迭代期间接收的、来自生产者节点的数据点的散列。
在520中,该方法可以包括迭代地分别从多个生产者节点接收多个请求,其中每个请求标识由生产者节点可用的一个或多个数据样本的散列提供的边缘值。代替提供实际数据,多个生产者节点可以提供它们基于生产者节点的私有或专有数据而可以添加到初始数据集的值的量,而不暴露数据。数据可以以迭代方式提供,其中多个生产者节点轮流改进模型。在530中,该方法可以包括基于与请求相关联的边缘值,从多个请求中选择从生产者节点接收的请求,其中该多个请求是从多个生产者节点接收的。这里,聚合者节点可以选择提供值上的最大改善的请求等。
在540中,该方法可以包括取得与所选择的请求相关联的生产者节点的散列的数据。这里,聚合者节点可以请求并且可以接收与从生产者节点接收的请求相关联的散列的数据。可以使用诸如内核MMD散列函数的散列函数对数据进行散列,该散列函数隐藏或以其他方式防止基础数据被编码,但具有距离保持的属性。例如,散列函数可以保持各个数据集的数据点之间的距离,从而使得能够确定改善,尽管剩余的数据被散列并因此被隐藏。在550中,该方法可以包括将生产者节点的散列的数据与在一个或多个先前迭代中生成的散列的摘要进行聚合,以产生更新的摘要,并且经由分布式账本的数据块存储该更新的摘要。在该示例中,更新的摘要可以存储在与散列的摘要相同的块中,或者可以存储在分布式账本的不同块中。分布式账本可以指区块链或其他类型的分布式账本。根据各个方面,图5A中的方法500A可以被迭代地执行(即,重复)以将额外的散列的数据从额外的生产者节点添加到摘要中,直到没有更多的值可以被添加或者已经发生了一些其他情况,诸如定时周期到期等。参与到对散列的摘要进行贡献的所有生产者节点可以进一步参与AI模型的构成。
散列函数的距离保持方面可以保持初始数据和散列的数据之间的相似性。因此,聚合者可以验证从生产者节点接收的请求中包括的值。例如,参考图5B,在542中,方法500B包括基于生产者节点的散列的数据确定要提供给初始数据集的值的量。在544中,该方法可以进一步包括在生产者节点的散列的数据与散列的摘要聚合之前,验证从接收的散列的数据所确定的值的量等于从生产者节点接收的请求中包括的值的量。例如,可以基于如前所述的点积来执行该确定。如果所确定的值的量等于从生产者节点接收的值的量,则聚合者节点可以确定该值被验证,并且可以将散列的数据与散列的摘要聚合并存储。
在一些实施例中,生产者节点的散列的数据经由散列函数编码,该散列函数防止散列的数据的基础数据被暴露,同时它允许暴露值的量。例如,生产者节点的散列的数据可以基于保持初始数据集和散列的数据集之间的相似性值的内核最大平均差异函数来进行散列。在一些实施例中,该方法可以进一步包括基于聚合的散列的摘要生成人工智能模型。可以从也提供初始数据集的消费者节点接收对AI模型的请求。根据各个方面,聚合者节点可以从在聚合过程中贡献了数据的每个生产者节点请求代码生成,并且可以使用保持散列的隐藏数据并在生产者节点的控制下构建复杂的AI模型,而不会将数据泄露给聚合者节点或消费者节点。
图6A示出了根据示例实施例的物理基础设施,该物理基础设施被配置为根据一种或多种操作的方法在区块链上执行各种操作。参考图6A,配置600A包括具有区块链620和智能合约640的物理基础设施610,其可以执行包括在任何示例实施例中的任何操作步骤612。步骤/操作612可以包括用于迭代地构成散列的摘要的一个或多个聚合逻辑步骤,用于构建人工智能数据/模型。这些步骤可以表示从驻留在计算机***配置的物理基础设施610上的一个或多个智能合约640和/或区块链620写入或读取的输出或写入信息。数据可以从执行的智能合约640和/或区块链620输出。物理基础设施610可以包括一个或多个计算机、服务器、处理器、存储器和/或无线通信设备。
图6B示出了根据示例实施例的、签约方之间的示例智能合约配置和被配置为在区块链上实施智能合约条款的中介服务器。参考图6B,配置600B可表示通信会话、资产转移会话或由智能合约640驱动的过程或进程,智能合约640显式地标识一个或多个用户设备652和/或656。智能合约执行的执行、操作和结果可以由服务器654管理。例如,服务器654可以执行软件程序,该软件程序包括如本文所述的聚合逻辑,用于根据散列的数据和从多个生产者节点提供的值信息生成散列的摘要。智能合约640的内容可能需要作为智能合约交易各方的一个或多个实体652和656的数字签名。智能合约执行的结果可以作为区块链交易写入区块链。
上述实施例可以以硬件、由处理器执行的计算机程序、固件或上述的组合来实现。计算机程序可以被包含在诸如存储介质的计算机可读介质上。例如,计算机程序可以驻留在随机存取存储器(RAM)、闪存、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、光盘只读存储器(CD-ROM)或本领域已知的任何其他形式的存储介质中。
示例性存储介质可以耦合到处理器,使得处理器可以从存储介质读取信息和向存储介质写入信息。在替代方案中,存储介质可以是处理器的组成部分。处理器和存储介质可以驻留在专用集成电路(ASIC)中。在替代方案中,处理器和存储介质可以作为分立组件驻留。例如,图7示出了示例计算机***架构700,其可以表示或集成在任何上述组件等中。
图7并不旨在对这里描述的应用的实施例的使用范围或功能提出任何限制。无论如何,计算节点700能够实现和/或执行上文阐述的任何功能。例如,计算节点700可以是聚合者节点、消费者节点、生产者节点、节点(例如,消费者、生产者、聚合者等)的组合,等等。
在计算节点700中,存在计算机***/服务器702,其可与许多其他通用或专用计算***环境或配置一起操作。适用于与计算机***/服务器702一起使用的众所周知的计算***、环境和/或配置的示例包括但不限于个人计算机***、服务器计算机***、瘦客户端、厚客户端、手持或膝上型设备、多处理器***、基于微处理器的***、机顶盒、可编程消费电子(产品)、网络PC、小型计算机***、大型计算机***以及包括上述***或设备中的任一个的分布式云计算环境等。
计算机***/服务器702可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机***/服务器702可以在分布式云计算环境中实践,在该分布式云计算环境中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机***存储介质中。
如图7所示,云计算节点700中的计算机***/服务器702以通用计算设备的形式示出。计算机***/服务器702的组件可以包括但不限于一个或多个处理器或处理单元704、***存储器706以及将包括***存储器706的各种***组件耦合到处理器704的总线。
总线表示若干类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、***总线、加速图形端口以及处理器或使用各种总线架构中的任何一种的本地总线。作为示例而非限制,这样的架构包括工业标准架构(Industry Standard Architecture,ISA)总线、微通道架构(Micro Channel Architecture,MCA)总线、增强型ISA(EnhancedISA,EISA)总线、视频电子标准协会(Video Electronics Standards Association,VESA)本地总线和***组件互连(Peripheral Component Interconnects,PCI)总线。
计算机***/服务器702通常包括各种计算机***可读介质。这种介质可以是计算机***/服务器702可访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。在一个实施例中,***存储器706实现了其他附图的流程图。***存储器706可以包括易失性存储器形式的计算机***可读介质,诸如随机存取存储器(RAM)710和/或高速缓冲存储器712。计算机***/服务器702还可以包括其他可移动/不可移动、易失性/非易失性计算机***存储介质。仅作为示例,存储***714可以被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其他光学介质的可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据媒体接口连接到总线。如下文将进一步描绘和描述的,存储器706可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,这些程序模块被配置为执行应用的各种实施例的功能。
作为示例而非限制,具有一组(至少一个)程序模块718的程序/实用程序716以及操作***、一个或多个应用、其他程序模块和程序数据可以存储在存储器706中。每个操作***、一个或多个应用程序、其他程序模块和程序数据或它们的某种组合可以包括联网环境的实施方式。程序模块718通常执行这里描述的应用的各种实施例的功能和/或方法。
如本领域技术人员将意识到的,本申请的各方面可以体现为***、方法或计算机程序产品。因此,本申请的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或结合了软件和硬件方面的实施例的形式,软件和硬件方面在这里通常都被称为“电路”、“模块”或“***”此外,本申请的各方面可以采取包含在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质上包含有计算机可读程序代码。
计算机***/服务器702还可以与以下各项进行通信:一个或多个外部设备720(诸如键盘、定点设备、显示器722等);使得用户能够与计算机***/服务器702交互的一个或多个设备;和/或使得计算机***/服务器702能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由I/O接口724发生。此外,计算机***/服务器702可以经由网络适配器726与一个或多个网络(诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网))通信。如所描绘的,网络适配器726(例如,网络接口等)经由总线与计算机***/服务器702的其他组件通信。应当理解,尽管未示出,但是可以与计算机***/服务器702结合使用其他硬件和/或软件组件。示例包括但不限于:微码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID***、磁带驱动器和数据存档存储***等。
根据各种实施例,网络接口726可以与公共分布式账本网络(诸如区块链网络)中的其他节点通信。处理器704可以生成初始数据集的散列的摘要,并将该散列的摘要暴露给多个生产者节点。例如,散列的摘要可以包括初始数据集的散列、元数据等。处理器704可以分别从多个生产者节点接收多个请求,其中每个请求基于相应生产者节点的数据来标识要提供给初始数据集的值。以这种方式,生产者节点可以暴露他们基于他们的专有数据而可以添加的值的量,而不会泄露专有数据。处理器704还可以基于请求中标识的要提供给初始数据集的值,在从多个生产者节点接收的请求当中选择生产者节点的请求,并取得与所选择的请求相关联的生产者节点的散列的数据,其中所述请求从多个生产者节点接收。而且,处理器704可以将生产者节点的散列的数据与初始数据集的散列的摘要进行聚合,以生成更新的摘要,并经由分布式账本的数据块存储更新的摘要。
在一些实施例中,生产者节点的散列的数据经由散列函数被编码,该散列函数防止散列的数据的基础数据被暴露,并且使得值的量能够被暴露。因此,处理器704可以基于散列的数据验证将从生产者节点提供的值,而无需访问实际数据。具体地,散列函数(例如,内核-MMD)可以保持生产者节点数据和初始数据集之间的相似性,从而使得能够使用算法来确定和验证要提供的值。在一些实施例中,处理器704还被配置为基于聚合的散列的摘要生成人工智能(AI)模型,例如,通过请求每个生产者节点为AI模型贡献/构成代码。一旦AI模型完成,处理器704可以向消费者节点提供AI模型,例如,通过经由网络接口726向消费者节点发送AI模型数据,或者通过经由区块链的块向消费者节点暴露AI模型。
尽管***、方法和非暂时性计算机可读介质中的一个或多个的示例性实施例已经在附图中示出并在前面的详细描述中描述,但是应当理解,本申请不限于所公开的实施例,而是能够进行由所附权利要求阐述和限定的许多重新排列、修改和替换。例如,各个图的***的能力可以由这里描述的一个或多个模块或组件执行,或者以分布式架构执行,并且可以包括发送器、接收器或两者。例如,由各个模块执行的全部或部分功能可以由这些模块中的一个或多个来执行。此外,可以在各种时间并与各种事件相关地、在模块或组件的内部或外部执行这里描述的功能。而且,各种模块之间发送的信息可以经由数据网络、互联网、语音网络、互联网协议网络、无线设备、有线设备的一个或多个和/或经由多个协议中在模块之间发送。而且,由任何模块发送或接收的消息可以直接和/或经由一个或多个其他模块发送或接收。
本领域技术人员将会理解,“***”可以体现为个人计算机、服务器、控制台、个人数字助理(PDA)、蜂窝电话、平板计算设备、智能手机或任何其他合适的计算设备,或者设备的组合。将上述功能呈现为由“***”执行并不旨在以任何方式限制本申请的范围,而是旨在提供许多实施例的一个示例。实际上,这里公开的方法、***和装置可以以与计算技术一致的本地化和分布式形式来实现。
应该注意的是,本说明书中描述的一些***特征已经被呈现为模块,以便更具体地强调它们的实施方式独立性。例如,模块可以被实现为硬件电路,包括定制的超大规模集成(VLSI)电路或门阵列、现成的半导体(例如逻辑芯片、晶体管)或其他分立元件。模块也可以在可编程硬件设备(诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等)中实现。
模块还可以至少部分地以软件实现,以供各种类型的处理器执行。识别的可执行代码单元可以例如包括一个或多个计算机指令的物理或逻辑块,这些计算机指令可以例如被组织为对象、进程或功能。然而,所识别的模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置的不同指令,当在逻辑上结合在一起时,该不同指令构成该模块并实现了该模块的既定目的。此外,模块可以存储在计算机可读介质上,计算机可读介质可以是例如硬盘驱动器、闪存设备、随机存取存储器(RAM)、磁带或用于存储数据的任何其他这样的介质。
实际上,可执行代码模块可以是单个指令,也可以是许多指令,甚至可以分布在几个不同的代码段上、不同的程序之间以及若干存储设备上。类似地,操作数据可以在模块中被识别和示出,并且可以以任何合适的形式被体现,并且被组织在任何合适类型的数据结构中。操作数据可以作为单个数据集收集,或者可以分布在不同的位置(包括分布在不同的存储设备上),并且可以至少部分地仅仅作为电子信号存在于***或网络上。
很容易理解,如这里附图中一般描述和图示的,应用的组件可以以各种不同的配置来布置和设计。因此,实施例的详细描述并不旨在限制所要求保护的本申请的范围,而是仅仅标识本申请的所选择的实施例。
本领域普通技术人员将容易理解,上述可以用不同顺序的步骤和/或用不同于所公开的配置的硬件元件来实践。因此,尽管已经基于这些优选实施例描述了本申请,但是对于本领域技术人员来说,某些修改、变化和替代构造将是显而易见的。
虽然已经描述了本申请的优选实施例,但是应当理解,所描述的实施例仅是说明性的,并且当考虑到全部等同物和修改(例如,协议、硬件设备、软件平台等)时,本申请的范围将仅由所附权利要求来限定。

Claims (15)

1.一种计算***,包括:
网络接口,被配置为与网络中的节点通信;和
处理器,被配置为执行一个或多个迭代,每个迭代被配置为:
根据从消费者节点接收的一个或多个散列的验证数据集和在先前迭代中从生产者节点选择的数据点的散列来生成摘要;
将散列的摘要暴露给多个生产者节点;
响应于所暴露的散列的摘要,从所述多个生产者节点接收多个请求,其中每个请求标识由能够用于相应生产者节点的一个或多个数据样本的散列提供的边缘值;和
从所接收的请求当中选择生产者节点的请求,并取得与所选择的请求相关联的生产者节点的散列的数据;
其中,所述处理器还被配置为将生产者节点的散列的数据与在先前迭代中生成的摘要进行聚合,以生成更新的摘要,并经由分布式账本的数据块存储更新的摘要;所述处理器还被配置为在每个迭代中,基于生产者节点的散列的数据和一个或多个先前的摘要,确定由所选择的生产者节点提供的增加值的量;所述处理器还被配置为在将生产者节点的散列的数据与所述散列的摘要进行聚合之前,验证从所接收的散列的数据所确定的值的量等于包括在从生产者节点接收的请求中的值的量。
2.根据权利要求1所述的计算***,其中,经由散列函数对生产者节点的散列的数据进行编码,并且经由不同的散列函数对来自所述处理器的摘要进行编码,以便防止基础数据从其散列的形式暴露出来并且启用所选择的数据样本的值属性。
3.根据权利要求1所述的计算***,其中,所述处理器还被配置为控制所述网络接口从每个生产者节点取得用于训练AI模型的训练信息,其中在所述一个或多个迭代期间从所述每个生产者节点取得散列数据。
4.根据权利要求1所述的计算***,其中,基于距离保持散列函数对生产者节点的散列的数据进行散列,所述距离保持散列函数保持在散列下的数据样本之间的相似性值。
5.根据权利要求1所述的计算***,其中,所述处理器还被配置为从消费者节点接收初始验证数据集和基于所述初始验证数据集来构成AI模型的请求。
6.根据权利要求1所述的计算***,其中,在所有迭代中,使用各种生产者节点的数据提供的总值是基于验证数据集和从生产者节点中选择的散列的数据样本的摘要之间的相似性度量。
7.一种计算机实现的方法,包括:
生成散列的摘要,所述散列的摘要包括一个或多个验证数据集的散列和在先前迭代中从生产者节点选择的数据点的散列,并将所述散列的摘要暴露给多个生产者节点;
迭代地分别从多个生产者节点接收多个请求,其中每个请求标识由能够用于生产者节点的一个或多个数据样本的散列提供的边缘值;
基于与所述请求相关联的边缘值,从所述多个请求当中选择从生产者节点接收的请求;
取得与所选择的请求相关联的生产者节点的散列的数据;和
将生产者节点的散列的数据与在一个或多个先前迭代中生成的散列的摘要进行聚合,以产生更新的摘要,并且经由分布式账本的数据块存储更新的摘要;在每个迭代中,基于生产者节点的散列的数据和一个或多个先前的摘要,确定由所选择的生产者节点提供的增加值的量;在将生产者节点的散列的数据与所述散列的摘要进行聚合之前,验证从所接收的散列的数据所确定的值的量等于包括在从生产者节点接收的请求中的值的量。
8.根据权利要求7所述的方法,其中,经由散列函数对生产者节点的散列的数据进行编码,并且经由不同的散列函数对摘要进行编码,以便防止基础数据从其散列的形式暴露出来并且启用所选择的数据样本的值属性。
9.根据权利要求7所述的方法,还包括:基于聚合的散列的摘要生成人工智能AI模型。
10.根据权利要求7所述的方法,其中,基于距离保持散列函数对生产者节点的散列的数据进行散列,所述距离保持散列函数保持在散列下的数据样本之间的相似性值。
11.根据权利要求7所述的方法,还包括:从消费者节点接收初始验证数据集和基于所述初始验证数据集来构成AI模型的请求。
12.根据权利要求7所述的方法,其中,在所有迭代中,使用各种生产者节点的数据提供的总值是基于所述验证数据集和从生产者节点中选择的散列的数据样本的摘要之间的相似性度量。
13.一种存储程序指令的计算机可读存储介质,所述程序指令在被执行时使处理器执行方法,所述方法包括:
生成散列的摘要,所述散列的摘要包括一个或多个验证数据集的散列和在先前迭代中从生产者节点选择的数据点的散列,并将该散列的摘要暴露给多个生产者节点;
迭代地分别从多个生产者节点接收多个请求,其中每个请求标识由能够用于生产者节点的一个或多个数据样本的散列提供的边缘值;
基于与所述请求相关联的边缘值,从所述多个请求当中选择从生产者节点接收的请求;
取得与所选择的请求相关联的生产者节点的散列的数据;和
将生产者节点的散列的数据与在一个或多个先前迭代中生成的散列的摘要进行聚合,以产生更新的摘要,并且经由分布式账本的数据块存储更新的摘要;在每个迭代中,基于生产者节点的散列的数据和一个或多个先前的摘要,确定由所选择的生产者节点提供的增加值的量;在将生产者节点的散列的数据与所述散列的摘要进行聚合之前,验证从所接收的散列的数据所确定的值的量等于包括在从生产者节点接收的请求中的值的量。
14.根据权利要求13所述的计算机可读存储介质,其中,经由散列函数对生产者节点的散列的数据进行编码,并且经由不同的散列函数对摘要进行编码,以便防止基础数据从其散列的形式暴露出来并且启用所选择的数据样本的值属性。
15.一种计算机***,所述***包括分别用于执行权利要求7-12中任一项所述的方法的步骤的模块。
CN201910192623.6A 2018-03-15 2019-03-14 人工智能软件市场 Active CN110275891B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/922,020 2018-03-15
US15/922,020 US11940958B2 (en) 2018-03-15 2018-03-15 Artificial intelligence software marketplace

Publications (2)

Publication Number Publication Date
CN110275891A CN110275891A (zh) 2019-09-24
CN110275891B true CN110275891B (zh) 2023-05-23

Family

ID=67905796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910192623.6A Active CN110275891B (zh) 2018-03-15 2019-03-14 人工智能软件市场

Country Status (2)

Country Link
US (1) US11940958B2 (zh)
CN (1) CN110275891B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11249982B2 (en) * 2018-01-19 2022-02-15 Acronis International Gmbh Blockchain-based verification of machine learning
US20220215126A1 (en) * 2019-04-03 2022-07-07 Khalifa University of Science and Technology Distance preserving hash method
WO2020252479A1 (en) * 2019-06-13 2020-12-17 Gutierrez Sheris Luis Eduardo System and method using a fitness-gradient blockchain consensus
US20210073812A1 (en) * 2019-09-07 2021-03-11 Scott C. Harris Multi Format Crypto Token Wallet
GB202000129D0 (en) * 2020-01-06 2020-02-19 British Telecomm Distributed transactional database consensus
WO2021188282A1 (en) * 2020-03-16 2021-09-23 Pricewaterhousecoopers Llp Immutable and decentralized storage of computer models
CN114095515A (zh) * 2020-07-31 2022-02-25 京东方科技集团股份有限公司 基于区块链的数据管理方法、装置和***
US20220300632A1 (en) * 2021-03-22 2022-09-22 Wind River Systems, Inc. Method and Apparatus of Securing Data
CN113486361B (zh) * 2021-07-27 2024-04-16 中国银行股份有限公司 基于区块链的app管理***及方法
CN113722753B (zh) * 2021-08-25 2024-05-10 银清科技有限公司 基于区块链的隐私数据处理方法、装置及***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831531B1 (en) * 2006-06-22 2010-11-09 Google Inc. Approximate hashing functions for finding similar content
WO2014188361A2 (en) * 2013-05-20 2014-11-27 Puértolas Montañés José Antonio Systems and methods enabling consumers to control and monetize their personal data

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8886560B2 (en) * 2009-12-17 2014-11-11 American Express Travel Related Services Company, Inc. System and method for enabling channel agreements negotiations in an IP marketplace
US8595154B2 (en) * 2011-01-26 2013-11-26 Google Inc. Dynamic predictive modeling platform
US9563854B2 (en) * 2014-01-06 2017-02-07 Cisco Technology, Inc. Distributed model training
US20160307113A1 (en) * 2015-04-20 2016-10-20 Xerox Corporation Large-scale batch active learning using locality sensitive hashing
US10635471B2 (en) * 2015-05-15 2020-04-28 Joshua Paul Davis System and method for an autonomous entity
US10121019B2 (en) * 2015-06-02 2018-11-06 ALTR Solutions, Inc. Storing differentials of files in a distributed blockchain
US10075298B2 (en) * 2015-06-02 2018-09-11 ALTR Solutions, Inc. Generation of hash values within a blockchain
US20170031676A1 (en) * 2015-07-27 2017-02-02 Deja Vu Security, Llc Blockchain computer data distribution
US10509806B2 (en) * 2015-08-17 2019-12-17 Accenture Global Solutions Limited Recommendation engine for aggregated platform data
US20170169358A1 (en) * 2015-12-09 2017-06-15 Samsung Electronics Co., Ltd. In-storage computing apparatus and method for decentralized machine learning
MX2019000713A (es) * 2016-07-18 2019-11-28 Nant Holdings Ip Llc Sistemas, aparatos y metodos para maquina de aprendizaje distribuido.
US10698675B2 (en) * 2016-12-19 2020-06-30 International Business Machines Corporation Decentralized automated software updates via blockchain
US10826934B2 (en) * 2017-01-10 2020-11-03 Crowdstrike, Inc. Validation-based determination of computational models
US11562230B2 (en) * 2017-03-22 2023-01-24 Visa International Service Association Privacy-preserving machine learning
US10270599B2 (en) * 2017-04-27 2019-04-23 Factom, Inc. Data reproducibility using blockchains
US10810004B2 (en) * 2017-06-30 2020-10-20 Oracle International Corporation System and method for managing a public software component ecosystem using a distributed ledger
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
US20190164140A1 (en) * 2017-11-24 2019-05-30 Ramya Pasupula System and method for blockchain based content monetization in an online trading platform
US20190236559A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment
KR101880175B1 (ko) * 2018-02-13 2018-07-19 주식회사 마크로젠 복수의 블록체인에 기반을 둔 생명정보 데이터 제공 방법, 생명정보 데이터 저장 방법 및 생명정보 데이터 전송 시스템
CN108491266B (zh) * 2018-03-09 2021-11-16 联想(北京)有限公司 基于区块链的数据处理方法、装置及电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831531B1 (en) * 2006-06-22 2010-11-09 Google Inc. Approximate hashing functions for finding similar content
WO2014188361A2 (en) * 2013-05-20 2014-11-27 Puértolas Montañés José Antonio Systems and methods enabling consumers to control and monetize their personal data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ModelChain: Decentralized Privacy-Preserving Healthcare Predictive Modeling Framework on Private Blockchain Networks;Tsung-Ting Kuo等;《Computer Science》;20180206;第1-13页 *

Also Published As

Publication number Publication date
US11940958B2 (en) 2024-03-26
CN110275891A (zh) 2019-09-24
US20190287027A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
CN110275891B (zh) 人工智能软件市场
US11157833B2 (en) Learning service blockchain
US11360963B2 (en) Tracking and verification of physical assets
JP2021525931A (ja) ブロックチェーンのための効率的な検証
US11569996B2 (en) Anonymous rating structure for database
CN111881129A (zh) 用于数据库的索引管理
JP7228322B2 (ja) ブロックチェーン・ネットワークにおける自動コミット・トランザクション管理
US20200379977A1 (en) Anonymous database rating update
CN114365116A (zh) 来自私有区块链的更新的链外通知
US11057188B2 (en) Database service token
CN112241919A (zh) 具有数据流控制的多域区块链网络
US11664973B2 (en) Trust-varied relationship between blockchain networks
US20220329436A1 (en) Token-based identity validation via blockchain
US11849046B2 (en) Freshness visibility in supply-chain
US11455598B2 (en) Automated conflict resolution
CN114450708A (zh) 基于现有链码的链码推荐
CN111666332A (zh) 自动演进的数据库背书策略
CN111753002A (zh) 基于同意的数据管理
CN115943411A (zh) 用于保护数据的噪声交易
CN112052474A (zh) 蓝光拷贝服务
CN115668856A (zh) 分散式数据库中的许可事件
US11687904B2 (en) Downstream tracking of content consumption
CN114981773A (zh) 无冲突版本控制
US20210117919A1 (en) Last-mile deliver coordination
US20210150597A1 (en) Automated invoicing

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
GR01 Patent grant
GR01 Patent grant