CN113056741A - 基于分布式账本的简档验证 - Google Patents

基于分布式账本的简档验证 Download PDF

Info

Publication number
CN113056741A
CN113056741A CN201980076105.6A CN201980076105A CN113056741A CN 113056741 A CN113056741 A CN 113056741A CN 201980076105 A CN201980076105 A CN 201980076105A CN 113056741 A CN113056741 A CN 113056741A
Authority
CN
China
Prior art keywords
node
digital certificate
data set
entity
client device
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.)
Granted
Application number
CN201980076105.6A
Other languages
English (en)
Other versions
CN113056741B (zh
Inventor
P·K·R·达西卡文卡塔德维
M·D·辛盖延加尔海拉古
R·莱克沙马纳萨尔马
B·R·拉纳
P·M·雷迪
H·K·普马拉维蒂尔
U·S·贾甘纳德南迪帕蒂
G·P·劳库塔姆
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN113056741A publication Critical patent/CN113056741A/zh
Application granted granted Critical
Publication of CN113056741B publication Critical patent/CN113056741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

实施例促进了对简档信息的验证和共享。分布式账本节点包括:生成简档数据的第一节点,以及生成简档数据验证证书的第二节点。所述第一节点生成与第一标识符相关联并且引用第二标识符以包含在简档中的简档数据。客户端设备能够经由所引用的第二标识符来请求第一节点验证简档数据。所述简档数据能够被存储在分布式账本中,从而与第二标识符相关联的第二节点能够生成验证简档数据的证书。所述证书能够被存储在分布式账本中,从而第一节点能够访问证书,并且向客户端设备提供简档数据经验证的指示。所述第一节点还能够生成对应于简档数据的证书,以提供对经验证的简档数据的选择性访问。

Description

基于分布式账本的简档验证
背景技术
多种社交网络服务使得用户能够轻松地建立个人简档页面以用于人际网络。无论是用于个人还是企业用途,这样的服务通常都无法采取合理措施来认证用户的简档信息的真实性。用户能够轻松地在简档页面上虚假陈述自己,并且通常在不花费额外资源的情况下无法验证或拆穿这些伪造的陈述。无法验证或认证用户做出的个人陈述导致了许多问题,诸如网络自夸、身份盗用、网络钓鱼、简历造假等。
发明内容
本发明的实施例总体涉及简档验证。更具体而言,实施例描述了用于利用分布式账本(distributed ledger)技术的各个方面来选择性地存储、请求和共享经验证的个人信息的系统和技术。
在各种实施例中,社交简档验证系统包括共同维护分布式账本(诸如区块链)的多个节点。此外,所述节点能够彼此通信,以验证、更新和维护分布式账本,所述分布式账本的副本被独立地存储在每个节点上。在各节点之间,所述节点中的一些节点能够包括特定的组件和/或具有独有的特征,这些特征用于在用户和/或实体之间存储、验证、更新和/或共享简档信息。
此外,节点能够包括公共用户节点,所述公共用户节点为用户等提供界面(例如,网站),以用于经由其客户端设备来创建、查看、修改和/或共享具有关于自身的各种陈述的简档。用户能够请求在陈述中所引用的第一实体,诸如在关于用户的雇佣历史的陈述中所引用的雇主,来验证所述陈述。基于所述请求,公共用户节点能够生成使得多个节点将所述陈述存储到分布式账本上的事务。
节点还能够包括一个或多个公共实体节点和/或私有实体节点。私有实体节点是与特定实体(诸如所引用的第一实体)相关联的节点,其中能够使得实体能够经由与所述实体相关联的实体客户端设备来创建、查看和/或验证针对引用所述实体的用户简档的陈述。另一方面,公共实体节点是与多个实体相关联的节点,所述节点为每个实体提供界面(例如,网站),以经由相关联的实体客户端设备来创建、查看和/或验证针对其中引用所述实体的用户简档的陈述。与第一实体相关联的私有或公共实体节点(“第一相关联的实体节点”)能够经由相关联的实体客户端设备向第一实体提供所生成的通知,所述通知指示基于确定所存储的陈述引用了第一实体来将验证所述陈述的请求存储在分布式账本上。第一相关联的实体节点能够经由相关联的实体客户端设备从所引用的第一实体接收请求,以基于所提供的通知来验证所述陈述。基于所接收到的请求,第一相关联的实体节点能够生成与所述陈述相对应并且代表所引用的第一实体的第一数字证书,由此所生成的第一数字证书从所引用的第一实体发布并且被发布给与所述陈述相关联的用户。第一相关联的实体节点能够生成包括所生成的第一数字证书的事务,使得多个节点将所生成的第一数字证书存储到分布式账本上。
公共用户节点然后能够基于用户是第一数字证书的接收者来确定第一数字证书被存储在分布式账本上。基于所述确定,公共用户节点能够将所生成的通知发送给用户客户端设备,所述通知指示所述陈述被所引用的实体验证。然后,用户能够经由用户客户端设备将所生成的请求发送给公共用户节点,以与第二实体(诸如潜在雇主)共享经验证的陈述。用户节点能够基于接收到所述请求,代表用户生成与经验证的陈述(例如,第一数字证书)相对应的第二数字证书,由此将所生成的第二数字证书从用户发布到第二实体。
与第二实体相关联的私有或公共实体节点(“第二相关联的实体节点”)能够基于第二实体是所存储的第二数字证书的接收者来确定第二数字证书被存储在分布式账本上。基于所述确定,第二相关联的实体节点能够向与第二实体相关联的实体客户端设备提供所存储的第二数字证书,所述第二数字证书指示引用第一实体的陈述被所引用的第一实体验证。
在本文中所描述的各种实施例中,从第一方(例如,用户、实体)发布给第二方(例如,用户、实体)的所生成的数字证书使得第二方能够查看作为所生成的数字证书的主题的陈述。此外,一方能够采用相关联的节点(例如,实体节点、用户节点)来访问、查看、生成或撤销经由其各自的相关联节点生成并且由该方发布的数字证书。在这方面,一方能够采用相关联的节点来选择性地向另一方提供对被存储在分布式账本上的简档陈述的访问。
提供本发明内容以简化形式介绍一些概念,这些概念将在下文的详细描述中进一步描述。该发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在用于辅助确定所要求保护的主题的范围。
附图说明
下文参考随附的附图详细描述了本发明,在附图中:
图1是根据本发明的一些实施例的示例性系统图;
图2是根据本发明的一些实施例的示例性客户端设备;
图3是根据本发明的一些实施例的示例性节点;
图4是示出了根据本发明的一些实施例的用于验证简档数据集的方法的流程图;
图5是示出了根据本发明的一些实施例的用于验证简档数据集的另一种方法的流程图;
图6是示出了根据本发明的一些实施例的用于验证简档数据集的另一种方法的流程图;以及
图7是适合用于实现本发明的一些实施例的示例性计算环境的框图。
具体实施方式
在本文中具体描述了本发明的主题以满足法定要求。然而,说明书本身并不旨在限制本专利的范围。相反,发明人已经设想到了,所要求保护的主题还可以结合其他当前或将来的技术以其他方式体现,以包括与在本文档中所描述的步骤不同的步骤或相似步骤的组合。此外,尽管在本文中可以使用术语“步骤”和/或“框”来表示所采用的方法的不同要素,但是除非并且除了当明确描述了个体步骤的次序时,否则这些术语不应当被解读为暗示在本文中所公开的各个步骤之中或之间的任何特定次序。
事务各方在互联网上建立信任的能力通常基于可信第三方的可用性,其任务是确保每个事务方都以诚信为本。然而,可信第三方通常将其服务限制在非常特殊的需求上。例如,代管代理人能够提供可信第三方服务,其用于保持从买方向卖方的付款、在从买方接收到为其付款的标的物是令人满意的通知后将这样的付款释放给卖方。相对新近引入和采用的分布式账本技术(诸如区块链)提供了一种分散这样的可信服务的方式。换言之,尽管通常依靠可信第三方来监督各事务对方之间的事务,但是分布在世界各地的独立计算机现在能够以自动化并且廉价的方式共同提供事务监督。
然而,通过互联网提出的个人陈述是完全不同的问题。多种社交网络服务为用户提供了一种简便的方式来构建个人简档页面(诸如网站),以用于人际网络。无论出于个人还是商业目的,这些服务通常都无法采取合理措施来认证用户的简档信息的真实性。然而,失败并非是提供这样的服务的公司的错,因为该任务是一项艰巨的任务。这样,用户能够轻松地在简档页面上虚假陈述自己,并且通常没有提供用于验证或拆穿这些陈述的技术手段。更具体而言,候选人(例如,求职者)可以容易地在这些网站之一上建立简档页面,并且在其相关联的简档页面上虚假陈述他或她的工作经历。虚假陈述会误导招聘人员或潜在雇主关于信息的真实性,导致浪费了各种能力的资源。
一致地,并且通过另一示例,潜在雇主通常在雇用候选人之前聘请第三方提供者来执行背景验证过程。然而,对第三方提供者的聘请证明是必要的,因为历史表明候选人能够轻易地伪造其在简历和其他类似介质(诸如简档页面)上的信息。在这方面,显然有必要断开潜在雇主对候选人的信任。通常,第三方提供者必须验证候选人所做出的所有陈述,包括先前的雇佣历史、教育历史、信用历史和/或犯罪历史等。该验证过程在时间和资源两者上都会是昂贵的。然而,当基于潜在雇主或第三方提供者执行的背景验证过程证明陈述是伪造的时,这样的资源被证明被完全浪费了。
本公开的实施例总体上针对利用分布式账本技术的各方面以提供验证简档陈述的端到端数字化和自动化的系统和技术。所描述的实施例通过提供使得用户能够生成与用户相关联的简档数据集以存储在分布式账本上的系统,来提供对用户做出的陈述的经改进的准确性和可信赖性。所生成的简档数据集能够包括用户做出的个人陈述(例如,事实叙述、工作历史、学历)等,并且还能够例如包括对验证实体(诸如前任雇主或学院)的引用。与潜在雇主将对个人进行背景调查的常规方法不同,用户本人能够采用所公开的系统来请求在所生成的简档数据集中所引用的实体,验证其中所包含的个人陈述的真实性。
在各种实施例中,所述系统能够基于确定分布式账本已经在其上存储了所生成的引用所述实体的简档数据集,来通知在陈述中所引用的实体等待验证。在这方面,所引用的实体能够采用所述系统代表所引用的实体本身来生成与所生成的简档数据集相对应的数字证书,由此从所引用的实体发布数字证书并且将其发布给与所生成的简档数据集相关联的用户。然后,所述系统能够将所生成的数字证书存储到分布式账本上。所生成的数字证书(其验证在所存储的简档数据集中所包括的陈述)也被存储在分布式账本上,从而关联的用户能够查看和/或与其他实体共享经验证的陈述。由于分布式账本的不变性质,用户不能够修改所存储的简档数据集(即,经验证的陈述)。鉴于以上所述,本发明的实施例提供了各种系统和技术,其使得用户能够与其他用户和/或实体共享不可变和经验证的简档数据集,从而其他用户和/或实体能够信任所共享的简档数据集的真实性。为此,所公开的实施例描述了一种可信和分布式的系统,其中,用户和实体都能够信任由其他用户和实体所公布或共享的信息,而无需依赖第三方提供者,并且无需承担与伪造信息相关联的固有风险。
现在转向图1,提供了图示示例性系统100的示意图,在系统100中,可以采用本发明的一些实施例。应当理解,在本文中所描述的这种和其他布置仅仅作为示例来阐述。除了或代替所示的那些,能够使用其他布置和元件(例如,机器、接口、功能、命令、功能分组等),并且可以一起省略一些元件。此外,在本文中所描述的许多元件是功能实体,其可以被实现为离散或分布式组件或者与其他组件结合,并且以任何合适的组合和位置来实现。在本文中被描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,可以由执行被存储在存储器中的指令的处理器来执行各种功能。
在图1中所描绘的系统100包括能够通过网络115(诸如互联网)与公共用户节点120(在本文中也被称为“第一节点”)通信的用户客户端设备110。系统100还包括能够与实体节点(在本文中也被称为“第二节点”)通信的实体客户端设备140,所述实体节点能够包括私有实体节点130A或公共实体节点130B。用户客户端设备110、公共用户节点120、实体客户端设备140、私有实体节点130A和公共实体节点130B中的每一个都能够包括计算设备,如关于图7更详细描述的。
系统100优选包括各自与多个用户之一相关联的多个用户客户端设备110,以及各自与多个实体之一相关联的多个实体客户端设备140。如在本文中所引用的,术语“用户”指代正在采用系统100来生成简档数据集、请求验证所生成的简档数据集和/或与其他用户和/或实体共享经验证的简档数据集等的人员。术语“实体”指代与实体相关联的代表人员(例如,管理员),所述实体正在采用系统100来查看等待该实体进行验证的简档数据集,并且验证这样的简档数据集等。
在一些实施例中,实体客户端设备140能够与私有实体节点130A相关联,因为仅有实体客户端设备140可以访问私有实体节点130A。在优选但是非限制性的实施例中,私有实体节点130A与实体客户端设备140位于同一位置,其中的每者经由诸如LAN或VPN的私有网络与至少一个另一者通信。在一些其他实施例中,多个实体客户端设备140能够与公共实体节点130B相关联,因为多个实体客户端设备140中的每个仅能够利用由公共实体节点130B认证的账户和对应的证书来访问公共实体节点130B。
在各种实施例中,公共用户节点120、私有实体节点130A和公共实体节点130B(以下被统被称为“节点”)经由网络115与节点中的至少一个其他节点通信,每个节点作为共同维护分布式账本的对等设备来操作。在优选实施例中,系统100包括多个节点,由此系统100包括公共用户节点120、私有实体节点130A和公共实体节点130B中的每一个中的一个或多个。
在各个实施例中,每个用户或实体能够分别与独有标识符相关联,诸如用户标识符(“用户ID”)或实体标识符(“实体ID”)。优选在账户创建过程期间,独有标识符能够由与其相关联的节点之一来创建并且与用户或实体相关联,由此用户或实体经由关联的客户端设备来访问相关联的节点以生成和建立证书(例如,独有标识符、密码)来访问相关联的节点。在这方面,在本公开的各种实施例中所描述的对与用户或实体相关联的设备或组件的任何引用能够被解读为该设备或组件也分别与用户ID或实体ID相关联。
在一些实施例中,公共用户节点120能够为用户托管或提供接口(例如,网站、应用或API),以经由相关联的用户客户端设备110来创建、查看、修改和/或共享等与用户相关联的简档(即,数据集)的一个或多个部分。如所指出的,数据集能够包括关于用户的陈述(例如,事实叙述、雇佣历史、教育背景、其他证书),并且还能够引用能够验证所述陈述的实体(例如,先前的雇主)。用户能够经由相关联的用户客户端设备110生成与公共用户节点120通信的请求,请求在数据集中所引用的实体验证所述数据集(即,所包括的陈述)。基于接收到所述请求,公共用户节点120能够生成使得多个节点将数据集存储到分布式账本的事务,所述分布式账本的副本被存储在每个节点120、130A、130B的存储器中。
在一些实施例中,实体能够与私有实体节点130A或公共实体节点130B中的至少一个相关联。私有实体节点130A或公共实体节点130B能够与实体相关联,并且能够托管或提供接口(例如,网站、应用或API),从而实体能够经由与所述实体相关联的实体客户端设备140来创建、查看和/或验证引用所述实体的所存储的数据集(即,被存储在分布式账本中的数据集)。
在一些实施例中,相关联的实体节点130A、130B能够经由相关联的实体客户端设备140向所述实体提供指示所述实体所引用的数据集被存储在分布式账本上的所生成的通知。相关联的实体节点130A、130B能够接收由相关联的实体客户端设备140生成并且从其传送的请求,以基于所提供的通知来验证所述数据集。基于所接收到的请求,相关联的实体节点130A、130B能够生成与所存储的数据集相对应并且代表所述实体的数字证书,由此所生成的数字证书从所述实体(即,代表所述实体)分布并且被发布给与所存储的数据集相关联的用户(即,命名为授权接收者)。基于所生成的数字证书,相关联的实体节点130A、130B能够生成包括所生成的数字证书的事务,导致节点120、130A、130B将生成的数字证书存储到分布式账本上。在一些方面中,实体能够采用相关联的实体客户端设备140来创建与用户相关联的数据集而无需接收请求,使得所述数据集由实体经由其相关联的实体客户端设备140和实体节点130A、130B来生成和验证(例如,生成对应的数字证书)。根据在本文中所描述的一些各种实施例,从实体或用户发布的所生成的数字证书能够被解读为代表实体或用户发布的所生成的数字证书。换言之,节点能够生成将实体或用户或者实体ID或用户ID命名为发布者的数字证书。另一方面,被发布给实体或用户的所生成的数字证书能够被解读为将实体或用户或者实体ID或用户ID命名为定义的接收者的所生成的数字证书。在一些其他实施例中,被发布给实体或用户的所生成的数字证书能够被解读为被包含在从第一实体ID或第一用户ID(例如,发布者)寻址到第二实体ID或第二用户ID的所生成的事务中的所生成的数字证书,由此第二实体ID或第二用户ID是定义的接收者。
在一些实施例中,公共用户节点120能够确定与所存储的数据集相对应的、从在所存储的数据集中所引用的实体发布的并且被发布给与所存储的数据集相关联的用户的数字证书被存储在分布式账本上。基于所述确定,公共用户节点120能够生成用于向与该用户相关联的用户客户端设备110进行通信的通知,指示所存储的数据集被所引用的实体验证。
在一些实施例中,用户可以采用相关联的用户客户端设备110来生成共享经验证的存储的数据集(例如,所存储的数据集和/或由先前雇主发布的数字证书)的请求,用于传送到公共用户节点120。共享经验证的存储的数据集的所生成的请求能够引用另一实体(例如,潜在雇主)。公共用户节点120能够基于所接收到的请求来代表用户为经验证的存储的数据集生成其他数字证书,由此所生成的其他数字证书对应于经验证的存储的数据集(例如,所存储的数据集和/或由先前雇主发布的数字证书),由用户发布,并且被发布给请求中所引用的其他实体(例如,潜在雇主),以共享经验证的存储的数据集。
在一些实施例中,与所引用的其他实体(例如,潜在雇主)相关联的实体节点130A、130B能够确定所生成的其他数字证书对应于经验证的存储的数据集(例如,所存储的数据集和/或由先前雇主发布的数字证书),由用户发布,并且被发布给不同的实体,被存储在分布式账本上。基于所述确定,相关联的实体节点130A、130B能够将所存储的其他数字证书或者与之相对应的所生成的通知等传送给与其他实体相关联的实体客户端设备140,作为对引用其他实体(例如,先前雇主)的所存储的数据集已经被验证的指示。以这种方式,另一实体(例如,潜在雇主)能够确定从潜在雇员(例如,用户)发送的信息(例如,简档数据集和/或陈述)是合法的。
在各种实施例中,设想到了,用户和/或实体也能够被验证。在各个方面中,用户或实体能够分别采用相关联的公共用户节点120或实体节点130A、130B来生成包括对身份的陈述(例如,该实体就是其所陈述的身份)的数据集。在一些实施例中,类似于上文关于包括关于用户证书的陈述的数据集所描述的那些,用户或实体能够请求其他用户或实体验证包括对用户或实体的身份的陈述的数据集。以这种方式,用户和/或实体能够以相似的方式来验证彼此的身份。在一些情况下,用户和/或实体的经验证的身份可以被反映在由用户和/或实体所发布的数字证书中。在这方面,由另一用户和/或实体发布的数字证书的接收者能够基于验证方是否已经验证了自己来评估验证源的可靠性。
由于前述信息(例如,数据集)被存储在由所描述的系统100的各个实施例维护的分布式账本上,用户和实体都能够彼此共享电子信息,由此共享的电子信息能够被信任、验证、不变和选择性地共享。
现在参考图2,提供了根据本公开的一些实施例描绘示例性客户端设备210的框图200,诸如图1的用户客户端设备110或实体客户端设备140。客户端设备210能够与用户或实体相关联,使得由用户或实体提供的用于采用系统(诸如图1的系统100)的各方面的证书(例如,独有标识符、密码)由客户端设备210提供给相关联的节点。在一些实施例中设想到了,实体不需要与客户端设备210(诸如图1的实体客户端设备140)相关联,以便与和所述实体相关联的私有实体节点130A进行接口。设想到了,在这样的实施例中,实体可以直接与私有实体节点130A进行接口,从而在相关联的私有实体节点130A上提供在本文中所描述的客户端设备210的各方面。
限于图2的描述,并且为了清楚描述客户端设备210,与客户端设备210相关联的用户或实体在下文中将被称为“最终用户”,由此该最终用户与独有标识符(诸如用户ID或实体ID)相关联,这取决于最终用户作为用户或实体的角色。在本文中对最终用户的引用能够被解读为最终用户标识符(“最终用户ID”),从而与最终用户相关联的设备或组件能够与和最终用户相关联的最终用户ID相关联。
在各种实施例中,客户端设备210能够包括数据集管理组件220,所述数据集管理组件能够提供用于显示图形用户界面(GUI),所述GUI用于与和客户端设备210相关联的节点(诸如图1的公共用户节点120、私有实体节点130A或公共实体节点130B)进行接口,并且用于管理与客户端设备210的最终用户相关联的数据集。在一些实施例中,所显示的GUI能够包括由客户端设备210的最终用户或者为客户端设备210的最终用户生成的简档的一个或多个部分。在一些方面中,每个部分能够对应于与最终用户相关联并且被存储在分布式账本上的数据集。在各种实施例中,GUI能够使得最终用户能够创建、查看、选择、删除、修改、隐藏或者选择性地共享(例如,提供或撤销访问)与最终用户相关联的数据集,或者在一些另外的实施例中,如将描述的,与另一最终用户相关联。
在一些实施例中,数据集管理组件220能够包括数据集生成组件230,其用于使得能够生成与最终用户相关联的数据集。在一些实施例中,数据集能够包括关于最终用户的陈述以及对能够验证所述陈述的另一最终用户的引用等。在一些其他实施例中,数据集能够包括关于另一最终用户的陈述以及对验证最终用户本身的引用等。这样的实施例将涉及这样的场景:其中,例如,先前雇主能够生成包括描述先前雇员的工作历史(例如,时间范围、职称、职责范围)的陈述的数据集。
在各个实施例中,数据集能够是简档数据集,诸如最终用户的身份、联系信息、人口统计信息、雇佣历史、健康历史、犯罪历史、财务历史或教育背景、以及能够被包含在简档中或者被呈现在与最终用户相关联的简档网页(例如,诸如社交媒体简档)上的其他事项。
在一些实施例中,数据集生成组件230能够接收输入,所述输入包括与最终用户相关联的陈述,以及对能够验证所述陈述的另一最终用户的引用。数据集生成组件230能够将所接收到的输入传送给与客户端设备210相关联的节点,诸如图1的节点120、130A、130B之一,使相关联的节点生成与最终用户相关联的数据集。相关联的节点能够基于所接收到的输入来生成数据集,并且向数据集管理组件220提供所生成的数据集以用于经由GUI进行显示。
在一些实施例中,数据集管理组件220能够包括数据集验证组件240,其用于请求验证数据集,或者验证引用客户端设备210的最终用户的数据集,等等。在一些方面中,数据集验证组件240能够请求由所引用的最终用户来验证所生成的数据集。数据集验证组件240能够通过用户输入来接收与所显示的生成的数据集相对应的选择。基于所接收到的选择,数据集验证组件240能够生成请求以提交用于验证与选择相对应的所显示的生成的数据集(“所选择的数据集”),并且将所生成的请求传送给相关联的节点,导致相关联的节点生成包括所选择的数据集的事务,用于传送给也维护分布式账本的一个或多个节点,诸如图1的系统100的节点中的任意一个节点,从而该事务能够被验证并且被存储在分布式账本上。
在一些另外的实施例中,数据集验证组件240能够从相关联的节点接收引用客户端设备210的最终用户的数据集。数据集验证组件240能够提供用于显示所接收到的数据集,从而客户端设备210的最终用户能够查看(例如,验证其真实性)所接收到的数据集以用于验证。数据集验证组件240还能够生成验证命令,以基于所接收到的指示最终用户批准的用户输入来验证所接收到的数据集。在一些方面中,能够自动地生成验证命令,特别是当能够将所接收到的数据集相对于数据集验证组件240可访问的数据集进行交叉引用时。然后,数据集验证组件240能够将所生成的验证命令传送给相关联的节点,导致相关联的节点代表最终用户来生成数字证书,由此所生成的数字证书对应于刚刚经验证的接收到的数据集。所生成的数字证书是从在所接收到的数据集中所引用的最终用户发布的,并且被发布给与所接收到的数据集相关联的最终用户。在各种实施例中,所生成的数字证书能够包括所接收到的数据集或者其部分(例如,陈述),或者能够引用被存储在包括或对应于所接收到的数据集的分布式账本上的事务。相关联的节点还能够生成包括用于传送给也维护分布式账本的一个或多个节点的所生成的数字证书的事务,从而能够验证所述事务并且将其存储在分布式账本上。
在一些实施例中,数据集管理组件220能够采用数据集生成组件230和数据集验证组件240两者来为另一最终用户生成经验证的数据集,通过非限制性示例,诸如由先前雇主为先前雇员创建的数据集,而无需接收验证所生成的数据集的请求。在这方面,数据集生成组件230能够接收包括与另一最终用户相关联的陈述的输入,以及对验证所述陈述的最终用户(即,与客户端设备210相关联的最终用户)的引用。数据集验证组件240能够基于另一接收到的指示最终用户批准的用户输入,来生成验证命令以验证所述陈述。然后,数据集验证组件240能够将陈述和所生成的验证命令两者都传送给相关联的节点,导致相关联的节点代表最终用户生成数据集和数字证书。所生成的数据集能够包括所传送的陈述,并且所生成的数字证书能够对应于或者包括所生成的数据集。相关联的节点还能够生成这样的事务,所述事务包括所生成的数字证书和/或所生成的数据集,用于传送给也维护分布式账本的一个或多个节点,从而能够验证所述事务并且将其存储到分布式账本上。
在一些实施例中,数据集管理组件220能够包括数据集共享组件250,其用于请求一个或多个指定的最终用户可访问的、与该最终用户相关联的一个或多个数据集。在一些方面中,数据集共享组件250能够请求另一指定的最终用户可访问的所显示的生成的数据集,无论其是否经过验证。数据集共享组件250能够通过用户输入来接收与所显示的生成的数据集(“选择的数据集”)相对应的选择以及对接收者最终用户的指定。基于所接收到的选择和指定,数据集共享组件250能够生成与指定的最终用户共享所选择的数据集的请求,并且将所生成的请求传送给相关联的节点,从而使相关联的节点代表最终用户生成数字证书,由此所生成的数字证书对应于所选择的数据集。所生成的数字证书是从与客户端设备210相关联的最终用户发布的,并且被发布给指定的最终用户。在各种实施例中,所生成的数字证书能够包括所选择的数据集或者其部分(例如,陈述),或者能够引用被存储在分布式账本上的事务,所述事务包括或者对应于所选择的数据集和/或由验证最终用户发布的对应数字证书(如果适用的话)。相关联的节点还能够生成包括所生成的数字证书的事务,用于传送给也维护分布式账本的一个或多个节点,从而能够验证所述事务并且将其存储到分布式账本上。
在一些另外的实施例中,数据集共享组件250能够修改被存储在分布式账本上的数据集的共享状态。数据集共享组件250能够通过用户输入来接收撤销访问的命令以及与数字证书相对应的选择,所述选择被提供用于从相关联的节点进行显示并且由客户端设备210显示。数据集共享组件250能够将撤销访问的命令和所选择的数字证书传送给相关联的节点,导致相关联的节点生成使所选择的数字证书无效的事务。换言之,相关联的节点能够生成包括与所选择的数字证书相对应的撤销证书的事务和/或包括所选择的数字证书的所存储的事务。相关联的节点能够将所生成的事务传送给也维护分布式账本的一个或多个节点,从而能够验证事务并且将其存储到分布式账本上。以这种方式,与另一最终用户(即,撤销访问权的最终用户)相关联的节点能够确定分布式账本包括包含撤销证书的事务,从而防止对其存储的数据集的访问和可视性。
在一些方面中,数据集管理组件220仅能够基于客户端设备210采取的动作来查看已经生成并且被存储到分布式账本上的事务或者其内容。例如,数据集管理组件220仅能够查看与客户端设备210的最终用户相关联的数据集和/或由客户端设备210的最终用户发布或者向客户端设备210的最终用户发布的数字证书。在一些方面中,相关联的节点能够基于上述约束来限制被传送给客户端设备210的数据。如上所述,相关联的节点能够基于被存储在分布式账本上的事务来确定数字证书是否被发布给最终用户、来自最终用户、或者是否已经撤消了数字证书。以这种方式,相关联的节点能够将事务以及其内容的可视性限制为由生成最终用户具有许可(例如,通过数字证书)的那些事务。
现在转向图3,提供了根据本公开的一些实施例描绘示例性节点310的框图300,诸如图1的公共用户节点120、私有实体节点130A或公共实体节点130B。节点310能够与一个或多个用户或实体相关联,使得由每个用户或实体提供的用于采用诸如图1的系统100之类的系统的各方面的证书(例如,独有标识符、密码)从相关联的客户端设备(诸如图2的客户端设备210)被提供给节点310。在高水平上,节点310能够基于由与用户或实体相关联的客户端设备向其提供的数据来生成数据集。节点310能够基于所提供的数据来生成事务,以将所生成的数据集存储到分布式账本上。节点310能够促进由所引用的最终用户对所存储的数据集的验证,并且还促进对所存储的数据集的选择性共享,等等。
限于图3的描述,并且为了描述节点310清楚起见,与节点310相关联的用户或实体在下文中将被称为“最终用户”,由此最终用户与诸如用户ID或实体ID的独有标识符相关联,这取决于最终用户作为用户或实体的角色。在本文中对最终用户的引用能够被解读为最终用户标识符(“最终用户ID”),从而与最终用户相关联的设备或组件能够与和最终用户相关联的最终用户ID相关联。
在各种实施例中,节点310能够包括客户端接口组件320,客户端接口组件320能够托管应用服务,诸如网络主机或API,以使得与最终用户相关联的一个或多个客户端设备能够与其交互或交换通信。在一些方面中,节点310能够基于被存储在分布式账本上的数据来动态地生成网页,其中节点310本地存储系统(例如,图1的系统100)的其他节点的副本并且与其他节点共同维护。动态生成的网页能够包括各种元素,诸如数据集、数字证书、GUI元素等,其能够被传送给与最终用户相关联的客户端设备。如在本文中所描述的,根据一些实施例,基于由相关联的客户端设备提供给节点310的证书,仅能够提供由最终用户生成的数据集以及由最终用户发布或向其发布的数字证书以用于显示给与最终用户相关联的客户端设备。
在各种实施例中,客户端接口组件320能够为最终用户生成包括元素列表的GUI,包括相关联的存储的数据集、引用最终用户的存储的数据集、和/或由最终用户发布或者向其发布的数字证书。GUI能够促进对数据的输入(例如,陈述、最终用户名或标识符、简档数据)以及为显示提供的元素的选择,从而能够利用接收到的数据或选择的元素来执行各种操作,诸如生成、查看、修改、共享、验证等。
在一些实施例中,节点310能够包括用于查看、生成或撤销数字证书的证书管理组件330。在一些实施例中,证书管理组件330能够代表最终用户生成数字证书。证书管理组件330能够从与最终用户相关联的客户端设备接收数据集或所选择的存储数据集,以及对另一最终用户的引用。基于所述接收,证书管理组件330能够生成数字证书,所述数字证书从相关联的最终用户发布、被发布给所引用的其他用户,并且对应于所接收到的数据集或者所选择的存储数据集。在这方面,证书管理组件330能够生成包括所生成的数字证书的事务,使得所生成的事务被传送给一个或多个其他节点以用于进行验证并且存储到分布式账本上。
在一些实施例中,证书管理组件330能够代表最终用户生成吊销证书。证书管理组件330能够从与最终用户相关联的客户端设备接收从最终用户发布给另一最终用户的所选择的数字证书。基于所述接收,证书管理组件330能够生成对应于与选择的数字证书相关联的数据集的吊销证书。在这方面,证书管理组件330能够生成包括所生成的吊销证书的事务,使得所生成的事务被传送给一个或多个其他节点以用于验证并且存储到分布式账本上。
在一些实施例中,证书管理组件330能够搜索分布式账本并且解析由最终用户发布或者向其发布的有效数字证书。证书管理组件330能够基于经解析的有效数字证书,来将经解析的有效数字证书传送给相关联的客户端设备。在一些实例中,能够由证书管理组件330来生成GUI,包括经解析的有效数字证书,并且证书管理组件330能够将所生成的GUI传送给相关联的客户端设备。在一些方面中,所述有效数字证书能够由节点310或接收的相关联客户端设备之一进行分类,使得最终用户能够识别被发布给最终用户的最新发布的数字证书。设想到了,能够采用多种显示方法(例如,弹出通知、推送消息、电子邮件、SMS消息)来向最终用户通知新的或最近发布的数字证书,并且这样的方法被认为在本公开的范围之内。
在一些实施例中,节点310能够包括用于查看、生成或修改与最终用户相关联的数据集的事务管理组件340。在一些实施例中,事务管理组件340能够基于从相关联的客户端设备接收到的数据集数据(例如,陈述、对另一最终用户的引用)来生成与最终用户相关联的数据集。事务管理组件340能够从与最终用户相关联的客户端设备接收数据集和对能够验证所述数据集的另一最终用户的引用。基于所接收到的数据集和引用,事务管理组件340能够生成与最终用户相关联的数据集。在一些方面中,事务管理组件340能够生成包括所生成的数据集的事务,使得所生成的数据集被传送给一个或多个其他节点以用于验证并且存储到分布式账本上。
在一些实施例中,事务管理组件340能够修改与最终用户相关联并且被存储在分布式账本上的数据集。尽管由于分布式账本的不可变的性质而无法修改所存储的数据集本身,但是能够基于从相关联的客户端设备接收到的与所存储的数据集相对应的改变来生成新的、经更新的数据集。换言之,事务管理组件340能够提供用于显示被传送给相关联的客户端设备的所存储的数据集(例如,在所存储的数据集的列表中)。事务管理组件340能够接收用于编辑所存储的数据集的命令,并且能够生成GUI,所述GUI利用所存储的数据集来填充可编辑字段。以这种方式,最终用户能够向填充字段提供编辑,从而能够将其中经修改的数据(例如,陈述、所引用的实体)提交给事务管理组件340,并且能够生成与所存储的数据集相关联的新数据集。事务管理组件340能够生成包括经修改的数据的新事务,从而新事务被传送给一个或多个其他节点并且被存储到分布式账本。基于在原始的存储的数据集和经修改的存储的数据集之间的关联,事务管理组件340能够基于在分布式账本内的时间或位置来确定哪个存储的数据集是较新的,并且提供较新近经修改的存储的数据集来代替原始的存储的数据集。
在一些实施例中,事务管理组件340能够搜索分布式账本并且解析与最终用户相关联的所存储的数据集。与最终用户相关联的所存储的数据集能够包括由最终用户生成的存储的数据集,或者包括作为用于验证所存储的数据集的引用的最终用户。事务管理组件340能够基于经解析的存储的数据集,将经解析的存储的数据集传送给相关联的客户端设备。在一些情况下,能够由事务管理组件340生成GUI,包括经解析的存储的数据集,并且能够将GUI从事务管理组件340传送给相关联的客户端设备。在一些方面中,能够由节点310或接收相关联的客户端设备之一对经解析的存储的数据集进行排序,使得最终用户能够识别与所述最终用户相关联的最新生成的数据集。设想到了,能够采用多种显示方法(例如,弹出通知、推送消息、电子邮件、SMS消息)来向最终用户通知与其相关联的新的或最近生成和存储的数据集,并且这样的方法被认为在本公开的范围之内。
在各种实施例中,事务管理组件340能够生成事务,所述事务包括所生成的数据集、所生成的数字证书、对其他最终用户的引用、和/或与客户端设备相关联的最终用户。在各种实施例中,事务管理组件340能够利用与最终用户相关联的本地存储的私钥对所生成的事务进行数字签名,或者能够提供使得最终用户能够经由相关联的客户端设备对事务进行数字签名的接口。以这种方式,代表最终用户生成的事务能够由其他最终用户通过采用最终用户共享的公钥进行验证,以用于验证事务以及其相关联的最终用户的真实性。
在各个实施例中,事务管理组件340能够将所生成的事务传送给一个或多个节点,诸如图1的节点120、130A、130B,与节点310共同维护分布式账本。所述节点能够共同地验证事务,并且将所述事务存储到分布式账本,所述分布式账本的副本被本地存储在每个节点的存储器中。
在一些实施例中,节点310能够包括账本监视组件350,账本监视组件350能够监视分布式账本或者等待被存储到分布式账本上的经验证的事务,以确定是否能够向最终用户通知相关联的事务,诸如引用最终用户的存储的数据集,或者被发布给最终用户的数字证书等。账本监视组件350能够监视被添加到分布式账本的事务或者最近由一个或多个节点验证的事务的内容,以检测相关联的事务以用于通知最终用户。基于所检测到的相关联的事务,账本监视组件350能够生成通知,诸如生成新的GUI元素、通信弹出通知、发送推送消息、生成电子邮件并且将电子邮件发送给与最终用户相关联的电子邮件地址,或者将SMS消息发送到与最终用户相关联的移动号码,以及其他通知技术。以这种方式,账本监视组件350能够在相关活动可能需要最终用户注意时通知最终用户,诸如验证所存储的数据集或者查看所存储的数据集。
在各个实施例中,节点310能够包括共识(consensus)组件360,共识组件360促进对分布式账本的共同维护。在图1中所描绘的节点120、130A、130B包括多个节点,其中的每个节点与彼此中的一个或多个通信以提供分布式账本网络。在一些实施例中,并且优选对于公共区块链(其是一种分布式账本)而言,在分布式账本网络中的每个节点都能够作为其他每个节点的对等体进行操作,从而没有单个节点比任何其他节点都具有更大的影响力或能力。由节点执行的操作能够包括验证事务、验证事务块、以及将记录添加到由节点共同维护的不可变的分布式账本中。然而,设想到了,在一些实施例中,能够特定地指定节点的特定子集以用于执行在本文中所描述的节点操作的子集或全部。在这方面,与其中每个节点是与其他节点的对等体的实施例相反,一些实施例能够采用专门的“指定节点”(优选用于不关注集中化的私有区块链或生态系统)来执行所描述节点操作的子集或全部。
根据在本文中所描述的实施例,所述分布式账本包括多个记录,所述多个记录由于分布式账本网络的分布式性质而不可变,被应用有密码学概念,以及被独立地包含并且由任意数量的节点操作的共识组件360。尽管任意节点都能够生成待添加到分布式账本的事务,但是所述共识模块需要仅基于确定节点(或者指定节点)的共识(例如,大于50%)已经共同验证了事务而将所述事务添加到分布式账本。在该方面中,尽管每个节点能够独立地存储分布式账本的副本,但是仅有在由分布式账本网络的节点(或者指定节点)已经确定添加记录的共识时,才能够将事务添加到分布式账本。根据在本文中所描述的各种实施例,对将事务(例如,数据集、证书、任何其他类型的电子数据)存储到分布式账本的一个或多个节点的引用能够被解读为存储所述事务的一个或多个节点中的每个节点到其自己的分布式账本的副本或实例,由此将相应的副本或实例存储在节点本地的存储器中。
在各个实施例中,利用非对称密钥密码术(即,公钥-私钥对)的各方面来促进对事务的验证,等等。在一些方面中,如在公共区块链(例如,比特币)中公知的那样,能够采用私钥来生成一个或多个相关联的公钥,对仅能够由相关联的公钥解密的数据进行加密,和/或对数据或事务进行数字签名。另一方面,能够采用公钥来解密由相关联的私钥所加密的数据,加密仅所述私钥能够解密的数据,和/或以数字方式认证由相关联的私钥所生成的数字签名。由于公钥能够自由共享,因此公钥通常充当与私钥相关联的“钱包地址”。在这方面,能够将数据集从一个钱包地址(即,发送者的公钥)“传输”到另一钱包地址(即,接收者的公钥)。然而,实际上,数据集的传输不是物理传输,而是被表示为从一个钱包地址到另一个钱包地址的传输记录,如果经过验证,则被记录到分布式账本上。然而,直到传输被节点的共识所验证,事务才最终完成(即,被添加到分布式账本中)。
为了生成包括数据集或数字证书的事务,发送钱包地址的最终用户必须利用与发送钱包地址相关联的私钥对事务进行数字签名。分布式账本网络的节点(或者指定节点)必须通过利用发送钱包地址(即,公钥)对数字签名进行数字认证来独立地确定来自发送钱包地址的事务是否有效。节点(或者指定节点)还必须通过引用其独立存储的分布式账本的副本来独立地确定发送钱包地址实际上与正在被传输的数据集或数字证书相关联,或者在一些方面中,发送钱包具有这样做的授权或特权。如果在分布式账本网络中的节点(或者指定节点)确定不满足前述条件之一,则由所述节点将确定所述事务无效,并且所述事务不被继续传递(例如,传送)给所连接的其他节点(或者指定节点)。另一方面,如果节点(或者指定节点)确定满足上述这两个条件,则确定所述事务有效,并且所述节点继续进行(例如,传送)所述事务以及所述节点独立地验证所述事务的指示到所连接的其他节点(或者指定节点)。由于在分布式账本网络中的节点全部都直接或间接地相互连接,因此该验证过程将继续,直到所述节点(或者指定节点)共同确定大多数(即,共识)已经验证了所述事务。通过每个节点(或者指定节点)维护网络上的其他节点(或者指定节点)的列表(例如,通过IP地址或其他标识符)以及其各自确定事务有效,能够促进对共识的共同确定。
在节点(或者指定节点)已经达成针对事务的有效性的共识之后,事务等待确认(即,添加到分布式账本)。由于节点(或者指定节点)能够是彼此对等的,因此任何节点(或者指定节点)都能够参与将事务添加到分布式账本的过程。出于背景的目的,分布式账本包括经验证的事务,这些事务被分组为一系列加密链式区块中,由此每个区块都包括这些经验证的事务的子集。任何节点(或者指定节点)都能够执行区块生成的过程,能够基于在其共识模块内实现的共识算法以多种方式来实现,包括但不限于:工作证明、奖金证明、权限证明、实际拜占庭(Byzantine)容错或联合拜占庭协议。由于上述用于区块生成的过程在本领域中是公知的,因此在本文中不描述针对这些过程的额外细节。然而,设想到了,根据本公开,能够采用区块生成和共识确定的任意实现方式。更重要的是,由于在这些实现方式中,区块生成的一般结果相对相似,因此提供了以下描述,而与共识模块的区块生成方面无关。
为了将经验证的事务添加到分布式账本中,必须首先将所述事务包含到由所述节点之一(或者指定节点)生成并且随后通过在分布式账本网络中的节点(或者指定节点)的共识进行验证的区块中。所述事务能够独立地包含在区块中,或者与其他事务一起被分组,其中的任意一种都被包含在本公开的范围之内。然而,这样的实现方式可以基于在由节点(或者指定节点)操作的共识组件360内实现或定义的所定义共识规则和/或区块大小(即,存储器限制)而变化。生成所述区块的节点还必须在其生成的区块中包括最近添加到分布式账本中的区块的加密散列。一旦根据在共识组件360内定义的共识规则被生成,则生成所述区块的节点就能够将所生成的区块发送给所连接的节点(或者指定节点)。
然后,接收所生成的区块的节点(或者指定节点)能够验证所述区块包括一个或多个有效事务,包括最近添加到分布式账本的区块的散列值,并且根据定义的共识规则来生成。在验证前述内容之后,节点(或者指定节点)能够将经验证的区块传递(例如,传送)到其相邻节点(或者相邻指定节点)。以这种方式,类似于如何通过所确定的分布式账本网络的共识来验证事务,能够通过所述节点(或者指定节点)的另一确定的共识来验证至少包括所述事务的所生成的区块。当通过所述节点(或者指定节点)的共识确定区块被验证时,新验证的区块紧接在先前添加的区块之后被添加到分布式账本,先前添加的区块的散列被包含在新验证的区块中。这样,每个区块被加密“链接”到前一区块和后一区块。换言之,加密散列有助于维护在分布式账本中所包含的记录的次序和准确性。
在一些情况下,如果将相同事务包含到由不同节点(或者指定节点)所生成的区块中,并且在基本相似的时间帧内通过整个网络进行验证,则能够临时确认所述区块导致在分布式账本中的临时分叉(例如,来自主链的两个潜在分支)。分叉链能够由节点(或者指定节点)维护,直到通过分布式账本网络的共识确定一个分叉比另一分叉具有更大量的区块为止。基于随后确定一个分叉比另一分叉短,节点(或者指定节点)能够修剪(例如,删除)较短的链,并且将较长的链作为分布式账本的确定性分叉来维护。
提供前述内容,共识组件360能够包括密码学组件362,其能够采用非对称密码学(即,公钥-私钥)来执行数字认证和/或验证操作。通过示例,密码学组件362能够确定从公钥提交的事务是否利用对应的私钥进行了数字签名。由于来自公钥的数字签名仅会在利用对应的私钥进行数字签名的情况下才有效,因此验证组件364能够采用密码学组件362来验证所述事务对于事务的发送者而言是有效的。在不进一步赘述的情况下,在另外的实施例中,密码学组件362还能够生成数据的散列,诸如事务、事务区块或密码等。验证组件364能够采用散列来基于当前状态下数据的(一个或多个)任何生成的散列与先前状态的数据的(一个或多个)任何生成的散列的比较来确定数据尚未从先前状态改变。
账本存储组件366能够与节点310的存储器(未示出)进行接口,并且能够包括任何类型的存储器,诸如硬件存储设备、随机存取存储器(RAM)、高速缓存、只读存储器(ROM)等,包括其任意组合。存储器能够被用于存储从与客户端设备相关联的其他节点或者其他计算设备传送的数据。被存储在存储器中的通信数据能够包括:事务、分布式账本的一个或多个区块、有效性的确定、认证/验证的确定、一个或多个节点的独有标识符和/或IP地址、以及其他类型的电子数据等,并不限于上述内容。在各种实施例中,账本存储组件366能够从客户端设备(诸如图1的客户端设备210)以及分布式账本网络的其他节点接收并且维护通信和事务。在各种实施例中,账本存储组件366能够存储分布式账本的副本。
在各个实施例中,区块生成组件368能够生成已经由分布式账本网络的所有节点验证的事务区块。在一些实施例中,如果针对由节点选择以包含到区块中的经验证的事务的集合猜出正确的“新鲜值(nonce)”,则能够由节点来生成区块。该特定过程也被称为“挖掘”,并且是基于工作证明的共识算法所共有的。在一些其他实施例中,如果根据联邦拜占庭协议对一组指定节点进行编程,则能够由节点生成区块,该联邦拜占庭协议将一组指定节点定义为被授权生成新区块的节点。设想到了,用于由节点生成区块的任何技术都在本公开的范围之内,并且生成区块的过程不必限于本领域技术人员已知的一种共识方法。
现在转向图4,提供了流程图400,其图示了根据本公开的一些实施例的用于验证简档数据集的方法。在步骤410处,与用户ID相关联的客户端设备(诸如图1的用户客户端设备110)能够生成对应于与用户ID相关联的数据集的第一请求。所述数据集能够包括陈述(例如,事实或声明)以及对实体ID的引用。所述数据集能够被包含在第一请求中,或者在第一请求中被引用。例如,如果从由客户端设备先前提供的数据集列表中选择了数据集,则第一请求能够引用所述数据集。在各种实施例中,所述第一请求能够是待验证数据集的请求(例如,通过与所引用的实体ID相关联的实体)。
在步骤420处,所述客户端设备能够将所生成的第一请求传送给与客户端设备的用户ID相关联的节点,诸如图1的公共用户节点120。通过示例,节点是被配置为共同维护分布式账本(诸如区块链)的多个节点中的一个节点。在各种实施例中,所述多个节点被配置为将数据集、数字证书或者包括数据集或数字证书的事务等独立地和共同地存储到分布式账本中。所述节点能够基于所传送的第一请求来生成其中包括第一请求的数据集的事务,并且将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定所述节点的共识已经接收到所传送的事务并且确定所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够在分布式账本上存储所传送的事务(即,被包含在所传送的事务中的数据集)。根据本公开,对在分布式账本上存储事务的多个节点的引用能够被解读为每个节点在其分布式账本的相应副本上存储所传送的事务。
在各种实施例中,另一节点(诸如图1的私有实体节点130A或公共实体节点130B中的一个)能够基于从与所引用的实体ID相关联的另一客户端设备(诸如图1的实体客户端设备140)接收到的命令来生成第一数字证书。所述命令能够对应于(例如,引用、包括)所存储的数据集,并且基于接收到所述命令,另一节点(例如,实体节点130A、130B)能够生成从所引用的实体ID发布并且发布给用户ID的第一数字证书。在一些方面,所生成的第一数字证书能够对应于(例如,引用、包括)所存储的数据集。另一节点(例如,实体节点130A、130B)能够与所引用的实体ID相关联。
另一节点(例如,实体节点130A、130B)还能够生成包括所生成的第一数字证书的事务。另一节点能够将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定所述节点的共识已经接收到所传送的事务,并且同意所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够在分布式账本上存储所传送的事务(即,被包含在所传送的事务中的第一数字证书)。
节点(例如,公共用户节点120)能够确定所存储的第一数字证书被发布给用户ID。基于所述确定,所述节点能够将所存储的第一数字证书传送给与用户ID相关联的客户端设备(例如,客户端设备110)。在一些方面中,所述节点能够生成图形用户界面(GUI),诸如网站,其包括所存储的第一数字证书,所述证书能够以各种方式来表示,诸如文本、图像、GUI元素、指示符或者其组合。在这方面,所述节点能够基于确定将所存储的第一数字证书发布给用户ID,来将包括所存储的第一数字证书的GUI传送给客户端设备。
在步骤430处,客户端设备(例如,客户端设备110)能够接收从节点(例如,公共用户节点120)传送的所存储的第一数字证书。基于接收到所传送的第一数字证书,所述客户端设备能够提供所接收到的第一数字证书,以显示作为关于所存储的数据集已经由其中引用的实体ID进行验证的指示。
在一些另外的实施例中,所述客户端设备能够生成第二请求,所述第二请求对应于(例如,引用、包括)所接收到的第一数字证书并且引用另一实体ID。所述客户端设备能够将所生成的第二请求传送给所述节点(例如,公共用户节点120)。在各种实施例中,所述第二请求能够是与另一引用的实体ID(例如,与另一引用的实体ID相关联的另一实体或客户端设备)共享经验证的数据集或者对其可见的请求。所述节点能够基于接收到所传送的第二请求来生成对应于(例如,引用、包括)所存储的第一数字证书的第二数字证书。能够将所生成的第二数字证书发布给所引用的其他实体ID并且从用户ID发布。
所述节点能够基于所述第二数字证书的所述生成来生成其中包括所生成的第二数字证书的事务,并且将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到多个节点共同确定节点的共识已经接收到所传送的事务并且确定所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够将所传送的事务(即,被包含在所传送的事务中的第二数字证书)存储在分布式账本上。
在各种实施例中,与另一引用的ID相关联的另一节点(诸如图1的私有实体节点130A或公共实体节点130B中的一个)能够确定所存储的第二数字证书被发布给另一引用的ID。基于所述确定,相关联的实体节点(例如,与另一引用的ID相关联的实体节点)能够将所存储的第二数字证书传送给与另一引用的ID相关联的不同客户端设备,诸如图1的实体客户端设备140。在一些方面中,相关联的实体节点能够生成图形用户界面(GUI),诸如网站,其包括所存储的第二数字证书,所述第二数字证书能够以各种方式来表示,诸如文本、图像、GUI元素、指示符或者其组合。在这方面,相关联的实体节点能够基于确定将所存储的第二数字证书发布给另一引用的ID,来将包括所存储的第二数字证书的GUI传送给不同的客户端设备。
不同的客户端设备(例如,实体客户端设备140)能够接收从相关联的实体节点(例如,与另一引用的ID相关联的实体节点)传送的所存储的第二数字证书。基于接收到所传送的第二数字证书,不同的客户端设备能够提供所接收到的第二数字证书,以显示作为关于所存储的数据集已经由其中引用的实体ID进行验证的指示。
现在转向图5,提供了流程图500,其图示了根据本公开的一些实施例的用于验证简档数据集的方法。如关于图4的流程图400所描述的,与用户ID相关联的客户端设备(诸如图1的用户客户端设备110)能够生成对应于与用户ID相关联的数据集的第一请求。所述数据集能够包括陈述(例如,事实或声明)以及对实体ID的引用。所述数据集能够被包含在第一请求中,或者在第一请求中被引用。例如,如果从由所述客户端设备先前提供的数据集列表中选择了数据集,则所述第一请求能够引用所述数据集。在各种实施例中,所述第一请求能够是待验证数据集的请求(例如,通过与所引用的实体ID相关联的实体)。
在步骤510处,与客户端设备的用户ID相关联的节点(诸如图1的公共用户节点120)能够接收从所述客户端设备传送的所生成的第一请求。通过示例,所述节点是被配置为共同维护分布式账本(诸如区块链)的多个节点中的一个节点。在各种实施例中,所述多个节点被配置为将数据集、数字证书或者包括数据集或数字证书的事务等独立地和共同地存储到分布式账本中。所述节点能够基于所接收到的第一请求,来生成其中包括第一请求的数据集的事务,并且将所生成的事务传送给多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定节点的共识已经接收到所传送的事务并且确定所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够在分布式账本上存储所传送的事务(即,被包含在所传送的事务中的数据集)。根据本公开,对在分布式账本上存储事务的多个节点的引用能够被解读为每个节点在其分布式账本的相应副本上存储所传送的事务。
在各种实施例中,另一节点(诸如图1的私有实体节点130A或公共实体节点130B中的一个)能够基于从与所引用的实体ID相关联的另一客户端设备(诸如图1的实体客户端设备140)接收到的命令来生成第一数字证书。所述命令能够对应于(例如,引用、包括)所存储的数据集,并且基于接收到所述命令,另一节点(例如,实体节点130A、130B)能够生成从所引用的实体ID发布并且被发布给用户ID的第一数字证书。在一些方面中,所生成的第一数字证书能够对应于(例如,引用、包括)所存储的数据集。另一节点(例如,实体节点130A、130B)能够与所引用的实体ID相关联。
另一节点(例如,实体节点130A、130B)还能够生成包括所生成的第一数字证书的事务。另一节点能够将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定所述节点的共识已经接收到所传送的事务,并且同意所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够在分布式账本上存储所传送的事务(即,被包含在所传送的事务中的第一数字证书)。
在步骤520处,节点(例如,公共用户节点120)能够确定所存储的第一数字证书被发布给与所述节点相关联的用户ID。基于所述确定,在步骤530处,所述节点能够将所存储的第一数字证书传送给与用户ID相关联的客户端设备(例如,客户端设备110)。在一些方面中,所述节点能够生成图形用户界面(GUI),诸如网站,其包括所存储的第一数字证书,所述第一数字证书能够以各种方式来表示,诸如文本、图像、GUI元素、指示符或者其组合。在这方面,所述节点能够基于确定将所存储的第一数字证书发布给用户ID,来将包括所存储的第一数字证书的GUI传送给所述客户端设备。
客户端设备(例如,客户端设备110)能够接收从所述节点(例如,公共用户节点120)传送的所存储的第一数字证书。基于接收到所传送的第一数字证书,所述客户端设备能够提供所接收到的第一数字证书,以显示作为关于所存储的数据集已经由其中所引用的实体ID进行验证的指示。
在一些另外的实施例中,所述客户端设备能够生成第二请求,所述第二请求对应于(例如,引用、包括)所接收到的第一数字证书并且引用另一实体ID。所述客户端设备能够将所生成的第二请求传送给所述节点(例如,公共用户节点120)。在各种实施例中,所述第二请求能够是与另一引用的实体ID(例如,与另一引用的实体ID相关联的另一实体或客户端设备)共享经验证的数据集或者对其可见的请求。所述节点能够基于接收到所传送的第二请求来生成与(例如,引用、包括)所存储的第一数字证书相对应的第二数字证书。能够将所生成的第二数字证书发布给所引用的其他实体ID并且从用户ID发布。
所述节点能够基于所述第二数字证书的所述生成来生成其中包括所生成的第二数字证书的事务,并且将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定所述节点的共识已经接收到所传送的事务并且确定所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够将所传送的事务(即,被包含在所传送的事务中的第二数字证书)存储在分布式账本上。
在各种实施例中,与另一引用的ID相关联的另一节点(诸如图1的私有实体节点130A或公共实体节点130B中的一个)能够确定所存储的第二数字证书被发布给另一引用的ID。基于所述确定,相关联的实体节点(例如,与另一引用的ID相关联的实体节点)能够将所存储的第二数字证书传送给与另一引用的ID相关联的不同客户端设备,诸如图1的实体客户端设备140。在一些方面中,所述相关联的实体节点能够生成图形用户界面(GUI),诸如网站,其包括所存储的第二数字证书,所述第二数字证书能够以各种方式来表示,诸如文本、图像、GUI元素、指示符或者其组合。在这方面,所述相关联的实体节点能够基于确定将所存储的第二数字证书被发布给另一引用的ID,来将包括所存储的第二数字证书的GUI传送给不同的客户端设备。
不同的客户端设备(例如,实体客户端设备140)能够接收从相关联的实体节点(例如,与另一引用的ID相关联的实体节点)传送的所存储的第二数字证书。基于接收到所传送的第二数字证书,不同的客户端设备能够提供所接收到的第二数字证书,以显示作为关于所存储的数据集已经由其中引用的实体ID进行验证的指示。
现在转到图6,提供了流程图,其图示了根据本公开的一些实施例的用于验证简档数据集的方法。如分别关于图4和图5的流程图400、500所描述的,与用户ID相关联的客户端设备(诸如图1的用户客户端设备110)能够生成对应于与用户ID相关联的数据集的第一请求。所述数据集能够包括陈述(例如,事实或声明)以及对实体ID的引用。所述数据集能够被包含在第一请求中,或者在第一请求中被引用。例如,如果从由客户端设备先前提供的数据集列表中选择了数据集,则所述第一请求能够引用所述数据集。在各种实施例中,所述第一请求能够是待验证数据集的请求(例如,通过与所引用的实体ID相关联的实体)。
与客户端设备的用户ID相关联的节点(诸如图1的公共用户节点120)能够接收从客户端设备传送的所生成的第一请求。通过示例,所述节点是多个节点中被配置为共同维护分布式账本(诸如区块链)的一个节点。在各种实施例中,所述多个节点被配置为将数据集、数字证书或者包括数据集或数字证书的事务等独立地和共同地存储到分布式账本中。所述节点能够基于所接收到的第一请求,来生成其中包括第一请求的数据集的事务,并且将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定所述节点的共识已经接收到所传送的事务并且确定所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够在分布式账本上存储所传送的事务(即,被包含在所传送的事务中的数据集)。根据本公开,对在分布式账本上存储事务的多个节点的引用能够被解读为每个节点在其分布式账本的相应副本上存储所传送的事务。
在步骤610处,另一节点(诸如图1的私有实体节点130A或公共实体节点130B中的一个)能够确定所存储的事务包括数据集,并且所述数据集引用实体ID。基于所述确定,在步骤620处,另一节点能够从与所引用的实体ID相关联的另一客户端设备(诸如图1的实体客户端设备140)接收命令。所述命令能够对应于(例如,引用、包括)所存储的数据集,并且基于接收到所述命令,在步骤630处,另一实体(例如,实体节点130A、130B)能够生成从所引用的实体ID发布并且被发布给用户ID的第一数字证书。在一些方面中,所生成的第一数字证书能够对应于(例如,引用、包括)所存储的数据集。另一节点(例如,实体节点130A、130B)能够与所引用的实体ID相关联。
另一节点(例如,实体节点130A、130B)还能够生成包括所生成的第一数字证书的事务。另一节点能够将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定所述节点的共识已经接收到所传送的事务,并且同意所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够在分布式账本上存储所传送的事务(即,被包含在所传送的事务中的第一数字证书)。
所述节点(例如,公共用户节点120)能够确定所存储的第一数字证书被发布给与所述节点相关联的用户ID。基于所述确定,所述节点能够将所存储的第一数字证书传送给与用户ID相关联的客户端设备(例如,客户端设备110)。在一些方面中,所述节点能够生成图形用户界面(GUI),诸如网站,其包括所存储的第一数字证书,所述第一数字证书能够以各种方式来表示,诸如文本、图像、GUI元素、指示符或者其组合。在这方面,所述节点能够基于确定将所存储的第一数字证书被发布给用户ID,来将包括所存储的第一数字证书的GUI传送给所述客户端设备。
所述客户端设备(例如,客户端设备110)能够接收从所述节点(例如,公共用户节点120)传送的所存储的第一数字证书。基于接收到所传送的第一数字证书,所述客户端设备能够提供所接收到的第一数字证书,以显示作为关于所存储的数据集已经由其中引用的实体ID进行验证的指示。
在一些另外的实施例中,所述客户端设备能够生成第二请求,所述第二请求对应于(例如,引用、包括)接所收到的第一数字证书并且引用另一实体ID。所述客户端设备能够将所生成的第二请求传送给所述节点(例如,公共用户节点120)。在各种实施例中,所述第二请求能够是与另一引用的实体ID(例如,与另一引用的实体ID相关联的另一实体或客户端设备)共享经验证的数据集或者对其可见的请求。所述节点能够基于接收到所传送的第二请求来生成对应于(例如,引用、包括)所存储的第一数字证书的第二数字证书。能够将所生成的第二数字证书发布给所引用的其他实体ID并且从用户ID发布。
所述节点能够基于所述第二数字证书的所述生成来生成其中包括所生成的第二数字证书的事务,并且将所生成的事务传送给所述多个节点中的任意节点。接收所述事务的任意节点都能够将所传送的事务转发到所述多个节点中的另一节点,直到所述多个节点共同确定所述节点的共识已经接收到所传送的事务并且确定所传送的事务应当被添加到分布式账本中。在这方面,所述多个节点能够将所传送的事务(即,包含在所传送的事务中的第二数字证书)存储在分布式账本上。
在各种实施例中,与另一引用的ID相关联的另一节点(诸如图1的私有实体节点130A或公共实体节点130B中的一个)能够确定所存储的第二数字证书被发布给另一引用的ID。基于所述确定,相关联的实体节点(例如,与另一引用的ID相关联的实体节点)能够将所存储的第二数字证书传送给与另一引用的ID相关联的不同客户端设备,诸如图1的实体客户端设备140。在一些方面中,相关联的实体节点能够生成图形用户界面(GUI),诸如网站,其包括所存储的第二数字证书,所述第二数字证书能够以各种方式来表示,诸如文本、图像、GUI元素、指示符或者其组合。在这方面,相关联的实体节点能够基于确定将所存储的第二数字证书发布给另一引用的ID,来将包括所存储的第二数字证书的GUI传送给不同的客户端设备。
不同的客户端设备(例如,实体客户端设备140)能够接收从相关联的实体节点(例如,与另一引用的ID相关联的实体节点)传送的所存储的第二数字证书。基于接收到所传送的第二数字证书,不同的客户端设备能够提供所接收到的第二数字证书,以显示作为关于所存储的数据集已经由其中引用的实体ID进行验证的指示。
在已经描述了本发明的实施例后,下文将描述可以在其中实现本发明的实施例的示例性操作环境,以便为本发明的各个方面提供一般背景。首先特别参考图7,示出了用于实现本发明的实施例的示例性操作环境,并且将其总体上指定为计算设备700。计算设备700只是合适的计算环境的一个示例,并且无意于暗示对本发明的使用或功能的范围的任何限制。计算设备700也不应当被解读为具有与所示出的组件中的任何一个或者其组合有关的任何依赖性或要求。
可以在计算机代码或机器可用指令的一般上下文中描述本发明,包括由计算机或其他机器(例如,个人数字助手或其他手持设备)执行的计算机可执行指令(例如,程序模块)。通常,包括例程、程序、对象、组件、数据结构等的程序模块指代执行特定任务或者实现特定抽象数据类型的代码。可以在各种系统配置中实践本发明,包括手持设备、消费者电子产品、通用计算机、更多专用计算设备等。也可以在分布式计算环境中实践本发明,其中,任务是由通过通信网络链接的远程处理设备执行的。
参考图7,计算设备700包括直接或间接耦合以下设备的总线710:存储器712、一个或多个处理器714、一个或多个呈现组件716、输入/输出(I/O)端口718、输入/输出组件720、以及说明性电源722。总线710代表一条或多条总线(例如,地址总线、数据总线或者其组合)。尽管为了清楚起见将图7中的各种框以线示出,但是实际上,描绘各种组件不是很清楚,并且隐喻地,线将更准确地是灰色和模糊的。例如,人们可以将诸如显示设备之类的呈现组件视为I/O组件。同样地,处理器具有存储器。发明人认识到这是本领域的本质,并且重申图7的图仅是可结合本发明的一个或多个实施例使用的示例性计算设备的说明。并且为区分如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等的类别,因为所有这些都在图7的范围内,并且参考“计算设备”。
计算设备700通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备700访问的任何可用介质,并且包括易失性和非易失性介质以及可移动和不可移动介质。通过示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于:RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能磁盘(DVD)或其他光盘存储设备、盒式磁带、磁带、磁性存储或其他磁性存储设备、或者可用于存储所需信息并可由计算设备700访问的任何其他介质。计算机存储介质不包括信号本身。通信介质通常在已调制数据信号(例如,载波或其他传输机制)中体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息输送介质。术语“经调制的数据信号”表示具有以编码信号中的信息的方式设置或改变其一个或多个特性的信号。通过示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、RF、红外和其他无线介质之类的无线介质。以上任何内容的组合也应包括在计算机可读介质的范围内。
存储器712包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的、不可移动的或者其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备700包括一个或多个处理器,该处理器从诸如存储器712或I/O组件720的各种实体读取数据。呈现组件716将数据指示呈现给用户或其他设备。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。
I/O端口718允许计算设备700逻辑地耦合到包括I/O组件720的其他设备,其中,一些可以内置。说明性组件包括麦克风、操纵杆、游戏手柄、碟形卫星、扫描仪、打印机、无线设备等。I/O组件720可以提供自然用户界面(NUI),其处理由用户生成的空中手势、语音或其他生理输入。在一些情况下,可以将输入传输到适当的网络元件以进行进一步处理。NUI可以实现语音识别、触笔识别、面部识别、生物统计识别、在屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及与计算设备700的显示器相关联的触摸识别(如下更详细描述)的任意组合。计算设备700可以配备有深度相机,例如立体相机系统、红外相机系统、RGB相机系统、触摸屏技术以及这些的组合,用于进行手势检测和识别。另外,计算设备700可以配备有能够检测运动的加速度计或陀螺仪。可以将加速度计或陀螺仪的输出提供给计算设备700的显示器,以渲染沉浸式增强现实或虚拟现实。
能够理解,本发明的实施例提供了利用分布式账本技术的各方面来验证和选择性地共享经验证的简档数据集等。已经关于特定实施例描述了本发明,这些特定实施例在所有方面都旨在是说明性的而不是限制性的。替代实施例对于本发明所属领域的普通技术人员将变得显而易见,而不背离器范围。
根据上述内容可以看出,本发明很好地适于实现上述所有目标和目的,以及该系统和方法所显然和固有的其他优点。将理解的是,某些特征和子组合是有用的,并且可以在不参考其他特征和子组合的情况下被采用。这是权利要求所预期的并且在权利要求的范围之内。

Claims (12)

1.一种系统,包括:
具有一个或多个处理器和一个或多个计算机存储介质的第一节点,所述一个或多个计算机存储介质存储计算机可用指令,所述计算机可用指令当由所述一个或多个处理器使用时使得所述一个或多个处理器用于:
从与第一ID相关联的客户端设备接收第一请求,所接收到的第一请求包括与所述第一ID相关联并且引用第二ID的数据集;
基于所接收到的第一请求来将所包括的数据集存储在分布式账本上,其中,所述第一节点是多个节点中被配置为基于所接收到的第一请求来将所包括的数据集存储在所述分布式账本上的一个节点,
其中,所述多个节点中的第二节点被配置为:
生成与所存储的数据集相对应并且被发布给所述第一ID的第一数字证书;
基于所述第一数字证书的所述生成来将所述第一数字证书存储在所述分布式账本上,其中,所述第一节点是所述多个节点中还被配置为基于所述第一数字证书的所述生成来将所述第一数字证书存储在所述分布式账本上的一个节点;
确定所存储的第一数字证书被发布给所述第一ID;以及
基于所述确定来将所存储的第一数字证书传送给所述客户端设备,
其中,所述客户端设备被配置为提供所传送的第一数字证书,以显示作为关于所存储的数据集被所引用的第二ID验证的指示。
2.根据权利要求1所述的系统,其中,所生成的第一数字证书包括所存储的数据集。
3.根据权利要求1或2所述的系统,其中,所生成的第一数字证书是从所引用的第二ID发布的。
4.根据权利要求1、2或3所述的系统,其中,所述第二节点与所引用的第二ID相关联,并且被配置为基于所接收到的与所引用的第二ID相关联并且与所存储的数据集相对应的命令来生成所述第一数字证书。
5.根据权利要求1、2、3或4所述的系统,其中,所述指令还使得所述一个或多个处理器用于:
从所述客户端设备接收第二请求,所接收到的第二请求与所存储的第一数字证书相对应并且引用第三ID;以及
基于所接收到的第二请求来生成与所存储的第一数字证书相对应的第二数字证书,所生成的第二数字证书是从所述第一ID发布给所引用的第三ID的。
6.根据权利要求1、2、3、4或5所述的系统,其中,所述指令还使得所述一个或多个处理器用于:
基于所述第二数字证书的所述生成来将所述第二数字证书存储在所述分布式账本上,其中,所述第一节点是所述多个节点中还被配置为基于所述第二数字证书的所述生成来将所述第二数字证书存储在所述分布式账本上的一个节点,
其中,所述多个节点中的所述第二节点或第三节点之一被配置为确定所存储的第二数字证书被发布给所引用的第三ID,并且还将所存储的第二数字证书传送给与所引用的第三ID相关联的另一客户端设备。
7.根据权利要求6所述的系统,其中,所述另一客户端设备被配置为提供所传送的第二数字证书,以显示作为关于所存储的数据集被所述第二ID验证的另一指示。
8.一种存储计算机可用指令的计算机存储介质,所述计算机可用指令当由第一节点使用时使得所述第一节点执行包括以下的操作:
由所述第一节点确定被存储在分布式账本上的数据集引用与所述第一节点相关联的第一ID,其中,所存储的数据集与第二ID相关联;
由所述第一节点接收来自与所引用的第一ID相关联的第一客户端设备的命令,所接收到的命令与所存储的数据集相对应;
由所述第一节点基于所接收到的命令来生成与所存储的数据集相对应的第一数字证书,所生成的第一数字证书是从所引用的第一ID发布给所述第二ID的;以及
由所述第一节点将所生成的第一数字证书存储在所述分布式账本上,其中,所述第一节点是多个节点中被配置为将所生成的第一数字证书存储在所述分布式账本上的一个节点,以及
其中,所述多个节点中的用户节点被配置为:
基于确定所存储的第一数字证书被发布给所述第二ID来将所存储的第一数字证书传送给与所述第二ID相关联的第二客户端设备。
9.根据权利要求8所述的介质,其中,所生成的第一数字证书包括所存储的数据集。
10.根据权利要求8或9所述的介质,其中,所述第二客户端设备被配置为提供被包括在所传送的第一数字证书中的所存储的数据集,以显示作为关于所存储的数据集被所引用的第一ID验证的指示。
11.根据权利要求8、9或10所述的介质,所述操作还包括:
基于确定所存储的数据集引用所述第一ID,由所述第一节点将所生成的包括用于验证所存储的数据集的请求的通知传送给所述第一客户端设备。
12.根据权利要求8、9、10或11所述的介质,其中,所述命令是经由所述第一节点所生成的用户界面接收的并且被提供给所述第一客户端设备。
CN201980076105.6A 2018-11-20 2019-11-13 基于分布式账本的简档验证 Active CN113056741B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/197,052 2018-11-20
US16/197,052 US11025610B2 (en) 2018-11-20 2018-11-20 Distributed ledger-based profile verification
PCT/US2019/061053 WO2020106503A1 (en) 2018-11-20 2019-11-13 Distributed ledger-based profile verification

Publications (2)

Publication Number Publication Date
CN113056741A true CN113056741A (zh) 2021-06-29
CN113056741B CN113056741B (zh) 2024-05-24

Family

ID=69160244

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980076105.6A Active CN113056741B (zh) 2018-11-20 2019-11-13 基于分布式账本的简档验证

Country Status (4)

Country Link
US (1) US11025610B2 (zh)
EP (1) EP3864551B1 (zh)
CN (1) CN113056741B (zh)
WO (1) WO2020106503A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112492006B (zh) * 2018-10-31 2023-12-05 创新先进技术有限公司 一种基于区块链的节点管理方法和装置
US11070495B2 (en) * 2018-12-28 2021-07-20 Dish Network L.L.C. Systems and methods for a chatbot communication framework
US11093482B2 (en) * 2019-03-12 2021-08-17 International Business Machines Corporation Managing access by third parties to data in a network
US11349636B2 (en) * 2019-03-25 2022-05-31 Micron Technology, Inc. Local ledger block chain for secure updates
US10491608B1 (en) * 2019-03-26 2019-11-26 Farmobile Llc Distributed transaction-based security and tracking of agricultural machine and agronomic data
US11671432B1 (en) * 2019-04-18 2023-06-06 Riccardo Vieri Portable trust rating method and system
US11861031B2 (en) * 2020-06-15 2024-01-02 Allstate Solutions Private Limited Distributed ledger interface system for background verification of an individual
US20220318757A1 (en) * 2021-04-02 2022-10-06 Transcrypt Solutions Inc. System for verifying education and employment of a candidate via a blockchain network
US20230004970A1 (en) * 2021-06-30 2023-01-05 Artema Labs, Inc Distributed Ledgers with Ledger Entries Containing Redactable Payloads
US12003651B2 (en) 2021-08-05 2024-06-04 Bank Of America Corporation Electronic system for divergent distribution of electronic digital certificates
US12028464B2 (en) * 2021-08-05 2024-07-02 Bank Of America Corporation Electronic system for generating and tracking linked electronic digital certificates
US12028465B2 (en) 2021-08-05 2024-07-02 Bank Of America Corporation Electronic system for convergent distribution of electronic digital certificates
US11683174B1 (en) 2022-02-08 2023-06-20 My Job Matcher, Inc. Apparatus and methods for selectively revealing data
US11595202B1 (en) * 2022-02-09 2023-02-28 My Job Matcher, Inc. Apparatus and methods for mapping user-associated data to an identifier

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193103A (zh) * 2006-11-24 2008-06-04 华为技术有限公司 一种分配和验证身份标识的方法及系统
US20170338967A1 (en) * 2016-05-23 2017-11-23 Pomian & Corella Llc Operation of a certificate authority on a distributed ledger

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015158B2 (en) * 2008-02-29 2018-07-03 Blackberry Limited Methods and apparatus for use in enabling a mobile communication device with a digital certificate
US9680819B2 (en) * 2009-12-23 2017-06-13 Symantec Corporation Method and system for co-termination of digital certificates
EP3234878A1 (en) 2015-10-14 2017-10-25 Cambridge Blockchain, LLC Systems and methods for managing digital identities
US10022613B2 (en) 2016-05-02 2018-07-17 Bao Tran Smart device
US10102526B1 (en) * 2017-03-31 2018-10-16 Vijay K. Madisetti Method and system for blockchain-based combined identity, ownership, integrity and custody management

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101193103A (zh) * 2006-11-24 2008-06-04 华为技术有限公司 一种分配和验证身份标识的方法及系统
US20170338967A1 (en) * 2016-05-23 2017-11-23 Pomian & Corella Llc Operation of a certificate authority on a distributed ledger

Also Published As

Publication number Publication date
CN113056741B (zh) 2024-05-24
US20200162448A1 (en) 2020-05-21
WO2020106503A1 (en) 2020-05-28
EP3864551A1 (en) 2021-08-18
EP3864551B1 (en) 2024-04-10
US11025610B2 (en) 2021-06-01

Similar Documents

Publication Publication Date Title
CN113056741B (zh) 基于分布式账本的简档验证
US11818265B2 (en) Methods and systems for creating and recovering accounts using dynamic passwords
US20220255737A1 (en) Methods and systems for recovering data using dynamic passwords
US11323272B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US11870769B2 (en) System and method for identifying a browser instance in a browser session with a server
US20230010452A1 (en) Zero-Knowledge Environment Based Networking Engine
EP3593482B1 (en) Secure de-centralized domain name system
CN109417549B (zh) 使用集中式或分布式分类账来提供信息证明的方法和设备
US11048690B2 (en) Contribution of multiparty data aggregation using distributed ledger technology
US20200084045A1 (en) Establishing provenance of digital assets using blockchain system
CN108551437B (zh) 用于认证信息的方法和装置
US11308448B1 (en) Intelligent employment-based blockchain
GB2569278A (en) Methods and apparatus for verifying a user transaction
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US20110145565A1 (en) Federated authentication for mailbox replication
US11157876B1 (en) Intelligent employment-based blockchain
CN115965458A (zh) 生成标记化的信誉分数
CN115552842A (zh) 用于通过区块链高效安全地处理、访问和传输数据的计算机实现的系统和方法
KR20220076486A (ko) 블록체인 트랜잭션들을 위한 콜-백 메커니즘들
WO2023242969A1 (ja) 署名システム、端末、存在確認方法、及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant