CN113597628A - 使用去中心化网络的广播意图信令 - Google Patents

使用去中心化网络的广播意图信令 Download PDF

Info

Publication number
CN113597628A
CN113597628A CN202080022463.1A CN202080022463A CN113597628A CN 113597628 A CN113597628 A CN 113597628A CN 202080022463 A CN202080022463 A CN 202080022463A CN 113597628 A CN113597628 A CN 113597628A
Authority
CN
China
Prior art keywords
users
computing system
owner
data
user
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
CN202080022463.1A
Other languages
English (en)
Inventor
D·J·巴克纳
B·默克多
A·帕特尔
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 CN113597628A publication Critical patent/CN113597628A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0276Advertisement creation

Landscapes

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

Abstract

本文公开的实施例涉及用于向去中心化的网络的第二用户广播第一用户的意图的计算系统和方法。计算系统和方法在去中心化的网络中实现,该去中心化的网络实现分布式账本,该分布式账本支持计算系统的一个或多个用户的一个或多个去中心化的身份(DID)。接收来自计算系统的第一用户的意图。该意图数据定义了计算系统的第一用户和第二用户之间的潜在交互。生成广播消息。广播消息包括第一用户中的每个第一用户的DID和指定潜在交互的信息。所生成的广播消息被提供给第二用户。

Description

