CN111919417A - 在基于云的计算环境中用共识管理为分布式分类账技术实现超级社区和社区侧链的系统、方法和装置 - Google Patents

在基于云的计算环境中用共识管理为分布式分类账技术实现超级社区和社区侧链的系统、方法和装置 Download PDF

Info

Publication number
CN111919417A
CN111919417A CN201980021928.9A CN201980021928A CN111919417A CN 111919417 A CN111919417 A CN 111919417A CN 201980021928 A CN201980021928 A CN 201980021928A CN 111919417 A CN111919417 A CN 111919417A
Authority
CN
China
Prior art keywords
blockchain
user
tenant
consensus
asset
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.)
Pending
Application number
CN201980021928.9A
Other languages
English (en)
Inventor
P·K·帕德马纳班
S·高普兰
V·S·马达利
D·达米贾
J·拉杰
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.)
Salesforce Inc
Original Assignee
Salesforce com Inc
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 Salesforce com Inc filed Critical Salesforce com Inc
Publication of CN111919417A publication Critical patent/CN111919417A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开的实施例涉及用于在基于云的计算环境中为分布式分类账技术实现智慧共识、智能共识和加权共识模型的系统、方法和装置。其他实施例涉及用于使用Quipchain实现文档界面和协作的装置;用于采用用于分布式分类账技术的共识管理实现超级社区和社区侧链的装置;用于为分布式分类账技术实现虚拟链模型的装置;以及用于使用分布式分类账技术实现智能流合约的装置。这样的实施例可以在托管计算环境的计算架构内实现,例如利用多租户数据库技术、客户端‑服务器技术、传统数据库技术或支持托管计算环境的其他计算架构的按需或云计算环境。

Description

在基于云的计算环境中用共识管理为分布式分类账技术实现 超级社区和社区侧链的系统、方法和装置
要求优先权
本申请要求于2018年1月31日提交的标题为“在基于云的计算环境中用共识管理为分布式分类账技术实现超级社区和社区侧链的系统、方法和装置(Systems,Methods,andApparatuses for Implementing Super Community and Community Sidechains withConsent Management for Distributed Ledger Technologies in a Cloud BasedComputing Environment)”的美国专利申请No.15/932,100的优先权,其全部内容通过引用并入本文。
版权声明
本专利文件的公开的一部分包含受版权保护的材料。版权所有者不反对专利文件或专利公开中的任何人的传真复制,如专利和商标局专利文件或记录中所出现的,但无论怎样都保留所有版权。
技术领域
本文公开的实施例总体上涉及分布式分类账技术领域。更具体地,公开的实施例涉及用于在基于云的计算环境中为分布式分类账技术实现智慧(intelligent)共识、智能(smart)共识和加权共识模型的系统、方法和装置。其他实施例涉及用于在基于云的计算环境中使用Quipchain实现文档接口和协作的系统、方法和装置。其他实施例还涉及用于在基于云的计算环境中用共识管理为分布式分类账技术来实现超级社区和社区侧链的系统、方法和装置。进一步的实施例涉及用于在基于云的计算环境中为分布式分类账技术实现虚拟链模型的系统、方法和装置。附加实施例涉及用于在基于云的计算环境中使用分布式分类账技术来实现智能流合约的系统、方法和装置。这样的实施例可以在托管计算环境的计算架构内实现,诸如,托管计算环境的按需或云计算架构,诸如利用多租户数据库技术的按需或云计算环境,客户端-服务器技术,传统数据库技术或其他支持托管计算环境的计算架构。
背景技术
在背景技术部分中讨论的主题不应仅仅由于在背景技术部分中提到而将其视为现有技术。类似地,在背景技术部分中提到的或与背景技术部分的主题相关联的问题不应被认为是现有技术中先前已经认识到的。背景技术部分中的主题仅表示不同的方法,其本身也可以对应于所要求保护的实施例。
在现代金融系统中,资产(诸如货币或证券)通常以电子方式持有和交易。资产转移通常需要多个中介之间的点对点交互,以及重复分类账的对账。这个系统有一些缺点,例如资产转移或付款的结算所需的时间,通常需要几天,转移涉及向多个中介支付费用,对账可能涉及昂贵的开销,因此可能难以查明资产的待转移或当前所有者的状态,转移可能无法完成,并且可能难以使一个转移以另一个为条件,此类系统的复杂性使其难以防止欺诈或盗窃,并且交易是否可逆取决于转移机制,而不是交易方的业务需求。
如果资产所有权记录在单个共享分类账中,则可以解决许多这些问题。但是,实际和技术限制的组合使得这种分类账难以采用。这样的共享分类账将倾向于要求对单方的信任。该方需要具备实时处理每笔交易的技术能力。另外,为了解决上述缺点,分类账需要支持比简单的所有权更改更复杂的逻辑。在2009年,在化名为中本聪(Satoshi Nakamoto)的人操作下的一个人或一群人推出了比特币,这是协议的第一个实现,其使用称为区块链的电子分类账复制系统实现了无需受信的第三方即可发行数字无记名票据(digital bearerinstrument)。比特币解决了实现去中心化的数字现金的问题,但其安全模型限制了其效率和吞吐量,其设计仅支持单个资产,其虚拟机仅对确定资产移动的自定义程序(有时称为智能合约)具有有限支持。
在2015年引入的以太坊将区块链的概念概括为完全可编程的状态复制机制。尽管它包含更强大的编程语言,但它在可扩展性和效率方面提出了其他挑战。
与被设计为在公共因特网上运行的比特币和以太坊相反,大多数金融活动已经发生在金融机构的受限网络内。在此网络中操作的共享分类账可以利用区块链技术,而不会牺牲金融机构所需的效率、安全性、隐私性和灵活性。
因此,现有技术的目前状态可受益于用于改进、修改和扩展分布式分类账技术并经由如本文所述的基于按需云计算环境来提供这样的能力的系统、方法和装置。
附图说明
通过示例而非限制的方式示出了实施例,并且当结合附图考虑以下详细描述时,将更全面地理解实施例,其中:
图1A描绘了根据所描述的实施例的示例性架构;
图1B描绘了根据所描述的实施例的另一示例性架构,具有区块链协议区块160的附加细节;
图1C描绘了根据所描述的实施例的另一示例性架构,具有区块链和分叉区块链的附加细节;
图1D描绘了根据所描述的实施例的具有侧链的附加细节的另一示例性架构;
图2描绘了根据所描述的实施例的流程图,该流程图示出了用于实现分布式分类账技术方法的方法;
图3描绘了根据所描述的实施例的流程图,该流程图示出了用于在基于云的计算环境中为分布式分类账技术实现智慧共识、智能共识和加权共识模型的方法;
图4描绘了根据所描述的实施例的流程图,该流程图示出了用于实现分布式分类账技术方法的方法;
图5描绘了根据所描述的实施例的流程图,该流程图示出了用于在基于云的计算环境中使用quipchain实现文档界面和协作的方法;
图6A描绘了根据所描述的实施例的示出用于实现分布式分类账技术方法的方法的流程图;
图6B描绘了根据所描述的实施例的流程图,该流程图示出了用于实现分布式分类账技术方法的方法;
图7A描绘了根据所描述的实施例的另一示例性架构,其具有采用共识管理实现社区侧链的区块链的附加细节;
图7B描绘了根据所描述的实施例的另一示例性架构,其具有采用共识管理的社区侧链的附加细节;
图8A描绘了根据所描述的实施例的另一示例性架构,其具有采用共识管理实现超级社区侧链的区块链的附加细节;
图8B描绘了根据所描述的实施例的另一示例性架构,其具有与超级社区功能交互的用户设备处的GUI的附加细节;
图8C描绘了根据所描述的实施例的另一示例性架构,其具有与超级社区功能交互的用户设备处的GUI的附加细节;
图9描绘了根据所描述的实施例的流程图,该流程图示出了用于在基于云的计算环境中采用共识管理为分布式分类账技术实现超级社区和社区侧链的方法;
图10示出了根据所描述的实施例的系统的示意图表示,在该系统中,实施例可以被操作、安装、集成或配置;
图11A描绘了根据所描述的实施例的另一示例性架构,其具有利用智能流合约引擎创建的区块链实现的智能合约的附加细节;
图11B描绘了根据所描述的实施例的另一示例性架构,其具有利用Apex翻译引擎创建的区块链实现的智能合约的附加细节;
图12描绘了根据所描述的实施例的流程图,该流程图示出了用于在基于云的计算环境中使用分布式分类账技术来实现智能流合约的方法;
图13示出了根据所描述的实施例的系统的示意图表示,在该系统中,实施例可以被操作、安装、集成或配置;
图14描绘了根据所描述的实施例的另一示例性架构,其具有用于经由基于云的计算环境与分布式分类账技术对接的虚拟链模型的附加细节;
图15描绘了根据所描述的实施例的流程图,该流程图示出了用于在基于云的计算环境中为分布式分类账技术实现虚拟链模型的方法;
图16A示出了根据所描述的实施例的按需数据库服务可以在其中操作的环境的框图;
图16B示出了根据所描述的实施例的图16A的元件的实施例以及在这些元件之间的各种可能的互连的另一框图;以及
图17示出了根据一个实施例的计算机系统的示例性形式的机器的示意图表示。
具体实施方式
本文描述了用于在基于云的计算环境中实现分布式分类账技术的系统、方法和装置。
例如,根据特定实施例,分布式分类账技术设想对等网络中的分布式分类账技术主机或区块链平台主机,该主机中至少具有处理器和存储器,接收向区块链添加新区块的请求,该新区块包括多个交易,该请求指定多个交易类型之一。主机响应于指定的交易类型,选择多个共识协议之一来验证将新区块添加到区块链的请求。然后,当根据选定的共识协议达成共识时,主机会验证将新区块添加到区块链的请求。最后,主机响应于对将新区块添加到区块链的请求的验证,添加区块链的新区块。
根据另一实施例,具有一种分布式分类账技术平台主机,其中至少具有处理器和存储器,其中,平台主机用于从协作文档处理应用程序接收协作文档或其一部分,创建包括协作文档或其一部分的区块链资产,创建包括区块链资产和与签署协作文档的第一协作者相关联的区块链资产标识符的区块链交易,将区块链交易广播到区块链上的流通中,响应于在区块链中广播区块链交易而接收对区块链交易的验证,以及将经验证的区块链交易以区块形式提交到区块链。
在下面的描述中,阐述了许多具体细节,例如特定系统、语言、组件等的示例,以便提供对各种实施例的透彻理解。然而,对于本领域的技术人员将显而易见的是,不需要采用这些具体细节来实践本文公开的实施例。在其他情况下,未详细描述公知的材料或方法,以避免不必要地使所公开的实施例模糊。
除了附图中描绘和本文描述的各种硬件组件之外,实施例还包括以下描述的各种操作。根据这样的实施例描述的操作可以由硬件组件执行,或者可以体现在机器可执行指令中,该机器可执行指令可以用于使得用指令编程的通用或专用处理器执行该操作。可替代地,可以通过硬件和软件的组合来执行操作。
实施例还涉及用于执行本文公开的操作的装置。该装置可以为所需目的而专门构造,或者可以是由计算机中存储的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,例如但不限于任何类型的盘,包括光盘,CD-ROM和磁光盘,只读存储器(ROM),随机存取存储器(RAM),EPROM,EEPROM,磁卡或光卡,或适用于存储电子指令的任何类型的介质,每个介质都耦合到计算机系统总线。
本文中呈现的算法和显示与任何特定计算机或其他装置不是固有地相关。各种通用系统可以与根据本文的教导的程序一起使用,或者可以证明构造更专用的装置来执行所需的方法步骤是方便的。各种这些系统的所需结构都将出现,如在以下描述中阐述的。另外,没有参考任何特定的编程语言来描述实施例。将理解的是,可以使用各种编程语言来实现如本文所描述的实施例的教导。
实施例可以被提供为计算机程序产品或软件,其可以包括其上存储有指令的机器可读介质,该指令可以用于根据公开的实施例对计算机系统(或其他电子设备)进行编程以执行过程。机器可读介质包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制。例如,机器可读(例如,计算机可读)介质包括机器(例如,计算机)可读存储介质(例如,只读存储器(“ROM”),随机存取存储器(“RAM”),磁盘存储介质,光存储介质,闪存设备等),机器(例如计算机)可读传输介质(电,光,声)等。
所公开的实施例中的任何一个可以单独使用或彼此结合使用。尽管各种实施例可能是由于常规技术和方法的不足而部分地被激发的,在说明书中描述或暗示了其中的一些,但是实施例不一定需要处理或解决这些缺陷中的任何一个,而是可以仅解决其中的一些缺陷,不解决任何缺陷,或针对未直接讨论的不同缺陷和问题。
图1A描绘了根据所描述的实施例的示例性架构100。
在一个实施例中,通过主机组织110将托管的计算环境111与多个用户客户端设备106A-C(例如,诸如移动设备,智能电话,平板电脑,PC等)可通信地接口。在一个实施例中,数据库系统130包括数据库155A和155B,例如,用于代表客户组织105A-C(例如,这种数据库系统130的用户或多租户数据库类型数据库系统的租户或这种数据库系统的关联用户)存储应用程序代码,对象数据,表,数据集以及包括用户数据的底层数据库记录。这种数据库包括各种数据库系统类型,包括例如根据某些实施例的关系数据库系统155A和非关系数据库系统155B。
在某些实施例中,可以利用客户端-服务器计算架构来补充用于数据库系统130的特征、功能或计算资源,或者可选地,计算网格、工作服务器池,或托管计算架构的某种组合可以结合数据库系统130提供主机组织110所需的部分或全部计算工作负载和处理。
在所示实施例中描绘的数据库系统130包括在主机组织110内实现数据库功能和代码执行环境的多个底层硬件、软件和逻辑元件150。
根据一个实施例,数据库系统130利用底层数据库系统实现155A和155B来服务数据库查询以及与经由查询接口与数据库系统130通信的数据库系统130的其他数据交互。数据库系统130的硬件、软件和逻辑元件150与客户组织(105A、105B和105C)是分开的并且不同的,客户组织利用通过经由网络155与主机组织110通信地接口由主机组织110提供的web服务和其他服务产品。以这样的方式,主机组织110可以实现按需服务、按需数据库服务或云计算服务来订阅客户组织105A-C。
还描绘了主机组织110经由网络155(例如公共因特网)从客户组织105A-C接收输入和其他请求115。例如,可以从客户组织105A-C接收传入的搜索查询,数据库查询,API请求,与显示的图形用户界面的交互以及在用户客户端设备106A-C处的显示,或者其他输入,以针对数据库系统130进行处理,或者根据哪些结果116被返回给发起方或请求方,例如客户组织105A-C处的用户客户端设备106A-C之一的用户,可以从输入和其他请求115构造此类查询,以针对数据库155或查询接口180执行。
在一个实施例中,每个客户组织105A-C是选自包括以下的组的实体:单独且不同的远程组织,主机组织110内的组织组,主机组织110的业务伙伴,或订阅由主机组织110提供的云计算服务的客户组织105A-C。
在一个实施例中,请求115在主机组织110内的web服务器175处接收或提交给主机组织110内的web服务器175。主机组织110可以接收各种请求,以由主机组织110及其数据库系统130处理。在web服务器175处接收到的传入的请求115可以指定要提供来自主机组织110的哪些服务,例如查询请求,搜索请求,状态请求,数据库事务,图形用户界面请求和交互,代表客户组织105A-C之一检索、更新、或存储数据的处理请求,代码执行请求等等。web服务器175可以负责代表查询接口180经由网络155从各种客户组织105A-C接收请求115,并且向发起这种数据请求115的最终用户用户客户端设备106A-C或机器提供基于web的界面或其他图形显示。
查询接口180能够接收和执行针对数据库系统130的数据库和存储组件的所请求的查询,并返回结果集、响应或其他所请求的数据,以促进所描述的方法。查询接口180还提供了将查询从web服务器175传递到数据库系统130中以针对数据库155执行以处理搜索查询的功能,或者传递到主机组织的计算环境111的其他可用数据存储的功能。在一个实施例中,查询接口180实现应用程序编程接口(API),通过该接口可以对数据库155或其他数据存储执行查询。
主机组织110可以经由web服务器175或作为独立接口来实现请求接口176,以从用户客户端设备106A-C接收请求数据包或其他请求115。请求接口176进一步支持将来自主机组织110的传出方向上的响应分组或其他答复和响应116返回到用户客户端设备106A-C。认证器140代表主机组织进行操作,以验证、认证以及以其他方式凭证用户试图获得对主机组织的访问。
主机组织110内进一步描绘了区块链服务接口190,其中包括了区块链共识管理器191和区块验证器192。区块链服务接口190将主机组织110与其他参与节点133通信地接口(例如,经由网络155),以使主机组织110能够通过充当符合区块链协议的节点以便允许主机组织110访问这种区块链中的信息以及针对主机组织110支持并由主机组织110提供给客户和订户的任意数量的区块链协议,使主机组织110能够向其他参与节点133提供区块链服务,来参与可用的区块链协议。
区块链是不断增长的记录的列表,这些记录按区块分组,这些区块链接在一起并使用密码术保护。每个区块通常都包含作为到先前(previous)区块的链接的一散列指针,一时间戳和交易数据。通过设计,区块链固有地具有抗数据修改的能力。区块链系统本质上是一开放的、分布式的分类账,它以高效且可验证的方式记录两方之间的交易,并且这种分类账也是不变且永久的。分布式分类账(也称为共享分类账或通用分类账,或称为分布式分类账技术(DLT))是地理上分布在多个节点上的复制、共享和同步的数字数据的共识。节点可以位于不同的站点,国家,机构,用户社区,客户组织,主机组织,托管的计算环境或应用程序服务器中。没有中央管理员或中心化的数据存储。
区块链系统使用节点的对等(P2P)网络,并且共识算法确保跨节点复制数字数据。区块链系统可以是公共的或私有的。并非所有的分布式分类账都必须使用区块的链才能成功地提供安全有效的分布式共识的实现:区块链只是被视为分布式分类账的一种数据结构。
P2P计算或网络是在对等点(peer)之间划分任务或工作负载的分布式应用架构。对等点是构成节点的对等网络(peer-to-peer network)的应用程序中的同等特权、同等能力的参与者。对等点使得其资源的一部分(例如处理功率、磁盘存储或网络带宽)直接可用于其他网络参与者,而无需服务器或主机中心协调。对等点既是资源的提供者又是资源的消耗者,这与传统的客户端-服务器模型不同,其中资源的消耗和提供被分开。因此,围绕同样对等节点的概念设计了一对等网络,该对等节点同时充当连接到网络上的其他节点的客户端和服务器两者。
为了用作分布式分类账,通常由对等网络共同管理区块链,该对等网络共同遵守用于验证新区块的协议。一旦记录下来,在不更改所有后续区块(这需要多数网络的合谋)的情况下,任何给定区块中的数据都无法追溯更改。以这种方式,区块链在设计上是安全的,并且是具有高拜占庭式容错的分布式计算系统的示例。因此,已经用区块链达成了去中心化共识。这使得区块链潜在地适合于记录事件,医疗记录,保险记录以及其他记录管理活动,例如身份管理,交易处理,记录来源或投票。
使用对等网络和分布式时间戳服务器自主地管理区块链数据库。以共同的自我利益为动力,通过节点之间的协作对区块链中区块形式的记录进行认证。结果是,参与者对数据安全性的不确定性得以最小化。区块链的使用消除了数字资产可再现性的特征。它确认每个价值单位(例如资产)仅转移了一次,从而解决了双重支出的问题。
区块链中的每个区块均持有有效交易的批次(“区块”),这些交易是散列的并被编码为Merkle树。每个区块都包含区块链中在前(prior)区块的散列,将两者链接在一起。链接的区块形成一条链。这个迭代过程确认了先前区块的完整性,一直返回到链中的第一个区块,有时也称为创世块或根区块。
通过在其网络上存储数据,区块链消除了将数据集中保存并由单个机构控制的风险。尽管主机组织110提供了广泛的数据处理和存储服务,包括使用单个责任代理(例如主机组织110)提供大量数据的能力,但是区块链服务的区别在于主机组织110并非针对这样的服务的单个机构,而是经由区块链服务接口190,仅是可用区块链协议的许多节点之一,或者作为区块链协议的管理者和提供者进行操作,而经由区块链服务接口190与主机组织110通信的其他参与节点133,通过根据主机组织110提供的可用区块链协议实现合规的分布式分类账技术(DLT),来共同操作为存储在区块链中的信息的存储库。
去中心化的区块链可以使用临时消息传递和分布式联网。区块链网络缺乏计算机黑客可以利用的中心化的漏洞点。同样,它也没有故障的中心点。区块链安全方法包括使用公钥加密。公钥是区块链上的地址。跨网络发送的价值代币被记录为属于该地址。私钥就像一密码,其可让其所有者访问其数字资产,或是以其他方式与区块链支持的各种功能进行交互的手段。通常认为存储在区块链上的数据是不会损坏的,这就是区块链的优势所在。尽管中心化的数据更加可控,但是信息和数据操纵却很常见。通过去中心化,区块链使数据对所有相关人员透明。
去中心化系统内用于特定区块链协议的每个参与节点133具有用于该特定区块链协议的区块链的副本。数据质量通过大规模的数据库复制和计算信任来维持。没有数据库的中心化正式副本存在,并且默认情况下,没有用户和参与节点133的信任度高于任何其他用户和参与节点,但是可以通过某些专门的区块链协议更改此默认,如下面将更详细描述的。区块链交易使用软件广播到网络,包括作为节点运行时的主机组织110在内的任何参与节点133都可以通过该软件接收这种交易广播。广播消息是尽力传递的。节点验证交易,将它们添加到它们正在构建的区块中,然后将完成的区块广播到其他节点。区块链使用各种加时间戳方案(例如工作量证明)来序列化更改。替代共识可以与主机组织提供并由其支持的各种区块链协议结合使用,这种共识机制包括例如权益证明、权威证明和燃烧证明等。
开放的区块链比常规的传统所有权记录对用户更加友好,常规的传统所有权记录虽然对公众开放,但仍然需要物理访问才能查看。因为大多数早期的区块链都是未经许可的,所以关于所谓的“区块链”的具体可接受定义存在一些争议,例如,是否应将具有由中央机构分配任务和授权(被允许)的验证器的私有系统视为区块链。允许链或私有链的支持者认为,术语“区块链”可用于将数据分组为带时间戳的区块的任何数据结构。这些区块链充当数据库中多版本并发控制(MVCC)的分布式版本。就像MVCC阻止两个交易同时修改数据库中的单个对象一样,区块链也阻止两个交易在区块链中花费相同的单个输出。不管语义如何,本文中关于“区块链”描述的方法论在常规区块链协议实现方式上扩展以提供额外的灵活性,为所描述的区块链实现方式开放新的服务和用例,并取决于特定区块链协议由主机组织110的区块链服务接口190提供或支持,本文描述了私有机制和公共机制,并根据需要将其用于主机组织110支持的不同实现。
开放的、未经许可的或公共的区块链网络的优点是不需要防范不良行为者,并且不需要访问控制。这意味着可以使用区块链作为传输层将应用程序添加到网络中,而无需其他人的批准或信任。相反,被许可(例如私有)的区块链使用访问控制层来控制谁可以访问网络。与公共区块链网络相反,私有区块链网络上的验证程序例如由网络所有者或联盟(consortium)的一个或更多个成员进行审查。他们依靠已知的节点来验证交易。被许可的区块链也称为“联盟”或“混合”区块链。如今,许多公司正在将区块链网络与私有区块链或基于区块链的分布式分类账一起使用,独立于公共区块链系统。
图1B描绘了根据所描述的实施例的另一示例性架构101,其具有区块链协议区块160的附加细节。
特别地,本文描述了区块链协议区块160将由主机组织110的区块验证器192来验证,其中区块链协议区块包括其各个子组件的附加细节,以及取决于经由区块链服务接口190正在使用的特定区块链协议,可以与区块链协议区块160结合使用的特定可选元件。
根据特定实施例,本文描述的区块链协议区块160定义了特定结构,该特定结构用于如何组织由主机组织110支持的任何给定区块链协议的基本区块。
在前(prior)散列161是使用来自在前区块159的数据作为输入的不可逆数学计算的结果。在前区块159又利用来自n个先前区块158的数据来形成不可逆数学计算,该不可逆数学计算形成了那些相应区块的在前散列。例如,根据一个实施例,所利用的不可逆数学计算是SHA256散列函数,但是可以利用其他散列函数。根据这样的实施例,散列函数导致对在前区块159或链中的n个先前区块158中的任何一个中的数据的任何改变,导致那些在前区块的散列的不可预测的变化,并且因此使现在或当前的区块链协议区块160无效。在前散列161创建区块之间的链接,将它们链接在一起以形成当前的区块链协议区块160。
当区块验证器192为在前区块159计算在前散列161时,该散列必须满足由存储为证明标准165的数据所定义的某些标准。例如,在一个实施例中,该证明标准165是计算的散列必须小于的数字。由于散列函数的输出是不可预测的,因此在计算散列之前无法知道什么输入将导致小于证明标准165的输出。随机数(nonce)162用于更改区块的数据内容,允许散列函数产生大量不同的输出,以追求满足证明标准165的输出,因此,这使得产生具有随机数162的有效区块在计算上非常昂贵(因此在统计上不大可能),这导致散列值满足证明标准165的标准。
有效载荷散列162提供存储在区块链协议区块160的区块有效载荷169部分内的数据的散列,并且不需要满足任何特定的证明标准165。但是,当计算散列的目的是存储为下一个或后续区块的在前散列161时,有效载荷散列作为输入的一部分被包括。时间戳164指示在一定误差范围内创建区块链协议区块160的时间。根据经由区块链服务接口190提供的某些区块链协议实现,用户的分布式网络(例如,区块链协议节点)对照他们自己的已知时间来检查时间戳164,并将拒绝具有超过错误阈值的时间戳164的任何区块。但是,此类功能是可选的,某些区块链协议可能需要,而其他区块链协议则不使用。
区块链协议证书166定义了区块有效载荷169的所需大小和/或数据结构,以及证明对特定区块链协议实现的合规性,从而证明了区块链协议区块订阅到、实现和尊重所指示的区块链协议的特定要求和配置选项。区块链协议证书166还可指示给定区块链协议的版本,并且区块链协议可在节点将因不合规而开始拒绝新的区块链协议区块之前允许区块的有限的向后和向前兼容性。
取决于使用的特定区块链协议,区块类型167是可选的。在经由区块链服务接口190公开的特定区块链协议所需要的地方,必须将区块类型167指示为可允许区块类型167的枚举列表之一,这将在下面更详细地描述。某些区块链协议使用多种不同的区块类型167,所有这些区块类型可能都有不同的有效载荷,但根据所使用的区块链协议,具有已知为先验的结构,声明的区块类型167和区块链协议证书166证明对这样的要求的合规性。不合规或无效的区块类型或意外的结构或给定声明的区块类型167的有效载荷将导致网络节点拒绝该区块。
在使用可变大小的区块有效载荷169的情况下,区块类型167可以指示这种可变大小的区块有效载荷169的允许性,以及指示区块有效载荷169中的第一字节的索引和区块有效载荷169的总大小。可以利用区块类型167存储与区块有效载荷169的读取、访问以及正确处理和解释有关的其他信息。
取决于所利用的特定实现方式和区块链协议,存储在区块内的区块有效载荷169数据可以与任何数量的广泛交易数据有关,包括与例如以下项相关的有效载荷信息:金融交易,所有权信息,数据访问记录,文件版本管理,医疗记录,投票记录,合规性和证明,教育成绩单,购买收据,数字版权管理记录,或者经由区块链协议区块160的有效载荷可存储的字面上任何类型的数据,其基本上是能够数字化的任何数据。取决于所选的特定区块链协议,有效载荷大小可以是固定大小或可变大小,在任何一种情况下,其都将被用作产生有效载荷散列163的散列的输入的至少部分。
可以根据所选择的特定区块链协议来使用各种证明标准165,例如工作量证明,散列值要求,股份(stake)证明、密钥或某种其他指标(例如共识)或共识证明。在利用基于共识的技术的情况下,区块链共识管理器191代表主机组织110提供共识管理,但是,主机组织110可以仅作为主机组织110经由区块链服务接口190访问的给定区块链协议的许多节点之一来操作,或替代地,主机组织110可以经由区块链服务接口190定义特定的区块链协议并将其作为基于云的服务提供给客户和订户(并可能地提供给未经认证的公共节点参与者)。这样的证明标准165可以作为规则来应用,该规则要求散列值小于证明标准、大于证明标准,或者可以要求特定的位序列(例如10个零或定义的二进制序列)或所需数量的首位或末尾零(例如,会导致20个首位或末尾零的输入的散列,这是在没有已知有效输入的情况下在计算方面无法提供的)。
用于在前散列161、有效载荷散列163或授权散列168的散列算法可以是全部相同类型或不同类型,这取决于特定的区块链协议实现方式。例如,允许的散列函数包括MD5,SHA-1,SHA-224,SHA-256,SHA-384,SHA-515,SHA-515/224,SHA-515/256,SHA-3或任何可抵抗原像攻击(pre-image attack)的散列函数。也没有要求散列仅计算一次。散列函数的结果可以多次重新用作另一个或同一散列函数的输入,以产生最终结果。
图1C描绘了根据所描述的实施例的另一示例性架构102,其具有区块链和分叉区块链的附加细节。
更具体地,现在描述了主区块链(例如,共识区块链),其以创世块141(有时称为根区块)开始,随后是一系列标准区块142,每个标准区块具有头部(header),所述头部至少部分基于其前面的区块的头部的散列而形成。此外,还描绘了分叉区块链,该分叉区块链由初始分叉根区块144,然后是一系列标准区块142构成。由于区块链中的每个区块都包含存储在先前散列中的紧接在前的区块的散列,因此从每个区块返回通过链的链接经由区块链有效地创建,该链接是使恶意修改链变得极其困难或在计算上不可行的关键组件。
如所描绘的,主区块链包括源自分叉区块143的单个分叉。如本文所示,创世块141是开始主区块链的特殊区块,并且不同于其他区块,因为它是主区块链中的第一个区块,因此根据定义不能包括任何先前区块的散列。创世块141标记了所使用的特定区块链协议的主区块链的开始。区块链协议控制着主区块链增长的方式,可以在其中存储哪些数据以及创建分叉区块链,以及任何区块和任何链的有效性都可以经由主机组织的区块验证器192进行验证,或者区块链的任何其他参与网络节点依照嵌入在创世块141中的区块链协议证书166阐述的规则和要求,然后必须由主区块链或任何分叉区块链中每个后续区块进行认证并遵守。
创世链中的每个区块内的区块链协议证书166定义默认规则集和配置参数,其允许创建分叉以及修改那些分叉中的规则和配置参数(如果有的话)。一些区块链协议实现不允许改变或不符合经由区块链协议证书166建立的默认规则集,因此,任何分叉都将是多个竞争性潜在有效主区块链的待定共识的结果。一旦达成共识(通常在一个或两个周期后并形成新的区块),则将采用具有共识的分支并将分叉截断,从而返回到单个主共识区块链。相反,在其他实现方式中,只要分叉区块链符合区块链协议证书166并且在该区块链协议内允许改变分叉区块链的规则和配置参数,就可以允许创建分叉区块链并随着主区块链无限期地存在。
分叉区块143将分叉区块链锚定到主区块链,使得在允许依照区块链协议证书166的情况下,主区块链和分叉链都被视为有效和允许的链。通常,在区块链中,所有非共识分叉最终都被忽略或截断,因此被认为是无效的,除了表示具有共识的最长链的一条链之外。然而,分叉区块143通过操作为并且看起来好像是标准区块142而扩展到在前区块链协议的常规规范之外,同时另外包括对分叉散列149的引用,该分叉散列149标识所允许的分叉区块链的第一区块,本文表示为用于有效的分叉区块链的分叉根区块144。然后,分叉区块链的分叉根区块144之后是标准区块,每个标准区块都具有基于在前有效区块的散列的头部,并且将无限期地继续。
根据特定实施例,分叉区块链利用了在主共识区块链内默认使用的规则和配置参数的一些变化,导致需要有效的分叉区块链。因此,规则和配置参数的变化被编码在用于分叉根区块144的新的区块链协议证书166中,如上所述,其必须保持符合由主区块链的原始创世块141的区块链协议证书166所阐述的原始规则和配置参数的有效范围。因为分叉根区块144必须继续携带原始的区块链协议证书166,所以分叉区块链协议证书可以存储在分叉根区块144的区块有效载荷169区段内,从而建立分叉区块链中后续标准区块142的规则和允许的配置参数。
当将新的区块链协议证书166应用于有效的分叉时,其规则和配置被应用于该分叉的所有后续标准区块以及所有后续的子分叉,其中允许附加分叉,并由参与节点强制执行,就像分叉区块链是原始的主区块链一样。对于希望为特定组应用专门的规则集或配置的某些客户,例如工作组,某些交易的子类型或主区块链(其中不需要或不想要完全独立的“侧链”)的某些其他更改,可能需要此类分叉。分叉区块链与侧链是可区分的,因为侧链仍然是同一区块链协议的一部分,并且在分叉区块143处与主区块链永久连接,返回的分叉散列149被返回到并不可变地写入主共识区块链,其中它将经由链散列方案保留以用于主区块链的所有后续标准区块。简而言之,分叉区块链经由分叉区块143明确地绑定到主区块链。相反,侧链可能是完全不同的区块链协议,对于该协议,约定的汇率或转换因子应用于主区块链和任何侧链之间传递的所有信息或价值(value),无需嵌入主区块链中的任何显式引用或分叉散列149。
因此,侧链是一种机制,通过该机制,可以经由预定义的交换或转换方案在一完全独立的区块链中安全地使用来自一个区块链的代币、价值或有效载荷条目,但仍允许将其移回原始链,如有必要的话。按照惯例,原始区块链称为主链或主区块链,而允许用户利用主链的代币、价值或有效载荷在其中进行交易的任何附加区块链称为侧链。例如,可以具有与公共区块链具有已定义链接的私有区块链,从而允许在公共区块链和私有区块链之间安全地移动代币、价值或有效载荷数据。
根据所描述的实施例,可以用任何相关编程或脚本语言(诸如Python,Ruby,Perl,JavaScript,PHP,Scheme,VBScript,Java,Microsoft.Net,C++,C#,C或用于定义协议规则的自定义语言)来开发定义用于分叉链的协议规则的区块链协议证书166。
在正常操作条件下,即使常规的区块链也会不时自然地分叉,但是,对于先前已知的区块链,最终只有单个分支可以形成主共识链,而所有其他分叉必须被忽略或截断,仅将主共识区块链视为有效。可以通过选择最长的链来达成哪条链有效的共识,因此,其代表着具有最多的工作放到其上完成的区块链。因此,有必要利用如本文所述的分叉区块143以允许经由分叉散列149创建许可分叉链并将其证实为经授权的分叉,以防止参与节点忽略或截断该分叉。由于每个节点都可以独立地验证分叉区块链,因此不会被忽略,就像在达成共识后不会忽略经验证的主区块链一样。
图1D描绘了根据所描述的实施例的另一示例性架构103,其具有用于侧链的附加细节。
更具体地,本文描述了一种机制,通过该机制可以执行从父区块链188(例如,主链)到侧链189的对称双向挂钩转移,该侧链可以是由主机组织110支持并提供的不同区块链协议,或者侧链可以是公共或私人的外国区块链,主机组织110的侧链交换管理器193作为节点参与该侧链,以允许侧链的访问和交易能力。无论如何,根据所描述的实施例,父区块链188和侧链189之间的链间转移被允许遵照每个相应区块链的规则和条件执行。值得注意的是,如本文所述,每个区块链的视角是可互换的,从而此处描述的侧链189可以将其自身视为主或父区块链,并且将所描绘的父区块链188视为子区块链或侧链。无论如何,每个区块链都独立运行,但具有定义的交换机制,通过该机制可以在它们之间交换代币、价值或其他有效载荷信息。
如本文所示,在操作151,主机组织的侧链交换管理器193可以发送父链资产作为父区块链188的输出。
生成与父区块链188资产关联的简化支付验证(SPV)证明(proof)181作为输出并传送到侧链189。SPV证明可以包括工作的阈值水平,并且该产生可以发生在预定时间段,也可以称为确认期152。链之间转移的确认期可以是硬币代币或其他交换价值在成功地转移到侧链189之前锁定在父区块链188上的持续时间。该确认期可以允许创建足够的工作,使得在下一个等待期拒绝服务攻击在计算上变得更加困难。
例如考虑示例性的确认期,该确认期可以约为1-2天。在这样的示例中,确认期可以被实现为每侧链安全性参数,其权衡跨链转移速度以换取更高的安全性。在实现足够困难的工作条件证明的情况下,可以利用其他更短的确认期,以确保足够的安全性,从而保护两个区块链的完整性并消除欺诈交易的可能性。
在父区块链188上创建的输出可以经由规则和配置参数(例如,存储在父区块链188的每个区块的区块链协议证书部分内)指定要求,即未来输出所接收的资产的任何支出、转移或消耗,除了控制父链内转移的规则外,还负担着附加条件。例如,输出接收到的任何资产释放都可能需要附加条件,以验证来自目的地链的证明,例如验证目的地链证明的规则表明目的地链已释放资产并表明资产已释放至何处。在父区块链188上创建输出之后,用户等待确认期,与此同时,链内转移153继续发生。等待确认期之后,然后在侧链189上参照父区块链188的输出创建交易。
然后,向使用侧链验证器服务(诸如主机组织的区块验证器192)的侧链提供SPV证明,该SPV证明显示了父链资产是由父链中的足够工作创建并受其拖累(encumber)的。然后,在操作154,侧链验证器服务(例如,区块验证器192,如果由主机组织的可用服务执行)将验证与父区块链188资产关联的SPV证明满足SPV证明所指示的所需工作阈值水平,并且然后生成对应于父区块链188资产的侧链189资产。
生成的侧链189资产也可以在操作154保留预定的竞争期(contest period),在此期间,如果在父区块链中检测到与父区块链188资产关联的重组证明183,则转移将无效。
在操作154,竞争期可以是新转移的代币、硬币、价值或有效载荷数据可能不会在侧链189上花费、访问或消费的持续时间。实现预定竞争期以通过在重组期间转移先前锁定的硬币、代币、价值或有效载荷数据来防止父区块链188中进行双花费的任何可能性。如果在此延迟期间的任何时候发布了新的SPV证明184(称为“重组证明”),其中包含具有更多汇总工作的链,其不包括创建锁定输出的区块,则该转换将追溯无效。如果未检测到重组证明,则可以释放侧链资产。侧链上的所有参与节点都有动机在可能的情况下产生重组证明,由于不良证明被接受的结果,所有侧链代币、硬币、价值或对由侧链189存储的有效载荷数据的真实性的信任度降低。
与上述相似,在操作156处的示例性竞争期也可以约为1-2天。为了避免这些延误,只要流动市场可用,则用户可以替代地采用使用原子互换(atomic swap)进行可替代的(fungible)转移。如果交换的资产是唯一的或不太常见的代币、价值或有效载荷数据,则原子互换将不可行,并且必须替代地进行侧链转移,尽管必须漫长的1-2天等待期。
在最终释放侧链资产时,与父链资产相对应的侧链资产然后可以在侧链内转移或消耗一次或更多次侧链189的链内转移153。尽管锁定在父区块链188上,但资产可以在侧链中自由转移,而无需与父区块链188进行任何进一步的交互,因此允许侧链189再次完全独立地运行。尽管如此,侧链资产仍保留其作为父链代币、硬币、价值或有效载荷数据的身份,因此,如果出现需求,则可以将其转移回该侧链资产起源的始发父区块链188。在某些实施例中,转移仅被降级到单个跃点(hop),使得资产不能转移到侧链189,然后再转移到另一侧链,这在必要时防止源的混淆。这种限制取决于所选择的特定区块链协议以及在父区块链188和侧链189之间建立的定义交换协议(例如,挂钩条件)。
在变为有必要在父区块链188中赎回侧链资产的情况下,可将侧链资产发送到侧链的输出,如操作157所示。与侧链资产相关联的SPV证明182因此被生成并传送到父区块链188。父链验证器服务(诸如主机组织110的区块验证器193)可以在操作156处验证与侧链资产相关联的SPV证明182。经验证的与侧链189资产相关联的SPV证明182可以包括,例如,对与侧链资产相关联的SPV证明182满足由与侧链资产相关联的SPV证明182指示的阈值工作水平的验证。
如前所述,与侧链资产相关联的父链资产可以在步骤156被保持第二预定竞争期,在此期间,如果在侧链中检测到与侧链资产相关联的重组证明183,则在操作158处拒绝释放父链资产。如果未检测到与侧链资产相关联的重组证明183,则可以释放父链资产。
如果对于第二SPV证明184发生验证失败,则在接收到重组证明183之后,在操作159处,在第三预定竞争期期间由父区块链188接收并验证与侧链资产相关联的第二SPV证明184。如果在第三预定竞争期期间未检测到与侧链资产相关联的重组证明,则可以释放父区块链188资产,此后,父链资产可以自由地通过所描绘的在父区块链188流的最右侧示出的链内部转移153在父链内转移。
因为挂钩的侧链可能携带来自许多不同区块链的资产,所以对其他外国区块链的安全性进行假设可能会成问题。因此,根据某些实施例,要求侧链内的不同资产不可互换(通过显式交易除外)。否则,恶意用户可能通过创建具有无价值资产的无价值链来执行欺诈性交易,然后继续将无价值资产从其无价值链移到主区块链188或主区块链188与之交互并进行交换的侧链189中。这假定无价值链确保了与侧链的挂钩交换协议。然而,由于侧链189的规则、配置选项和安全性方案不受父区块链188的控制(假设该侧链是外国侧链而不是主机组织110提供的另一个区块链协议),因此根本无法确定与之交互的侧链189不包含此类漏洞。为了消除此潜在的安全漏洞,根据挂钩交换协议,可能需要侧链189将来自单独父区块链的资产整体视为单独的资产类型,如图1B所描绘的由区块链协议区块的区块类型部分所表示的,元件167。
通过对称的双向挂钩侧链转移,父区块链188和侧链189都可以彼此执行数据的SPV验证服务,尤其是在向主机组织提供父区块链188且其中侧链是外国侧链的情况下,针对这种情况主机组织只是通过侧链交换管理器节点193参与的节点。由于父区块链188客户端(例如,参与节点)没有观察到每个侧链,因此用户将工作量证明从侧链导入到父链中,以便证明拥有。在对称的双向挂钩中,反之亦然。例如,为了使用比特币作为父区块链188,可以利用扩展脚本来识别和验证这种SPV证明。为了促进此类交易,SPV证明的大小应足够小,以适合在比特币交易有效载荷内。然而,如上所述,这种改变可以替代地实现为分叉交易,而不影响未挂钩侧链交易中未包含的交易。换句话说,使用如上所述的对称的双向挂钩侧链,不必对认为在比特币内有效的任何交易进行进一步的限制。
通过使用这种挂钩侧链交易,使独立的区块链足够灵活以支持许多资产,包括当第一次创建链时不存在的资产。这些资产中的每一个都可以标记有其从中转移过来的区块链,以确保转移可以正确地不卷绕(例如,转移回去)。
根据某些实施例,可以使得竞争期的持续时间为父链和侧链的相对散列能力的函数,以使得给定自己工作量证明的一天的价值的SPV证明的情况下,例如其可能相当于发送区块链的工作量证明的几天,接收侧链(或具有传入转移的父链)可以仅解锁代币、硬币、价值或数据有效载荷。特定侧链的区块链协议实现的安全参数因此可以调整到每个特定侧链的实现。
图2-图4描绘了流程图,该流程图示出了在本发明的实施例中用于实现分布式分类账技术的方法。在实施例中,基于一个或更多个区块链框架实现方式提供了托管的区块链平台,包括用于构建区块链业务网络和基于区块链的应用程序的工具。托管的区块链平台可以向基于云的计算环境服务提供商的客户(例如本专利申请的受让人)提供区块链即服务(BaaS),从而客户不必配置和建立工作的区块链和共识模型,包括附带的硬件和软件。所描述的方法可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路,专用逻辑,可编程逻辑,微代码等),软件(例如,在处理设备上运行的指令)以执行各种操作,例如设计,定义,检索,解析,持久化,公开,加载,执行,操作,接收,生成,存储,维护,创建,返回,呈现,接合,通信,传送,查询,处理,提供,确定,触发,显示,更新,发送等,根据本文所述的系统和方法。例如,托管计算环境111,如图1A等所示的其数据库系统130以及本文所述的其他系统和组件可以实现所描述的方法。根据某些实施例,下面列出的一些逻辑框和/或操作是可选的。所呈现的逻辑框的编号是为了清楚起见,而不旨在规定各种逻辑框必须出现的操作的顺序。
本发明的一些实施例可以结合许可的或私有的、基于区块链的分布式分类账技术来操作。在一个实施例中,节点的联盟(consortium)参与许可的区块链,其中每个节点在联盟中的不同方上或由联盟中的不同方操作。例如,联盟可能包括一些银行或金融机构或保险公司。在任何情况下,联盟成员各自通过其各自的节点与联盟的其他成员进行通信,以添加和/或验证资产和/或交易,包括被许可的区块链的资产。
在一个实施例中,节点可以访问数据存储,诸如数据库、按需数据库服务或分布式数据库系统,该数据存储维护关于可能被提交到被许可的区块链的资产和/或交易的类型的信息,下文有时称为交易类型数据库。另外,数据存储将共识协议或共识协议类型与每种交易类型相关联。在一实施例中,一个或更多个节点维护数据库,而其他节点仅具有对数据库的读取访问权。在其他实施例中,在例如云计算服务提供商的云计算系统中的应用服务器或应用服务器的集群上执行的基于区块链的分布式分类账平台主机,可以建立和维护数据库,例如,作为云计算服务提供商支持的区块链即服务(BaaS)应用程序的一部分。在这样的实施例中,数据库可被一个或更多个应用服务器访问,并且联盟中的节点通过将请求发送到区块链平台主机并从区块链平台主机接收响应来访问数据库。在一个实施例中,联盟中的一个或更多个节点(每个节点代表在云计算服务的客户组织或社区之内或作为云计算服务的客户组织或社区)可以作为云计算服务的订户来访问数据库。在一些实施例中,数据库中的信息可以由云计算服务提供商的云计算系统中的区块链平台主机、应用服务器或应用服务器的集群来高速缓存,以供云计算环境中的节点或代表该节点的就绪读取访问。
当将包含特定资产或交易的区块添加到区块链时,使用要添加到区块链的特定资产或交易的类型来查询交易类型数据库,以确定相应的共识协议类型,其要用于将特定资产或交易或包含特定资产或交易的区块提交给区块链。例如,在数据库中,交易类型“贷款”可以与共识协议类型“权益证明”(PoS)相关联,资产类型“文档”可以与共识协议类型“拜占庭容错”(BFT)相关联,资产或交易类型“货币”可以与共识协议类型“工作量证明”(PoW)相关联,以其他方式在数据库中未枚举的交易类型的情况下使用的默认交易类型可以与默认共识协议类型(例如PoS)相关联。
因此,继续以上提供的示例,当其中具有类型为“贷款”的特定交易的区块或交易将被添加到区块链时,要用于将其中的区块或交易提交到区块链的共识协议类型是PoS,当其中具有类型为“文档”的特定资产的区块或交易要添加到区块链时,要用于将其中的区块或交易提交到区块链的共识协议类型是BFT,并且,当其中具有数据库中未指定的交易类型的特定交易的区块或交易要添加到区块链时,则默认的共识协议类型PoS将用于将其中的区块或交易提交到区块链。
图2描绘了根据所描述的实施例的示出用于实现分布式分类账技术方法的方法200的流程图。
参考图2,在框205,分布式分类账技术(DLT)平台主机(例如,基于区块链的DLT平台主机,或者简称为区块链平台主机)的处理逻辑接收将新区块添加到区块链的请求。新区块通常包括许多交易。该请求指定交易类型,或者如果未指定交易类型,则假定或应用默认交易类型。
在一个实施例中,从构成联盟的对等网络中的节点之一接收请求。在一个实施例中,在节点发送的区块链协议分组中指定交易类型。在一个实施例中,在区块链协议数据分组的有效载荷部分中的应用专用数据字段中指定交易类型,在这种情况下,区块链协议本身不知道所指定的交易类型,并且由在区块链平台主机上执行的逻辑来检测和解码分组的有效载荷部分中的交易类型。在另一个实施例中,在区块链协议数据分组的头部部分的字段中指定交易类型,在这种情况下,区块链协议本身知道所指定的交易类型。
在逻辑框210,主机从请求中获得交易类型,查询交易类型数据库,并返回相应的共识协议类型,以用于将其中的区块或交易提交给区块链。特别地,主机在数据库中搜索指定的交易类型,并且已经在数据库的记录中找到了指定的交易类型,然后从记录中获取与指定的交易类型相关联的所选共识协议。然后,该选择的共识协议类型被传送到联盟中的节点,以用于验证将其中的新区块或交易添加到区块链的请求。在逻辑框215处,当联盟中的节点根据选择的共识协议达成共识以将其中的区块或交易添加到区块链并由此与主机进行通信时,主机验证将其中的新区块或交易添加到区块链中的请求或接收对该请求的验证。最终,在逻辑框220,主机将其中经验证的新区块或交易添加到区块链中。
图3描绘了流程图,该流程图示出了用于在基于云的计算环境中为分布式分类账技术实现智慧共识、智能共识和加权共识模型的方法300,该方法可以结合本文阐述的其他流程图的操作来操作。
根据图3中300处所示的本发明的另一实施例,在框305处,用于分布式分类账技术(DLT)平台主机的处理逻辑接收将其中的新区块或交易添加到区块链的请求。新区块通常包括许多交易。该请求指定交易类型,或者如果未指定交易类型,则假定或应用默认交易类型。
在一个实施例中,从构成联盟的对等网络中的节点之一接收请求。在一个实施例中,在节点发送的区块链协议分组中指定交易类型。在该实施例中,可以在区块链协议数据分组的有效载荷部分中的应用专用数据字段中或在区块链协议数据分组的头部部分的字段中指定交易类型。在任一情况下,在逻辑框310处,主机从请求中获得交易类型,并且使基于机器学习的软件代理参与选择用于基于指定的交易类型将其中的区块或交易提交到区块链的多个共识协议类型之一。这种基于机器学习的软件代理可以内置在区块链平台、区块链平台主机、云计算环境平台、云计算服务平台中的应用服务器或服务器集群中,例如,作为提供预测的人工智能层和基于各种选定因素的推荐,例如业务进程和联盟数据。该人工智能层可以使用洞察力来自动选择多个共识协议类型之一,以基于指定的交易类型将其中的区块或交易提交给区块链。在一个实施例中,该人工智能层可以由salesforce.com的Einstein提供,Einstein是嵌入在salesforce的云计算服务架构中的人工智能(AI)层。
在一个实施例中,基于机器学习的软件代理是基于强化学习的软件代理,并且它选择多个共识协议中的一个,以用于基于一个或更多个因素验证将其中的新区块或交易添加到区块链的请求,例如指定的交易类型,或选择用于验证将其中的新区块或交易添加到指定相同交易类型的区块链的一个或更多个先前请求的共识协议。
所选择的共识协议类型被传送到联盟中的节点,以用于验证将其中的新区块或交易添加到区块链的请求。特别地,在一个实施例中,分布式分类账技术平台主机在提供该信息的区块链协议数据分组的有效载荷部分中传送由应用专用数据字段组成的区块链协议分组。在另一个实施例中,区块链协议数据分组的头部部分中的字段可以指定所选择的共识协议。在逻辑框315处,当联盟中的参与节点根据所选择的共识协议达成将其中的区块或交易添加到区块链的共识并由此与主机进行通信时,主机将验证将其中的新区块或交易添加到区块链的请求或接收对该请求的验证。换句话说,并不是联盟中的所有节点都必须参与共识协议。为此,在逻辑框315处主机基于获悉联盟中的参与节点已经根据所选择的共识协议达成将其中的区块或交易添加到区块链的共识验证将其中的新区块或交易添加到区块链的请求之前,逻辑框311可选地选择对等网络中的哪些节点要参与所选择的共识协议。最终,在逻辑框320处,主机将其中的经验证的新区块或交易添加到区块链。
在一个实施例中,可以由逻辑框311根据基于规则的因素集来完成选择对等网络中的节点以参与所选择的共识协议,所述因素是例如由区块链平台管理员预定义的和配置的,和/或通过参加实时地(on the fly)和随时间(over time)运行的基于机器学习的软件代理,例如基于强化学习的软件代理,其在确定哪些节点将参与所选择的共识协议时可以自动考虑某些或所有相同的基于规则的因素。可以使用任何相关因素来确定哪些节点参与共识协议,例如包括所选择的共识协议本身,特定节点的计算资源,特定节点在联盟或所选择的共识协议中具有特定节点具有的相关(域)知识,无论该知识是有关区块链或联盟的内部(链上)还是外部(链外)的,特定节点的先前或历史表现,在参与所选择的共识协议时无论是速度还是准确性,还是缺乏它们,都将新区块的块号添加到区块链,新区块中的交易数量,区块的大小以及区块中资产或交易的受托性质或非受托性质被添加到区块链。在选择哪些节点参与所选择的共识协议时,可以同时地、顺序地、分层次地、迭代地考虑许多上述因素。
关于这些因素的信息可以在节点和区块链平台主机之间以及由节点与区块链平台主机或者在区块链协议本身内进行通信,例如根据链上消息传递协议,或者在区块链协议外部,通过人类或传统(链外)通信协议的方式,侧链,或作为在区块链协议数据分组、控制分组或消息分组的有效载荷部分中进行传送的应用专用数据或消息。此外,或者替代地,可以基于随机选择方案、轮询方案、加权轮询方案等来选择节点参与。
图4描绘了示出根据所描述的实施例的用于实现分布式分类账技术方法的方法400的流程图。
根据如图4中的400所示的另一实施例,在框405,用于区块链平台主机的处理逻辑接收将其中的新区块或交易添加到区块链的请求。新区块通常包括许多交易。在一个实施例中,从组成联盟的节点的对等网络中的节点之一接收请求。
在逻辑框410处,响应于该请求,主机从对等网络中的一个或更多个节点中的每个节点接收加权投票(vote),以将其中的新区块或交易添加到区块链中,或者或响应于区块链平台主机发出的投票请求。这些节点通过生成请求的节点广播的区块链协议分组,或者通过与联盟中的其他节点进行通信来获知该请求,或者区块链平台主机与对区块链平台主机发送的投票的请求结合或组合地提供该请求的通知。在逻辑框415处,当接收到的加权投票的总和超过阈值时,主机验证将其中的新区块或交易添加到区块链中的请求或接收对该请求的验证。最终,在逻辑框420处,主机将其中的经验证的新区块或交易添加到区块链。
根据图4中的400处描绘的过程的一个实施例,节点的联盟参与私有或许可的区块链。每个节点被分配一权重,可以对其进行投票,例如,基于有关交易或交易类型的域(一般)知识,这些节点可以添加到区块链中的新区块中。在节点可以将交易添加到区块链的新区块之前,或者在包含交易的新区块可以添加到区块链之前,联盟中的其他节点对将交易添加到区块链的新区块和/或将新区块添加到区块链中进行投票。当大多数节点同意交易和/或新区块应被添加时,添加交易和/或新区块。对节点进行加权,以便可以基于对参与私有区块链的一个或更多个节点的投票获得或拒绝“大多数(majority)”,即可以从少于参与区块链的所有节点中获得大多数。
根据该实施例,例如,基于一方的域知识和/或其他标准,例如,包括一方参与另一个区块链或侧链,联盟中的各方同意将权重w分配给联盟中的每个节点。联盟中节点的总权重W等于各个节点权重之和w1+w2+…wn,其中n是联盟中节点的数量。在一个实施例中,任何一个成员的权重w或者w/W的比率可以超过或可以不超过某个阈值。每个节点的权重归属于各自节点的投票。如果被投票的节点的权重之和超过某个阈值,则交易/新区块将被验证并添加到区块链中。特别地,如果归属于投票的总权重W达到或超过阈值(例如,以百分比w/W或w的绝对值表示的复数、多数、超多数,联盟同意的任何其他东西)或针对该区块链达成共识,则添加交易/新区块。在该实施例中,区块链中的节点不需要就将交易和/或新区块添加到区块链达成一致协议,并且实际上,在达到阈值之后,节点不必开始或继续参与投票过程。
在一个实施例中,至少最小数量的节点k对将交易添加到区块链中的新区块,或者将包括该交易的新区块添加至区块链进行投票,以减轻欺诈或双重支出的风险,或防止具有大权重w的一个节点或总体上具有大权重的一小组节点控制投票的结果。在一个实施例中,参与投票的节点的数量k或比率k/n必须满足最小阈值。
根据方法200、300和400的另一实施例,接收将新区块添加到区块链的请求包括:从对等网络中的多个节点之一接收将交易添加到区块链中的新区块的请求。
根据方法200、300和400的另一实施例,当根据所选择的共识协议达成共识时,验证将新区块添加到区块链的请求包括:当根据所选择的共识协议在对等网络中的多个节点之间达成共识时,验证将新区块添加到区块链的请求。
根据方法200、300和400的另一实施例,接收指定多个交易类型之一的请求包括:接收由以下之一组成的区块链协议分组:区块链协议数据分组的有效载荷部分中的应用专用数据字段和区块链协议数据分组的头部部分中指定交易类型的字段。
根据方法200、300和400的另一实施例,响应于指定的交易类型,选择多个共识协议之一以验证将新区块添加到区块链的请求包括:在数据存储器中搜索指定的交易类型,该数据存储器将多个交易类型中的每一个与多个共识协议之一相关联;以及响应于搜索,获得与指定的交易类型相关联的选定共识协议。
根据方法200、300和400的另一实施例,响应于指定的交易类型,选择多个共识协议之一以验证将新区块添加到区块链的请求包括:基于强化学习的软件代理选择多个共识协议中的一个以验证将新区块添加到区块链的请求,并且分布式分类账技术平台主机发送包含以下内容之一的区块链协议分组:区块链协议数据分组的有效载荷部分中的应用专用数据字段,和区块链协议数据分组的头部部分中的字段,其指定多个共识协议中所选择的一个。
根据方法200、300和400的另一实施例,基于强化学习的软件代理基于以下项中的一个或更多个来选择多个共识协议中的一个以验证将新区块添加到区块链的请求:指定的交易类型,针对验证将指定相同交易类型的新区块添加到区块链的一个或更多个先前请求而选择的共识协议。
根据方法200、300和400的另一个实施例,当根据所选择的共识协议达成共识时,验证将新区块添加到区块链的请求包括:当根据所选择的共识协议,在对等网络中的多个节点中的参与节点之间达成共识时,验证将新区块添加到区块链的请求。
根据方法200、300和400的另一实施例,当根据所选择的共识协议在对等网络中的多个节点中的参与节点之间达成共识时,验证将新区块添加到区块链的请求包括:根据多个规则和基于强化学习的软件代理之一,选择对等网络中的节点以参与所选择的共识协议。
根据方法200、300和400的另一实施例,所选择的共识协议之一包括:响应于该请求,从对等网络中多个节点中的一个或更多个节点的每一个接收将新区块添加到区块链的加权投票;以及当接收到的加权投票的总和超过阈值时,验证将新区块添加到区块链的请求。
根据与方法200、300和400有关的特定实施例,存在一种非暂时性计算机可读存储介质,其上存储有指令,当由分布式分类账技术平台主机执行时,该主机中至少具有处理器和存储器,使系统执行以下操作:接收向区块链添加新区块的请求,该新区块包括多个交易,该请求指定多个交易类型之一;响应于指定的交易类型,选择多个共识协议之一以验证将新区块添加到区块链的请求;在达成共识时,根据所选择的共识协议验证将新区块添加到区块链的请求;以及响应于对将新区块添加到区块链的请求的验证,将新区块添加到区块链。
图5描绘了根据所描述的实施例的用于在基于云的计算环境中使用quipchain实现文档界面和协作的方法500的流程图。
参考图5中的流程图,描述了一种文档协作系统,其利用基于区块链的分布式分类账提供共享文档或内容的去中心化的复制存储,从而提高文档的可审计性和不变性。在逻辑框505处,分布式分类账技术(DLT)平台主机,例如,基于区块链的对等网络中的节点,从协作文档处理应用程序接收协作文档或其一部分。在一个实施例中,逻辑框505经由用于协作文档处理应用程序的用户界面从第一协作者接收协作文档或其一部分。该用户界面可以由在用户客户端设备106上执行的桌面协作文档处理应用程序在客户端用户设备106上提供,该桌面协作文档处理应用程序又与在主机组织110中执行的DLT平台主机进行通信。在另一个实施例中,可以由在托管计算环境111上执行的基于Web服务的协作文档处理应用程序在客户端用户设备106上提供用户界面,基于Web服务的协作文档处理应用程序又与在主机组织110中执行的DLT平台主机通信,在托管计算环境111内或在托管组织110内的单独托管计算环境中。
在一个实施例中,从第一协作者接收到的关于协作文档的输入包括但不限于:关于第一协作者的标识符中的一个或更多个的信息(例如,电子邮件地址或用户登录标识符);与第一协作者合作或打算与之合作的一个或更多个附加协作者的标识;在第一协作者和一个或更多个附加协作者之间交换的消息(例如,关于文档的评论或问题,或文档旁边呈现的协作注释或文档的版本信息);文档本身或其一部分(例如章节,页面,段落,条款,小节,部分等);协作文档的第一协作者签名;或与文档或其部分有关的交易(例如,第一协作者请求创建、修改或删除文档,或在文档中创建、修改或删除文档的一部分)。
在逻辑框510处,主机创建包括协作文档或其一部分的区块链资产。另外,在逻辑框515处,主机创建包括区块链资产和区块链资产标识符的区块链交易。在一个实施例中,区块链资产标识符与实际签署了协作文档的用户(协作者)相关联。在一个实施例中,主机将区块链资产标识符与从用户与之交互的协作文档系统或云计算环境获得的关于用户的信息相关联。例如,用户可以具有登录或特定的加密密钥或安全信息,其识别云计算环境和/或协作文档处理系统中的用户。
在逻辑框520处,主机响应于在区块链中广播区块链交易,将区块链交易广播到区块链上的流通中,并监听对区块链交易的验证。在逻辑框525,主机接收验证。在一个实施例中,响应于将区块链交易广播到区块链上的流通中而接收到对区块链交易的验证包括:从协作文档上的第二协作者接收对区块链交易的验证,其验证了协作文档的第一协作者的签名,如下进一步所述。此后,在逻辑框530处,DLT主机将区块中经验证的区块链交易提交到区块链。
根据另一实施例,方法500进一步包括:经由用于协作文档处理应用程序的用户界面从第一协作者接收关于协作文档的输入;以及其中,从协作文档处理应用程序接收协作文档包括:由DLT主机从协作文档处理应用程序接收关于协作文档的输入。
根据方法500的另一实施例,从第一协作者接收关于协作文档的输入包括:接收关于第一协作者的一个或更多个标识符的输入,一个或更多个附加协作者的标识,要在第一协作者和一个或更多个附加协作者之间交换的消息,全部或部分协作文档,第一协作者对协作文档的签名,以及有关全部或部分协作文档的交易{例如,插入,修改,删除}。
根据方法500的另一实施例,响应于将区块链交易广播到区块链上的流通中,接收对区块链交易的验证包括:从验证了协作文档的第一协作者签名的协作文档上的第二协作者接收对区块链交易的验证。
根据另一实施例,方法500进一步由第二分布式分类账技术(DLT)平台主机执行,第二主机中至少具有处理器和存储器,该方法包括:接收广播到区块链上的流通中的区块链交易;将来自接收到的广播的区块链交易的协作文档或其一部分提供给协作文档处理应用程序;从协作文档上的第二协作者接收关于协作文档的验证,其验证了协作文档的第一协作者签名;并将经验证的区块链交易广播到区块链上的流通中。
根据方法500的另一实施例,响应于在区块链中广播区块链交易,接收对区块链交易的验证包括:响应于接收到广播到区块链上流通中的经验证的区块链交易来接收对区块链交易的验证。
根据方法500的另一个实施例,从验证了协作文档的第一协作者签名的协作文档上的第二协作者接收关于协作文档的验证包括:经由协作文档处理应用程序的用户界面从第二协作者接收关于协作文档的验证。
根据另一实施例,方法500进一步由第二DLT平台主机执行,该方法还包括:从协作文档处理应用程序接收第二协作文档或其一部分;创建包括第二协作文档或其一部分的第二区块链资产;创建第二区块链交易,该第二区块链交易包括第二区块链资产和与第二协作者相关联的第二区块链资产标识符,该第二协作者对第二协作文档进行了连署签名;将第二区块链交易广播到区块链上的流通中;响应于将第二区块链交易广播到区块链中,接收对第二区块链交易的验证;以及将经验证的第二区块链交易以第二区块的形式提交到区块链。
根据特定实施例,存在一种非暂时性计算机可读存储介质,具有存储在其上的指令,其当由分布式分类账技术平台主机执行时,该主机中至少具有处理器和存储器,导致该系统执行以下操作:从协作文档处理应用程序接收协作文档或其一部分;创建包括协作文档或其一部分的区块链资产;创建包括区块链资产和与签署协作文档的第一协作者相关联的区块链资产标识符的区块链交易;将区块链交易广播到区块链上的流通中;响应于将区块链交易广播到区块链中,接收对区块链交易的验证;以及将经验证的区块链交易以区块形式提交到区块链中。
图6A示出了流程图,该流程图示出了根据所描述的实施例的用于实现分布式分类账技术方法的方法600。
根据本文所述的其他实施例,并参考图6A中的流程图,在逻辑框605处,第二分布式分类账技术(DLT)平台主机,例如,基于区块链的对等网络中的第二节点,通过逻辑框520接收广播到区块链上流通中的上述区块链交易。DLT平台主机处理广播的交易,包括从其有效载荷部分中提取协作文档或其一部分,并在逻辑框610处,将文档或其部分的副本提供到协作文档处理应用程序。
在逻辑框615处,协作文档处理应用程序经由协作文档处理应用程序的用户界面从第二协作者接收关于协作文档的验证。对协作文档的验证会验证协作文档的第一协作者签名。协作文档处理应用程序将其通信至DLT平台,该DLT平台又在逻辑框620处验证相应的区块链交易,并将经验证的区块链交易广播到区块链上的流通中。
图6B描绘了流程图,该流程图示出了根据所描述的实施例的用于实现分布式分类账技术方法的方法660。
根据本文所述的进一步实施例,并参考图6B中的流程图,在逻辑框625处,第二DLT平台主机又可以从协作文档处理应用程序接收第二协作文档或其一部分。例如,如果第二协作者修订了第一协作者发送的第一文档(例如,插入,修改或删除内容),或创建了与第一文档有关但独立于第一文档的新文档,则协作文档处理应用程序将提供其副本给第二DLT平台主机。例如,第二协作者可以简单地对第一文档进行连署签名,从而创建第二连署签名的文档。在逻辑框620处,第二主机创建包括第二协作文档或其一部分的第二区块链资产,并且在逻辑框635处,创建包括第二区块链资产和与第二协作者相关联的第二区块链资产标识符的第二区块链交易,例如,连署签名的第二协作文档。
在逻辑框640处,第二DLT主机将第二区块链交易广播到区块链上的流通中,并响应于将第二区块链交易广播到区块链中来监听对第二区块链交易的验证。在逻辑框645处,第二主机接收验证。在一个实施例中,响应于将第二区块链交易广播到区块链上的流通中,接收对第二区块链交易的验证包括:从协作文档上的第一协作者接收对第二区块链交易的验证,其以与上述关于逻辑框605-620相同的方式,验证了第二协作者对协作文档的签名。此后,在逻辑框650处,第二DLT主机将经验证的第二区块链交易以区块形式提交到区块链。
图7A描绘了根据所描述的实施例的另一示例性架构700,其具有区块链的附加细节,该区块链采用共识管理来实现社区侧链。
如本文所描述的,再次存在具有托管计算环境111的主机组织110,其在其中采用web服务器175,请求接口176,认证器140,查询接口180和数据库系统130操作。如前所述,还存在区块链服务接口190,主机组织110经由该区块链服务接口190向客户、订户以及利用主机组织110提供的云计算服务的其他组织和租户提供各种与区块链相关的服务。
更具体地,现在在区块链服务接口190中描绘了区块链共识管理器705,其利用共识管理来实现社区侧链功能,以控制存储在区块链中的有效载荷数据的访问权、可读性、交换权限和公开能力。
常规地,,区块链区块对于针对区块链协议实现的任何参与节点均是完全开放的和可读的。这种开放性是设计使然,因为它允许任何节点独立进行认证和验证交易是否有效,而无需来自任何官方的许可。但是,这种开放性并不总是期望的。因此,区块链共识管理器705和区块链服务接口190为由主机组织支持的某些区块链协议实现公开了附加功能,这些附加功能允许某些数据受到附加访问限制,同时仍利用并受益于包含在区块链功能中的分布式分类账技术。
根据特定实施例,区块链共识管理器705向社区侧链提供对私有区块链的共识管理。如本文所描绘的,区块链共识管理器705提供私有区块链740(例如,社区侧链),其由初始创世块741组成,该初始创世块741作为私有区块链740开始侧链,随后是作为私有区块链继续增长的一系列标准区块743。参与节点750A和750B以及750C中的每一个都可以访问私有区块链740。实际上,私有区块链740可能会有更多的参与节点。
社区侧链在想要在区块链的两个节点之间共享数据的情况下有用,例如,诸如在医院和保险供应商之间共享患者的医疗信息的能力。
利用常规机制,一旦数据被写入区块链,则每个参与节点750A-C都具有对所有数据的完全访问权。尽管在许多情况下很有用,但很明显,由于隐私问题以及HIPAA(1996年《健康保险携带和责任法案》)的要求,不应自由访问医疗信息以进行查看。尽管在前区块链协议实现存在缺点或设计特征,该缺点或设计特征允许完全可见,但是主机组织110的区块链共识管理器j705提供特定的客户,组织,用户(例如医院,医生办公室,保险供应商等,在患者病历示例的上下文中),以受益于使用区块链功能(例如不变性和非集中式记录保留),同时也尊重患者隐私并遵守联邦HIPAA要求。金融组织具有类似的法律要求以保护私人信息,但也可以从本文阐述的区块链功能中受益,以通过区块链共识管理器705为社区侧链提供共识管理能力。
根据一个实施例,区块链共识管理器705实现共识管理层710,如果参与节点750A-C希望查看、读取或访问存储在私有区块链740内的某些信息,则必须经过该共识管理层710穿过。根据这样的实施例,私有区块链740内的一些数据对于所有参与节点750A-C可见,而其他数据受到限制。
与私有区块链和公共区块链之间的区别不同,在其中任何人都可以访问公共区块链并查看其中的任何信息,有权访问私有区块链的任何人都可以访问其中的任何信息,采用共识管理的私有区块链740是不同的,因为即使参与节点具有授权以访问私有区块链740,这种访问也不一定会授予访问存储在私有区块链740中的受保护或受限制信息的“共识”。
如本文所描绘的,参与节点750A已经提供了被写入私有区块链740的共识751。因此,由区块链共识管理器705形成了新的侧链社区761。具体地,区块链共识管理器705创建了由侧链区块742形成的新的社区侧链760。社区侧链760从分叉区块742的点形成,该分叉区块被私有区块链740视为标准区块,但是包括将新形成的社区侧链760与私有区块链740链接在一起的引用。在创建了社区侧链760之后,则主要的私有区块链740经由分叉区块742之后的附加标准区块743继续。
在从参与节点750A接收到共识751并将其写入私有区块链740时,区块链共识管理器705在共识下播种新社区侧链752,从而形成新社区侧链760。根据某些实施例,没有任何有效载荷数据被写入社区侧链的侧链区块742。例如,受保护的数据753没有被写入社区侧链760,而是以受保护的形式保留在私有区块链740内,但是侧链社区761的参与节点经由仅允许通过共识管理层检索受保护的数据753的侧链社区的参与节点750A和750B可访问的侧链区块742之间的引用可访问。在其他实施例中,可以将受保护的数据753写入侧链区块742的有效载荷中,并且借助于驻留在侧链社区761内的参与节点750A和750B,那些参与节点750A和750B将可以访问受保护的数据753,而无需访问主链(例如,主区块链740)。如此处所示,社区侧链760链接到私有区块链740,因此可以视为分叉区块链,而在其他实现中,只要区块链共识管理器705保持对管理允许哪些参与节点形成任何新创建的侧链社区761的控制,因此,保持对管理哪些参与节点可以访问受保护的数据753和哪些参与节点不能访问受保护的数据753的控制,就可以形成并允许社区侧链,以独立于私有区块链进行操作。
如本文所描绘的,参与节点750A和750B由于其形成侧链社区761的整体而能够访问侧链,因此,数据在侧链社区的节点之间是可共享的,而参与节点750C不是侧链社区761的成员节点,因此不能访问受保护的数据,并且不能与参与节点750A和750B共享数据。
图7B描绘了根据所描述的实施例的另一示例性架构701,具有采用共识管理的社区侧链的附加细节。
本文描述了关于将新的参与节点引入私有区块链的更多细节。如本文所示,现在存在由区块链服务接口190管理的两个不同的私有区块链,具体地,医疗保健区块链744和建筑区块链743。根据所描述的实施例,可以有许多不同的私有区块链,并且它们可以是有各种各样的组织方式。例如,可以想象的是,医疗保健行业中的不同方可能希望彼此共享数据,因此,他们可以参与同一私有医疗保健区块链744,并且在需要数据共享的情况下,可以准许(grant)共识,由需要访问要共享的数据的参与节点形成侧链,从而形成侧链社区,然后在新创建的侧链社区的那些参与者之间共享数据,如上所述。
然而,可能有其他参与者不需要访问医疗数据,因此,那些参与节点被形成为不同的私有区块链。例如,本文描绘的是具有诸如硬件商店、建筑材料制造商、建筑承包商等之类的参与者的建筑(construction)区块链743。尽管这些参与者可能不需要访问医疗信息,但他们可能会受益于安全地共享与他们的建筑行业相关的数据的能力,例如采购订单、建筑计划、建筑合同等。这些参与者可能希望保护某些类型的信息,但仍可能会受益于使用区块链功能。
根据特定实施例,在主建筑区块链743内的新用户注册(例如,例如创建具有网站的用户简档等)导致创建了新的用户特定社区侧链756。最初,新用户注册是用户特定社区侧链756的唯一参与节点,因为默认情况下,只有该特定用户才能访问私有和受保护的数据。然而,新用户注册节点755可以与另一个节点达成共识751,该共识被写入到建筑区块链743中(例如,作为示例被写入到分叉区块742中),从而导致社区侧链756具有如何既具有新用户注册755,又具有被准许共识的另一个参与节点。如此处所示,参与节点750B以前是建筑区块链743的一部分,无法访问侧链,但是,在准许新用户注册节点的共识后,参与节点750B随后被加入到用户特定社区侧链756中,通过这种方式,可以共享对与新用户注册节点755相关联的私有或受保护的数据的访问。所有使共识进入用户特定社区侧链756的节点都将被准许访问新用户注册节点755的私有和受保护的信息。如果同一用户要求给予对不同的参与节点的不同访问,则该用户将要求创建单独的新用户注册节点。例如,如果用户利用诸如建筑区块链743内的Home Depot或Lowe's之类的网站创建简档并选择与例如地毯安装者共享信息,则可以准许地毯安装者加入用户特定社区侧链756并访问相关信息的共识。如果用户然后希望与例如窗户安装者共享相同的信息,则也可以给予窗户安装者作为新的参与节点加入用户特定社区侧链756的共识751,但是,如果用户希望与每个供应商共享不同的信息,则需要两个简档。但是,实用上,用户的相同信息将与每个安装者相关,因此,用户不太可能遇到这样的问题。
因此,根据特定实施例,用户可以通过创建具有参与网站的用户简档来在主区块链(例如,建筑区块链743或医疗保健区块链744等)内创建用户特定社区侧链,然后这些用户可以(例如,经由同一网站)准许与其他节点的共识,以允许与参与主区块链的指定目标节点共享其私有或受保护的信息,但在被准许共识之前不能访问用户特定侧链。
尽管不特定于本文中详细讨论的概念,但是网站(诸如Home Depot)可以作为建筑区块链743内的节点操作并且还可以作为主机组织的客户操作。通过客户Home Depot的网站,新用户可以创建用户简档,主机组织的区块链服务接口190随后将在建筑区块链743或其他与新用户注册755相对应的相关主区块链中生成新节点。区块链服务接口190将另外生成用户特定社区侧链756,用户可以经由该用户特定社区侧链756准许与特定区块链(例如本示例中的建筑区块链)的其他参与节点共享信息的共识。例如,根据一个实施例,当用户使用网站(诸如Home Depot)登录或创建简档时,他们正在向网站在其上运行和驻留的主机组织110进行认证。因为然后向主机组织110认证用户,所以同一主机组织110随后可以在主机组织110通过区块链服务接口190可访问的任何区块链上为新用户注册创建新节点。
为了清楚,在两个不同的私有区块链之间不共享信息。因此,尽管在技术上可行,但是并未考虑在医疗保健区块链744和建筑区块链743之间共享信息。而是,每个区块链作为单独的私有区块链运行,每个区块链具有其自己的参与节点、用户和侧链。但是,同一人类用户可以使用不同的网站创建简档,从而导致该人类用户在医疗保健私有区块链中具有一节点,并且在建筑私有区块链中也具有一节点。两个私有区块链都由同一主机组织管理的事实是无关紧要的,对于所讨论的特定用户而言可能是不知道的。
还应注意,私有区块链的侧链不是节点,而是主私有区块链的允许分支或分叉。本文描述的侧链保持不变地附接到主区块链并与之关联,并且不独立运行。然而,如果信息要与另一个独立运行的区块链共享,例如与由主机组织110管理的医疗保健区块链744分开的另一个医疗保健私有区块链,则用户可以准许以之前描述的方式(例如,在图1D中)与其他独立运行的区块链交换受保护的数据的共识,假设在两个主区块链之间存在已定义的交换协议,在这种情况下,由主机组织管理的医疗保健区块链744将被视为父区块链(例如,图1D中的元件188),并且单独的独立运行的区块链将被视为独立运行的侧链(例如,图1D中的元件189)。
根据特定实施例,当针对用户特定侧链内的特定节点捕获了用户共识时,共识在侧链处被捕获,然后被写入到永久保存的主区块链中。在这样的实施例中,已经准许共识的事实不是受保护的信息,但是,受限制的数据受到保护,并且共识仅适用于主区块链的指定参与节点,直到共识被废止为止。根据某些实施例,准许的共识可能是受时间限制的,因此将在指定的时间段后到期。在这种情况下,作为区块链服务接口190提供的区块链协议的一部分,经由区块链共识管理器705针对时间到期来检查对受保护信息的访问。
图8A描绘了根据所描述的实施例的另一示例性架构800,其具有实现具有共识管理的超级社区侧链的区块链的附加细节。
如本文所描绘的,再次存在具有在其中运行的托管计算环境111的主机组织110,该托管计算环境具有web服务器175,请求接口176,认证器140,查询接口180和数据库系统130。如前所述,还存在区块链服务接口190,主机组织110通过其提供各种与区块链相关的服务给客户、订户以及其他利用主机组织110提供的云计算服务的组织和租户。
对本文所述的现有区块链技术的重要改进是在主机组织110的不同租户之间共享信息的能力。然而,值得注意的是,信息共享有其自身的缺点,因为要共享该用户的信息时需要来自该用户的适当共识。
考虑一个示例,其中同一主机组织110的两个或更多租户参与同一私有区块链,例如参与私有建筑区块链的第一租户Home Depot和第二租户AAA地毯安装者。每个租户都作为由主机组织的区块链服务接口190提供的私有建筑区块链中的节点运行。当用户使用作为主机组织110的租户的Home Depot网站创建账户时,该用户的数据和凭据由主机组织110存储,并且主机组织在该用户的私有建筑区块链中创建一节点,例如如上所述。但是,如果同一人类用户向主机组织的另一个租户创建登录和简档,则该用户将再次在该用户的私有建筑区块链中创建一节点,但是每个节点将具有不同的唯一标识符,每个唯一标识符都将是不同节点,同一人类用户的登录凭证和简档将是不同的。
这是一种常见的经验,因为在例如Kaiser医疗保健公司创建用户简档的个人(individual),也可能在例如Prudential医疗保健公司创建用户简档。这样的个人不会期望相同的登录凭证在两个不同的组织中都可以使用,并且确实,个人的用户简档是不同的,并且非常独立地进行维护。
但是,当两个单独的组织都是同一主机组织的租户时,超级社区租户桥805提供了一种机制,使同一人类用户能够在两个不同的用户简档之间共享信息。
例如,考虑一个走进银行的个人,例如富国银行(Wells Fargo),并开设了一账户。用户将需要向银行提供重要信息,而不仅仅是个人名字。例如,可能要求用户提供地址,雇主,收入,婚姻状况,金融资产,社会保障号等。然后,同一个人去另一家银行(例如Chase)以开户信用卡,可以预见的是,第二家银行将与第一家银行一样要求该个人提供许多相同的信息。这对于个人来说是令人沮丧的,并且很费时间。同样,如果该个人寻求医生的治疗,则在访问时,医生办公室将要求提供一系列个人医疗信息。如果该同一位医生随后将该个人送至医院进行治疗,则该医院将向该个人要求相同的信息,尽管该信息已提供给该医生。
超级社区租户桥805为个人克服了这个问题,其中请求信息的两个组织都是同一主机组织110内的租户。尽管个人将拥有一个租户组织的第一用户简档810A和第二租户组织的不同用户简档852的事实,主机组织110仍然拥有关于两个租户的信息,并且可以使用由主机组织的区块链服务接口190提供的区块链协议促进数据共享过程,须经与用户简档851和852实际相关联的个人的适当共识。
如本文所描绘的,个人已经具有由用户简档851表示的客户组织810A的用户简档。在该用户简档中有该个人已经提供或输入的信息,例如提供给医生办公室的个人医疗数据。假设医生办公室(作为客户组织810A)和第二客户组织810B(例如医院)都是主机组织110的租户,并且都利用主机组织110提供的区块链服务,因此,都是适用区块链(例如,由主机组织管理的医疗保健私有区块链)上的参与节点,则该个人可以使用两个客户组织810A和810B中的任何一个登录并认证为已知用户,并准许在两个客户组织之间共享信息的用户共识891,导致共享用户的受保护信息(如元件892所示),并且超级社区租户桥805将用户的受保护信息提供给客户组织810B并在客户组织810B中复制。
知道您的客户或“KYC”是企业识别和验证其客户端的身份的过程。该术语也用于指管理这些活动的银行和反洗钱法规。KYC指南的目标是防止犯罪分子有意或无意地将银行用于洗钱活动。相关程序还使银行能够更好地了解其客户及其财务往来。这有助于他们谨慎地管理风险。
某些KYC政策有效地由联邦法律强制执行,该法律要求对与银行有业务往来的任何个人进行广泛验证。
存在关于医疗保健组织的类似要求,该医疗保健组织必须确保与之交谈、治疗或向其提供保险覆盖服务的人确实是正确的个人。
银行和医疗保健机构在收集此类数据以及对与之交互的任何个人进行必要的验证时会付出非常高的成本,因此,这不仅对必须反复向多个不同的组织提供相同信息的个人来说不便,而且要求信息的组织也感到不便。
超级社区租户桥805通过利用由主机组织110定义的区块链协议来存储该相关信息,然后使用区块链服务接口190和超级社区租户桥805来实现在共识方(例如两家银行或两个医疗保健组织等)之间共享重复但私有且受保护的信息,从而解决该需求。这使得并不负担向多个供应商重复提供相同的信息的个人受益,也使得供应商或客户组织受益,其可以更快地接收、经受用户共识891、准确的信息,而且还受益于以下事实:该信息存储在区块链中,因此,由于计算繁琐且因此在恶意或欺诈地操纵区块链的通常不可行的方式下,风险显着降低。
随着特定个人的信息在区块链中积累并变得更加成熟(例如,在区块链中更旧),对于银行、医疗保健机构或其他依赖此类信息的实体,该信息将被视为越来越可靠和真实,并且因此更加可信。
例如,如果个人已将其驾驶执照和保险卡提供给第一组织,例如医生办公室,然后此类信息被存储在区块链中,则第二组织(例如医院)几乎没有理由质疑区块链中的信息,因为第二个组织既可以验证区块链区块本身,也可以考虑到由于该信息位于区块链中,因此另一个供应商(医生的办公室)已经在证明信息的准确性。
根据所描述的实施例,图8B描绘了另一示例性架构801,其具有在用户设备899处的与超级社区功能交互的GUI 803的附加细节。
如在本文可以看到的,个人可以利用用户计算设备899,诸如被示出为搜索区块链以寻找与他们的通用ID相关联的所有简档的个人,通用ID对于主机组织110内的该个人而言是唯一的。
如本文所示,超级社区租户桥805将GUI发送到用户设备,然后其被显示,从而允许用户输入他们的通用ID以搜索相关联的简档。在其他实施例中,用户可以在不确定时搜索其通用ID,或者导航搜索功能以定位其通用ID,然后将其用于搜索个人的所有关联用户简档。
通常,由于是两个单独且不同的用户账户或用户简档,因此即使两个客户组织都是同一主机组织110的租户,但由于语言、认证和用户界面对于每个各自的客户组织而言都是唯一的,也需要用户分别登录每个系统。然而,超级社区租户桥805允许用户识别主机组织110内的多个租户组织上的所有账户,针对该主机组织,个人具有存储在区块链中的数据或用户简档,然后从简单的GUI界面中识别个人希望在两个不同的客户组织之间共享的哪些元件或哪类数据。
图8C描绘了根据所描述的实施例的另一示例性架构802,其具有在用户设备899处的与超级社区功能交互的GUI 804的附加细节。
如本文所描绘的,在GUI 804处提示用户共享文档和信息的请求,并且用户可以选择要共享哪些文档和信息,如操作819所示。此处的信息源自用户已经向其创建了简档并输入或提供了信息的第一客户组织,并将与第二客户组织共享。在某些实施例中,信息被复制到第二客户组织,而在其他实施例中,第二组织被准许共享信息的共识,然后第二客户组织采用用户的节点被置于社区侧链中,信息可以通过该节点穿过共识管理层(例如,图7C的元件710)以获得对主区块链内所需信息的访问而不必复制数据。通常,非复制是优选的,因为相同的信息已经过验证并且存在于已确认的区块中,该区块具有区块链上所有参与节点的共识,但是,某些实现可能必须要数据复制,而不是获得共识以对区块链中的原始存储信息进行数据访问。
一旦用户解锁了要共享的所选数据元件并提交了点击,则以上述方式向第二客户组织准许共识。
根据所描述的实施例,个人向第一或第二客户组织进行认证,其中一个客户组织可以访问该个人的受保护的数据,而另一个客户组织不能访问,然后用户通过在已经可以访问数据的客户组织内准许共识来批准共享数据,或者在不能访问数据的客户组织内准许接收共享数据的共识。换句话说,只要两个用户简档与特定个人的同一通用ID相关联,则该个人认证了哪个用户简档就无关紧要。
一旦用户准许了共识,由于两个客户组织都是区块链的参与节点,因此他们随后可以从区块链读取数据并遍历由区块链共识管理器(例如,图7B中的元件705)实现的共识管理层(例如,图7B的元件710)。
根据一个实施例,用于医疗保健区块链的通用ID是个人的社会保障号(SSN),而在其他实施例中,它是由主机组织生成的值。对于为金融机构实现FinTech的其他实施例,通用ID可以是企业的税务ID号或(TIN)。用于不同行业的其他区块链可以利用不同的数字,也可以利用由主机组织为每个唯一的个人(具有主机组织的租户的一个或更多个简档)生成的通用ID。通用ID有时称为“区块链标识符”。尽管每个租户的每个用户简档可能都是不同的,甚至具有用于用户简档的不同的用户ID,但通用ID在特定个人的所有用户简档中是通用的。
根据某些实施例,当个人向任何租户的网站进行认证时,个人通用ID会自动填充或检索,使得该个人只需要准许共识或拒绝准许共识,而不必输入其通用ID或搜索他们的通用ID。例如,如果基于区块链与用户的简档数据完美匹配,则可以利用匹配的数据自动填充通用ID,而无需用户提供或搜索通用ID。例如,完美匹配可能需要基于区块链的匹配SSN/TIN,名字,姓氏和出生日期(DOB)。
在其他实施例中,在可以基于个人的通用ID准许任何共识之前,需要两因素认证,以增强安全性以及疏忽共享存储在区块链中的受保护的数据的风险。
根据其他实施例,可以使用两因素认证将与公共通用ID无关联的两个用户简档与公共通用ID相链接,以验证同一个人同时控制着两个账户以及另一条已知信息,例如手机号码或电子邮件账户。通过两因素认证,然后该个人可以证明他们确实是同一个人。
根据某些实施例,可以使用诸如个人SSN或TIN,出生日期,个人可知但他人难以找到的其他信息之类的个人验证信息来搜索和定位用户的通用ID。
通过代表个人提供身份管理,主机组织的各个租户中的许多用户简档可以添加更严格的共识管理层,必须穿过该共识管理层才能从区块链访问受保护的信息,而常规的区块链实现则允许任何参与节点均可自由访问区块链中的所有数据。在某些实施例中,不是个人准许共识,而是节点本身(例如,节点所属的公司代表)。以这种方式,节点还可以达成与其他节点共享数据的共识,而这些节点不一定必须对应于个人人类用户。
一旦个人登录到两个客户组织的网站之一,则被提示达成共享信息的共识,并肯定地准许共识,则区块链共识管理器705将与超级社区租户桥805一起在区块链中建立个人区块链资产,并加入与用户的节点和先前可以访问用户的受保护数据的客户组织的节点具有进入社区侧链的共识的客户组织的节点,从而使社区侧链中的所有节点都能够访问区块链中受保护的数据。
以这种方式,它们都被加入在主机组织110的多个不同租户上跨越该个人的多个用户简档的一个社区侧链,而不是同一个人必须登录到两个单独的社区(例如,与每个不同的用户简档相对应的社区侧链)。
根据一个实施例,用户的受保护的数据由与第一客户组织相对应的节点拥有,但是,个人保留准许第一客户组织共享数据的共识的权利。因此,个人共享信息的共识允许参与区块链的两个节点通过被置于公共社区侧链中来共享信息,但是,因为在此示例中,用户节点不拥有数据,因此用户节点不是必须被放置在同一社区侧链中,参与数据共享的两个客户组织也不是必须加入用户节点所在的社区侧链。
如GUI 804所示,各种类型的数据可以分解为单独的类别或不同类型,因此,用户可以准许将医院节点拥有的血液检验文件与代表该个人的医生办公室的节点共享的共识,但拒绝共享金融资产的共识,因此即使在请求此类信息并提示用户达成共享信息的共识的情况下,也禁止医院与医生办公室共享财务信息。
根据另一个实施例,用户可以单击每个类别,并具体选择要共享或不共享的文档、对象或字段,从而为用户提供了针对准许共享的共识的信息的更大粒度控制。
根据所描述的实施例,准许的共识被写入到区块链协议区块的有效载荷中,其中区块链中的所有节点都可以作为独立的区块链资产来查看和验证该共识,其中节点被给予共识,其具有链接,通过该链接可以穿透共识管理层以访问用户的受保护信息,该受保护信息已被写入到区块链中,但所有未获得用户明确共识的节点均无法访问。根据一个实施例,该链接是区块链内的资产ID。
根据这样的实施例,被给予共识的节点仅要求资产ID来访问存储在区块链内的受保护信息。
根据特定实施例,建立了超级社区,其是小社区的合并,每个较小的社区由参与区块链的每个客户组织组成。每当从区块链请求数据时,就将通知发送到整个超级社区,然后由区块链共识管理器705强制实施共识模型。在这样的实施例中,共识将识别或至少包括(i)从区块链请求的区块链资产,(ii)请求访问的客户组织(例如租户),(iii)拥有该数据或必须从其获得许可的客户,以及(iv)请求访问的记录。在社区GUI中,UI组件向社区用户显示对超级社区中该特定用户的所有请求的批准。用户访问由主机组织的身份管理预先提供,例如,通过认证器140。然后,超级社区中的社区用户可以决定是否准许共识,以及深度探讨以更精细地控制关于哪些资产将被共享,要与哪些其他客户组织(例如租户)共享这些资产,从而控制谁有权访问哪些数据。
图9描绘了说明方法900的流程图,该方法900用于在基于云的计算环境(例如由处理器和存储器支持的数据库系统实现)中为分布式分类账技术实现采用共识管理的超级社区和社区侧链,以执行此类功能,从而向用户、客户和订户提供基于云的按需功能。
方法900可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路,专用逻辑,可编程逻辑,微代码等),软件(例如,在处理设备上运行的指令)以按照本文所述的系统和方法执行各种操作,例如执行,传送,接收,分析,触发,推送,推荐,定义,检索,解析,持久化,公开,加载,操作,生成,存储,维护,创建,返回,呈现,接口,通信,查询,处理,提供,确定,显示,更新,发送等。例如,如图1等所示的托管计算环境111,区块链服务接口190及其数据库系统130以及本文所述的其他系统和组件可以实现所描述的方法。根据某些实施例,下面列出的一些框和/或操作是可选的。呈现的框的编号是为了清楚起见,并不意图规定各种框必须出现的操作顺序。
参照图9所示的方法900,在框905,处理逻辑代表主机组织的多个租户操作到区块链的区块链接口,其中多个租户中的每一个都是与区块链的参与节点。
在框910,处理逻辑从用户设备接收登录请求,该登录请求请求访问与多个租户中的第一租户相关联的用户简档。
在框915中,处理逻辑对用户设备进行认证,并基于对用户设备的认证从区块链中检索用户简档,其中,用户简档作为区块链资产存储在区块链中,并且具有用户简档的第一部分,包括区块链上所有参与节点均可访问的不受保护的数据,用户简档的第二部分包括仅具有用户共识的参与节点可访问的受保护的数据。
在框920处,处理逻辑提示用户设备准许与多个租户中的第二租户共享受保护的数据的用户共识。
在框920处,通过允许第二租户的参与节点访问区块链资产内的受保护的数据,处理逻辑与多个租户中的第二租户共享受保护的数据。
根据方法900的另一个实施例,主机组织的区块链共识管理器要求资产ID来从区块链访问受保护的数据。
根据另一个实施例,方法900还包括:从第二租户接收创建第二用户简档的请求;为第二用户简档创建包括不受保护的信息的区块链资产;经由区块链服务接口生成包括区块链资产的区块链交易;将区块链交易广播到区块链上的流通中;以及将经验证的区块链交易以区块形式提交到区块链中。
根据方法900的另一个实施例,提示用户设备准许与多个租户中的第二租户共享受保护的数据的用户共识包括:提示用户设备与第二租户共享受保护的数据以填充第二用户简档,其中,第一用户简档和第二用户简档均与公共的通用ID相关联;其中与多个租户中的第二租户共享受保护的数据包括:用第二租户的参与节点从区块链资产中检索到的受保护的数据填充第二用户简档。
根据方法900的另一实施例,通过允许访问区块链资产内的受保护的数据而与多个租户中的第二租户共享受保护的数据包括:将区块链资产的资产ID发送给第二租户;并且其中该方法还包括:第二租户将资产ID呈现给区块链共识管理器,以访问区块链资产内的受保护的数据。
根据方法900的另一实施例,第一租户和第二租户中的每一个是作为由主机组织管理的医疗保健区块链的参与节点操作的医疗保健客户组织;其中,不受保护的数据至少包括与第一用户简档相关联的用户的名称;其中,受保护的数据至少包括经由具有代表用户包含在其中的第一用户简档的区块链资产而存储在医疗保健区块链中的受HIPAA(健康保险携带和责任法案)保护的医疗数据;并且其中与多个租户中的第二租户共享受保护的数据包括:用户准许经由与第二租户相关联的第二用户简档与第二租户共享受HIPAA保护的医疗数据的共识。
根据方法900的另一个实施例,第一租户和第二租户中的每一个都是金融客户组织,其作为由主机组织管理的金融区块链参与节点操作;其中,所述不受保护的数据至少包括与所述第一用户简档相关联的用户的名称;其中,受保护的数据至少包括经由具有代表用户包含在其中的第一用户简档的区块链资产而存储在金融区块链中的私人财务数据;并且其中与多个租户中的第二租户共享受保护的数据包括:用户准许经由与第二租户相关联的第二用户简档与第二租户共享私人财务数据的共识。
根据另一实施例,方法900进一步包括:通过以下方式之一来接收共享受保护的数据的用户共识:(i)从第二租户的已被验证为是与第一租户相关联的同一个人的经认证用户接收用户共识;或(ii)从已向第一租户认证的用户设备接收用户的共识,该用户设备已被验证为是与第二租户相关联的同一个人。
根据方法900的另一个实施例,与多个租户中的第二租户共享受保护的数据包括:主机组织经由区块链共识管理器验证第一租户和第二租户都具有与一个个人相关联的用户简档;以及其中验证是基于从一个个人接收到的第一租户和第二租户两者的用户简档都与公共的通用ID相关联的证明,而该公共的通用ID对于主机组织中的一个个人是唯一的。
据方法900的另一实施例,经由区块链内唯一的区块链资产标识符或通用ID来标识区块链资产;其中,与受保护的数据相关联的一个个人可以基于区块链资产标识符或通用ID由主机组织的第一租户和第二租户唯一地识别。
根据另一实施例,方法900还包括:为与用户简档相关联的用户创建区块链的参与节点;为与用户简档相关联的用户生成用户特定的社区侧链;将第一租户的节点和第二租户的节点都添加到用户特定的社区侧链中;以及其中共享受保护的数据包括:用户特定的社区侧链内的所有节点访问受保护的数据。
根据方法900的另一个实施例,区块链的参与节点对访问用户简档的受保护的数据的任何尝试都会触发提示用户设备准许与尝试访问的参与节点共享受保护的数据的用户共识;其中,在请求解锁特定类别的受保护信息或解锁特定文档或两者时,将GUI被发送给用户设备;其中用户经由GUI选择要解锁哪些类别和/或文档;其中,经由GUI解锁对任何类别或文档的访问的用户指示将链接发送到尝试访问受保护的数据的参与节点,经由该链接,可以通过主机组织的共识管理层从区块链访问受保护的信息。
根据特定实施例,具有一种非暂时性计算机可读存储介质,其上存储有指令,当由其中至少具有处理器和存储器的主机组织的系统执行该指令时,该指令使该系统能够执行以下操作:代表主机组织的多个租户对区块链的区块链接口进行操作,其中多个租户中的每一个都是该区块链的参与节点;从用户设备接收登录请求,该登录请求请求访问与多个租户中的第一租户相关联的用户简档;认证用户设备并基于对用户设备的认证从区块链中检索用户简档,其中用户简档作为区块链资产存储在区块链中,用户简档的第一部分包括区块链上的所有参与节点都可访问的不受保护的数据,并且用户简档的第二部分包括只有具有用户共识的参与节点才能访问的受保护的数据;提示用户设备准许与多个租户中的第二租户共享受保护的数据的用户共识;通过允许第二租户的参与节点访问区块链资产中的受保护的数据,从而与多个租户中的第二租户共享受保护的数据。
图10示出了系统1001的示意图,实施例可以在其中操作、安装、集成或配置。根据一个实施例,具有一种系统1001,其中至少具有处理器1090和存储器1095,用于执行如本文所述方法实现应用代码1096。这样的系统1001可以与托管计算环境(诸如主机组织,多租户环境,按需服务提供商,基于云的服务提供商,客户端-服务器环境)的好处进行通信接口并协同执行。
根据所描绘的实施例,可以在主机组织内运行的系统1001包括:处理器1090和存储器1095,用于在系统1001上执行指令。根据这样的实施例,处理器1090将执行区块链服务接口1065,以代表主机组织的多个租户与区块链接合,其中多个租户中的每一个都是与区块链的参与节点1099;接收接口1026,用于从用户设备1098接收登录请求,该登录请求请求访问与多个租户中的第一租户相关联的用户简档;认证器1050,用于认证用户设备1098,并基于对用户设备的认证从区块链中检索用户简档,其中用户简档作为区块链资产存储在区块链中,其中用户简档的第一部分包括区块链上所有参与节点均可访问的不受保护的数据,并且用户简档的第二部分包括仅具有用户共识的参与节点可访问的受保护的数据1040;区块链共识管理器1042,用于提示用户设备准许与多个租户中的第二租户共享受保护的数据(例如,经由由GUI管理器1085发送和管理的GUI 1086)的用户共识(例如,示出准许的共识的元件1041);超级社区租户桥1043,用于通过允许第二租户的参与节点访问区块链资产中的受保护的数据,而与多个租户中的第二租户共享受保护的数据。
根据系统1001的另一实施例,接收接口1026与远离系统的用户客户端设备1098通信,并且经由公共因特网将用户设备与系统通信地链接。根据这样的实施例,系统在作为用户设备1099的基于云的服务提供商的主机组织处操作;其中,基于云的服务提供商托管经由公共因特网暴露给用户客户端设备的接收接口1026,并且进一步地,其中由于对基于云的服务提供商的服务的请求,接收接口从用户设备接收输入。
总线1016与系统1001的各个组件彼此接合,与系统1001的一个或更多个任何其他外围设备接合,以及与外部组件(诸如外部网络元件,其他机器,客户端设备,云计算服务等)接合。通信可以进一步包括在LAN、WAN或公共因特网上经由网络接口与外部设备进行通信。
根据这样的实施例,系统可以进一步包括接收接口,用于接收来自第二租户的创建第二用户简档的请求;区块链服务接口,用于创建包括第二用户简档的不受保护信息的区块链资产;区块链服务接口用于生成包含区块链资产的区块链交易;区块链服务接口用于将区块链交易广播到区块链上的流通中;以及区块链服务接口用于将经验证的区块链交易以区块形式提交给区块链。
图11A示出了根据所描述的实施例的另一示例性架构1100,其具有利用智能流合约引擎1105创建的区块链实现的智能合约的附加细节。
特别地,本文描述了在主机组织内的区块链服务接口190,其现在包括智能流合约引擎1105并且另外包括GUI管理器1110。
因为区块链利用分布式分类账,所以智能合约的创建和执行在技术上可能很复杂,特别是对于新手用户。因此,智能流可视设计器允许更轻松地实现智能合约。如区块链翻译器1130所创建的,所产生的智能流合约具有数学上可验证的自动生成的代码,区块链翻译器1130使客户和用户不必担心在任何给定的区块链协议中使用的编程语言。此外,智能流合约引擎实现与区块链翻译器1130协调的可视设计器,以生成能够在区块链的每个参与节点上执行的必需的本地代码,从而进一步允许对智能合约的轻松处理和验证。根据某些实施例,每个智能流合约利用基于数学代码的可验证加密方案。
流程设计人员通过基于GUI的指导流程设计经验,为用户提供了一个简单、直观、基于Web的界面,用于设计应用程序和定制过程流程。流程设计人员甚至可以使新手用户创建其他复杂的功能,而不必具有编码专业知识或对区块链熟悉。
GUI管理器1110向用户设备呈现流程设计器GUI 1111接口,用户可以通过该接口与主机组织进行交互。与GUI管理器协作的智能流合约引擎1105解释由用户提供的各种规则、条件和操作,以生成智能流合约,然后将其翻译或写入目标区块链协议。
通过流程设计器GUI 1111,用户可以利用可视流程元件完整地定义特定过程,事件,协议,合约,购买或某些其他交易(包括依存关系,检查,所需过程输入和输出,触发等)如何发生。
使用流程设计器GUI 1111,用户只需拖放可操作区块并定义各种条件和“如果则否则(if then else)”事件,例如如果发生此事件,则采取此操作。如本文所描绘的,存在各种用户定义的智能合约区块,包括用户定义的条件1151,监视事件1152,“如果”则“否则”触发器1153以及资产标识符1154。
一旦用户已经完成对包括其所有可操作区块、条件、触发器和事件的流的定义,则智能流合约引擎获取每个个体区块,并经由区块链翻译器1130将它们翻译成本地目标区块链协议,以及然后生成交易,以经由区块链服务接口190将翻译后的智能流合约1145写到区块链1140中。
一旦交易到区块链,区块链的每个参与节点将具有智能合约的副本,因此,如果发生任何给定事件,则所有参与节点都可以看到相应的触发器或规则或条件,其中一些然后可以基于智能合约定义的事件采取动作。
主机组织的区块链服务接口190向客户、用户和订户提供对不同区块链的访问,其中一些由主机组织110管理,例如私有区块链,其他是可通过主机组织110访问的公共区块链,主机组织作为节点参与这种公共区块链。无论如何,每个区块链都使用不同的区块链协议,并且具有不同的规则、配置以及可能不同的语言,接口必须通过这些语言与各自的区块链进行通信。因此,本文描述的区块链翻译器1130将用户定义的智能合约区块翻译为目标区块链1140的本地语言或所需语言和结构,所得到的智能合约将在其上进行写入或交易。
一旦智能合约被交易并广播到区块链1145,它就在区块链内执行,并且如用户定义的智能合约区块所阐述的,其规定随后被执行和实施。
根据一个实施例,利用salesforce.com可视流程设计器来生成用户定义的智能合约区块,然后将其翻译为区块链智能合约。根据其他实施例,利用不同的可视流程设计器,并且区块链翻译器1130将用户定义的智能合约区块翻译成区块链智能合约。
所得到的本地区块链协议智能合约元件1135可以体现在要写入智能合约的区块链1140所规定的代码、结构或语言中。例如,如果智能合约将被写入以太坊,则区块链翻译器113必须将用户定义的智能合约区块翻译为符合以太坊的“Solidity”编程语言。Solidity是一种面向合约的高级语言,用于专门在以太坊上实现智能合约。受C++,Python和JavaScript的影响,该语言被设计为针对以太坊虚拟机(EVM)。智能合约元件包括支持投票,众筹,盲目拍卖,多签名钱包以及许多其他功能。
相反,如果要将智能合约写入超级分类账,则该语言是不同的,其利用Go编程语言,该语言允许将分布式分类账区块链用于智能合约以及其他功能。
尽管智能合约是有益的并且受到许多区块链协议的支持,但是由于要求根据作为目标的特定区块链以不同的语言对其进行编程,因此实现起来可能很麻烦。因此,用户不仅必须了解编程结构,而且还必须了解所讨论的区块链协议所需编程语言的特殊语法差异。
通过利用智能流合约引擎1105,即使是新手用户也可以通过用流设计器生成智能合约元件来创建兼容的智能合约,然后利用区块链翻译器1130实际呈现包含用户定义的智能合约元件的本地区块链编程语言代码,随后区块链服务接口190处理智能合约到区块链上的交易。
例如,考虑卖给Home Depot并想要用使用以太坊的Home Depot执行智能合约的销售商(vendor)。销售商,假定他是经过认证的用户并可以访问云订阅服务,用主机组织登录,然后访问智能流合约引擎1105,用户可以通过该引擎生成他希望的任何流程。完成后,用户经由流程设计器GUI 1111指示区块链服务接口190执行智能合约,从而使智能流合约引擎将用户的自定义设计的智能流合约翻译为以太坊兼容的“Solidity”代码,随后,然后将智能合约写入区块链以执行。卖方无需知道如何编程,甚至不需要了解与区块链进行交易的细节。而是,通过主机组织110可访问的基于云的服务消除了过程的复杂性,并向用户呈现了一简单的流程设计器GUI 1111,通过该流程设计器可以执行所有必要的操作。
根据这样的实施例,将智能合约写入区块链需要如特定区块链协议所支持的那样在区块链中存储定义智能合约的元数据。根据一个实施例,当在其中具有用于智能合约的元数据的区块链上发生交易时,执行智能合约,然后实现各种用户定义的智能合约事件、条件和操作。
根据某些实施例,用户定义的智能合约(其已被翻译并交易到区块链上)触发主机组织内的事件。
例如,考虑沃尔玛和雀巢公司达成的协议,必须始终在35至39华氏度范围内的恒温拖车内运输货物。此外,如果温度在任何时候超过39度,则取消付款。
在主机组织内,客户关系管理(CRM)平台定义和管理客户、销售商、潜在客户、供应商等之间的各种关系和交互。CRM一词通常指CRM系统,它是一种工具,可帮助企业进行联系管理、销售管理、工作流程、生产力等。
在上述具有沃尔玛和雀巢的示例中,CRM系统将具有货运要求。因为主机组织通过CRM系统监视货运并订阅货运事件,例如温度数据,所以CRM系统将监视并知道特定货运的温度相关事件,然后才能自动链接到智能合约。更特别地,因为主机组织充当在其中执行智能合约的区块链的参与节点,所以主机组织既可以查看可通过区块链访问的智能合约条款和条件,也可以查看货运的CRM要求,例如所需的温度范围。
因此,在发生智能合约条件违规时,主机组织将违规与CRM系统(不是区块链的一部分)同步,以依照执行智能合约的条款,中止与该特定货运相关联的付款。
根据一个实施例,区块链发出事件,主机组织的CRM系统将监听该事件,然后根据用户定义的智能合约流所指定的内容,基于该事件执行一些实质性动作。在上面的示例中,实质性动作是根据区块链上的智能合约中止针对该货运的付款。
执行智能合约的每个参与方将可能使他们各自的CRM系统订阅与执行智能合约相关联的区块链的事件,因此,双方都可能知道该事件。
根据一个实施例,将逻辑写入CRM系统以促进响应于区块链事件的特定动作。换句话说,可以根据正在执行的区块链智能合约来执行非区块链动作。
图11B描绘了根据所描述的实施例的另一示例性架构1101,其具有利用Apex翻译引擎1155创建的区块链实现的智能合约的附加细节。
如本文所描绘的,在区块链服务接口190内有Apex翻译引擎1155。
Apex是Force.com平台为开发人员提供的一种编程语言。Apex与Java和C#相似,因为它是强类型化的、基于面向对象的语言的,其利用了点符号和花括号语法。Apex可用于在Force.com平台上的大多数过程中执行编程功能,包括通过计划或通过Visualforce页面的自定义控制器自定义按钮和链接,记录插入、更新或删除的事件处理器。
salesforce.com主机组织的开发人员经常使用Apex来实现SQL编程,数据库交互,用于GUI界面的自定义事件,报告生成以及许多其他功能。因此,存在大型与主机组织110相关联的开发人员社区,他们非常熟悉Apex,并且更喜欢用Apex语言进行编程,而不必使用不太熟悉的编程语言。
问题是,智能合约必须以区块链协议的本地语言编写,该区块链协议的目标是在相应区块链上执行任何智能合约。
例如,如上所述,如果要将智能合约写入以太坊,则必须使用以太坊兼容的“Solidity”编程语言来编写智能合约。
像智能合约一样,Apex是一种元数据。因此,Apex翻译引擎1155允许熟悉Apex的开发人员使用Apex编程语言而不是使用本地智能合约协议编程语言为区块链编程他们的智能合约。
如本文所描绘的,开发人员使用Apex编程语言编写他们的智能合约,然后经由所描述的Apex代码接口,例如,通过上传具有嵌入其中的开发人员Apex代码的文本文件,将Apex输入1156提供给Apex翻译引擎1155。
Apex翻译引擎1155解析Apex输入1156以识别Apex定义的智能合约区块,并将其分解以准备翻译。如本文所描绘的,存在Apex定义的条件1171,用于监视的Apex事件1172,“如果”则“否则”Apex触发器1173,以及如前所述,不是Apex特定的资产标识符1154。
然后将Apex定义的智能合约区块提供给Apex区块翻译器1180,其将它们转换为针对目标区块链协议的本地区块链协议智能合约元件1135。一旦被翻译,该过程如上所述,其中被翻译的智能合约被交易并广播1145到区块链1140以执行1145。
与视觉流程GUI不同,因为Apex是程序性的,所以编写Apex代码的用户可以编写程序以在智能合约上执行,并且不受视觉流程GUI中可用功能的限制。
根据特定实施例,首先将Apex输入1156翻译成JavaScript,然后将其翻译成适用于要在其上执行智能合约的目标区块链协议的特定区块链API。
根据另一实施例,监听事件可以使用Apex语言编写,并在Apex输入1156中提供,但是,此类监听事件将由主机组织执行。因此,Apex区块翻译器1180分离出任何识别出的Apex监听器1178,并将其返回给主机组织110,在主机组织110中它们可以在适当的CRM系统或其他事件监视系统内实现。通过这种方式,开发人员可以将Apex输入1156编写为单个程序,而不必在单独的系统中单独创建智能合约以及还创建相关的监听事件。
图12示出了方法1200的流程图,该方法1200用于在基于云的计算环境(例如由处理器和存储器支持的数据库系统实现)中使用分布式分类账技术来实现智能流合约,以执行向用户、客户和订户提供基于云的按需功能这样的功能。
方法1200可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路,专用逻辑,可编程逻辑,微代码等),软件(例如,在处理设备上运行的指令),用于按照本文所述的系统和方法执行各种操作,例如执行,发送,接收,分析,触发,推送,推荐,定义,检索,解析,持久化,公开,加载,操作,生成,存储,维护,创建,返回,呈现,接口,通信,查询,处理,提供,确定,显示,更新,发送等。例如,如图1等所示的托管计算环境111、区块链服务接口1120及其数据库系统130以及本文所述的其他系统和组件可以实现所描述的方法。根据某些实施例,下面列出的一些框和/或操作是可选的。给出的框的编号是为了清楚起见,而不意图规定各个框必须出现的操作顺序。
参考图12所示的方法1200,在框1205,处理逻辑代表主机组织的多个租户操作至区块链的区块链接口,其中多个租户中的每一个都是与区块链的参与节点。
在框1210,处理逻辑从用户设备接收登录请求。
在框1215,处理逻辑向主机组织认证用户设备。
在框1220,处理逻辑从用户设备接收指示多个智能合约区块的输入。
在框1225,处理逻辑将每个智能合约区块翻译成本地编程语言,以形成用于经由区块链执行的智能合约。
在框1230,处理逻辑将智能合约交易到区块链上。
根据另一实施例,方法1200还包括:将流程设计器GUI发送至用户设备;并且其中从用户设备接收输入包括:经由流程设计器GUI接收指示对具有多个流序列、流条件、流触发和/或流事件操作的多个智能合约区块的用户选择的输入。
根据方法1200的另一实施例,从用户设备接收指示多个智能合约区块的输入包括:接收以Apex编程语言编程的Apex输入文件;其中,该方法还包括:从Apex输入文件中解析多个Apex定义的智能合约区块;并且其中翻译每个智能合约区块包括:将多个解析的Apex定义的智能合约区块翻译成本地编程语言,以形成用于经由区块链执行的智能合约。
根据方法1200的另一个实施例,将每个智能合约区块翻译成本地编程语言以形成智能合约包括:将多个智能合约区块中的每一个翻译成用于智能合约的定义的过程操作序列,定义的智能合约条件,定义的智能合约触发器和/或定义的智能合约事件。
根据方法1200的另一实施例,将智能合约交易到区块链上包括:经由主机组织的区块链服务接口将智能合约作为元数据写入区块链中;以及其中智能合约经由区块链执行区块链上发生的一项或更多项交易。
根据另一实施例,方法1200还包括:从自用户接收的输入中提取事件监听器,其中该事件监听器监视区块链交易中在区块链上交易的智能合约内的具有相应智能合约条件或智能合约触发的定义事件;以及与区块链分开执行事件监听器,其中事件监听器在主机组织内执行,并在区块链上的交易中发生事件时触发主机组织内的预编程动作。
根据方法1200的另一个实施例,事件监听器代表主机组织的租户在主机组织的客户关系管理(CRM)平台中执行,该租户是在区块链上执行的智能合约的参与方;其中执行事件包括以下之一:依照违反由区块链内执行的智能合约所定义的条款或条件,经由CRM系统停止付款,或依照由区块链内执行的智能合约所定义的所有条款和条件的履行,经由CRM系统授权付款。
根据方法1200的另一实施例,将每个智能合约区块翻译成本地编程语言以形成用于经由区块链执行的智能合约,包括:将每个智能合约区块翻译成以太坊兼容的Solidity编程语言;其中所述主机组织经由主机组织的区块链服务接口在以太坊区块链上操作参与节点;其中将智能合约交易到区块链上包括:经由参与节点将智能合约交易到以太坊区块链上,以经由以太坊区块链执行。
根据方法1200的另一实施例,将每个智能合约区块翻译成本地编程语言以形成用于经由区块链执行的智能合约,包括:将智能合约区块中的每一个翻译成符合Hyperledger的Go编程语言;其中主机组织经由主机组织的区块链服务接口在Hyperledger区块链上操作参与节点;其中将智能合约交易到区块链上包括:经由参与节点将智能合约交易到Hyperledger区块链上,以经由Hyperledger区块链执行。
根据方法1200的另一实施例,从用户设备接收指示多个智能合约区块的输入包括:将流程设计器GUI从主机组织的GUI管理器发送到用户设备以在用户设备上显示;并在显示给用户设备的流程设计器GUI上接收鼠标移动事件,其指示拖放可经由流程设计器GUI进行的可用智能合约条件、触发器和事件的选择和排序。
图13示出了系统1301的示意图,其中实施例可以在其中操作,安装,集成或配置。根据一个实施例,存在一种系统1301,其中至少具有处理器1390和存储器1395,用于执行用于本文所述方法的实现应用代码1396。这样的系统1301可以与托管计算环境(诸如主机组织,多租户环境,按需服务提供商,基于云的服务提供商,客户端-服务器环境等)的好处通信地接口并与其合作执行。
根据所描绘的实施例,可以在主机组织内运行的系统1301包括处理器1390和存储器1395,以在系统1301上执行指令。根据这样的实施例,处理器1390将执行区块链服务接口1365以代表主机组织的多个租户与区块链对接,其中多个租户中的每一个都是区块链的参与节点1399;接收接口1326用于接收来自用户设备1398的登录请求。根据这样的实施例,存在认证器1350以向主机组织认证用户设备1398。接收接口1326进一步用于从用户设备1398接收指示多个智能合约区块的输入1327;翻译器(和解析器)1343用于代表智能流合约引擎将每个智能合约区块翻译为本地编程语言,从而形成智能合约1340以经由区块链执行。然后,区块链服务接口1365用于将智能合约1340交易到区块链上。
根据系统1301的另一实施例,该系统还包括GUI管理器1385,以将流程设计器GUI1341发送给用户设备;以及其中接收接口用于经由流程设计器GUI接收输入1327,该输入指示对具有多个流序列、流条件、流触发和/或流事件操作的多个智能合约区块1386的用户选择。
根据系统1301的另一实施例,接收接口1326与远离系统的用户客户端设备1398通信,并且经由公共因特网将用户设备与系统通信地链接。根据这样的实施例,系统作为用户设备1399的基于云的服务提供商在主机组织处操作;其中,基于云的服务提供商托管经由公共因特网暴露给用户客户端设备的接收接口1326,并且进一步地,其中接收接口根据对来自基于云的服务提供商的服务的请求从用户设备接收输入。
总线1316在系统1301的各个组件彼此之间接合,与系统1301的一个或更多个任何其他外围设备接合,以及与外部组件(诸如外部网络元件,其他机器,客户端设备,云计算服务等)接合。通信可以进一步包括在LAN、WAN或公共因特网上通过网络接口与外部设备进行通信。
根据特定的实施方式,存在一种非暂时性计算机可读存储介质,具有存储在其上的指令,当由具有至少一个处理器和存储器的主机组织的系统执行该指令时,该指令使该系统能够执行以下操作:代表主机组织的多个租户操作至区块链的区块链接口,其中多个租户中的每一个都是该区块链的参与节点;从用户设备接收登录请求;向主机组织认证用户设备;从用户设备接收指示多个智能合约区块的输入;将每个智能合约区块翻译成本地编程语言以形成智能合约,以经由区块链执行;以及将智能合约交易到区块链上。
图14描绘了根据所描述的实施例的另一示例性架构1400,其具有虚拟链模型的附加细节,该虚拟链模型用于经由基于云的计算环境与分布式分类账技术接合。
本文所描述的是先前描述的主机组织及其各种元件,然而,进一步描绘了区块链服务接口190内的虚拟链接口1405,其提供了替代的编程接口来支持区块链协议的实现,因为它们是主机组织在其上作为参与节点运行的公共区块链,或由主机组织110提供的公共区块链协议实现或由主机组织110提供的私有区块链。
传统上要求利用分布式分类账技术与私有和公共区块链接口的开发人员利用那些区块链的本地编程语言,而不是具有利用他们自己选择的编程语言的能力。该要求给可能需要使用他们不那么熟悉的语言进行编程的开发人员带来了一些困难,从而阻碍了区块链技术的使用。
在主机组织110中,开发人员经由查询接口180利用结构化查询语言(诸如SQL或PL/SOQL)与数据库系统130交互是非常普遍的。
因此,根据所描述的实施例,主机组织110利用类似于通常用于查询关系数据库的普通SQL查询的语法,通过虚拟链接口1405提供与区块链进行交互的能力。
如本文所描绘的,虚拟链接口1405能够从以区块链为目标的用户接收结构化查询1406,然后通过查询解析器1425路由结构化查询1406,查询解析器1425分解结构化查询1406的元件。例如,本文描述的查询解析器1425将结构化查询1406分解为区块链更新逻辑1421、区块链读取逻辑1422、区块链删除逻辑1423(例如,相当于从数据库中删除一行)和区块链搜索逻辑1424,从而从在虚拟链接口1405处从用户接收的结构化查询中解析所标识的查询元件。
然后,由查询逻辑翻译器1430将所标识的查询元件映射到对应的本地区块链功能、代码或逻辑,以便导致本地区块链协议代码1435,其构成结构化查询1406的等效功能,从而导致本地区块链交易1445,然后将其交易到区块链1440,触发交易结果返回到虚拟链接口。
根据一个实施例,虚拟链接口1405提供虚拟表或条目和转换的列表,其模拟区块链,从而允许基于虚拟表将结构化查询1406内的操作元件的映射、转换或翻译替换为本地区块链代码或功能。
一旦将功能元件从传入的结构化查询转换为本地区块链功能,就可以简单地经由区块链执行所得到的本地区块链交易,例如,通过广播交易,将交易写入区块链的区块,验证该区块,然后将经验证的区块提交给区块链。
根据一个实施例,在虚拟链接口处接收的结构化查询1406是使用标准SQL语法编写的,但是,在幕后并且对于用户而言是不可见的,虚拟链接口1405基于用户标识上下文相关信息并且结构化查询元件用于为区块链生成正确形成的交易。
例如,考虑提供SQL INSERT语句的接收到的结构化查询1406。通常,语法会是INSERT INTO table_name(column1,column2,column3,...),但是,虚拟链接口会将INSERT命令翻译为适当的本地区块链命令。这些命令因所使用的区块链协议和接口脚本而异,但其中一种将数据插入到区块链中的命令是OP_RETURN<the data you want to add>,因此,INSERT被转换为OP_RETURN,而INTO被转换为目标位置,例如元数据,合约,区块链资产等,其可以通过虚拟链接口对提交结构化查询的用户上下文的理解来自动识别,因为提交者将与特定的区块链元件相关联。
类似地,如果用户呈现指定UPDATE命令的结构化查询1406,则有必要将UPDATE命令转换为区块链的相关命令,因为区块链的不可变性质意味着链中没有被接受的区块可以曾经被修改过。因此,必须将结构化查询1406的UPDATE命令转换为加法。因此,在用户指定例如UPDATE table_name,SET column1=value1,column2=value2,...,WHERE condition的情况下,虚拟链接口会将传入的结构化查询元素翻译为插入区块命令,并填充必要的用户管理,包括例如添加必要的用户密钥和与区块链进行交易所需的任何其他形式。
例如,当主机组织作为区块链上的节点运行并因此可以访问区块链内的数据时,有必要从正在添加或修改数据的适当参与节点执行区块链交易(例如,经由取代旧数据的新添加)。因此,虚拟链接口另外将用户ID或结构化查询1406的请求者映射到参与节点,并交易来自与用户ID或传入的结构化查询1406的请求者相对应的参与节点的本地区块链交易。
类似地,如果用户经由结构化查询指定SELECT FROM命令,例如指定SELECTcolumn1,column2,...FROM table_name,则虚拟链接口将获得将查询元件翻译为从区块链检索数据所需的适当的区块链本地协议代码,包括将table_name字段翻译或映射到适当的区块链资产、元数据或其他可读存储位置。例如,如果结构化查询指定了一对象,则虚拟链接口会将目标对象名称转换为相应的区块链资产,然后可以从中读取区块链的有效载荷数据并作为结构化查询的回复而返回。
从用户或客户的角度来看,结构化查询因此可以在以针对其用户或客户具有参与节点的指定区块链分布式分类账为目标的应用程序、报告和点对点网络(ad-hoc)内编程,并且虚拟链接口将透明地处理将结构化查询转换为必要的本地区块链协议代码1435,而无需用户的进一步参与或技术知识。
根据所描述的实施例,具有存储在指定区块链中的数据的主机组织的每个租户将具有该区块链的至少一个参与节点,但是,主机组织的某些租户在单个区块链上可以具有多个参与节点。
例如,具有多个不同产品或产品线的主机组织的租户可以选择具有与每个产品或产品线的区块链不同的参与节点,因此,结构化查询所引用的“table_name”被映射到针对租户(其中存在多于一个租户)的适当参与节点和区块链资产。在另一个实施例中,主机组织的单个租户可以具有多个客户组织,因此,这样的租户可以将每个客户组织组织到区块链其自己的参与节点中,在这种情况下,虚拟链接口基于用于租户的OrgID被用于提交结构化查询,将指定的表名或结构化查询1406中的对象映射到区块链的参与节点。
在其他实施例中,单个租户可以利用多个不同的区块链,因此,虚拟链接口需要将指定的表名或对象映射到目标区块链,以及目标区块链的参与节点和区块链资产。例如,考虑沃尔玛作为主机组织的租户,其利用金融私有区块链来存储财务相关信息,并利用不同的区块链(例如私人货运区块链)来存储供应链数据。在这种情况下,沃尔玛将参与金融私有区块链和私有货运区块链的每一个,因此,沃尔玛将至少拥有这两个参与节点。因此,虚拟链接口必须将SQL命令指定的任何指定的表名或存储位置映射到适当的区块链以及目标区块链的参与节点和区块链资产。
以这种方式,用户、客户组织和租户可以发出诸如“SELECT FROM”此“OBJECT”或“INSERT BLOCK”或“UPDATE BLOCK”之类的命令,而不必理解本地区块链协议代码,因为翻译由虚拟链接口1405代表用户来处理。此外,由于用户已向主机组织进行认证,因此虚拟链接口还可以处理与区块链进行交易所需的所有后端管理,例如提供并自动填充必要的资产ID等。
在第一笔交易中,虚拟链接口将需要执行向区块链的插入命令以创建新的参与节点,但是,一旦创建,现有的参与者就可以从那时起向前使用,因为区块链中的条目永远不会被删除。例如,如果用户从未在目标区块链上进行过交易,则虚拟链接口将处理管理任务,以基于该用户的凭证在区块链中创建参与者,然后为该用户生成密钥以用于区块链,因为所有交易都基于密钥。完成后,虚拟链接口将基于映射将结构化查询翻译为称为区块链的资产有效载荷的语句。
根据某些实施例,虚拟链接口另外处理与区块链的同步,例如,认识到尚未达成共识的区块链上的待处理交易与具有共识的那些经验证的交易之间的区别可以被认为是向区块链承诺交易。例如,在提交待处理交易但从未达成共识的情况下,虚拟链接口将处理回滚交易的等同物。在SQL中,“ROLLBACK”是一命令,该命令将导致关系数据库管理系统(RDBMS)丢弃自上一次BEGIN WORK或START TRANSACTION以来的所有数据改变,从而将数据状态“回滚”到进行这些更改之前的方式。类似地,广播到区块链参与节点的交易被写入一区块,随后该区块被无效、截断或忽略,从而有利于另一个块(例如,基于共识、工作量证明等)将导致广播的交易被有效地无效,因此,虚拟链接口1405跟踪状态并反映这种故障状况,以便维持区块链与结构化查询请求者之间的同步。
例如,信息被返回给提交结构化查询的用户,该查询读取、更新或以某种方式影响待处理的交易。提交此类查询后,将向用户呈现指示该交易已公布但正在等待提交的信息。
一旦交易被提交到区块链中,则用户仅会看到可以将其作为已提交交易进行检索,而不是仅可以作为待处理/未提交交易进行检索。
虚拟链接口1405还支持与区块链的智能成约,使得如果定义的事件在区块链上的交易内发生,则整个智能合约将经由区块链执行。当观察到这些事件发生在区块链上时,虚拟链接口1405将自动监听指定的事件,然后执行预定义的动作。
例如考虑与可用的区块链协议不兼容的SQL SELECT FROM语句。例如,如果结构化查询指定要从财务账户B选择a,b,c,则“B”将被解释为区块链中的标识符。类似地,可以使用修改的点符号,例如,从区块链财务账户B指定选择“ID”将把前导“区块链”解释为要使用的目标区块链,其中虚拟链接口标识适当的参与节点,而“B”被解释为指定区块链的标识符,其中该标识符表示区块链中从中检索数据的特定有效载荷。
虚拟链接口1405另外通过跨区块链内的所有资产从特定客户拉动来自区块链的最新交易或来自区块链的最新区块来维持其映射。
根据另一实施例,虚拟链接口1405支持从区块链检索历史数据。例如,对于指定财务账户历史b的实体,虚拟链接口1405将生成本地区块链协议代码,以提取针对该特定资产在指定区块链内曾经发生的所有交易,从而返回随着时间推移发生的一系列交易。与可能在提交的更新后覆盖数据的数据库不同,区块链从不丢弃信息,因此,可以检索最新的当前信息或也可以检索完整的历史信息。
例如,考虑添加客户的交易,其中第一笔交易指定了客户的名字和姓氏,但缺少SSN。然后第二笔交易指定添加到区块链的SSN。然后,第三笔交易会更新客户的联系信息。然后,第四笔交易会改变客户的电话号码。所有这些交易都应用了相同的客户资产,但是,这四个交易都是与区块链的不同交易。因此,结构化查询可以从客户b指定选择a,b,c。这将导致返回该客户的最新信息。但是,如果结构化查询改为从客户历史b中指定选择a,b,c,则虚拟链接口1405将检索到客户b的所有更改的整个历史记录,这样就可以看到根据第一笔交易的初始条目缺少SSN,并且第四笔交易导致客户电话号码发生更改,最终以该区块链资产的最新信息结尾。
根据某些实施例,虚拟链接口1405自动处理解析的结构化查询元件和本地区块链协议代码之间的所有映射,但是,在替代实施例中,客户可以提供来自客户信息,表名,变量,参与者ID和查询元件到相应的本地区块链协议代码1435元件的映射。例如,通过客户提供的映射,客户可以将诸如实体、表或数据库对象之类的对象定义为映射的一部分,但是,因为客户定义的对象作为映射的一部分存在并且在数据库或区块链中不存在,则可以将其视为虚拟实体。例如,管理员可以经由虚拟链接口1405在其中定义实体,以及定义用户和任何所需的配置字段或定制定义的映射。
例如,客户可以将数据存储在主机组织内的表“X”中,但是当进入区块链时,它被映射到X+Y,其可以由用户指定。因此,虚拟链接口将基于客户提供的映射将SQL类型的命令映射到称为X+Y的区块链数据。这样的映射可以代表客户作为元数据存储在例如虚拟链接口读取的配置文件中。
客户可以在称为ABC的区块链中拥有数据,然后出于任何原因希望将数据更改为A1B1C1。客户可以指定此类映射,然后虚拟链接口将自动地在区块链中生成添加资产交易,并将交易置于用户待处理,以便用户知道交易处于待处理状态,直到达成共识后才提交,并且已发生足够的挖掘,以便将交易提交到区块链。
一旦提交,则从区块链触发事件,主机组织的区块链服务接口190监听该事件,此时主机组织还将数据标记为已提交,以保持数据状态同步。
还可能的是,从未达成共识,因此交易失败。再次,主机组织的区块链服务接口190监听指示交易失败的事件,此时主机组织将交易标记为失败,并且虚拟链接口执行任何必要的回滚操作以保持同步。
某些其他参与节点将更新的信息添加到区块链以取代资产的旧数据也是可行的。当任何参与节点刷新数据(包括由虚拟链接口根据请求检索数据的结构化查询读取数据)时,无论哪个实体更新了该值,都将检索最新值。因为数据被存储在分布式分类账内,所以根据这样的实施例,指定正确密钥的任何参与节点都可以提交交易,以更新区块链资产。
根据另一实施例,主机组织的区块链服务接口190监听任何事件或对指定区块链资产的改变,基于此事件被触发,从而由主机组织通知请求与指定资产的改变有关的通知的用户,而不必去检索数据并检查以确定是否进行了更改。
例如,作为由虚拟链接口执行的交易管理的一部分,每当在区块链中创建资产时,区块链服务接口190将区块链资产ID与saleforce ID保持在一起,以便可以跟踪提交和不提交状态。因此,另一个实体也可以监视具有用于特定资产的Salesforce ID的区块链资产ID的任何改变。
根据某些实施例,区块链资产内的数据可经由主机组织的参与节点在主机组织内获得,因此,假设数据已经提交,则主机组织始终可从分布式分类账中获取最新副本。
根据一个实施例,向主机组织进行认证的用户将导致虚拟链接口将该用户的主机组织标识符上下文地映射到区块链所利用的密码ID。以这种方式,用户不需要知道或提供密码ID,因为它将由虚拟链接口1405提供给所有交易。
图15描绘了说明方法1500的流程图,该方法1500用于在基于云的计算环境中实现分布式分类账技术的虚拟链模型,例如由处理器和存储器支持的数据库系统实现,以执行向用户、客户和订户按需提供基于云的功能这样的功能。
方法1500可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路,专用逻辑,可编程逻辑,微代码等),软件(例如,在处理设备上运行的指令)以根据本文所述的系统和方法执行各种操作,例如执行,发送,接收,分析,触发,推送,推荐,定义,检索,解析,持久化,公开,加载,操作,生成,存储,维护,创建,返回,呈现,接口,通信,查询,处理,提供,确定,显示,更新,发送等。例如,如图1等所示的托管计算环境111、区块链服务接口1150及其数据库系统130以及本文所述的其他系统和组件可以实现所描述的方法。根据某些实施例,下面列出的一些框和/或操作是可选的。呈现的框的编号是为了清楚起见,并不意图规定各种框必须出现的操作的顺序。
参考图15所示的方法1500,在框1505处,处理逻辑代表主机组织的多个租户操作到区块链的区块链接口,其中多个租户中的每个都是区块链的参与节点。
在框1510处,处理逻辑从用户设备接收登录请求。
在框1515处,处理逻辑向主机组织认证用户设备。
在框1520处,处理逻辑将经认证的用户设备与对应于经认证的用户设备的区块链的密码ID相关联。
在框1525处,处理逻辑从用户设备接收要针对区块链执行的结构化查询,该结构化查询指定交易命令和要在其上执行交易命令的数据对象。
在框1530处,处理逻辑将结构化查询的交易命令翻译为本地区块链协议代码,并将数据对象翻译为存储在区块链内的区块链资产ID,以形成本地区块链交易。
在框1535处,处理逻辑执行与区块链的本地区块链交易。
根据方法1500的另一个实施例,经由结构化查询指定的数据对象是经由主机组织对象ID指定的;其中,将数据对象翻译为区块链资产ID包括:基于主机组织的虚拟链接口维护的1∶1映射,将主机组织对象ID翻译为区块链资产ID。
根据方法1500的另一实施例,将经认证的用户设备与对应于经认证的用户设备的区块链的密码ID相关联包括:基于用于向主机组织认证用户设备的用户ID,或基于上下文与经认证的用户设备相关联的客户组织ID(OrgID),识别区块链的密码ID,其中用户设备是与OrgID关联的客户组织的经认证的成员。
根据另一个实施例,方法1500还包括:经由查询解析器从结构化查询中解析多个查询元件以识别查询元件;以及经由查询逻辑翻译器将解析后的查询元件翻译为本地区块链协议代码,以形成本地区块链交易。
根据方法1500的另一个实施例,本地区块链交易基于从用户设备接收到的结构化查询指定密码ID、存储在区块链中的区块链资产ID以及要从资产ID的有效载荷中添加或检索的数据。
根据方法1500的另一实施例,与区块链一起执行本地区块链交易包括:经由区块链执行异步交易;跟踪本地区块链交易的状态,以确定本地区块链交易是待处理、已提交还是已失败。
根据另一个实施例,方法1500还包括:维护区块链资产ID和主机组织对象ID,其对应于经由结构化查询指定的数据对象,并通过订阅与区块链资产ID相关联的区块链中的任何事件,基于区块链资产ID跟踪本地区块链交易的状态;从与区块链资产ID相关联的区块链接收事件;将区块链资产ID与主机组织对象ID相关联;并向用户设备通知该事件,其中该事件指定以下各项之一:(i)本地区块链交易仍然待处理,(ii)本地区块链交易已提交至区块链,或(iii)本地区块链交易已失败。
根据另一实施例,方法1500还包括:确定本地区块链交易已失败,并且针对本地区块链交易执行回滚过程,包括通知用户设备本地区块链交易已失败。
根据方法1500的另一实施例,来自用户设备的结构化查询对应于针对其在前交易保持在待处理和未提交状态的区块链资产;并向用户设备指示结构化查询所寻址的区块链资产在进行在前交易,该交易仍处于待处理和未提交状态。
根据方法1500的另一个实施例,结构化查询指定SELECT命令项、UPDATE命令项或INSERT命令项中的一个;其中翻译结构化查询的交易命令包括将SELECT命令项、UPDATE命令项或INSERT命令项翻译为与区块链兼容的本地命令项。
根据特定实施例,存在非临时性计算机可读存储介质,其上存储有指令,当由其中至少具有处理器和存储器的主机组织的系统执行该指令时,该指令使该系统执行下列操作:代表主机组织的多个租户操作到区块链的区块链接口,其中多个租户中的每一个都是该区块链的参与节点;从用户设备接收登录请求;向主机组织认证用户设备;将经认证的用户设备与对应于经认证的用户设备的区块链的密码ID相关联;从用户设备接收要针对区块链执行的结构化查询,该结构化查询指定交易命令和在其上执行交易命令的数据对象;将结构化查询的交易命令翻译为本地区块链协议代码,并将数据对象翻译为存储在区块链中的区块链资产ID,以形成本地区块链交易;以及与区块链执行本地区块链交易。
根据另一个实施例,存在一种在主机组织处执行的系统,其中,该系统包括:存储指令的存储器;以及执行指令的处理器;其中,所述处理器用于代表主机组织的多个租户执行与区块链的区块链接口,其中,多个租户中的每一个都是区块链的参与节点;接收接口,用于接收来自用户设备的登录请求;认证器,用于向主机组织认证用户设备;虚拟链接口将经认证的用户设备与对应于经认证的用户设备的区块链的密码ID相关联;接收接口,用于从用户设备接收要针对区块链执行的结构化查询,该结构化查询指定交易命令,以及在其上执行交易命令的数据对象;查询逻辑翻译器,用于将结构化查询的交易命令翻译为本地区块链协议代码,并将数据对象翻译为存储在区块链中的区块链资产ID,以形成本地区块链交易;以及区块链服务接口,用于执行与区块链的本地区块链交易。
图16A示出了根据所描述的实施例的环境1698的框图,其中按需数据库服务可以在其中运行。环境1698可以包括用户系统1612,网络1614,系统1616,处理器系统1617,应用程序平台1618,网络接口1620,租户数据存储1622,系统数据存储1624,程序代码1626和进程空间1628。在其他实施例中,环境1698可能没有上面列出的所有组件和/或可能具有代替或补充上面列出的那些元件的其他元件。
环境1698是其中存在按需数据库服务的环境。用户系统1612可以是用户用来访问数据库用户系统的任何机器或系统。例如,任何用户系统1612可以是手持计算设备,移动电话,膝上型计算机,工作站和/或计算设备的网络。如图16A所示(更详细地在图16B中所示),用户系统1612可经由网络1614与按需数据库服务(其为系统1616)进行交互。
按需数据库服务(诸如系统1616)是一种数据库系统,该数据库系统可供外部用户使用,这些外部用户不必一定要与构建和/或维护数据库系统有关,而是可以用于当用户需要数据库系统时(例如,根据用户的需求)使用它们。某些按需数据库服务可将来自所存储的一个或更多个租户的信息存储到公共数据库映像的表中,以形成多租户数据库系统(MTS)。因此,“按需数据库服务1616”和“系统1616”在本文中可互换使用。数据库映像可以包括一个或更多个数据库对象。关系数据库管理系统(RDMS)或等同物可以执行针对一个或更多个数据库对象的信息存储和检索。应用程序平台1618可以是允许系统1616的应用程序运行的框架,例如硬件和/或软件,例如操作系统。在一个实施例中,按需数据库服务1616可以包括应用程序平台1618,其使得能够创建、管理和执行由按需数据库服务的提供商开发的一个或更多个应用程序,用户经由用户系统1612访问按需数据库服务,或第三方应用程序开发人员经由用户系统1612访问按需数据库服务。
用户系统1612的用户的各自容量可能不同,并且特定用户系统1612的容量可能完全由当前用户的权限(权限级别)确定。例如,在销售人员正在使用特定用户系统1612与系统1616交互的情况下,该用户系统具有分配给该销售人员的容量。但是,当管理员正在使用该用户系统与系统1616交互时,该用户系统具有分配给该管理员的容量。在具有分层角色模型的系统中,处于一个权限级别的用户可以访问较低权限级别的用户可以访问的应用程序、数据和数据库信息,但不能访问更高权限级别的用户可以访问的某些应用程序、数据库信息和数据。因此,根据用户的安全性或权限级别,不同的用户在访问和修改应用程序和数据库信息方面将具有不同的能力。
网络1614是彼此通信的设备的任何网络或网络的组合。例如,网络1614可以是LAN(局域网),WAN(广域网),电话网络,无线网络,对等网络,星形网络,令牌环网络,集线器网络或其他适当的配置中的任何一种或任意组合。TCP/IP(传输控制协议和互联网协议)网络是当前使用的最常见的计算机网络类型,例如,通常称为“因特网”的网络的全球网络互连,其首字母为“I”,该网络将在本文的许多示例中使用。然而,应当理解,尽管TCP/IP是一种经常实现的协议,但是所要求保护的实施例可以利用的网络不限于此。
用户系统1612可以使用TCP/IP与系统1616通信,并且在更高的网络级别上,使用诸如HTTP,FTP,AFS,WAP等之类的其他通用互联网协议进行通信。在使用HTTP的示例中,用户系统1612可以包括通常称为“浏览器”的HTTP客户端,用于向系统1616处的HTTP服务器发送HTTP消息和从HTTP服务器接收HTTP消息。这样的HTTP服务器可以实现为系统1616与网络1614之间的唯一网络接口,但也可以使用或替代使用其他技术。在一些实现方式中,系统1616和网络1614之间的接口包括负载共享功能,诸如循环HTTP请求分配器,用于平衡负载并在多个服务器上均匀地分配输入的HTTP请求。至少对于正在访问该服务器的用户而言,多个服务器中的每个服务器都可以访问MTS的数据;然而,可以替代地使用其他替代配置。
在一个实施例中,图16A所示的系统1616实现基于web的客户关系管理(CRM)系统。例如,在一个实施例中,系统1616包括应用服务器,该应用服务器被配置为实现和执行CRM软件应用,以及向用户系统1612提供和从用户系统1612提供相关数据、代码、表格、网页和其他信息,以及将相关数据、对象和网页内容存储到数据库系统和从数据库系统中检索。采用多租户系统,可以将多个租户的数据存储在同一物理数据库对象中,但是,通常安排租户数据,以便一个租户的数据在逻辑上与其他租户的数据保持分开,从而一个租户不能访问另一租户的数据,除非明确共享这些数据。在某些实施例中,系统1616实现除CRM应用程序之外或附加于CRM应用程序的应用程序。例如,系统1616可以向租户提供对包括CRM应用程序的多个托管(标准的和定制的)应用程序的访问。可以包括或可以不包括CRM的用户(或第三方开发者)应用程序可以由应用程序平台1618支持,该应用程序平台管理应用程序在一个或更多个数据库对象中的创建、存储,以及应用程序在系统1616的进程空间中的虚拟机中的执行。
在图16A中示出了系统1616的元件的一种布置,包括网络接口1620,应用程序平台1618,用于租户数据1623的租户数据存储1622,用于系统1616和可能的多个租户可访问的系统数据1625的系统数据存储1624,用于实现系统1616的各种功能的程序代码1626,以及用于执行MTS系统进程和特定于租户的进程(例如,将应用程序作为应用程序托管服务的一部分运行)的进程空间1628。可以在系统1616上执行的附加进程,包括数据库索引进程。
图16A所示的系统中的几个元件包括传统的、众所周知的元件,本文仅对其进行简要说明。例如,每个用户系统1612可以包括台式个人计算机,工作站,膝上型计算机,PDA,蜂窝电话,或支持任何无线访问协议(WAP)的设备或能够直接或间接地与因特网或其他网络连接接口的任何其他计算设备。用户系统1612通常运行HTTP客户端,例如浏览程序,例如微软的Internet Explorer浏览器,Mozilla或Firefox浏览器,Opera或在智能手机、平板电脑、PDA或其他无线设备等的情况下启用WAP的浏览器,允许用户系统1612的用户(例如,多租户数据库系统的订户)通过网络1614访问、处理和查看从系统1616其可用的信息、页面和应用程序。每个用户系统1612还通常包括一个或更多个用户接口设备,例如键盘,鼠标,轨迹球,触摸板,触摸屏,笔等,用于与浏览器在显示器上提供的图形用户界面(GUI)(例如,监视器屏幕,LCD显示屏等)以及由系统1616或其他系统或服务器提供的页面、表格、应用程序和其他信息进行交互。例如,用户接口设备可以用于访问数据和由系统1616托管的应用程序,以及对存储的数据执行搜索,或者以其他方式允许用户与可以呈现给用户的各种GUI页面进行交互。如上所讨论的,实施例适合与互联网一起使用,互联网是指网络的特定全球网络互联。然而,应当理解,可以使用其他网络代替互联网,例如内联网,外联网,虚拟专用网(VPN),基于非TCP/IP的网络,任何LAN或WAN等。
根据一个实施例,每个用户系统1612及其所有组件都可以使用诸如浏览器之类的应用程序进行操作员配置,包括使用诸如Intel
Figure BDA0002699393890000651
处理器之类的中央处理单元运行的计算机代码。类似地,系统1616(以及MTS的其他实例,其中存在多于一个)及其所有组件都可以使用一个或更多个应用程序进行操作员配置,这些应用程序包括使用诸如处理器系统1617之类的中央处理单元运行的计算机代码,中央处理单元可包括Intel
Figure BDA0002699393890000652
处理器等,和/或多个处理器单元。
根据一个实施例,每个系统1616被配置为向用户(客户端)系统1612提供网页,表格,应用,数据和媒体内容,以支持作为系统1616的租户的用户系统1612的访问。这样,系统1616提供了安全机制,以使每个租户的数据保持分离,除非共享数据。如果使用了多于一个MTS,则它们可能彼此近邻(例如,位于单个建筑物或校园中的服务器农场中),或者它们可能分布在彼此远离的位置(例如,位于城市A中的一个或更多个服务器以及位于城市B中的一个或更多个服务器)。如本文所使用的,每个MTS可以包括本地地或跨一个或更多个地理位置分布的一个或更多个逻辑和/或物理连接的服务器。另外,术语“服务器”旨在包括计算机系统,其包括处理硬件和一个或跟更多个进程空间,以及相关联的存储系统和数据库应用程序(例如,OODBMS或RDBMS),如本领域中众所周知的。应当理解,“服务器系统”和“服务器”在本文中经常可互换使用。类似地,本文描述的数据库对象可以被实现为单个数据库、分布式数据库、分布式数据库的集合、具有冗余的在线或离线备份或其他冗余的数据库等,并且可以包括分布式数据库或存储网络以及相关联的处理情报。
图16B示出了根据所描述的实施例的图16A的元件的实施例以及在这些元件之间的各种可能的互连的另一框图。图16B还示出了环境1699。然而,在图16B中,进一步详细示出了实施例中的系统1616的元件和各种互连。更具体地,图16B示出了用户系统1612可以包括处理器系统1612A,存储器系统1612B,输入系统1612C和输出系统1612D。图16B示出网络1614和系统1616。图16B还示出系统1616可以包括租户数据存储器1622,其中具有租户数据1623,该租户数据1623包括例如租户存储空间1627,租户数据1629和应用程序元数据1631。系统数据存储器1624被描述为其中具有系统数据1625。在应用服务器16001-N的扩展细节内还描述了用户接口(UI)1630,应用程序接口(API)1632,应用程序平台1618包括PL/SOQL1634,保存例程1636,应用程序设置机制1638,进程空间1628包括系统进程空间1602,租户1-N进程空间1604和租户管理进程空间1610。在其他实施例中,环境1699可能不具有与上面列出的元件相同的元件和/或可以具有代替或补充上面列出的那些元件的其他元件。
上面在图16A中讨论了用户系统1612,网络1614,系统1616,租户数据存储器1622和系统数据存储器1624。如图16B所示,系统1616可以包括(图16A的)网络接口1620,其被实现为一组HTTP应用服务器1600,应用程序平台1618,租户数据存储器1622和系统数据存储器1624。还示出了系统进程空间1602,其包括个体租户进程空间1604和租户管理进程空间1610。每个应用服务器1600可以被配置为其中的租户数据存储器1622和租户数据1623,以及其中的系统数据存储器1624和系统数据1625,用于服务于用户系统1612的请求。租户数据1623可以划分为个体租户存储区域(例如,租户存储空间1627),它可以是数据的物理布置和/或逻辑布置。在每个租户存储空间1627内,可以类似地为每个用户分配租户数据1629和应用程序元数据1631。例如,用户的最近使用(MRU)项目的副本可以存储到租户数据1629。类似地,可以将整个组织(其为租户)的MRU项目的副本存储到租户存储空间1627。UI730提供用户界面,并且API 1632向用户系统1612处的用户和/或开发人员提供进入系统1616驻留进程的应用程序程序员接口。租户数据和系统数据可以存储在各种数据库中,例如一个或更多个OracleTM数据库。
应用程序平台1618包括支持应用程序开发人员创建和管理应用程序的应用程序设置机制1638,其可以由保存例程1636将其作为元数据保存在租户数据存储器1622中,以供订户作为例如由租户管理进程空间1610管理的一个或更多个租户进程空间1604执行。可以使用PL/SOQL 1634编码对此类应用程序的调用,该PL/SOQL 1634提供了对API 1632的编程语言样式的接口扩展。可以由一个或更多个系统进程检测对应用程序的调用,该系统进程为进行该调用的订户管理检索应用程序元数据1631,并在虚拟机中将元数据作为应用程序执行。
每个应用服务器1600可以可通信地耦合到数据库系统,例如,可以经由不同的网络连接访问系统数据1625和租户数据1623。例如,一个应用服务器16001可以经由网络1614(例如,因特网)耦合,另一应用服务器1600N-1可以经由直接网络链路耦合,并且另一应用服务器1600N可以通过另一不同的网络连接耦合。传输控制协议和互联网协议(TCP/IP)是用于在应用服务器1600和数据库系统之间进行通信的典型协议。然而,对于本领域技术人员将显而易见的是,取决于所使用的网络互连,可以使用其他传输协议来优化系统。
在某些实施例中,每个应用服务器1600被配置为处理对与作为租户的任何组织相关联的任何用户的请求。由于希望能够出于任何原因随时在服务器池中添加和移除应用服务器,因此最好不存在用户和/或组织对特定应用服务器1600的服务器熟悉。在一个实施例中,因此,在应用服务器1600和用户系统1612之间通信地耦合实现负载平衡功能的接口系统(例如,F5 Big-IP负载平衡器),以将请求分发给应用服务器1600。在一个实施例中,负载平衡器使用最小连接算法将用户请求路由到应用服务器1600。也可以使用负载平衡算法的其他示例,例如轮询和观察到的响应时间。例如,在某些实施例中,来自同一用户的三个连续请求可以命中三个不同的应用服务器1600,并且来自不同用户的三个请求可以命中相同的应用服务器1600。以这种方式,系统1616是多租户的,在其中系统1616处理对不同用户和组织中不同对象、数据和应用程序的存储和访问。
作为存储的示例,一个租户可以是雇用销售人员的公司,其中每个销售人员使用系统1616管理他们的销售过程。因此,用户可能会维护适用于该用户的个人销售过程(例如,在租户数据存储器1622中)的联系人数据,潜在顾客数据,客户跟进数据,绩效数据,目标和进度数据等。在MTS布置的示例中,由于用于访问、查看、修改、报告、传输、计算等的所有数据和应用程序可以由仅具有网络访问权限的用户系统维护和访问,因此用户可以从许多不同的用户系统中的任何一个管理其销售工作和销售周期。例如,如果销售人员正在拜访客户,并且客户在其大厅中可以访问互联网,则销售人员可以在等待客户到达大厅的同时获取有关该客户的重要更新。
尽管每个用户的数据可能与其他用户的数据是分开的,而不管每个用户的雇主如何,但是某些数据可能是组织范围内共享的数据,或可由给定组织(其为租户)的多个用户或所有用户访问的数据。因此,可能存在由系统1616管理的一些数据结构,这些数据结构在租户级别分配,而其他数据结构可能在用户级别管理。因为MTS可支持包括可能的竞争对手在内的多个租户,所以MTS可具有使数据、应用程序和应用程序使用分开的安全协议。另外,由于许多租户可选择访问MTS而不是维护自己的系统,因此冗余、正常运行时间和备份是可以在MTS中实现的其他功能。除了用户特定数据和租户特定数据之外,系统1616还可以维护可由多个租户使用的系统级数据或其他数据。这样的系统级数据可包括在租户之间共享的行业报告、新闻、发布等。
在某些实施例中,用户系统1612(其可以是客户端系统)与应用服务器1600通信,以请求和更新来自系统1616的系统级和租户级数据,其可能需要向租户数据存储器1622和/或系统数据存储器1624发送一个或更多个查询。系统1616(例如,系统1616中的应用服务器1600)自动生成一个或更多个SQL语句(例如,一个或更多个SQL查询),这些语句被设计为访问所需的信息。系统数据存储器1624可以生成查询计划以访问来自数据库的所请求的数据。
每个数据库通常可以被视为对象的集合,例如一组逻辑表,其包含适合预定义类别的数据。“表”是数据对象的一种表示,并且在本文中可以用来简化对象和在此描述的自定义对象的概念性描述。应当理解,“表”和“对象”在本文中可以互换使用。每个表通常包含一个或更多个数据类别,这些数据类别在逻辑上被布置为可见模式中的列或字段。表的每一行或记录都包含由字段定义的每个类别的数据的实例。例如,CRM数据库可包括一表,该表用针对基本联系人信息(例如姓名,地址,电话号码,传真号码等)的字段描述了客户。另一个表可描述采购订单,其包括针对诸如客户、产品、销售价格、日期等之类信息的字段。在某些多租户数据库系统中,可能提供标准实体表供所有租户使用。对于CRM数据库应用程序,此类标准实体可包括用于账户、联系人、潜在客户和商机数据的表,每个表都包含预定义字段。应当理解,“实体”一词在本文中也可以与“对象”和“桌子”互换使用。
在某些多租户数据库系统中,可以允许租户创建和存储自定义对象,或者可以允许他们自定义标准实体或对象,例如通过为标准对象创建自定义字段,包括自定义索引字段。例如,在某些实施例中,所有自定义实体数据行都存储在单个多租户物理表中,该表可以包含每个组织多个逻辑表。对于客户来说透明的是,他们的多个“表”实际上存储在一个大表中,或者其数据可以与其他客户的数据存储在同一表中。
图17示出了根据一个实施例的计算机系统的示例性形式的机器1700的示意图表示,在其中可以执行一组指令,用于使机器/计算机系统1700执行本文讨论的任何一种或更多种方法。在替代实施例中,该机器可以连接(例如,联网)到局域网(LAN)、内联网、外联网或公共互联网中的其他机器。该机器可以作为对等(或分布式)网络环境中的对等机器,作为按需服务环境中的服务器或一系列服务器,在客户端-服务器网络环境中以服务器或客户端机器的容量运行。机器的某些实施例可以是个人计算机(PC),平板电脑,机顶盒(STB),个人数字助理(PDA),蜂窝电话,网络设备,服务器,网络路由器,交换机或网桥,计算系统或能够执行一组指令(顺序指令或其他指令)的任何机器的形式,该组指令指定该机器要执行的操作。此外,虽然仅示出了单个机器,但是术语“机器”也应被认为包括单独地或共同地执行一组(或多组)指令以执行本文讨论的方法的任何一个或更多个的机器(例如,计算机)的任何集合。
示例性计算机系统1700包括处理器1702,主存储器1704(例如,只读存储器(ROM),闪存,动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等),静态存储器(诸如闪存),静态随机存取存储器(SRAM),易失性但高数据速率RAM等)以及辅助存储器1718(例如,包括硬盘驱动器和持久性数据库和/或多租户数据库实现的永久性存储设备),它们之间经由总线1730相互通信。主存储器1704包括区块链服务接口1724,通过该接口,主机组织的租户和用户与可用的受支持区块链(公共的或私人的)接合。主存储器1704还包括区块链共识管理器1723和区块验证器1725。主存储器1704及其子元件可与处理逻辑1726和处理器1702结合操作以执行本文讨论的方法。
处理器1702表示一个或更多个通用处理设备,例如微处理器,中央处理单元等。更具体地说,处理器1702可以是复杂指令集计算(CISC)微处理器,精简指令集计算(RISC)微处理器,超长指令字(VLIW)微处理器,实现其他指令集的处理器,或实现指令集组合的处理器。处理器1702还可以是一个或更多个专用处理设备,例如应用程序专用集成电路(ASIC),现场可编程门阵列(FPGA),数字信号处理器(DSP),网络处理器等。处理器1702被配置为执行处理逻辑1726,以执行本文所讨论的操作和功能。
计算机系统1700可以进一步包括网络接口卡1708。计算机系统1700还可以包括用户接口1710(诸如视频显示单元,液晶显示器等),字母数字输入设备1712(例如,键盘),光标控制设备1714(例如鼠标)和信号生成设备1716(例如集成扬声器)。计算机系统1700可以进一步包括外围设备1736(例如,无线或有线通信设备,内存设备,存储设备,音频处理设备,视频处理设备等)。
辅助存储器1718可以包括非暂时性机器可读存储介质或非暂时性计算机可读存储介质或非暂时性机器可访问存储介质1731,在其上存储了一组或更多组指令(例如,软件1722),其包含本文所述的任何一种或更多种方法或功能。在由计算机系统1700执行软件1722的过程中,软件1722也可以全部或至少部分地驻留在主存储器1704内和/或处理器1702内,主存储器1704和处理器1702也构成机器可读存储介质。可以经由网络接口卡1708通过网络1720进一步发送或接收软件1722。
任何权利要求均不意图援引35U.S.C.§115第6段,除非确切的词语“用于…的装置”后面有分词。尽管已经通过示例的方式并且根据具体实施例描述了本文公开的主题,但是应当理解,要求保护的实施例不限于所公开的明确列举的实施例。相反,本公开意在覆盖对本领域技术人员显而易见的各种修改和类似布置。因此,所附权利要求的范围应被赋予最宽泛的解释,以涵盖所有这样的修改和类似的布置。应当理解,以上描述意图是说明性的,而不是限制性的。在阅读和理解以上描述之后,许多其他实施例对于本领域技术人员将是显而易见的。因此,所公开的主题的范围将参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。

Claims (23)

1.一种由主机组织的系统执行的方法,所述系统中至少具有处理器和存储器,其中所述方法包括:
代表所述主机组织的多个租户对区块链的区块链接口进行操作,其中所述多个租户中的每个租户都是所述区块链的参与节点;
从用户设备接收登录请求,所述登录请求请求访问与所述多个租户中的第一租户相关联的用户简档;
认证所述用户设备并基于对所述用户设备的认证从所述区块链中检索用户简档,其中所述用户简档作为区块链资产存储在所述区块链中,其中所述用户简档的第一部分包括所述区块链上的所有参与节点都能够访问的不受保护的数据,并且其中所述用户简档的第二部分包括只有具有用户共识的参与节点才能访问的受保护的数据;
提示所述用户设备准许与所述多个租户中的第二租户共享所述受保护的数据的用户共识;以及
通过允许由所述第二租户的参与节点访问所述区块链资产内的所述受保护的数据,来与所述多个租户中的第二租户共享所述受保护的数据。
2.根据权利要求1所述的方法,其中所述主机组织的区块链共识管理器需要资产ID来从所述区块链访问所述受保护的数据。
3.根据权利要求1所述的方法,还包括:
从所述第二租户接收创建第二用户简档的请求;
为所述第二用户简档创建包括所述不受保护的信息的区块链资产;
经由区块链服务接口生成包括所述区块链资产的区块链交易;
将所述区块链交易广播到所述区块链上的流通中;以及
将经验证的区块链交易以区块形式提交给所述区块链。
4.根据权利要求3所述的方法,其中提示所述用户设备准许与所述多个租户中的第二租户共享所述受保护的数据的用户共识包括:
提示所述用户设备与所述第二租户共享所述受保护的数据以填充所述第二用户简档,其中所述第一用户简档和所述第二用户简档两者均与公共通用ID相关联;以及
其中与所述多个租户中的第二租户共享所述受保护的数据包括:用由所述第二租户的参与节点从所述区块链资产中检索到的所述受保护的数据填充所述第二用户简档。
5.根据权利要求1所述的方法:
其中通过允许访问所述区块链资产内的所述受保护的数据与所述多个租户中的第二租户共享所述受保护的数据包括:将所述区块链资产的资产ID发送给所述第二租户;以及
其中所述方法还包括:所述第二租户将所述资产ID呈现给区块链共识管理器,以访问所述区块链资产内的所述受保护的数据。
6.根据权利要求1所述的方法:
其中所述第一租户和第二租户中的每个租户均是作为由所述主机组织管理的医疗保健区块链的参与节点操作的医疗保健客户组织;
其中所述不受保护的数据至少包括与所述第一用户简档相关联的用户的名称;
其中所述受保护的数据至少包括经由具有代表所述用户包含在其中的所述第一用户简档的所述区块链资产存储在所述医疗保健区块链中内的受HIPAA(健康保险携带和责任法案)保护的医疗数据;以及
其中与所述多个租户中的第二租户共享所述受保护的数据包括:用户准许经由与所述第二租户相关联的第二用户简档与所述第二租户共享所述受HIPAA保护的医疗数据的共识。
7.根据权利要求1所述的方法:
其中所述第一租户和第二租户中的每个租户均是作为由所述主机组织管理的金融区块链的参与节点操作的金融客户组织;
其中所述不受保护的数据至少包括与所述第一用户简档相关联的用户的名称;
其中所述受保护的数据至少包括经由具有代表所述用户包含在其中的第一用户简档的所述区块链资产存储在所述金融区块链中的私人财务数据;以及
其中与所述多个租户中的第二租户共享所述受保护的数据包括:所述用户准许经由与所述第二租户相关联的第二用户简档与所述第二租户共享所述私人财务数据的共识。
8.根据权利要求1所述的方法,还包括:
通过以下项之一接收共享所述受保护的数据的所述用户共识:
(i)从已被验证为是与所述第一租户相关联的同一个人的所述第二租户的已认证用户接收所述用户共识;或者
(ii)从已向所述第一租户认证的所述用户设备接收所述用户共识,所述用户设备已被验证为是与所述第二租户相关联的同一个人。
9.根据权利要求1所述的方法:
其中与所述多个租户中的所述第二租户共享所述受保护的数据包括:所述主机组织经由区块链共识管理器验证所述第一租户和所述第二租户两者都具有与一个个人相关联的用户简档;以及
其中所述验证是基于从所述一个个人接收到所述第一租户和第二租户两者的用户简档均与公共通用ID相关联的证明,所述公共通用ID对所述主机组织内的所述一个个人而言是唯一的。
10.根据权利要求1所述的方法:
其中所述区块链资产经由所述区块链内唯一的区块链资产标识符或通用ID进行标识;以及
其中与所述受保护的数据相关联的一个个人能够基于所述区块链资产标识符或所述通用ID由所述主机组织的所述第一租户和所述第二租户两者唯一识别。
11.根据权利要求1所述的方法,还包括:
为与所述用户简档相关联的用户创建所述区块链的参与节点;
为与所述用户简档相关联的所述用户生成用户特定的社区侧链;
将所述第一租户的节点和所述第二租户的节点两者都添加到所述用户特定的社区侧链中;以及
其中共享所述受保护的数据包括:准许所述用户特定的社区侧链内的所有节点访问所述受保护的数据。
12.根据权利要求1所述的方法:
其中所述区块链的参与节点对访问所述用户简档的所述受保护的数据的任何尝试都会触发提示所述用户设备准许与尝试访问的参与节点共享所述受保护的数据的用户共识;
其中在请求解锁特定类别的受保护的信息或解锁特定文档或两者时,GUI被发送给所述用户设备;
其中所述用户经由所述GUI选择要解锁哪些类别和/或文档;
其中经由所述GUI解锁对任何类别或文档的访问的用户指示将链接发送到尝试访问所述受保护的数据的所述参与节点,经由该链接,能够通过所述主机组织的共识管理层从所述区块链访问所述受保护的信息。
13.具有存储在其上的指令的非暂时性计算机可读存储介质,所述指令在由其中至少具有处理器和存储器的主机组织的系统执行时,所述指令使所述系统执行以下操作:
代表所述主机组织的多个租户对区块链的区块链接口进行操作,其中所述多个租户中的每个租户都是所述区块链的参与节点;
从用户设备接收登录请求,所述登录请求请求访问与所述多个租户中的第一租户相关联的用户简档;
认证所述用户设备并基于对所述用户设备的认证从所述区块链中检索用户简档,其中所述用户简档作为区块链资产存储在所述区块链中,其中所述用户简档的第一部分包括所述区块链上的所有参与节点都能够访问的不受保护的数据,并且其中所述用户简档的第二部分包括只有具有用户共识的参与节点才能访问的受保护的数据;
提示所述用户设备准许与所述多个租户中的第二租户共享所述受保护的数据的用户共识;以及
通过允许由所述第二租户的参与节点访问所述区块链资产内的所述受保护的数据,来与所述多个租户中的第二租户共享所述受保护的数据。
14.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述指令使所述系统执行操作,所述操作还包括:
从所述第二租户接收创建第二用户简档的请求;
为所述第二用户简档创建包括所述不受保护的信息的区块链资产;
经由区块链服务接口生成包括所述区块链资产的区块链交易;
将所述区块链交易广播到所述区块链上的流通中;以及
将经验证的区块链交易以区块形式提交给所述区块链。
15.根据权利要求14所述的非暂时性计算机可读存储介质,其中提示所述用户设备准许与所述多个租户中的第二租户共享所述受保护的数据的用户共识包括:
提示所述用户设备与所述第二租户共享所述受保护的数据以填充所述第二用户简档,其中所述第一用户简档和所述第二用户简档两者均与公共通用ID相关联;以及
其中与所述多个租户中的第二租户共享所述受保护的数据包括:用由所述第二租户的参与节点从所述区块链资产中检索到的所述受保护的数据填充所述第二用户简档。
16.根据权利要求13所述的非暂时性计算机可读存储介质:
其中通过允许访问所述区块链资产内的所述受保护的数据与所述多个租户中的第二租户共享所述受保护的数据包括:将所述区块链资产的资产ID发送给所述第二租户;以及
其中所述方法还包括:所述第二租户将所述资产ID呈现给区块链共识管理器,以访问所述区块链资产内的所述受保护的数据。
17.根据权利要求13所述的非暂时性计算机可读存储介质,其中所述指令使所述系统执行操作,所述操作还包括:
通过以下项之一接收共享所述受保护的数据的所述用户共识:
(i)从已被验证为是与所述第一租户相关联的同一个人的所述第二租户的已认证用户接收所述用户共识;或者
(ii)从已被所述第一租户认证的所述用户设备接收所述用户共识,所述第一租户已被验证为是与所述第二租户相关联的同一个人。
18.根据权利要求13所述的非暂时性计算机可读存储介质:
其中所述区块链的参与节点对访问所述用户简档的所述受保护的数据的任何尝试都会触发提示所述用户设备准许与尝试访问的参与节点共享所述受保护的数据的用户共识;
其中在请求解锁特定类别的受保护的信息或解锁特定文档或两者时,GUI被发送给所述用户设备;
其中所述用户经由所述GUI选择要解锁哪些类别和/或文档;
其中经由所述GUI解锁对任何类别或文档的访问的用户指示将链接发送到尝试访问所述受保护的数据的所述参与节点,经由该链接,能够通过所述主机组织的共识管理层从所述区块链访问所述受保护的信息。
19.一种在主机组织处执行的系统,其中所述系统包括:
存储指令的存储器;
执行指令的处理器;
其中所述处理器用于代表所述主机组织的多个租户执行区块链的区块链接口,其中所述多个租户中的每个租户都是所述区块链的参与节点;
接收接口,用于从用户设备接收登录请求,所述登录请求请求访问与所述多个租户中的第一租户相关联的用户简档;
认证器,用于认证所述用户设备并基于对所述用户设备的认证从所述区块链中检索用户简档,其中所述用户简档作为区块链资产存储在所述区块链中,其中所述用户简档的第一部分包括所述区块链上的所有参与节点都能够访问的不受保护的数据,并且其中所述用户简档的第二部分包括只有具有用户共识的参与节点才能访问的受保护的数据;
区块链共识管理器,用于提示所述用户设备准许与所述多个租户中的第二租户共享所述受保护的数据的用户共识;以及
超级社区租户桥,用于通过允许由所述第二租户的参与节点访问所述区块链资产内的所述受保护的数据,来与所述多个租户中的第二租户共享所述受保护的数据。
20.根据权利要求19所述的系统,还包括:
所述接收接口,用于从所述第二租户接收创建第二用户简档的请求;
区块链服务接口,用于为所述第二用户简档创建包括所述不受保护的信息的区块链资产;
所述区块链服务接口,用于生成包括所述区块链资产的区块链交易;
所述区块链服务接口,用于将所述区块链交易广播到所述区块链上的流通中;以及
所述区块链服务接口,用于将经验证的区块链交易以区块形式提交给所述区块链。
21.根据权利要求19所述的系统,其中:
所述区块链共识管理器用于提示所述用户设备与所述第二租户共享所述受保护的数据以填充所述第二用户简档,其中所述第一用户简档和所述第二用户简档两者均与公共通用ID相关联;以及
其中所述超级社区租户桥用于用由所述第二租户的参与节点从所述区块链资产中检索到的所述受保护的数据填充所述第二用户简档。
22.根据权利要求19所述的系统,其中:
其中所述超级社区租户桥用于将所述区块链资产的资产ID发送给所述第二租户;以及
其中所述区块链共识管理器用于从所述第二租户接收所述资产ID,并根据接收到所述资产ID允许由所述第二租户访问所述区块链资产内的所述受保护的数据。
23.根据权利要求19所述的系统,其中:
其中所述区块链的参与节点对访问所述用户简档的所述受保护的数据的任何尝试都会触发提示所述用户设备准许与尝试访问的参与节点共享所述受保护的数据的用户共识;以及
其中所述系统还包括web服务器,用于在请求解锁特定类别的受保护的信息或解锁特定文档或两者时将GUI发送给所述用户设备;
其中所述接收接口用于经由所述GUI接收指示要解锁哪些类别和/或文档的用户选择;
其中用于经由所述GUI解锁对任何类别或文档的访问的所述用户选择触发所述区块链共识管理器向尝试访问所述受保护的数据的参与节点发送链接,其中所述链接使得能够通过所述主机组织的共识管理层从所述区块链访问所述受保护的信息。
CN201980021928.9A 2018-01-31 2019-01-31 在基于云的计算环境中用共识管理为分布式分类账技术实现超级社区和社区侧链的系统、方法和装置 Pending CN111919417A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/932,100 2018-01-31
US15/932,100 US10701054B2 (en) 2018-01-31 2018-01-31 Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
PCT/US2019/016199 WO2019152750A1 (en) 2018-01-31 2019-01-31 Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment

Publications (1)

Publication Number Publication Date
CN111919417A true CN111919417A (zh) 2020-11-10

Family

ID=65520395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980021928.9A Pending CN111919417A (zh) 2018-01-31 2019-01-31 在基于云的计算环境中用共识管理为分布式分类账技术实现超级社区和社区侧链的系统、方法和装置

Country Status (5)

Country Link
US (5) US10701054B2 (zh)
EP (1) EP3747153A1 (zh)
JP (2) JP2021512416A (zh)
CN (1) CN111919417A (zh)
WO (1) WO2019152750A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112365330A (zh) * 2020-11-12 2021-02-12 国网辽宁省电力有限公司营销服务中心 一种基于超级账本的可再生分布式能源统一价格双向拍卖的交易方法
CN112395341A (zh) * 2020-11-18 2021-02-23 深圳前海微众银行股份有限公司 一种基于联邦云合作网络的联邦学习管理方法及系统
CN113098694A (zh) * 2021-04-09 2021-07-09 杭州链网科技有限公司 一种混合跨链共识方法
CN113157809A (zh) * 2021-04-28 2021-07-23 杭州丽冠科技有限公司 基于区块链侧链的遍历方法、装置和计算机可读存储介质
CN113190729A (zh) * 2021-04-28 2021-07-30 湖北央中巨石信息技术有限公司 基于区块链的数据分类分级方法及系统
CN116701549A (zh) * 2023-06-21 2023-09-05 黑龙江禹桥科技开发有限公司 一种基于区块链的大数据多尺度融合监管系统及方法
US11770445B2 (en) 2022-01-25 2023-09-26 Salesforce, Inc. Decentralized information management database system
US11816098B2 (en) 2021-08-06 2023-11-14 Salesforce, Inc. Database system public trust ledger contract linkage
US11880349B2 (en) 2019-04-30 2024-01-23 Salesforce, Inc. System or method to query or search a metadata driven distributed ledger or blockchain
US11880372B2 (en) 2022-05-10 2024-01-23 Salesforce, Inc. Distributed metadata definition and storage in a database system for public trust ledger smart contracts
US11921887B2 (en) 2022-01-25 2024-03-05 Salesforce, Inc. Decentralized identity metaverse database system
US11989726B2 (en) 2021-09-13 2024-05-21 Salesforce, Inc. Database system public trust ledger token creation and exchange
US11995647B2 (en) 2019-04-30 2024-05-28 Salesforce, Inc. System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
US12002039B2 (en) 2021-11-02 2024-06-04 Salesforce, Inc. Database system public trust ledger multi-owner token architecture

Families Citing this family (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11785143B2 (en) * 2009-01-28 2023-10-10 Virtual Hold Technology Solutions, Llc System and method for secure storage and management of transitory data using a blockchain
US10778659B2 (en) * 2012-05-24 2020-09-15 Smart Security Systems Llc System and method for protecting communications
US20200389309A1 (en) * 2017-07-10 2020-12-10 Burstiq Analytics Corporation Systems and methods for accessing digital assets in a blockchain using owner consent contracts
US10701054B2 (en) 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
US11257073B2 (en) 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
CN108389118B (zh) * 2018-02-14 2020-05-29 阿里巴巴集团控股有限公司 资产管理系统、方法及装置、电子设备
CN108335207B (zh) 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108335206B (zh) 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
CN108416675A (zh) 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
TWI659373B (zh) * 2018-02-14 2019-05-11 財團法人工業技術研究院 區塊鏈系統及應用其的方法
CN108492180B (zh) 2018-02-14 2020-11-24 创新先进技术有限公司 资产管理方法及装置、电子设备
EP3528468B1 (en) * 2018-02-20 2021-04-07 Nokia Technologies Oy Profile information sharing
US10756904B1 (en) * 2018-02-22 2020-08-25 EMC IP Holding Company LLC Efficient and secure distributed ledger maintenance
US11088826B2 (en) * 2018-02-27 2021-08-10 International Business Machines Corporation Managing assets with expiration on a blockchain
US20190306235A1 (en) * 2018-03-27 2019-10-03 Makecents Llc Private Blockchain With Decentralized External Gateway
US11030161B2 (en) * 2018-03-28 2021-06-08 Exosite LLC Blockchain scaling method and blockchain scaling apparatus
EP3782387B1 (en) * 2018-04-16 2022-03-02 BC Development Labs GmbH Trustless stateless incentivized remote node network using minimal verification clients
US11159306B2 (en) * 2018-04-24 2021-10-26 Duvon Corporation Autonomous exchange via entrusted ledger token and transaction management
US10742397B2 (en) * 2018-04-26 2020-08-11 Jonathan Sean Callan Method and system for managing decentralized data access permissions through a blockchain
EP3785420A4 (en) * 2018-04-27 2022-01-19 Omnibek Ip Holding Llc MULTI-DECENTRALIZED PRIVATE BLOCKCHAIN NETWORK
US10928803B2 (en) 2018-05-02 2021-02-23 Rockwell Automation Technologies, Inc. Managing blockchains for multiple components in an industrial facility
US11550299B2 (en) 2020-02-03 2023-01-10 Strong Force TX Portfolio 2018, LLC Automated robotic process selection and configuration
US11544782B2 (en) 2018-05-06 2023-01-03 Strong Force TX Portfolio 2018, LLC System and method of a smart contract and distributed ledger platform with blockchain custody service
CA3098670A1 (en) 2018-05-06 2019-11-14 Strong Force TX Portfolio 2018, LLC Methods and systems for improving machines and systems that automate execution of distributed ledger and other transactions in spot and forward markets for energy, compute, storage and other resources
US11669914B2 (en) 2018-05-06 2023-06-06 Strong Force TX Portfolio 2018, LLC Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information
US10796022B2 (en) * 2018-05-16 2020-10-06 Ebay Inc. Weighted source data secured on blockchains
US11244059B2 (en) * 2018-05-17 2022-02-08 International Business Machines Corporation Blockchain for managing access to medical data
KR102092277B1 (ko) * 2018-05-17 2020-03-23 주식회사 엔터플 디지털 콘텐트 전달 추적 방법 및 장치
US11184171B2 (en) 2018-05-24 2021-11-23 Walmart Apollo, Llc System and methods for multi-variant tracking
WO2019226986A1 (en) 2018-05-24 2019-11-28 Walmart Apollo, Llc Nested blockchain system
CN108876606B (zh) * 2018-05-29 2021-02-09 创新先进技术有限公司 资产转移方法及装置、电子设备
US11122052B2 (en) * 2018-05-30 2021-09-14 International Business Machines Corporation Sensitive information accessibility in blockchain
US11049148B2 (en) * 2018-06-01 2021-06-29 Concord Technologies Inc. User control of anonymized profiling data using public and private blockchains in an electronic ad marketplace
CN110914849A (zh) * 2018-06-08 2020-03-24 安纳科技有限公司 用于保护区块链网络中的交易的系统和方法
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
US11281796B2 (en) * 2018-06-13 2022-03-22 At&T Intellectual Property I, L.P. Blockchain based information management
US11374738B2 (en) * 2018-06-18 2022-06-28 Make Great Sales Limited Methods and systems for generating, recording and retrieving digital transaction records
US20190392168A1 (en) * 2018-06-24 2019-12-26 Prifender Inc. System and method for monitoring flow of data elements of entities
CN109146679B (zh) * 2018-06-29 2023-11-10 创新先进技术有限公司 基于区块链的智能合约调用方法及装置、电子设备
CN109067541B (zh) * 2018-06-29 2020-09-22 阿里巴巴集团控股有限公司 基于区块链的数据验证方法及装置、电子设备
CN109246179B (zh) * 2018-06-30 2021-06-01 华为技术有限公司 维护区块链的方法和装置、服务器和计算机可读存储介质
US11693840B2 (en) * 2018-07-12 2023-07-04 International Business Machines Corporation Database storing authenticated skill-based attributes
US10956377B2 (en) * 2018-07-12 2021-03-23 EMC IP Holding Company LLC Decentralized data management via geographic location-based consensus protocol
US10911240B2 (en) * 2018-07-23 2021-02-02 Hitachi, Ltd. Off-chain blockchain storage with validation
US11169985B2 (en) * 2018-07-27 2021-11-09 Oracle International Corporation System and method for supporting SQL-based rich queries in hyperledger fabric blockchains
US11410174B2 (en) * 2018-08-07 2022-08-09 International Business Machines Corporation Custom blockchain for IoT devices
US11842322B2 (en) * 2018-08-22 2023-12-12 Equinix, Inc. Smart contract interpreter
US11030841B2 (en) * 2018-08-28 2021-06-08 Escapex Limited Decentralized talent discovery via blockchain
US11100533B1 (en) * 2018-09-14 2021-08-24 Facebook, Inc. Cryptographically generating custom audiences
US20210288814A1 (en) * 2018-09-18 2021-09-16 Newsouth Innovations Pty Limited A block chain-based system for multi-party, multistage process verification
US11157484B2 (en) 2018-09-19 2021-10-26 Salesforce.Com, Inc. Advanced smart contract with decentralized ledger in a multi-tenant environment
US11100091B2 (en) 2018-09-19 2021-08-24 Salesforce.Com, Inc. Lightweight node in a multi-tenant blockchain network
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
US11080247B2 (en) 2018-09-19 2021-08-03 Salesforce.Com, Inc. Field-based peer permissions in a blockchain network
US11038690B2 (en) * 2018-10-04 2021-06-15 EMC IP Holding Company LLC Policy-driven dynamic consensus protocol selection
US10944565B2 (en) * 2018-10-16 2021-03-09 International Business Machines Corporation Consented authentication
GB201816837D0 (en) * 2018-10-16 2018-11-28 Microsoft Technology Licensing Llc Database management
US10943003B2 (en) 2018-10-16 2021-03-09 International Business Machines Corporation Consented authentication
US10949548B2 (en) * 2018-10-18 2021-03-16 Verizon Patent And Licensing Inc. Systems and methods for providing multi-node resiliency for blockchain peers
US11146399B2 (en) * 2018-10-19 2021-10-12 Eygs Llp Methods and systems for retrieving zero-knowledge proof-cloaked data on distributed ledger-based networks
CN109658238B (zh) 2018-10-26 2020-06-16 阿里巴巴集团控股有限公司 数据处理方法及装置
US11288280B2 (en) 2018-10-31 2022-03-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consumer data validation, matching, and merging across tenants with optional verification prompts utilizing blockchain
US11568437B2 (en) 2018-10-31 2023-01-31 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing commerce rewards across tenants for commerce cloud customers utilizing blockchain
US11240001B2 (en) * 2018-11-06 2022-02-01 International Business Machines Corporation Selective access to asset transfer data
JP2022511084A (ja) * 2018-12-04 2022-01-28 ゼットイーユー・テクノロジーズ・インコーポレイテッド ブロックチェーン技術を用いてデータベースアプリケーションを増強するためのシステムおよび方法
FR3090156B1 (fr) * 2018-12-17 2022-03-04 Amadeus Sas Registre distribué
CN110708275B (zh) * 2018-12-18 2020-11-06 新华三技术有限公司 一种协议报文的处理方法和装置
CN110032568B (zh) * 2018-12-20 2020-05-12 阿里巴巴集团控股有限公司 数据结构的读取及更新方法、装置、电子设备
US11616816B2 (en) * 2018-12-28 2023-03-28 Speedchain, Inc. Distributed ledger based document image extracting and processing within an enterprise system
US10958637B2 (en) 2018-12-28 2021-03-23 Mox-SpeedChain, LLC Preselected issuance and data operations loops in a hybrid distributed network ecosystem
CN110046901B (zh) * 2018-12-28 2020-06-30 阿里巴巴集团控股有限公司 联盟链的可信度验证方法、系统、装置及设备
US20210329036A1 (en) * 2018-12-28 2021-10-21 Speedchain, Inc. Reconciliation Digital Facilitators in a Distributed Network
US11146403B2 (en) * 2019-01-15 2021-10-12 Dell Products L.P. Self-governed secure attestation policy for server data privacy logs
US11308439B2 (en) 2019-01-22 2022-04-19 Everseen Limited Goods receipt management system and method
US11876910B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT)
US11244313B2 (en) 2019-01-31 2022-02-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing declarative smart actions for coins and assets transacted onto a blockchain using distributed ledger technology (DLT)
US11783024B2 (en) 2019-01-31 2023-10-10 Salesforce, Inc. Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration
US11803537B2 (en) 2019-01-31 2023-10-31 Salesforce, Inc. Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT)
US11824864B2 (en) 2019-01-31 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (DLT)
US11811769B2 (en) 2019-01-31 2023-11-07 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
US11875400B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT)
US11899817B2 (en) 2019-01-31 2024-02-13 Salesforce, Inc. Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11886421B2 (en) 2019-01-31 2024-01-30 Salesforce, Inc. Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT)
US11488176B2 (en) 2019-01-31 2022-11-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing certificates of authenticity of digital twins transacted onto a blockchain using distributed ledger technology (DLT)
US11971874B2 (en) 2019-01-31 2024-04-30 Salesforce, Inc. Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT)
US10810183B1 (en) * 2019-02-19 2020-10-20 Mythical, Inc. Systems and methods for synchronizing database operations with a distributed blockchain
CN113574843A (zh) 2019-03-15 2021-10-29 埃尔森有限公司 用于异常监测的分布式日志
CN110598394B (zh) * 2019-03-28 2021-12-21 腾讯科技(深圳)有限公司 一种权限验证方法、装置和存储介质
US20220200973A1 (en) * 2019-04-15 2022-06-23 Bear System, LLC Blockchain schema for secure data transmission
US11502838B2 (en) 2019-04-15 2022-11-15 Eygs Llp Methods and systems for tracking and recovering assets stolen on distributed ledger-based networks
US11677563B2 (en) 2019-04-15 2023-06-13 Eygs Llp Systems, apparatus and methods for local state storage of distributed ledger data without cloning
US11483143B2 (en) * 2019-04-15 2022-10-25 Smart Security Systems, Llc Enhanced monitoring and protection of enterprise data
US11943358B2 (en) 2019-04-15 2024-03-26 Eygs Llp Methods and systems for identifying anonymized participants of distributed ledger-based networks using zero-knowledge proofs
US11038771B2 (en) 2019-04-26 2021-06-15 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)
US11106812B2 (en) 2019-05-09 2021-08-31 At&T Intellectual Property I, L.P. Controlling access to datasets described in a cryptographically signed record
US11431486B2 (en) 2019-05-22 2022-08-30 Salesforce.Com, Inc. System or method to implement consensus on read on distributed ledger/blockchain
US10699269B1 (en) 2019-05-24 2020-06-30 Blockstack Pbc System and method for smart contract publishing
US11513815B1 (en) * 2019-05-24 2022-11-29 Hiro Systems Pbc Defining data storage within smart contracts
US11657391B1 (en) 2019-05-24 2023-05-23 Hiro Systems Pbc System and method for invoking smart contracts
US20200380091A1 (en) * 2019-05-30 2020-12-03 Samsung Electronics Co., Ltd. Method, electronic device, computer program, and system for secure data sharing using blockchain network
US11606442B2 (en) * 2019-06-07 2023-03-14 Microsoft Technology Licensing, Llc Subscription to edits of blockchain transaction
US10469605B1 (en) * 2019-06-28 2019-11-05 Beatdapp Software Inc. System and method for scalably tracking media playback using blockchain
US11474846B2 (en) * 2019-07-11 2022-10-18 Microsoft Technology Licensing, Llc Controller for bridging database architectures
US11036872B2 (en) * 2019-07-25 2021-06-15 Sap Se Privacy-preserving sum-based consistency checks for blockchains
US11586614B2 (en) * 2019-07-30 2023-02-21 Oracle International Corporation Native persistent store support for blockchains
US11481499B2 (en) * 2019-08-05 2022-10-25 Visa International Service Association Blockchain security system
TWI717798B (zh) * 2019-08-06 2021-02-01 郭谷彰 架構於區塊鏈的密鑰保存方法及檔案分享與存取系統
US10726002B1 (en) * 2019-08-19 2020-07-28 DLT Global Inc. Relational data management and organization using DLT
CN110503416B (zh) * 2019-08-29 2023-08-22 腾讯科技(深圳)有限公司 数值转移方法、装置、计算机设备及存储介质
US11640391B2 (en) 2019-09-11 2023-05-02 Oracle International Corporation Supporting blockchain collections in a database
US11431473B2 (en) * 2019-09-20 2022-08-30 Mastercard International Incorporated Method and system for distribution of a consistent ledger across multiple blockchains
US11303629B2 (en) * 2019-09-26 2022-04-12 Bank Of America Corporation User authentication using tokens
US11329823B2 (en) 2019-09-26 2022-05-10 Bank Of America Corporation User authentication using tokens
JP2021057887A (ja) * 2019-09-29 2021-04-08 工藤 健司 データ構造
US11297029B2 (en) * 2019-10-02 2022-04-05 Paypal, Inc. System and method for unified multi-channel messaging with block-based datastore
US11115804B2 (en) 2019-10-04 2021-09-07 Microsoft Technology Licensing, Llc Subscription to dependencies in smart contracts
US11290294B2 (en) * 2019-10-04 2022-03-29 Sap Se Collaboration hub with blockchain verification
CN110717759A (zh) * 2019-10-18 2020-01-21 成都九宽科技有限公司 一种跨链锚定的区块链异构系统
CN110933040B (zh) * 2019-11-05 2021-11-12 武汉菲旺软件技术有限责任公司 基于区块链的数据上链方法、装置、设备及介质
WO2020035089A2 (en) 2019-11-08 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. System and method for blockchain-based decentralized application development
WO2020035090A2 (en) 2019-11-08 2020-02-20 Alipay (Hangzhou) Information Technology Co., Ltd. Lightweight decentralized application platform
CN111046416B (zh) * 2019-11-18 2022-12-23 中晗控股集团有限公司 基于区块链的大健康数据管理系统
US11032081B1 (en) * 2019-12-09 2021-06-08 Capital One Services, Llc System and method for authorizing secondary users to access a primary user's account using blockchain
US11750392B1 (en) 2019-12-10 2023-09-05 Hiro Systems Pbc Authenticated index data structure with back-pointers
US11876890B2 (en) * 2019-12-10 2024-01-16 International Business Machines Corporation Anonymization of partners
US11823120B2 (en) * 2019-12-13 2023-11-21 Salesforce, Inc. System or method of verifying an asset using blockchain and collected asset and device information
CN111262921B (zh) * 2020-01-13 2022-11-11 北京百度网讯科技有限公司 基于区块链网络的应用请求处理方法、装置、设备和介质
US20210224253A1 (en) * 2020-01-20 2021-07-22 International Business Machines Corporation Conflict-free version control
US11824970B2 (en) 2020-01-20 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules
JP7436005B2 (ja) * 2020-01-21 2024-02-21 日本電気通信システム株式会社 コマンド変換処理装置、コマンド変換処理方法、制御プログラム、及び処理装置
CN111294210B (zh) * 2020-01-22 2023-09-19 腾讯科技(深圳)有限公司 一种医疗信息的管理方法及相关设备
US11144335B2 (en) 2020-01-30 2021-10-12 Salesforce.Com, Inc. System or method to display blockchain information with centralized information in a tenant interface on a multi-tenant platform
US11611560B2 (en) 2020-01-31 2023-03-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform
US11982993B2 (en) 2020-02-03 2024-05-14 Strong Force TX Portfolio 2018, LLC AI solution selection for an automated robotic process
KR102217052B1 (ko) * 2020-02-26 2021-02-18 (주)소셜인프라테크 블록체인 기반 합의를 통한 전자문서 통합 관리 시스템
KR102351050B1 (ko) * 2020-03-11 2022-01-13 (주)소셜인프라테크 블록체인 기반 전자 합의 문서를 이용한 그룹 전산 관리 시스템
US11349775B2 (en) * 2020-03-16 2022-05-31 Nec Corporation Multi-resource and autonomous hierarchical brokering platform to enable slice resource exchange among heterogeneous network tenants
US11570183B2 (en) * 2020-04-15 2023-01-31 Sap Se Tenant grouping for secure transport of content
US11893002B2 (en) 2020-05-04 2024-02-06 Salesforce, Inc. System or method to run distributed validation of workflows across a network in a shared distributed ledger in multi-tenant cloud environment
JP2021177267A (ja) * 2020-05-05 2021-11-11 豊 仲宗根 取引システム、取引システムの制御方法及び取引システムの制御プログラム
US11797698B2 (en) 2020-06-15 2023-10-24 Concord Technologies Inc. Decentralized consent network for decoupling the storage of personally identifiable user data from user profiling data
US11361112B2 (en) 2020-07-07 2022-06-14 Mastercard International Incorporated Managing secure document exchanges
CN112818380A (zh) * 2020-07-10 2021-05-18 支付宝(杭州)信息技术有限公司 业务行为的回溯处理方法、装置、设备及系统
CA3186249A1 (en) * 2020-07-20 2022-01-27 Victoria LEMIEUX Digital ledger based health data sharing and management
US11875178B2 (en) 2020-07-30 2024-01-16 Oracle International Corporation Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems
US11551819B2 (en) 2020-07-31 2023-01-10 Salesforce.Com, Inc. Contact tracing as a service using a database system
US20230274361A1 (en) * 2020-08-13 2023-08-31 Cadwalader, Wickersham & Taft Llp Distributed ledger technology for asset-backed securities
WO2022046524A1 (en) * 2020-08-24 2022-03-03 Burstiq, Inc. Systems and methods for accessing digital assets in a blockchain using owner consent contracts
US11651096B2 (en) * 2020-08-24 2023-05-16 Burstiq, Inc. Systems and methods for accessing digital assets in a blockchain using global consent contracts
USD985577S1 (en) 2020-08-28 2023-05-09 Salesforce.Com, Inc. Display screen or portion thereof with graphical user interface
USD985006S1 (en) 2020-08-28 2023-05-02 Salesforce.Com, Inc. Display screen or portion thereof with graphical user interface
CN112037058B (zh) * 2020-08-28 2024-03-26 平安科技(深圳)有限公司 数据验证方法、装置及存储介质
CN111800438B (zh) * 2020-09-07 2020-12-01 中国信息通信研究院 实现数据共享的信息处理方法及相关装置
US11954183B2 (en) 2020-10-09 2024-04-09 Salesforce, Inc. System and method using metadata to manage packaged applications components based on tenant licenses
US10958450B1 (en) * 2020-10-15 2021-03-23 ISARA Corporation Constructing a multiple-entity root certificate data block chain
US11720547B2 (en) * 2020-11-03 2023-08-08 Sap Se Blockchain service based application generator
CN112468565A (zh) * 2020-11-19 2021-03-09 江苏省测绘资料档案馆 基于区块链的空间数据完整性管理和共享流程跟踪的系统
CN112714437B (zh) * 2020-12-23 2022-11-04 平安普惠企业管理有限公司 基于区块链的虚拟号码激活方法、装置以及计算机设备
CN112286643B (zh) * 2020-12-24 2021-04-20 北京百度网讯科技有限公司 以太坊虚拟机的事务处理方法、装置、设备和介质
CN112306645B (zh) * 2020-12-24 2021-05-04 北京百度网讯科技有限公司 以太坊虚拟机的事务处理方法、装置、设备和介质
CN112686028B (zh) * 2020-12-25 2021-09-03 掌阅科技股份有限公司 基于相似词的文本翻译方法、计算设备及计算机存储介质
CN112631613A (zh) * 2020-12-29 2021-04-09 杭州趣链科技有限公司 基于区块链平台的智能合约部署和调用方法及相关设备
US20220217136A1 (en) * 2021-01-04 2022-07-07 Bank Of America Corporation Identity verification through multisystem cooperation
SE545248C2 (en) * 2021-01-07 2023-06-07 O Mail Ab Method and system for managing digital, electronic communication
US11810031B2 (en) 2021-01-29 2023-11-07 Salesforce, Inc. On-site appointment assistant
USD1024089S1 (en) 2021-01-29 2024-04-23 Salesforce, Inc. Display screen or portion thereof with graphical user interface
USD1023041S1 (en) 2021-01-29 2024-04-16 Salesforce, Inc. Display screen or portion thereof with graphical user interface
US11902852B2 (en) 2021-01-29 2024-02-13 Salesforce, Inc. On-site appointment assistant
WO2022197861A2 (en) * 2021-03-17 2022-09-22 Ode Holdings, Inc. System and method for decentralized, controlled, and managed consumer personal data
CN114281887B (zh) * 2021-04-07 2022-08-05 暗链科技(深圳)有限公司 基于区块分布式区块链的数据保存方法及电子设备
US11606424B1 (en) * 2021-04-23 2023-03-14 Amdocs Development Limited System, method, and computer program for blockchain-based entity group management
CN113239375B (zh) * 2021-05-13 2022-06-17 杭州趣链科技有限公司 基于区块链的隐私要素数据共享系统、方法、计算机设备及介质
DE102021205095A1 (de) 2021-05-19 2022-11-24 Continental Automotive Technologies GmbH Verfahren, Recheneinheit und Blockchainsystem zur Generierung einer Blockkettenallianz
CN113271311B (zh) * 2021-05-28 2022-11-15 中国人民银行数字货币研究所 一种跨链网络中的数字身份管理方法及系统
KR102348072B1 (ko) * 2021-05-31 2022-01-06 조민규 양방향 소셜 블록체인 플랫폼 및 이를 이용한 소셜코인 발행 및 결제방법
CN113364771B (zh) * 2021-06-04 2023-08-11 佳乔(深圳)投资有限公司 一种基于区块链的物联网数据共享方法
US11695573B2 (en) * 2021-07-23 2023-07-04 International Business Machines Corporation Blockchain controlled cross-domain data transfer
JP2023034774A (ja) * 2021-08-31 2023-03-13 ジョン、ピュン ブロックチェーンを用いたメタバース空間内のユーザーカスタマイズ広告提供システム及び方法
CN113626850B (zh) * 2021-10-13 2022-03-11 北京百度网讯科技有限公司 基于联盟链的请求处理方法、装置、设备和存储介质
US11856004B2 (en) * 2022-03-18 2023-12-26 Capital One Services, Llc Systems and methods for identifying malicious cryptographic addresses
WO2023194888A1 (en) * 2022-04-08 2023-10-12 De Cosmo Pierluigi Giuseppe System for managing the processing of a user' s personal details
US20230328050A1 (en) * 2022-04-08 2023-10-12 Micro Focus Llc Using authentication credentials to validate blockchain additions
US20230336355A1 (en) * 2022-04-14 2023-10-19 Philip Lewander Data protection on distributed data storage (dds) protection networks
US11539810B1 (en) * 2022-05-16 2022-12-27 International Business Machines Corporation Data stream management
CN114826779B (zh) * 2022-06-22 2022-09-02 军事科学院系统工程研究院网络信息研究所 一种分布式多方数据安全共享方法和系统
US11989267B2 (en) * 2022-08-29 2024-05-21 Black Atom Technologies, Inc. Blockchain encoding system
US20240144246A1 (en) * 2022-11-02 2024-05-02 Opentensor Foundation System and method for proof-of-stake validated serving of stake-prioritized utility
CN116894650A (zh) * 2023-06-05 2023-10-17 云南大学 具有隐私保护的电子商务环境下多组织协同过程构建方法
CN116594971B (zh) * 2023-07-17 2023-09-29 山东天意装配式建筑装备研究院有限公司 基于bim的装配式建筑数据优化存储方法
CN117640248B (zh) * 2024-01-15 2024-03-29 湖北华中电力科技开发有限责任公司 基于区块链的电力数据共享方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101258483A (zh) * 2005-09-09 2008-09-03 易享信息技术(上海)有限公司 用于在多租户数据库环境中导出、发布、浏览和安装随需应用的系统及其方法
CN103118053A (zh) * 2011-08-17 2013-05-22 国际商业机器公司 在网络计算环境中构建数据安全性的方法和系统
CN106453435A (zh) * 2016-12-21 2017-02-22 中国人民解放军72537部队 一种基于区块链的数据共享授权方法
CN106651346A (zh) * 2016-11-28 2017-05-10 上海凯岸信息科技有限公司 基于区块链的征信数据共享与交易系统
CN107391944A (zh) * 2017-07-27 2017-11-24 北京太云科技有限公司 一种基于区块链的电子病历共享系统

Family Cites Families (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5634053A (en) 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US6333929B1 (en) 1997-08-29 2001-12-25 Intel Corporation Packet format for a distributed system
US8095463B1 (en) 1999-08-02 2012-01-10 Openwave Systems Inc. System and method for prepaid account replenishment
US20050102159A1 (en) 2003-11-06 2005-05-12 Mondshine Robert B. Computer based risk level monitor and patient compliance method and system
JP2005148796A (ja) * 2003-11-11 2005-06-09 Sony Corp コンテンツ管理配信システム、コンテンツ管理配信方法、端末装置およびサーバ装置
US7578430B2 (en) 2004-12-06 2009-08-25 First Date Corporation Loyalty program enrollment systems and methods
US20060259361A1 (en) 2005-05-11 2006-11-16 Barhydt William J System and method for mobile loyalty program
PL1971681T3 (pl) 2005-12-16 2018-01-31 Depuy Synthes Products Inc Kompozycje oraz sposoby do hamowania niepożądanej odpowiedzi immunologicznej w przypadku transplantacji z brakiem zgodności tkankowej
US7587348B2 (en) 2006-03-24 2009-09-08 Basepoint Analytics Llc System and method of detecting mortgage related fraud
US8424061B2 (en) 2006-09-12 2013-04-16 International Business Machines Corporation Method, system and program product for authenticating a user seeking to perform an electronic service request
US7615988B2 (en) 2007-02-12 2009-11-10 Rockwell Automation Technologies, Inc. Wide range current sensing method and system
US20090037949A1 (en) 2007-02-22 2009-02-05 Birch James R Integrated and synchronized cross platform delivery system
US20110289425A1 (en) 2010-05-20 2011-11-24 Salesforce.Com, Inc. Methods and systems for providing a user interface in a multi-tenant database environment
EP2692092B1 (en) 2011-03-28 2014-12-17 Citrix Systems Inc. Systems and methods for tracking application layer flow via a multi-connection intermediary device
US20130226682A1 (en) 2012-02-28 2013-08-29 Bank Of America Corporation Person-to-person transaction identification of coupons and loyalty cards
US10984913B2 (en) 2012-04-27 2021-04-20 Netspective Communications Llc Blockchain system for natural language processing
US9690822B2 (en) 2012-05-09 2017-06-27 Salesforce.Com, Inc. System and method for metadata level validation of custom setup objects
US20170140145A1 (en) 2012-05-14 2017-05-18 Netspective Communications Llc Computer-controlled physically distributed collaborative asynchronous digital transactions
US20130346173A1 (en) 2012-06-25 2013-12-26 Ebay, Inc. Driving New User Acquisition from Payment Transactions
US9836759B2 (en) 2012-08-06 2017-12-05 Randolph Ken Georgi Universal transaction associating identifier
US9027094B1 (en) 2013-01-29 2015-05-05 Intuit Inc. Associating data initially with devices and subsequently with accounts
US20140278894A1 (en) 2013-03-15 2014-09-18 Universal Loyalty, Inc. Universal loyalty rewards and currency consolidation
US9898741B2 (en) 2013-07-17 2018-02-20 Visa International Service Association Real time analytics system
US9836908B2 (en) 2014-07-25 2017-12-05 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
US20160042383A1 (en) 2014-08-07 2016-02-11 Netincent, Inc. Customer Reward Systems and Methods
US11257074B2 (en) 2014-09-29 2022-02-22 Visa International Service Association Transaction risk based token
US20160148251A1 (en) 2014-11-24 2016-05-26 Adobe Systems Incorporated Risk Quantification for Policy Deployment
US9569700B1 (en) 2014-12-17 2017-02-14 Amazon Technologies, Inc. Identification of item attributes using artificial intelligence
US10367817B2 (en) 2014-12-22 2019-07-30 University Of South Florida Systems and methods for challengeless coauthentication
EP3051675A1 (fr) 2015-01-27 2016-08-03 GE Energy Power Conversion Technology Ltd Rotor à cage d'écureuil et moteur asynchrone comportant un tel rotor
EP3872666A1 (fr) 2015-01-30 2021-09-01 Enrico Maim Systèmes et procédés pour la gestion d'engagements en réseau d'entités sécurisées
US11200564B2 (en) 2015-03-31 2021-12-14 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US20160350860A1 (en) 2015-05-27 2016-12-01 Bank Of America Corporation Modifying an estimated financial plan
US20160358267A1 (en) 2015-06-02 2016-12-08 Elwha Llc Machine/article/composition/process state(s) for tracking philanthropic and/or other efforts
US20160364743A1 (en) 2015-06-11 2016-12-15 Mastercard International Incorporated Data enhancement analysis with respect to merchants' customer loyalty accounts
EP3317775B1 (en) 2015-07-02 2022-02-16 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20170085545A1 (en) 2015-07-14 2017-03-23 Fmr Llc Smart Rules and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
US20180191503A1 (en) 2015-07-14 2018-07-05 Fmr Llc Asynchronous Crypto Asset Transfer and Social Aggregating, Fractionally Efficient Transfer Guidance, Conditional Triggered Transaction, Datastructures, Apparatuses, Methods and Systems
WO2017021155A1 (en) 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Controlled resource provisioning in distributed computing environments
WO2017027484A1 (en) 2015-08-09 2017-02-16 Ramasamy Celambarasan System and method for microshare based content funding and distribution
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
JP6951329B2 (ja) * 2015-10-14 2021-10-20 ケンブリッジ ブロックチェーン,エルエルシー デジタルアイデンティティを管理するためのシステム及び方法
US20170132625A1 (en) 2015-11-05 2017-05-11 Mastercard International Incorporated Method and system for use of a blockchain in a transaction processing network
US11941588B2 (en) 2015-11-06 2024-03-26 Cable Television Laboratories, Inc. Systems and methods for blockchain virtualization and scalability
US20170132615A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
US10521780B1 (en) 2015-12-16 2019-12-31 United Services Automobile Association (Usaa) Blockchain based transaction management
US11138603B2 (en) 2016-01-08 2021-10-05 Worldpay, Llc Dynamically configurable transaction management controller and method thereof
CN108780560A (zh) 2016-01-20 2018-11-09 梅兹亚德·M·阿尔马苏德 用于管理基于人才的交换的系统和方法
WO2017134281A1 (en) 2016-02-04 2017-08-10 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US20170236215A1 (en) 2016-02-11 2017-08-17 International Business Machines Corporation User experience using social and financial information
SG10202011640TA (en) 2016-02-23 2021-01-28 Nchain Holdings Ltd System and method for controlling asset-related actions via a blockchain
CN109313763B (zh) 2016-03-31 2023-02-28 比特飞翔区块链株式会社 层次型网络系统以及用于层次型网络系统的节点
WO2017173271A1 (en) 2016-04-01 2017-10-05 Jpmorgan Chase Bank, N.A. Systems and methods for providing data privacy in a private distributed ledger
US10212145B2 (en) * 2016-04-06 2019-02-19 Avaya Inc. Methods and systems for creating and exchanging a device specific blockchain for device authentication
EP3229418B1 (en) 2016-04-07 2019-01-09 Telefonica, S.A. A method to assure correct data packet traversal through a particular path of a network
US10404469B2 (en) 2016-04-08 2019-09-03 Chicago Mercantile Exchange Inc. Bilateral assertion model and ledger implementation thereof
US10720232B2 (en) 2016-04-13 2020-07-21 Accenture Global Solutions Limited Distributed healthcare records management
US11010729B2 (en) 2016-04-14 2021-05-18 Pricewaterhousecoopers Llp Cryptoconomy solution for administration and governance in a distributed system
US10529042B2 (en) 2016-04-18 2020-01-07 Rs Ltd. System and method for managing transactions in dynamic digital documents
US20170344988A1 (en) 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
US10447478B2 (en) 2016-06-06 2019-10-15 Microsoft Technology Licensing, Llc Cryptographic applications for a blockchain system
US10558645B2 (en) 2016-06-15 2020-02-11 Level 3 Communications, Llc Systems and methods for an enterprise data integration and troubleshooting tool
US10108954B2 (en) 2016-06-24 2018-10-23 PokitDok, Inc. System and method for cryptographically verified data driven contracts
US10929866B1 (en) 2016-06-27 2021-02-23 Square, Inc. Frictionless entry into combined merchant loyalty program
WO2018006072A1 (en) 2016-06-30 2018-01-04 Clause, Inc. Systems and method for forming, storing, managing,and executing contracts
GB201611849D0 (en) 2016-07-07 2016-08-24 Univ Of Nottingham The Sulfated glycopolymers
GB201611948D0 (en) 2016-07-08 2016-08-24 Kalypton Int Ltd Distributed transcation processing and authentication system
US10700853B2 (en) 2016-07-12 2020-06-30 International Business Machines Corporation Token identity and attribute management
US10425399B2 (en) 2016-07-12 2019-09-24 International Business Machines Corporation Template-based distributed certificate issuance in a multi-tenant environment
US10878522B2 (en) 2016-08-18 2020-12-29 First American Financial Corporation Systems and methods for using blockchains to record, manage, and transfer ownership rights to land titles
US11170346B2 (en) 2016-09-19 2021-11-09 Sap Se Decentralized credentials verification network
US10185550B2 (en) 2016-09-28 2019-01-22 Mcafee, Inc. Device-driven auto-recovery using multiple recovery sources
US20180123779A1 (en) 2016-11-01 2018-05-03 Jiangang Zhang Flexible Blockchain Smart-Contract Deployment
US10158611B2 (en) 2016-11-17 2018-12-18 Bank Of America Corporation System for multiplexing and demultiplexing blockchain ledgers via a cryptographic hash
US20190287116A1 (en) 2016-11-21 2019-09-19 Isx Ip Ltd Identifying an entity
US10657158B2 (en) 2016-11-23 2020-05-19 Google Llc Template-based structured document classification and extraction
US11170395B2 (en) 2016-12-02 2021-11-09 Stack Fintech Inc. Digital banking platform and architecture
US20180165416A1 (en) 2016-12-09 2018-06-14 Cognitive Scale, Inc. Method for Providing Healthcare-Related, Blockchain-Associated Cognitive Insights Using Blockchains
US10311230B2 (en) 2016-12-24 2019-06-04 Cisco Technology, Inc. Anomaly detection in distributed ledger systems
JP6827327B2 (ja) 2017-01-05 2021-02-10 株式会社日立製作所 分散コンピューティングシステム
US11631077B2 (en) 2017-01-17 2023-04-18 HashLynx Inc. System for facilitating secure electronic communications between entities and processing resource transfers
US20180218176A1 (en) 2017-01-30 2018-08-02 SALT Lending Holdings, Inc. System and method of creating an asset based automated secure agreement
US20180247191A1 (en) 2017-02-03 2018-08-30 Milestone Entertainment Llc Architectures, systems and methods for program defined entertainment state system, decentralized cryptocurrency system and system with segregated secure functions and public functions
US11023815B2 (en) 2017-02-14 2021-06-01 Cognitive Scale, Inc. Temporal topic machine learning operation
US10796234B2 (en) 2017-02-14 2020-10-06 Cognitive Scale, Inc. Ranked insight machine learning operation
WO2018152519A1 (en) 2017-02-20 2018-08-23 AlphaPoint Performance of distributed system functions using a trusted execution environment
US11023823B2 (en) 2017-03-03 2021-06-01 Facebook, Inc. Evaluating content for compliance with a content policy enforced by an online system using a machine learning model determining compliance with another content policy
WO2018158936A1 (ja) 2017-03-03 2018-09-07 日本電気株式会社 ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム
WO2018170321A1 (en) 2017-03-15 2018-09-20 Exari Group, Inc. Machine evaluation of contract terms
CA3056717A1 (en) 2017-03-17 2018-09-20 Royal Bank Of Canada Systems and methods for hybrid blockchain platform
US20180276626A1 (en) 2017-03-21 2018-09-27 Dappsters, LLC Blockchain systems and methods
US20180276553A1 (en) 2017-03-22 2018-09-27 Cisco Technology, Inc. System for querying models
US10042636B1 (en) 2017-04-11 2018-08-07 Accenture Global Solutions Limited End-to end project management platform with artificial intelligence integration
WO2018194707A1 (en) 2017-04-20 2018-10-25 Aci Worldwide Corp. System and computer-implemented method for generating synthetic production data for use in testing and modeling
US10643139B2 (en) 2017-04-20 2020-05-05 Cognitive Scale, Inc. Cognitive attribution
US10762506B1 (en) 2017-05-11 2020-09-01 United Services Automobile Association Token device for distributed ledger based interchange
US20180367528A1 (en) 2017-06-12 2018-12-20 Cyberark Software Ltd. Seamless Provision of Authentication Credential Data to Cloud-Based Assets on Demand
US10663303B2 (en) 2017-06-12 2020-05-26 Panasonic Intellectual Property Management Co., Ltd. System and method for dynamically authenticating map data using blockchains
US11055703B2 (en) 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
US10944546B2 (en) 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
US20190012595A1 (en) 2017-07-07 2019-01-10 Pointr Data, Inc. Neural network consensus using blockchain
US20190019090A1 (en) 2017-07-12 2019-01-17 Accenture Global Solutions Limited Field services platform
US9978067B1 (en) 2017-07-17 2018-05-22 Sift Science, Inc. System and methods for dynamic digital threat mitigation
US10839379B2 (en) 2017-07-20 2020-11-17 Chicago Mercantile Exchange Inc. Blockchain including linked digital assets
WO2019023286A1 (en) 2017-07-24 2019-01-31 Martino William SYSTEMS, METHODS AND APPARATUS BASED ON BLOCK CHAIN TO SECURE ACCESS TO INFORMATION STORES
US10452776B2 (en) 2017-07-28 2019-10-22 International Business Machines Corporation Cognitive mediator for generating blockchain smart contracts
US20190058709A1 (en) * 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
US10361870B2 (en) 2017-09-14 2019-07-23 The Toronto-Dominion Bank Management of cryptographically secure exchanges of data using permissioned distributed ledgers
US10891689B2 (en) 2017-09-15 2021-01-12 Hitachi, Ltd. Consent management service system
WO2019055507A1 (en) 2017-09-15 2019-03-21 Identify3D, Inc. SYSTEM AND METHOD FOR MANAGING AND SECURING DATA FOR DIGITAL MANUFACTURING
US10599205B2 (en) 2017-09-18 2020-03-24 Verizon Patent And Licensing Inc. Methods and systems for managing machine learning involving mobile devices
US10528551B2 (en) 2017-09-29 2020-01-07 Oracle International Corporation System and method for providing a representational state transfer proxy service for a blockchain cloud service
US10491375B2 (en) 2017-10-05 2019-11-26 Accenture Global Solutions Limited Secure verification of conditions of a contract using a set of verification tools
US10361859B2 (en) 2017-10-06 2019-07-23 Stealthpath, Inc. Methods for internet communication security
US11699166B2 (en) 2017-10-09 2023-07-11 American Express Travel Related Services Company, Inc. Multi-merchant loyalty point partnership
CN108021986A (zh) 2017-10-27 2018-05-11 平安科技(深圳)有限公司 电子装置、多模型样本训练方法和计算机可读存储介质
US11699201B2 (en) 2017-11-01 2023-07-11 Docusign, Inc. System and method for blockchain-based network transitioned by a legal contract
US11042934B2 (en) 2017-11-13 2021-06-22 Bank Of America Corporation Crypto-machine learning enabled blockchain based profile pricer
US11025419B2 (en) 2017-11-15 2021-06-01 Alexander J. M. Van Der Velden System for digital identity authentication and methods of use
US10567168B2 (en) 2017-11-16 2020-02-18 International Business Machines Corporation Blockchain transaction privacy enhancement through broadcast encryption
US20190158270A1 (en) 2017-11-21 2019-05-23 International Business Machines Corporation Exchanging Asset, Maintenance, And Spares Parts Information Via Blockchain
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
EP3489874A1 (en) 2017-11-27 2019-05-29 Wipro Limited System and method for dual blockchain based validation of instrument reference data and transaction reporting
US11227457B2 (en) 2017-12-02 2022-01-18 International Business Machines Corporation Blockchain managed storage
US11177961B2 (en) 2017-12-07 2021-11-16 Nec Corporation Method and system for securely sharing validation information using blockchain technology
US10320843B1 (en) 2017-12-08 2019-06-11 Symbiont.Io, Inc. Methods, systems, and devices for encrypted electronic storage and confidential network transfer of private data through a trustless distributed ledger technology system
US20190188706A1 (en) 2017-12-18 2019-06-20 Apple Inc. Transference tracking
US11288740B2 (en) 2017-12-29 2022-03-29 Intel Corporation Securing distributed electronic wallet shares
US10885567B2 (en) 2018-01-05 2021-01-05 American Express Travel Related Services Company, Inc. Method, computer-based system, and non-transitory computer readable storage medium utilizing machine learning to prevent fraud with a digital wallet
US10659217B2 (en) 2018-01-05 2020-05-19 Bank Of America Corporation Blockchain-based automated user matching
US11249982B2 (en) 2018-01-19 2022-02-15 Acronis International Gmbh Blockchain-based verification of machine learning
US20190238316A1 (en) 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment
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
US10701054B2 (en) 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
US11257073B2 (en) 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US20190236562A1 (en) 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment
US20190236606A1 (en) 2018-01-31 2019-08-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10628454B2 (en) 2018-03-13 2020-04-21 Blockpoint Systems Inc. Relational blockchain database
US11157833B2 (en) 2018-03-14 2021-10-26 International Business Machines Corporation Learning service blockchain
US20190306235A1 (en) 2018-03-27 2019-10-03 Makecents Llc Private Blockchain With Decentralized External Gateway
US10585657B2 (en) 2018-03-29 2020-03-10 Salesforce.Com, Inc. Setup, management, and packaging of applications accessing centralized and decentralized data
US10901974B2 (en) 2018-03-29 2021-01-26 Salesforce.Com, Inc. Hybrid cloud chain management of centralized and decentralized data
US20190303579A1 (en) 2018-04-02 2019-10-03 Ca, Inc. Decentralized, immutable, tamper-evident, directed acyclic graphs documenting software supply-chains with cryptographically signed records of software-development life cycle state and cryptographic digests of executable code
US20200089895A1 (en) 2018-04-04 2020-03-19 Microsoft Technology Licensing, Llc Proof of ticket consensus processing on a confidential blockchain network
US11468345B2 (en) 2018-04-13 2022-10-11 Docusign International (Emea) Limited Managing information for model training using distributed blockchain ledger
US11063759B2 (en) 2018-04-27 2021-07-13 The University Of Akron Blockchain-empowered crowdsourced computing system
US11049148B2 (en) 2018-06-01 2021-06-29 Concord Technologies Inc. User control of anonymized profiling data using public and private blockchains in an electronic ad marketplace
US20190370634A1 (en) 2018-06-01 2019-12-05 International Business Machines Corporation Data platform to protect security of data used by machine learning models supported by blockchain
US11868321B2 (en) 2018-06-12 2024-01-09 Salesforce, Inc. Cryptographically secure multi-tenant data exchange platform
US20190385160A1 (en) 2018-06-19 2019-12-19 Mastercard International Incorporated System and process for on-the-fly cardholder verification method selection
US11067305B2 (en) 2018-06-27 2021-07-20 Lennox Industries Inc. Method and system for heating auto-setback
US11875300B2 (en) 2018-07-12 2024-01-16 International Business Machines Corporation Perishable asset tracking for blockchain
US20200027090A1 (en) 2018-07-17 2020-01-23 Mastercard International Incorporated Systems and methods for authenticating financial transactions
US11797866B2 (en) 2018-07-18 2023-10-24 Salesforce.Com, Inc. Systems and methods for accelerating execution of processes based on artificial intelligence (AI) prediction of blockchain consensus
US11468406B2 (en) 2018-07-31 2022-10-11 Salesforce, Inc. Method of converting language-based written contract to smart legal contract using natural language processing
CN109173261A (zh) 2018-08-08 2019-01-11 平安科技(深圳)有限公司 网络游戏资产数据修改方法、装置及电子设备
US10949557B2 (en) 2018-08-20 2021-03-16 Cisco Technology, Inc. Blockchain-based auditing, instantiation and maintenance of 5G network slices
US10482466B1 (en) 2018-08-24 2019-11-19 Capital One Services, Llc Methods and arrangements to distribute a fraud detection model
US10943274B2 (en) 2018-08-28 2021-03-09 Accenture Global Solutions Limited Automation and digitizalization of document processing systems
US11443327B2 (en) 2018-08-29 2022-09-13 Jpmorgan Chase Bank, N.A. Method and apparatus for implementing a block chain node device
US20200076574A1 (en) 2018-08-30 2020-03-05 0Chain, LLC Systems and methods of blockchain platform for rule-based de-centralized roles and control
US11809409B2 (en) 2018-09-19 2023-11-07 Salesforce, Inc. Multi-tenant distributed ledger interfaces
US11354539B2 (en) 2018-09-27 2022-06-07 International Business Machines Corporation Encrypted data model verification
US10521196B1 (en) 2018-10-04 2019-12-31 Sap Se Distributed ledger-based rapid application development
US11334805B2 (en) 2018-10-16 2022-05-17 Sap Se Case-based reasoning as a cloud service
US11288280B2 (en) 2018-10-31 2022-03-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consumer data validation, matching, and merging across tenants with optional verification prompts utilizing blockchain
US11568437B2 (en) 2018-10-31 2023-01-31 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing commerce rewards across tenants for commerce cloud customers utilizing blockchain
US10505726B1 (en) 2018-12-07 2019-12-10 Nike, Inc. System and method for providing cryptographically secured digital assets
US11971874B2 (en) 2019-01-31 2024-04-30 Salesforce, Inc. Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT)
US11886421B2 (en) 2019-01-31 2024-01-30 Salesforce, Inc. Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT)
US11876910B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT)
US11811769B2 (en) 2019-01-31 2023-11-07 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
US11875400B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT)
US11824864B2 (en) 2019-01-31 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (DLT)
US11244313B2 (en) 2019-01-31 2022-02-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing declarative smart actions for coins and assets transacted onto a blockchain using distributed ledger technology (DLT)
US11899817B2 (en) 2019-01-31 2024-02-13 Salesforce, Inc. Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11488176B2 (en) 2019-01-31 2022-11-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing certificates of authenticity of digital twins transacted onto a blockchain using distributed ledger technology (DLT)
US11783024B2 (en) 2019-01-31 2023-10-10 Salesforce, Inc. Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration
US11803537B2 (en) 2019-01-31 2023-10-31 Salesforce, Inc. Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT)
US11038771B2 (en) 2019-04-26 2021-06-15 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)
US11824970B2 (en) 2020-01-20 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules
US11611560B2 (en) 2020-01-31 2023-03-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101258483A (zh) * 2005-09-09 2008-09-03 易享信息技术(上海)有限公司 用于在多租户数据库环境中导出、发布、浏览和安装随需应用的系统及其方法
CN103118053A (zh) * 2011-08-17 2013-05-22 国际商业机器公司 在网络计算环境中构建数据安全性的方法和系统
CN106651346A (zh) * 2016-11-28 2017-05-10 上海凯岸信息科技有限公司 基于区块链的征信数据共享与交易系统
CN106453435A (zh) * 2016-12-21 2017-02-22 中国人民解放军72537部队 一种基于区块链的数据共享授权方法
CN107391944A (zh) * 2017-07-27 2017-11-24 北京太云科技有限公司 一种基于区块链的电子病历共享系统

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11995647B2 (en) 2019-04-30 2024-05-28 Salesforce, Inc. System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
US11880349B2 (en) 2019-04-30 2024-01-23 Salesforce, Inc. System or method to query or search a metadata driven distributed ledger or blockchain
CN112365330A (zh) * 2020-11-12 2021-02-12 国网辽宁省电力有限公司营销服务中心 一种基于超级账本的可再生分布式能源统一价格双向拍卖的交易方法
CN112395341B (zh) * 2020-11-18 2023-10-27 深圳前海微众银行股份有限公司 一种基于联邦云合作网络的联邦学习管理方法及系统
CN112395341A (zh) * 2020-11-18 2021-02-23 深圳前海微众银行股份有限公司 一种基于联邦云合作网络的联邦学习管理方法及系统
CN113098694A (zh) * 2021-04-09 2021-07-09 杭州链网科技有限公司 一种混合跨链共识方法
CN113098694B (zh) * 2021-04-09 2023-12-08 杭州链网科技有限公司 一种混合跨链共识方法
CN113190729A (zh) * 2021-04-28 2021-07-30 湖北央中巨石信息技术有限公司 基于区块链的数据分类分级方法及系统
CN113157809B (zh) * 2021-04-28 2021-12-31 广东省机场集团物流有限公司 基于区块链侧链的遍历方法、装置和计算机可读存储介质
CN113157809A (zh) * 2021-04-28 2021-07-23 杭州丽冠科技有限公司 基于区块链侧链的遍历方法、装置和计算机可读存储介质
US11816098B2 (en) 2021-08-06 2023-11-14 Salesforce, Inc. Database system public trust ledger contract linkage
US11954094B2 (en) 2021-08-06 2024-04-09 Salesforce, Inc. Database system public trust ledger architecture
US11989726B2 (en) 2021-09-13 2024-05-21 Salesforce, Inc. Database system public trust ledger token creation and exchange
US12002039B2 (en) 2021-11-02 2024-06-04 Salesforce, Inc. Database system public trust ledger multi-owner token architecture
US11770445B2 (en) 2022-01-25 2023-09-26 Salesforce, Inc. Decentralized information management database system
US11921887B2 (en) 2022-01-25 2024-03-05 Salesforce, Inc. Decentralized identity metaverse database system
US11880372B2 (en) 2022-05-10 2024-01-23 Salesforce, Inc. Distributed metadata definition and storage in a database system for public trust ledger smart contracts
CN116701549A (zh) * 2023-06-21 2023-09-05 黑龙江禹桥科技开发有限公司 一种基于区块链的大数据多尺度融合监管系统及方法