使用去中心化网络的广播意图信令
背景技术
目前使用的大多数证明身份的文件或记录是由中心化组织发布的,诸如政府、学校、雇主或其他服务中心或监管组织。这些组织通常在中心化的身份管理系统中维护每个成员的身份。中心化身份管理系统是一个中心化信息系统,用于组织管理已发布的身份、它们的认证、授权、角色和特权。中心化身份管理系统被认为是安全的,因为它们通常使用专业维护的硬件和软件。通常,身份发布组织会制定在组织中注册人员的条款和要求。最后,当一方需要验证另一方的身份时,验证方往往需要通过中心化的身份管理系统来获得验证和/或认证另一方身份的信息。
去中心化的标识符(DID)是一种新型的标识符,其独立于任何中心化注册、身份提供者或证书机构。分布式账本技术(诸如区块链)提供了使用完全去中心化标识符的机会。分布式账本技术使用全球分布式账本以可验证的方式记录两方或多方之间的交易。一旦交易被记录,在不改变所有后续账本部分的情况下,无法追溯地改变账本的部分中的数据,这提供了一个相当安全的平台。在更广泛的意义上,DID还可以包括指定客户端如何注册、替换、轮换和/或恢复密钥的DID方法。DID方法还可以设置密钥期满日期。
本文要求保护的主题不限于解决任何缺点或仅在诸如上述那些环境中操作的实施例。相反,提供该背景仅是为了说明可以实践本文描述的一些实施例的一个示例性技术领域。
发明内容
提供本发明内容以简化形式介绍在以下具体实施方式中进一步描述的概念的选择。本发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在被用作确定要求保护的主题的范围的帮助。
本文公开的实施例涉及用于向去中心化的网络的第二用户广播第一用户的意图的计算系统和方法。计算系统和方法在去中心化的网络中实施,该去中心化的网络实现分布式账本,该分布式账本支持计算系统的一个或多个用户的一个或多个去中心化的身份(DID)。接收来自计算系统的第一用户的意图。意图数据定义了计算系统的第一用户和第二用户之间的潜在交互。生成广播消息。广播消息包括第一用户中的每一个的DID和指定潜在交互的信息。生成的广播消息被提供给第二用户。
附加特征和优点将在随后的描述中阐述,并且部分地从描述中将是显而易见的,或者可以通过本文教导的实践而获悉。本发明的特征和优点可以通过所附权利要求中特别指出的指令和组合的方式来被实现和获得。本发明的特征将从以下描述和所附权利要求中变得更加明显,或者可以通过如下文所述的本发明的实践而获知。
附图说明
为了描述获得上述和其他优点和特征的方式,将参考附图中所示的具体实施例对上述简要描述的主题进行更具体的描述。理解这些附图仅描绘典型的实施例并且因此不被认为是对范围的限制,将通过使用附图以额外的特异性和细节来描述和解释实施例,在附图中:
图1示出了其中可以采用本文描述的原理的示例计算系统;
图2示出了用于创建去中心化标识(DID)的示例环境;
图3示出了DID身份中枢的示例环境;
图4示出了用于向去中心化的网络的第二用户广播第一用户的意图的实施例;以及
图5示出了用于向去中心化的网络的第二用户广播第一用户的意图的示例方法的流程图。
具体实施方式
本文公开的实施例涉及用于向去中心化的网络的第二用户广播第一用户的意图的计算系统和方法。计算系统和方法在去中心化的网络中实现,该去中心化的网络实现分布式账本,该分布式账本支持计算系统的一个或多个用户的一个或多个去中心化的身份(DID)。接收来自计算系统的第一用户的意图。意图数据定义了计算系统的第一用户和第二用户之间的潜在交互。生成广播消息。广播消息包括每个第一用户的DID和指定潜在交互的信息。生成的广播消息被提供给第二用户。
本文公开的实施例提供了相对于不利用使用去中心化的标识符的分布式网络的传统系统的技术进步。例如,本文公开的实施例允许计算系统生成广播消息,该广播消息广播第一用户以特定方式与第二用户交互的意图。这些交互可能是为了销售或购买产品或服务。他们还可能以某种其他方式与第二个用户进行交互,诸如在研究产品上进行协作。这些广播消息可能是第二用户感兴趣的并且可以被提供给他们并且然后用于促进第一用户和第二用户之间的通信。这是一项技术进步,因为其他方面可能不知道彼此的各方现在能够相互通信。这有利地提供了增强的市场和其他平台,其中第一用户和第二用户能够以新的方式彼此交互。
因为本文描述的原理可以在计算系统的上下文中执行,所以将关于图1描述计算系统的一些介绍性讨论。然后,对于其余附图,此描述将返回到DID平台的原则。
计算系统现在越来越多地采用多种形式。计算系统可以是例如手持设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统、数据中心,或者甚至是传统上不被认为是计算系统的设备,诸如可穿戴设备(例如,眼镜)。在本说明书和权利要求中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),其包括至少一个物理和有形处理器,以及物理和有形存储器,该物理和有形存储器能够在其上具有可由处理器执行的计算机可执行指令。存储器可以采用任何形式并且可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中并且可以包括多个组成计算系统。
如图1所示,在其最基本的配置中,计算系统100通常包括至少一个硬件处理单元102和存储器104。处理单元102可以包括通用处理器并且还可以包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)或任何其他专用电路。存储器104可以是物理系统存储器,其可以是易失性、非易失性或两者的某种组合。术语“存储器”在本文中还可用于指代诸如物理存储介质的非易失性大容量存储器。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。
计算系统100上还具有通常被称为“可执行组件”的多个结构。例如,计算系统100的存储器104被示为包括可执行组件106。术语“可执行组件”是计算领域的普通技术人员所熟知的结构的名称,该结构作为可以是软件、硬件或其组合的结构。例如,当以软件实现时,本领域普通技术人员将理解可执行组件的结构可包括可在计算系统上执行的软件对象、例程、方法等,无论这种可执行组件是否存在于计算系统的堆中,或者该可执行组件是否存在于计算机可读存储介质上。
在这种情况下,本领域普通技术人员将认识到可执行组件的结构存在于计算机可读介质上,使得当被计算系统的一个或多个处理器(例如,由处理器线程)解释时,使计算系统执行一个功能。这种结构可以是处理器直接计算机可读的(如果可执行组件是二进制文件的就是这种情况)。替代地,该结构可以被构造为可解释和/或被编译的(无论是在单个阶段还是在多个阶段),以便生成这种可由处理器直接解释的二进制文件。当使用术语“可执行组件”时,对可执行组件的示例结构的这种理解完全在计算领域的普通技术人员的理解之内。
术语“可执行组件”也被普通技术人员很好地理解为包括诸如硬编码或硬连线逻辑门的结构,其在硬件中排他地或几乎排他地被实现,诸如在现场可编程门内阵列(FPGA)、专用集成电路(ASIC)或任何其他专用电路内。因此,术语“可执行组件”是用于计算领域的普通技术人员所理解的结构的术语,无论以软件、硬件或组合来实现。在该描述中,还可以使用术语“组件”、“代理”、“管理器”、“服务”、“引擎”、“模块”、“虚拟机”等。如在本说明书和案例中所使用的,这些术语(无论是否利用修饰从句表达)也旨在与术语“可执行组件”同义,并且因此也具有计算领域的普通技术人员很好理解的结构。
在以下描述中,参考由一个或多个计算系统执行的动作来描述实施例。如果这样的动作在软件中实现,则一个或多个处理器(执行该动作的相关联的计算系统的)响应于已经执行了构成可执行组件的计算机可执行指令来指导计算系统的操作。例如,此类计算机可执行指令可以被体现在形成计算机程序产品的一个或多个计算机可读介质上。此类操作的一个示例涉及数据操作。如果此类行为在硬件中排他地或几乎排他地实现,诸如在FPGA或ASIC内,则计算机可执行指令可以是硬编码或硬连线逻辑门。计算机可执行指令(和被操纵的数据)可以被存储在计算系统100的存储器104中。计算系统100还可以包含通信信道108,通信信道108允许计算系统100通过例如网络110来与其他计算系统通信。
虽然并非所有计算系统都需要用户界面,但在一些实施例中,计算系统100包括用于与用户对接的用户界面系统112。用户界面系统112可以包括输出机构112A以及输入机构112B。本文描述的原理不限于精确的输出机构112A或输入机构112B,因为这将取决于设备的性质。然而,输出机构112A可以包括例如扬声器、显示器、触觉输出、全息图等。输入机构112B的示例可以包括例如麦克风、触摸屏、全息图、相机、键盘、其他指针输入的鼠标、任何类型的传感器等等。
本文描述的实施例可以包括或利用专用或通用计算系统,该计算系统包括计算机硬件,诸如例如一个或多个处理器和系统存储器,如下文更详细讨论的。本文描述的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这种计算机可读介质可以是可由通用或专用计算系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例可以包括至少两种截然不同的计算机可读介质:存储介质和传输介质。
计算机可读存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备,或任何其他物理和有形存储介质,其可以用于以计算机可执行指令或数据结构的形式存储所需的程序代码部件,并且可以由通用或专用计算系统访问。
“网络”被定义为一个或多个数据链路,其能够在计算系统和/或模块和/或其他电子设备之间传输电子数据。当信息通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)传输或提供到计算系统时,计算系统正确地将该连接视为传输介质。传输介质可包括网络和/或数据链路,其可用于携带计算机可执行指令或数据结构形式的所需程序代码部件,并且可由通用或专用计算系统访问。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算系统组件时,计算机可执行指令或数据结构形式的程序代码部件可以自动从传输介质传送到存储介质(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,“NIC”)内的RAM中,然后被最终传送到计算系统RAM和/或计算系统处的低易失性存储介质。因此,应当理解,存储介质可以被包括在也(或甚至主要)利用传输介质的计算系统组件中。
计算机可执行指令包括例如当在处理器处被执行时使通用计算系统、专用计算系统或专用处理设备执行特定功能或功能组的指令和数据。替代地或另外地,计算机可执行指令可以配置计算系统以执行特定功能或功能组。计算机可执行指令可以是例如二进制文件或者甚至是在被处理器直接执行之前经过某种翻译(例如编译)的指令,诸如中间格式指令,诸如汇编语言,或者甚至是源代码。
虽然已经以结构特征和/或方法动作特定的语言描述了主题,但是应当理解,在所附权利要求中定义的主题不一定限于上述特征或上述动作。相反,所描述的特征和动作被公开为实现权利要求的示例形式。
本领域技术人员将理解,本发明可以在具有多种类型的计算系统配置的网络计算环境中实施,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机、数据中心、可穿戴设备(诸如眼镜)等。本发明还可以在分布式系统环境中实施,其中本地和远程计算系统通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
本领域技术人员还将理解,可以在云计算环境中实践本发明。云计算环境可以是分布式的,尽管这不是必需的。当分布式时,云计算环境可以在组织内在国际上分布和/或具有跨多个组织所有的组件。在本说明书和随后的权利要求中,“云计算”被定义为用于实现对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于在正确部署时可以从这种模型中获得的其他众多优势中的任何一个。
其余附图可讨论可对应于先前描述的计算系统100的各种计算系统。其余附图的计算系统包括各种组件或功能块,这些组件或功能块可以实现如将解释的本文公开的各种实施例。各种组件或功能块可以在本地计算系统上实现或者可以在包括驻留在云中的元件或实现云计算的方面的分布式计算系统上实现。各种组件或功能块可以实现为软件、硬件或软件和硬件的组合。其余附图中的计算系统可以包括比附图中所示的组件更多或更少的组件,并且某些组件可以根据情况进行组合。尽管不一定示出,但是计算系统的各种组件可以根据需要访问和/或利用处理器和存储器,诸如处理器102和存储器104,以执行它们的各种功能。
现在将关于图2给出对去中心化标识(DID)及其创建和驻留的环境的一些介绍性讨论。如图2所示,DID拥有者201可以所有或控制DID 205,DID 205表示DID拥有者201的身份。DID拥有者201可以使用创建和注册服务来注册DID,这将在下面更详细地解释。
DID拥有者201可以是可以从DID中受益的任何实体。例如,DID拥有者201可以是人类或人类组织。此类组织可能包括公司、部门、政府、机构或任何其他组织或组织组。每个人都可能有DID,而每个人所属的(多个)组织也可能有DID。
DID拥有者201可以替代地是机器、系统或设备,或者(多个)机器、(多个)设备和/或(多个)系统的集合。在其他实施例中,DID拥有者201可以是机器、系统或设备的子部分。例如,设备可以是印刷电路板,其中该电路板的子部分是电路板的各个组件。在这样的实施例中,机器或设备可以具有DID并且每个子部件也可以具有DID。DID拥有者还可以是软件组件,诸如上面关于图1描述的可执行组件106。复杂的可执行组件106的示例可以是人工智能。人工智能也可能拥有DID。
因此,DID拥有者201可以是能够创建DID 205或至少具有为他们创建并与他们相关联的DID 205的任何合理的实体、人类或非人类。尽管DID拥有者201被示为具有单个DID205,但情况并非如此,因为根据情况可能存在与DID拥有者201相关联的任意数量的DID。
如上所述,DID拥有者201可以创建和注册DID 205。DID 205可以是可以与DID拥有者201相关联的任何标识符。优选地,该标识符对该DID拥有者201是唯一的,至少在预期使用DID的范围。例如,标识符可以是本地唯一标识符,并且可能更期望是预期在全球运行的身份系统的全球唯一标识符。在一些实施例中,DID 205可以是统一资源标识符(URI)(诸如统一资源定位符(URL))或将DID拥有者201与参与与DID拥有者201的可信任交互的机制相关联的其他指针。
DID 205是“去中心化的”,因为它不需要用于生成、管理或使用的中心化第三方管理系统。因此,DID 205仍处于DID拥有者201的控制之下。这与基于中心化授权信任的,并且仍处于企业目录服务、证书授权、域名注册机构或其他中心化授权(在本文中统称为“中心化机构”)的控制之下的传统中心化ID不同。因此,DID 205可以是在DID拥有者201的控制下并且独立于任何中心化授权的任何标识符。
在一些实施例中,DID 205的结构可以像用户名或一些其他人类可理解的术语一样简单。然而,在其他实施例中,为了提高安全性,DID 205可以优选地是数字和字母的随机串。在一个实施例中,DID205可以是一串128个字母和数字。因此,本文公开的实施例不依赖于DID 205的任何具体实现。在一个非常简单的示例中,DID 205被示为“123ABC”。
还如图2所示,DID拥有者201控制与DID 205相关联的私钥206和公钥207对。因为DID 205独立于任何中心化授权,所以私钥206应该始终在DID拥有者201的完全控制下。也就是说,私钥和公钥应该以确保它们始终处于DID拥有者201的控制之下的去中心化的方式生成。
如将在下面更详细地描述的,私钥206和公钥207对可以在由DID拥有者201控制的设备上生成。因此,私钥206和公钥207对不应在任何中央授权控制的服务器上生成,因为这可能导致私钥206和公钥207对不总是完全在DID所有者201的控制之下。尽管图2和该描述描述了私钥和公钥对,但还应注意,其他类型的合理密码信息和/或机制也可以根据情况被使用。
图2还示出了与DID 205相关联的DID文档210。如下文将更详细地解释的,可以在创建DID 205时生成DID文档210。DID文档210以其最简单的形式描述了如何使用DID 205。因此,DID文档210包括对DID 205的引用,DID 205是DID文档210描述的DID。在一些实施例中,DID可以根据分布式账本220指定的方法来实现文档210,分布式账本220将用于存储DID205的表示,如下文将更详细地解释。因此,根据特定的分布式账本,DID文档210可以具有不同的方法。
DID文档210还包括由DID拥有者201创建的公钥207或一些其他等效的密码信息。公钥207可由第三方实体使用,这些第三方实体获得DID拥有者201的许可以访问DID拥有者201所拥有的信息和数据。公钥207还可用于验证DID拥有者201实际上拥有或控制DID205。
DID文档210还可以包括认证信息211。认证信息211可以指定一种或多种机制,通过这些机制,DID拥有者201能够证明DID拥有者201拥有DID 205。换言之,认证信息211的机制可以显示DID 205(因此它是DID拥有者201)和DID文档210之间的绑定的证明。在一个实施例中,认证信息211可以指定在签名操作中使用公钥207以证明DID 205的拥有权。替代地或另外地,认证信息211可以指定公钥207用于生物统计操作中以证明DID 205的拥有权。因此,认证信息211可以包括DID拥有者201能够证明DID拥有者201拥有DID205的任意数量的机制。
DID文档210还可以包括授权信息212。授权信息212可以允许DID拥有者201授权第三方实体以修改DID文档210或文档的某些部分的权利,而不给予第三方证明DID 205的拥有权的权利。例如,授权信息212可以允许第三方使用任何指定的更新机制来更新DID文档210中的一个或多个字段的任何指定集合。替代地,授权信息可允许第三方在指定时间段内限制DID拥有者201对DID 205的使用。当DID拥有者201是未成年孩子并且第三方是孩子的父母或监护人时,这可能是有用的。授权信息212可以允许父母或监护人限制对DID201的使用直到孩子不再是未成年人。
授权信息212还可指定第三方将需要遵循以证明他们被授权修改DID文档210的一种或多种机制。在一些实施例中,这些机制可能类似于前面讨论的关于认证信息211的机制。
DID文档210还可以包括一个或多个服务端点213。服务端点可以包括服务代表DID拥有者201进行操作的网络地址。特定服务的示例包括发现服务、社交网络、诸如身份服务器或中枢的文件存储服务,以及可验证的声明存储库服务。因此,服务端点213用作代表DID所有者201进行操作的服务的指针。DID所有者201或第三方实体可以使用这些指针来访问代表DID所有者201操作的服务。服务端点213的具体示例将在下面更详细地解释。
DID文档210还可以包括标识信息214。标识信息214可以包括个人可识别信息,诸如DID拥有者201的姓名、地址、职业、家庭成员、年龄、爱好、兴趣等。因此,出于不同目的,DID文档210中列出的标识信息214可以代表DID拥有者201的不同角色。例如,角色可以是伪匿名的,例如,当将他或她识别为在博客上发表文章的作者时,DID拥有者201可以在DID文档中包括笔名;角色可能是完全匿名的,例如,DID拥有者201可能只想披露他或她的职位或其他背景数据(例如,学校教师、FBI探员、21岁以上的成年人等),但在DID文件中不披露他或她的名字;并且角色可以特定于作为个人的DID拥有者201是谁,例如,DID拥有者201可以包括将他或她识别为特定慈善组织的志愿者、特定公司的雇员、特定奖项的获奖者等。
DID文档210还可以包括凭证信息215,本文也可以将其称为证明。凭证信息215可以是与DID拥有者201的背景相关联的任何信息。例如,凭证信息215可以是(但不限于)资格、成就、政府ID、诸如护照或驾照的政府权利、支付提供商或银行账户、大学学位或其他教育历史、就业状况和历史,或有关DID拥有者201背景的任何其他信息。
DID文档210还可以包括各种其他信息216。在一些实施例中,其他信息216可以包括指定DID文档210何时被创建和/或它何时被最后修改的元数据。在其他实施例中,其他信息216可以包括DID文档210的完整性的密码证明。在更进一步的实施例中,其他信息216可以包括由实现DID文档的特定方法指定的或由DID所有者201期望的附加信息。
图2还示出了分布式账本或区块链220。分布式账本220可以是包括相互通信的各种计算系统的任何去中心化的分布式网络。例如,分布式账本220可以包括第一分布式计算系统230、第二分布式计算系统240、第三分布式计算系统250,以及如省略号260所示的任意数量的附加分布式计算系统。分布式账本或区块链220可以根据分布式账本的任何已知标准或方法操作。可以对应于分布式账本或区块链220的常规分布式账本的示例包括但不限于比特币[BTC]、以太坊和莱特币。
在DID 205的上下文中,分布式账本或区块链220用于存储指向DID文档210的DID205的表示。在一些实施例中,DID文档210可以被存储在实际分布式账本上。替代地,在其他实施例中,DID文档210可以被存储在与分布式账本或区块链220相关联的数据存储器(未示出)中。
如上所述,DID 205的表示被存储在分布式账本或区块链220的每个分布式计算系统上。例如,在图2中这被示为DID哈希231、DID哈希241和DID哈希251,理想情况下,它们是相同DID的相同副本。DID哈希231、DID哈希241和DID哈希251然后可以指向DID文档210的位置。分布式账本或区块链220还可以存储其他DID的许多其他表示,如附图标记232、233、234、242、243、244、252、253和254所示。
在一个实施例中,当DID用户201创建DID 205和相关联的DID文档210时,DID哈希231、DID哈希241和DID哈希251被写入分布式账本或区块链220。分布式账本或区块链220因此记录DID 205现在退出。由于分布式账本或区块链220是去中心化的,因此DID 205不受DID拥有者201之外的任何实体的控制。除了指向DID文档210的指针之外,DID哈希231、DID哈希241和DID哈希251可以包括指定DID 205何时被创建的记录或时间戳。在稍后对DID文档210进行修改时,这也可以被记录在DID哈希231、DID哈希241和DID哈希251中。DID哈希231、DID哈希241和DID哈希251还可以包括公钥207的副本,使得DID 205以密码方式被绑定到DID文档210。
图3示出了其中可以利用诸如DID 205的DID的环境300的实施例。具体而言,环境300将用于描述与一个或多个去中心化的存储设备或身份中枢相关的DID 205的使用。应当注意,图3可以包括对首先关于图2讨论的元件的参考,因此为了便于解释使用相同的附图标记。
如图3所示,环境300包括与DID拥有者201相关联的各种存储设备或身份中枢310。例如,存储设备或身份中枢310可以包括第一身份中枢311、第二身份中枢311中枢312、第三身份中枢313和第四身份中枢314。省略号315表示根据情况可以有任何数量的附加存储设备或身份中枢。应当注意,身份中枢310被认为是去中心化的存储设备,因为如下文将更详细地解释,身份中枢可通过DID 205及其对应的DID文档210的使用来寻址。此外,尽管身份中枢可能由第三方托管,但对身份中枢的所有访问都基于DID拥有者201确定的权限。
在一个实施例中,第一身份中枢311可以在第一云存储提供商处实现,第二身份中枢312可以在第二云存储提供商处实现,第三身份中枢313可以作为家庭计算的一部分来实现系统,并且第四身份中枢314可以被实现为移动设备的一部分。因此,各种身份中枢310可以跨不同的服务提供商实现,诸如两个不同的云存储提供商。此外,各种身份中枢310可以被实现为由诸如两个云存储提供商的第三方提供的存储与诸如家庭计算系统和移动设备的DID拥有者201拥有的存储设备的组合。当然,各种身份中枢310可以根据情况实现为其他存储设备和服务。
在一个实施例中,身份中枢310可以是同一身份中枢的多个实例。这由线310A表示。因此,各种身份中枢310可以包括至少一些相同的数据和服务。因此,如果对身份中枢310之一进行了任何改变,则该改变可以反映在其余身份中枢中。例如,第一身份中枢311和第二身份中枢412在云存储中实现,因此可能能够保存大量数据。因此,完整的数据集可以被存储在这些身份中枢。然而,身份中枢312和313可能具有较少的存储空间。因此,在这些身份中枢中,可以包括被存储在第一身份中枢和第二身份中枢中的数据的描述符。替代地,可以包括对其他身份中枢中的数据所做改变的记录。因此,要么身份中枢310之一中的改变在其他身份中枢中被完全复制,要么至少该数据的记录或描述符被记录在其他身份中枢中。
因为身份中枢可以是同一身份中枢的多个实例,所以将仅提供第一身份中枢311的完整描述,因为该描述也可以应用于身份中枢312-315。如图所示,身份中枢311可以包括数据存储装置320。数据存储装置320可以用于存储与DID拥有者201相关联的任何类型的数据。在一个实施例中,数据可以是对应于特定协议的特定类型数据的集合322。例如,集合322可以是与医疗数据的特定协议相对应的医疗记录数据。集合322可以是任何其他类型的数据。
数据存储装置320还可以存储属性数据321。属性数据可以包括描述DID拥有者201的各种兴趣和喜好的属性信息。例如,这样的属性信息可以包括DID拥有者201的最喜欢的食物、最喜欢的运动、最喜欢的爱好、最喜欢的度假胜地、最喜欢的娱乐等。因此,关于DID拥有者201的属性数据321可以是由DID拥有者201提供的信息或者它可以是从与第三方的交互中闪现的信息。
在一些实施例中,数据存储还可以包括遥测数据,该遥测数据包括关于DID拥有者201的数据使用的信息。例如,遥测数据可以包括关于DID所有者201访问哪些网站、他或她访问网站多长时间以及使用哪些设备访问网站的数据。遥测数据还可以包括关于DID拥有者201购买哪些产品以及在哪里购买这些产品的数据。因此,遥测数据可以是关于DID拥有者201的使用模式的任何数据。
在一些实施例中,身份中枢311可以具有许可模块330,许可模块330允许DID拥有者201为诸如第三方301和302的第三方设置用于访问身份中枢的特定授权或许可。例如,DID拥有者201可以向他或她的配偶提供对所有数据320的访问许可。替代地,DID拥有者201可以允许访问他或她的医生以获取任何医疗记录。应当理解,DID拥有者201可以允许任何数量的第三方访问数据320的子集。这将在下面更详细地解释。
例如,数据的第一子集可以具有允许数据被公开暴露但不包括对DID拥有者201的任何认证的许可。这种类型的数据可以用于相对不重要的数据,诸如配色方案等。数据的第二子集可以具有允许数据被公开暴露并且包括对DID拥有者201的认证的许可。数据的第三子集可以具有使用与DID所有者201相关联的私钥206和公钥207对(或某个其他密钥对)对数据的子集进行加密的许可。这种类型的数据将需要一方能够访问公钥207或某个其他相关联的公钥,以便对数据进行解密。该过程还可以包括对DID拥有者201的认证。数据的第四子集可以具有将该数据限制到第三方子集的许可。这可能需要使用与第三方子集相关联的公钥来解密数据。例如,DID拥有者201可以使许可指定只有与DID拥有者201的朋友相关联的公钥可以解密该数据。
在一些实施例中,身份中枢311可以包括证明存储340,该证明存储340包括各种证明341、342和与DID拥有者201相关联的任何数量的附加证明,如省略号343所示。证明也可以被称为凭证或经验证的凭证,诸如DID文档210的凭证215。即,证明或经验证的凭证可提供关于DID拥有者201和/或关于与DID拥有者201交互的各种实体的信息。如前所述,证明340可以是(但不限于)资格、成就、政府ID、诸如护照或驾照的政府权利、支付提供商或银行账户、大学学位或其他教育历史、就业状况和历史,或有关DID拥有者201背景的任何其他信息。因此,证明340可用于验证DID拥有者201的身份。
身份中枢311还可以具有消息传递模块345。在操作中,消息传递模块允许身份中枢接收消息,诸如来自第三方301和302的各方的访问身份中枢的数据和服务的请求。此外,消息传送模块345允许身份中枢311响应来自第三方的消息并且还与DID解析器350通信。DID解析器350可以是服务、应用或模块,其被配置为在操作中在分布式账本或区块链220中搜索与DID相关联的DID文档。因此,在该实施例中,DID解析器350可以使用DID 205搜索分布式账本或区块链220,这可以导致DID解析器350找到DID文档210。省略号316表示身份中枢311可以具有附加服务,如情况允许。
在一个示例实施例中,DID拥有者201可以将DID 205提供给第三方实体301,使得第三方可以访问被存储在身份中枢311上的数据或服务。一旦第三方301访问了DID 205,他或她可以访问DID解析器350以访问DID文档210。如前所述,DID文档210可以包括端点213,该端点213是指向身份中枢311的地址或指针。然后第三方301可以使用地址或指针访问身份中枢311。
第三方301可以向消息传送模块345发送消息,该消息请求访问身份中枢311中的数据的许可。消息传送模块345然后可以向DID拥有者201发送消息,该消息询问第三方301是否应该被允许访问数据。因为DID拥有者201期望提供对该数据的访问,所以DID拥有者201可以允许第三方301的许可,并且该许可可以记录在许可330中。
然后消息传送模块345可以向第三方301发送消息,通知第三方他或她能够访问数据。身份中枢311和第三方301然后可以直接通信,使得第三方可以访问数据。应注意,在许多情况下,与身份中枢311进行通信的实际上是与第三方301相关联的身份中枢。然而,进行通信的可能是第三方301的设备。
有利地,上述过程允许身份中枢311和第三方301通信并共享数据,而无需第三方以常规方式访问身份中枢311。相反,使用DID 205和DID文档210以去中心化的方式提供通信。这有利地允许DID拥有者完全控制过程。
如图3所示,第三方302还可以使用DID 205和DID文档210请求访问身份中枢311的许可。因此,本文公开的实施例允许访问任何数量的第三方身份中枢310。
图4示出了其中可以利用诸如DID 205的DID的环境400的实施例。具体地,环境400将用于描述与意图广播服务相关的DID 205的使用。应当注意,图4可以包括对首先关于图2-3讨论的元件的参考,因此为了便于解释使用相同的附图标记。
如图所示,除了DID拥有者201之外,环境400还包括用户410、用户420、用户430和任意数量的附加用户,如省略号405所示。如图4所示,用户410可拥有或控制DID 411,用户420可拥有或控制DID 421,用户430可拥有或控制DID 431。将注意,DID 411、DID 421和DID431以先前针对DID 205描述的方式生成并被存储在分布式账本或区块链220上。因此,用户410、420和430还可以具有与其各自的DID相关联的DID文档,并且还可以具有一个或多个身份中枢,其包括可用于验证用户410、420和430的身份的证明。因此,与用户410、420和430相关联的DID文档和身份中心可以类似于先前关于DID所有者201描述的DID文档210和身份中心310,因此不需要进一步详细解释。尽管未示出,但是用户405中的每一个也可以具有相关联的DID和DID文档。还将注意,用户410、420和430(以及用户405)可以是人类用户、诸如企业或组织的机构用户或任何其他类型的合理拥有者。
如图所示,DID拥有者201可以控制管理模块401。管理模块401可以被DID拥有者201用来生成DID 205并且可以是DID钱包等的示例。管理模块401可以被植入到DID拥有者201拥有或使用的一个或多个设备上,诸如智能手机或计算机。如前所述,DID拥有者201还可以访问身份中枢311(或任何身份中枢310)。
在一些实施例中,DID拥有者201可能期望向用户410、420、430中的一个或多个(或者可能是用户405中的任何一个)广播意图数据402,其指示DID拥有者201期望与一个或多个其他用户交互。例如,DID拥有者201可能期望购买或出售产品或服务。替代地,DID拥有者201可能期望以诸如社交互动如约会的非商业方式,与其他用户中的一个或多个会面或合作。因此,意图数据402可以是关于DID拥有者201期望与用户410、420、430中的一个或多个(或者可能是用户405中的任何一个)进行的任何类型的交互。因此,本文公开的实施例不限于作为意图数据402的主体的DID拥有者201所期望的任何特定类型的交互。
在一些实施例中,意图数据402可由DID拥有者201在他或她的ID中枢311中发布或生成。在其他实施例中,意图数据402可由DID拥有者201在管理模块401中发布或生成。以这种方式,从广播服务接收意图数据402的通知的那些用户可以与ID中枢311或管理模块401通信以访问意图信息402,如下面将更详细解释的。
意图数据402可以包括可以指定关于意图的信息的意图信息403。例如,意图信息403a可以指定意图的主题,或者换言之,DID拥有者201期望的交互类型。例如,意图信息可以指定DID拥有者201想要购买或出售的特定产品或服务。例如,如果DID拥有者201是园艺师,则意图信息403a可以指定他或她正在提供园艺服务或者他或她正在寻找购买一些设备或雇用雇员。替代地,如果DID拥有者201有兴趣在研究项目上与另一用户合作,则意图信息403a可以指定关于研究项目的信息。
意图数据402还可以包括意图信息403b,其可以提供关于如何与DID拥有者201互动的信息,使得用户410、420和430中的一个或多个能够以期望的方式与DID拥有者201交互。例如,意图信息403b可以指定如何具体地与DID拥有者201传送用户购买或出售由意图信息403a指定的产品或服务的期望。意图信息403b还可以指定需要什么动作来完成由意图信息403a指定的交互。
在一些实施例中,意图数据402还可以包括证明340,证明340包括先前描述的证明341和342。一个或多个证明340的包括可以允许DID拥有者201验证他或她有能力提供意图信息403a中指定的服务或产品。例如,如果DID拥有者201是园艺师,那么一个或多个证明340可以证明他或她实际上是园艺师。如果DID拥有者201期望在研究项目上合作,则证明340可以证明他或她有资格进行这样的研究。因此,在意图数据402中包含证明340提供了关于可能对用户410、420和430之一有帮助的关于DID拥有者201的验证。本文公开的实施例不受被包括在意图数据402中的任何特定证明的限制,因为所有类型的证明都被考虑在内。
在一些实施例中,意图数据402还可以包括属性数据321,该属性数据321包括属性321a和321b。如前所述,属性数据321可以包括关于DID拥有者201的进一步信息。在本文公开的实施例中,属性数据321可用于提供关于与意图信息403a中指定的意图的主题相关的DID所有者201的附加信息。例如,如果DID拥有者201是园艺师,那么一个或多个属性321可以指定DID拥有者在华盛顿州西雅图开展业务。属性还可以指定他或她进行园艺美化的时间。以这种方式,访问意图数据402并且需要园艺美化服务但不住在西雅图或者想要比DID拥有者201更有经验的园艺师的用户410、420或430中的任意一个将知道DID拥有者201可能不是提供此类服务的人。本文公开的实施例不受被包括在意图数据402中的任何特定属性的限制,因为所有类型的属性都被考虑。
如图所示,环境400包括数据广播服务440。在一个实施例中,数据广播服务440可以由第三方实现,诸如DID管理模块401的提供者和/或身份中枢310的提供者。在一些实施例中,数据广播服务440可以托管在与DID拥有者201或用户410、420和430拥有的任何设备分开的服务器计算机上。在其他实施例中,数据广播服务可以由管理模块401托管在DID拥有者201拥有的设备上。
如图所示,数据广播服务440可以包括DID 445。DID 445可以以先前针对DID 205描述的方式被生成并被存储在分布式账本或区块链220上。虽然未示出,但是DID 445可以还与定义如何以类似于DID文档210的方式使用DID 445的相应DID文档相关联。DID 445还可以具有相关联的私钥和公钥对,其允许第三方使用DID 445访问数据广播服务440。
将注意到,由于数据广播服务440包括DID 445,所以数据广播服务440能够以去中心化的方式与DID拥有者201和用户410、420和430交互。因此,即使数据广播服务440可能由商业实体等拥有,因为数据广播服务440是由分布式账本或区块链220支持的去中心化的网络的一部分,如果没有这些用户授予对数据广播服务440的许可,则无法确定关于DID所有者201和用户410、420、430和405的任何标识信息。因此,DID所有者201和用户410、420、430和405保持对与数据广播服务440相关的各自身份的控制。
数据广播服务440可以包括广播模块450。广播模块450可以表示可以与数据广播服务440相关联以对数据进行广播的物理元素和软件元素。在操作中,广播模块450可以从DID拥有者201接收包括意图信息403a和403b的意图数据402。广播模块然后可以生成广播消息451,广播消息451包括作为DID用户201的标识符的DID 205和包括意图信息403a和403b的意图数据402。尽管为了便于解释而未示出,但是被包括在广播消息451中的意图数据402还可以包括一个或多个证明340和一个或多个属性321,如前所述。
然后,广播模块450可以向用户410、用户420和用户430广播广播消息451,如图4所示。虽然未示出,但是广播消息451也可以被发送到任意数量的额外的用户405,在一些实施例中其可以是数以千计甚至数百万的用户。因此,本文公开的实施例为DID拥有者201以去中心化的方式向大量用户广播期望的意图提供了一种方式。
在接收到广播消息451后,用户410、420和430可以将意图数据402存储在他们控制的身份中枢或某个其他位置中。如前所述,意图信息403a可以提供关于DID拥有者201感兴趣的交互的细节。意图信息403b可以包括关于用户可以如何与DID拥有者201互动的信息。此外,由于广播消息451包括DID拥有者201的DID 205,用户410、420和430可以以先前描述的方式使用DID 205和不可信账本或区块链220和DID文档210,以联系DID拥有者201。如果用户410、420和430中的任意一个有兴趣以意图数据402指定的方式与DID拥有者201交互,则他们可以根据意图信息403b进行交互。例如,他们可以访问ID中枢311,在那里他们能够找到关于DID拥有者210期望的特定交互的附加信息,并且还能够向DID拥有者201发送关于期望交互的各种消息。替代地,如果这些用户对意图数据201中指定的交互不感兴趣,则他们中的任何一个可以简单地忽略广播消息451。
例如,假设DID拥有者201有兴趣接受他或她的房子的报价。因此,DID拥有者201可以生成意图数据402,意图数据402具有指定房屋待售的意图信息403a和指定如何与DID拥有者201互动的意图信息403b。意图数据还可以包括证明340和属性321,这些证明340和属性321提供了与购买房屋相关的关于DID所有者201的附加信息,例如位置。意图数据可以被存储在ID中枢311或管理模块401中并被提供给广播服务440。
广播模块450然后可以以先前描述的方式生成广播消息451并且将广播消息提供给用户410、420和430。如果用户430有兴趣在DID拥有者201的房屋所在位置购买房屋,用户430可以根据意图信息403a并使用DID 205与DID拥有者201进行互动。
在一些实施例中,如图4所示,用户410可以控制以与管理模块401类似的方式起作用的管理模块412。此外,用户410可以访问类似于身份中心311的身份中心413。
因此,用户410可以在管理模块412或身份中枢413中生成意图数据414。以类似于意图数据402的方式,意图数据414可以包括意图信息415,该意图信息415可以包括意图信息415a并且可以包括意图信息415b。意图信息415a和415b可以分别对应于先前描述的意图信息403a和403b,因此无需进一步解释。意图数据414还可以包括证明416,证明416包括证明416a和416b,并且还可以包括属性417,属性417包括属性417a和417b。证明416和属性417可以被存储在身份中枢413中。证明416和属性417可以对应于先前关于DID拥有者201描述的证明340和属性321,因此不需要进一步解释。
假设用户410也有兴趣接受关于他或她的房子的报价。因此,用户410可以生成意图数据414,意图数据414具有指定房屋出售的意图信息415a和指定如何与用户410互动的意图信息415b。如果情况许可,意图数据414还可以包括证明416和属性417中的一个或多个。
因此,在这样的实施例中,广播模块450还可以包括聚合模块460。在操作中,聚合模块460可能能够确定来自多个用户的意图数据,该意图数据与意图数据指定的相似的期望交互相关或基于意图数据指定的相似的期望交互。例如,多个用户可能期望出售他们各自的房屋。聚合模块460然后可以生成组合所有意图数据的单个聚合广播消息465。
例如,如图4所示,聚合模块460可以生成广播消息461,广播消息461包括DID拥有者201的DID 205和意图数据402,意图数据402包括意图信息403a和403b并根据需要包括任何证明和属性。如上所述,在该示例实施例中,意图信息403a指定了DID拥有者201的房屋出售,并且意图信息403b指定了如何与DID拥有者201互动。
同样地,聚合模块460可以生成广播消息462,广播消息462包括用户410的DID 411和意图数据414,意图数据414包括意图信息415a和415b并根据需要包括任何证明和属性。由于在当前实施例中,用户410期望出售他或她的房子,因此意图信息415a可以指定房屋是出售的,并且意图信息415b可以指定如何与用户410互动。省略号463表示任何数目的额外用户还可以提供与出售房屋相关的意图数据,该数据可用于生成任意数量的额外广播消息。
聚合模块460然后可以生成聚合广播消息465,该聚合广播消息465包括与房屋销售相关的来自各个用户的所有意图数据。然后可以将聚合广播消息465发送给用户420和430以及任何数量的附加用户405。如先前关于广播消息451所讨论的,接收聚合广播消息465的用户可以将消息存储在身份中枢并且可以使用意图信息来选择他们有兴趣潜在购买的各种房屋并与DID拥有者201、用户410或其他用户互动。当然,如果需要,他们也可以简单地忽略聚合的广播消息465。
可以理解,用户420和430中的一个或多个可以从意图数据广播服务440接收广播消息451或聚合广播消息465,并且可能想知道生成意图信息的一方是否值得信赖。如果用户420和430从未听说过DID拥有者201或用户410或与DID拥有者201或用户410进行过任何交互,很可能是这种情况,则这可能尤其正确。在一些实施例中,证明340和416可以提供足够的保证给用户420和430。然而,在其他实施例中,DID拥有者201或用户410可能没有将证明包括在意图数据中,或者他们可能没有积累足够的证明。替代地,用户420和430可能不相信证明或可能不信任它们。因此,意图数据广播服务440还可以包括信任模块470。在操作中,信任模块470可以确定与意图广播服务440相关联的各种用户的信任分数471。在一个实施例中,信任分数471可以基于以下确定:各个用户使用来自另一用户的广播消息以令人满意的方式来与以期望方式发送广播消息的用户交互的频率。换句话说,信任分数471衡量使用广播消息与发送用户交互的用户获得积极体验的频率。
例如,假设DID拥有者201具有使用意图数据广播服务440出售房屋或从事其他业务的历史。在这种情况下,信任模块470可以确定诸如用户410、420和430的另一个用户使用来自用户DID所有者201的广播消息的频率。如果一定百分比的用户确实以令人满意的方式使用了广播消息,可能基于阈值来测量,则可以生成相对高的信任分数471。相反,如果使用广播消息的用户中只有一小部分是令人满意的方式,或者如果DID拥有者201仅在短时间内使用了意图数据广播服务440,那么相对低的信任分数472可以被生成。
响应于接收到广播消息,用户410、420和430中的一个或多个可以从意图数据广播服务440访问信任分数471。用户410、420和430然后可以做出关于是否基于信任分数471来与DID拥有者201交互的确定。有利地,信任评分471的使用有助于向与意图数据广播服务440相关联的各个用户在他们彼此交互中提供信任。
意图广播数据服务440还可以包括订阅模块480。在操作中,订阅模块480可以允许诸如用户430的用户订阅其感兴趣的广播消息。例如,在上面的示例中DID拥有者201和用户410生成广播消息,其指定出售他们的房子的期望交互。如果用户430是想要买房的用户,则用户430可以只订阅与卖房相关的广播消息。以此方式,用户430不会接收到与他或她不感兴趣的诸如产品和服务的其他类型的交互相关的广播消息。因此,订阅模块480允许用户430接收更聚焦的数据。
意图数据广播服务440还可以包括广告模块490。在操作中,广告模块490可以允许与意图数据广播服务440相关联的任何用户生成与服务、产品等相关的广告495。这有利地帮助确保特定用户至少被包括在与广告496相关的任何广播消息中。
例如,假设DID拥有者201是专利律师。在这种情况下,他或她可以让广告模块490生成可以将DID 205与作为专利代理人相关联的广告495。在稍后当意图数据广播服务440以先前描述的方式确定用户420可能有兴趣聘请专利代理人时,意图数据广播服务440可以确保来自DID所有者201的具有与专利法服务相关的意图数据402的广播消息451被发送到用户420。
下面的讨论现在涉及可以执行的多种方法和方法动作。虽然方法动作可以按特定顺序讨论或在流程图中说明为按特定顺序发生,但除非特别说明,否则特定顺序不是必需的,或者因为动作依赖于在该动作之前完成的另一个动作而特定顺序是必需的。
图5示出了用于向去中心化的网络的第二用户广播第一用户的意图的示例方法500的流程图。该方法可以在计算系统中被实现,该计算系统在实现分布式账本的去中心化的网络中被实现,分布式账本被配置为支持计算系统的一个或多个用户的一个或多个去中心化的身份(DID)。将关于先前讨论的图2-4中的一个或多个来描述方法500。
方法500包括从计算系统的一个或多个第一用户接收意图数据(510)。意图数据定义了计算系统的一个或多个第一用户与一个或多个第二用户之间的一个或多个潜在交互。例如,如前所述,意图数据广播系统440可以从DID拥有者201接收意图数据402或从用户410接收意图数据414。意图数据可以定义DID拥有者201和/或用户410与用户420、430以及可能的任何数量的用户405之间的潜在交互。如所描述的,潜在的交互可以是销售或购买特定产品或服务的期望。潜在的互动可以是非商业互动,诸如研究项目上的合作或一些社交互动,诸如约会等。
方法500包括生成一个或多个广播消息(520)。广播消息包括一个或多个第一用户中的每一个的DID和指定潜在的一个或多个交互的信息。例如,如前所述,广播模块450可以生成广播消息451或聚合广播消息265。广播消息可以包括DID拥有者201的DID 205和/或用户410的DID 411。广播消息还可以包括指定意图的交互的主题或类型的意图信息403a和415a。广播消息还可以包括指定如何与DID拥有者201或用户410互动的意图信息403b和415b。
方法500包括将生成的一个或多个广播消息提供给一个或多个第二用户(530)。例如,如前所述,意图广播服务440可以向用户410、420或430中的一个或多个用户提供广播消息451或向用户420和430中的一个或多个用户提供聚合广播消息465。
对于本文公开的过程和方法,在过程和方法中执行的操作可以以不同的顺序实现。此外,所概述的操作仅作为示例提供,并且在不脱离所公开实施例的本质的情况下,其中一些操作可以是可选的、被组合成更少的步骤和操作、被补充有进一步的操作、或者被扩展为额外的操作。
在不脱离本发明的精神或特征的情况下,本发明可以以其他特定形式实施。所描述的实施例在所有方面都应被视为说明性的而非限制性的。因此,本发明的范围由所附权利要求而不是由前述说明指示。落入权利要求的等效含义和范围内的所有改变都应被涵盖在其范围内。

Claims (10)

1.一种在实现分布式账本的去中心化网络中实现的计算系统,所述分布式账本被配置为支持所述计算系统的一个或多个用户的一个或多个去中心化身份(DID),所述计算系统包括:
一个或多个处理器;以及
一个或多个计算机可读介质,其上具有计算机可执行指令,所述计算机可执行指令被构造,使得在由所述一个或多个处理器执行时,使所述计算系统:
从所述计算系统的一个或多个第一用户接收意图数据,所述意图数据定义了所述计算系统的所述一个或多个第一用户与一个或多个第二用户之间的一个或多个潜在交互;
生成一个或多个广播消息,所述一个或多个广播消息包括所述一个或多个第一用户中的每个第一用户的DID和指定潜在的一个或多个交互的信息;以及
将所生成的一个或多个广播消息提供给所述一个或多个第二用户。
2.根据权利要求1所述的计算系统,其中所述计算机可执行指令被构造为进一步使所述计算系统:
基于所生成的所述广播消息中的至少一些广播消息具有类似的潜在交互,将所生成的所述一个或多个广播消息中的所述至少一些广播消息聚合为单个聚合广播消息。
3.根据权利要求1所述的计算系统,其中被提供给所述一个或多个第二用户的所述一个或多个广播消息被广播给与所述计算系统相关联的所有第二用户。
4.根据权利要求1所述的计算系统,其中被提供给所述一个或多个第二用户的所述一个或多个广播消息仅被发送给已订阅接收所述一个或多个广播消息的第二用户。
5.根据权利要求1所述的计算系统,其中所述计算机可执行指令被构造为进一步使所述计算系统:
基于从所述一个或多个第一用户接收的所述意图数据来生成广告。
6.根据权利要求1所述的计算系统,其中所述计算机可执行指令被构造为进一步使所述计算系统:
为所述一个或多个第一用户生成信任分数,所述信任分数至少部分地基于所述一个或多个第二用户以由所述意图数据指定的方式与所述一个或多个第一用户交互的频率。
7.根据权利要求1所述的计算系统,其中从所述多个第一用户接收的所述意图数据包括证明数据和属性数据中的一个或多个。
8.根据权利要求1所述的计算系统,其中指定所述潜在的一个或多个交互的所述信息包括所述一个或多个交互的主题和指定如何与所述一个或多个第一用户互动的信息。
9.一种在计算系统中用于向实现分布式账本的去中心化网络的第二用户广播第一用户的意图的方法,所述计算系统在所述去中心化网络中被实现,所述分布式账本被配置为支持所述计算系统的一个或多个用户的一个或多个去中心化身份(DID),所述方法包括:
从所述计算系统的一个或多个第一用户接收意图数据,所述意图数据定义了所述计算系统的所述一个或多个第一用户与一个或多个第二用户之间的一个或多个潜在交互;
生成一个或多个广播消息,所述广播消息包括所述一个或多个第一用户中的每个第一用户的DID和指定潜在的一个或多个交互的信息;以及
将所生成的所述一个或多个广播消息提供给所述一个或多个第二用户。
10.一种计算机程序产品,包括其上具有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令被构造为使得,在由计算系统的一个或多个处理器执行时,使所述计算系统执行将第一用户的意图广播给所述去中心化网络的第二用户的方法,所述方法包括:
从所述计算系统的一个或多个第一用户接收意图数据,所述意图数据定义了所述计算系统的一个或多个第一用户与一个或多个第二用户之间的一个或多个潜在交互;
生成一个或多个广播消息,所述广播消息包括所述一个或多个第一用户中的每个第一用户的DID和指定潜在的一个或多个交互的信息;以及
将所生成的所述一个或多个广播消息提供给所述一个或多个第二用户。
CN202080022463.1A 2019-03-18 2020-01-30 使用去中心化网络的广播意图信令 Pending CN113597628A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/356,752 US10911523B2 (en) 2019-03-18 2019-03-18 Broadcast intent signaling using a decentralized network
US16/356,752 2019-03-18
PCT/US2020/015748 WO2020190383A1 (en) 2019-03-18 2020-01-30 Broadcast intent signaling using a decentralized network