Also Published As

Publication number Publication date
US11588803B2 (en) 2023-02-21
EP3747153A1 (en) 2020-12-09
US11431693B2 (en) 2022-08-30
US11431696B2 (en) 2022-08-30
US10701054B2 (en) 2020-06-30
US20210152536A1 (en) 2021-05-20
US11451530B2 (en) 2022-09-20
JP2021512416A (ja) 2021-05-13
US20190238525A1 (en) 2019-08-01
JP2023029895A (ja) 2023-03-07
US20200169546A1 (en) 2020-05-28
US20210152535A1 (en) 2021-05-20
US20200336475A1 (en) 2020-10-22
WO2019152750A1 (en) 2019-08-08

Similar Documents

Publication Publication Date Title
US11451530B2 (en) Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
US20230342734A1 (en) Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment
US11257073B2 (en) Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US11611560B2 (en) Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform
US20190236562A1 (en) Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment
US20190238316A1 (en) Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment
US20190236606A1 (en) Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment
US11899817B2 (en) Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11886421B2 (en) Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT)
US11431486B2 (en) System or method to implement consensus on read on distributed ledger/blockchain
US11875400B2 (en) Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT)
US11803537B2 (en) Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT)
US11743137B2 (en) Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)
US11783024B2 (en) Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration
US20200242595A1 (en) Systems, methods, and apparatuses utilizing a blended blockchain ledger in a cloud service to address local storage
US11194961B2 (en) Systems, methods, and apparatuses for adding a document history graph and corresponding hash value to a blockchain in a cloud based computing environment

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Shuo Power Co.

Address before: California, USA

Applicant before: SALESFORCE.COM, Inc.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201110