Publications (1)

Publication Number Publication Date
CN113597628A true CN113597628A (zh) 2021-11-02

Family

ID=69740667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080022463.1A Pending CN113597628A (zh) 2019-03-18 2020-01-30 使用去中心化网络的广播意图信令

Country Status (4)

Country Link
US (1) US10911523B2 (zh)
EP (1) EP3942511A1 (zh)
CN (1) CN113597628A (zh)
WO (1) WO2020190383A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11190512B2 (en) * 2019-04-17 2021-11-30 Microsoft Technology Licensing, Llc Integrity attestation of attestation component
US11429743B2 (en) 2019-04-29 2022-08-30 Microsoft Technology Licensing, Llc Localization of DID-related claims and data
US11381567B2 (en) 2019-04-29 2022-07-05 Microsoft Technology Licensing, Llc Execution of an application within a scope of user-granted permission
US11222137B2 (en) 2019-05-03 2022-01-11 Microsoft Technology Licensing, Llc Storing and executing an application in a user's personal storage with user granted permission
US11411959B2 (en) 2019-05-03 2022-08-09 Microsoft Technology Licensing, Llc Execution of application in a container within a scope of user-granted permission
US11288389B2 (en) * 2019-06-10 2022-03-29 Microsoft Technology Licensing, Llc Scoped sharing of DID-associated data using a selector
US20210314293A1 (en) * 2020-04-02 2021-10-07 Hewlett Packard Enterprise Development Lp Method and system for using tunnel extensible authentication protocol (teap) for self-sovereign identity based authentication
CN111931238B (zh) * 2020-09-15 2021-05-04 支付宝(杭州)信息技术有限公司 一种基于区块链的数据资产流转方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180075527A1 (en) * 2016-09-14 2018-03-15 Royal Bank Of Canada Credit score platform
CN109076069A (zh) * 2016-04-02 2018-12-21 微软技术许可有限责任公司 基于规则的身份广播
US20190012662A1 (en) * 2017-07-07 2019-01-10 Symbiont.Io, Inc. Systems, methods, and devices for reducing and/or eliminating data leakage in electronic ledger technologies for trustless order matching
US20190043050A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Protection of Information in an Information Exchange

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501791B2 (en) * 2014-07-18 2016-11-22 Mark V. Dziuk Online marketplace with seller financing
EP3403213A2 (fr) 2016-01-15 2018-11-21 Enrico Maim Procédés et systèmes mis en oeuvre dans une architecture en réseau de noeuds susceptibles de réaliser des transactions basées sur messages
US10237259B2 (en) 2016-02-29 2019-03-19 Securekey Technologies Inc. Systems and methods for distributed identity verification
US10537807B2 (en) * 2016-12-30 2020-01-21 Project Fanchise Technology, LLC Immersive interactive sports management system and method thereof
US10255342B2 (en) * 2017-04-12 2019-04-09 Vijay K. Madisetti Method and system for tuning blockchain scalability, decentralization, and security for fast and low-cost payment and transaction processing
US11151607B2 (en) * 2017-12-29 2021-10-19 Paypal, Inc. Blockchain-enabled targeted content system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076069A (zh) * 2016-04-02 2018-12-21 微软技术许可有限责任公司 基于规则的身份广播
US20180075527A1 (en) * 2016-09-14 2018-03-15 Royal Bank Of Canada Credit score platform
US20190012662A1 (en) * 2017-07-07 2019-01-10 Symbiont.Io, Inc. Systems, methods, and devices for reducing and/or eliminating data leakage in electronic ledger technologies for trustless order matching
US20190043050A1 (en) * 2018-06-29 2019-02-07 Intel Corporation Protection of Information in an Information Exchange

Also Published As

Publication number Publication date
US20200304560A1 (en) 2020-09-24
US10911523B2 (en) 2021-02-02
WO2020190383A1 (en) 2020-09-24
EP3942511A1 (en) 2022-01-26

Similar Documents

Publication Publication Date Title
EP3743839B1 (en) Attestation management
US10977687B2 (en) Data collection and pattern analysis in a decentralized network
US11003771B2 (en) Self-help for DID claims
US10841094B2 (en) Private and public media data in a decentralized system
US10911523B2 (en) Broadcast intent signaling using a decentralized network
US11429743B2 (en) Localization of DID-related claims and data
US11288389B2 (en) Scoped sharing of DID-associated data using a selector
US20200394206A1 (en) Channeling data with decentralized identity stores
US11392467B2 (en) Failover between decentralized identity stores
US11212263B2 (en) Dynamic generation of pseudonymous names
US11184334B2 (en) Control of the delegated use of DID-related data
EP3942449B1 (en) Callback pattern for did attestations

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