首页 / 专利库 / 银行与财务事项 / 分布式账本技术 / 区块链 / 用于实现基于区块链的数字证书的系统和方法

用于实现基于链的数字证书的系统和方法

阅读:0发布:2020-07-11

专利汇可以提供用于实现基于链的数字证书的系统和方法专利检索,专利查询,专利分析的服务。并且用于实现数字证书方法、系统和装置,包括编码在计算机存储介质上的 计算机程序 。所述方法之一包括:生成数字证书;生成数字证书的数字 摘要 ;将数字证书的数字摘要发送到 区 块 链 的一个或多个 节点 ,以存储在区块链中;获得与将数字证书的数字摘要存储在区块链中相关联的交易标识;并将数字标记与交易标识相关联。,下面是用于实现基于链的数字证书的系统和方法专利的具体信息内容。

1.一种用于实现数字证书的计算机实现的方法,包括:
生成数字证书;
生成所述数字证书的数字摘要
将所述数字证书的所述数字摘要发送到链的一个或多个节点,以存储在所述区块链中;
获得与将所述数字证书的所述数字摘要存储在所述区块链中相关联的交易标识;以及将数字标记与所述交易标识相关联。
2.如权利要求1所述的方法,其中:
所述数字标记与实体相关联。
3.如权利要求2所述的方法,其中:
所述数字标记与另一个交易标识相关联,所述另一交易标识与将所述实体的实体信息存储在所述区块链中相关联。
4.如权利要求2-3中任一项所述的方法,其中:
将所述数字标记与所述交易标识相关联表明所述实体的背书。
5.如前述任一权利要求所述的方法,其中:
所述数字标记包括数字印章。
6.如前述任一权利要求所述的方法,其中:
所述数字标记包括数字签名。
7.如前述任一权利要求所述的方法,其中,将所述数字证书的所述数字摘要发送到所述区块链的所述一个或多个节点,以存储在所述区块链中,包括:
将所述数字证书的所述数字摘要和用于生成所述数字摘要的加密处理写入区块链合约;以及
促使所述一个或多个节点发起区块链交易以部署所述区块链合约。
8.如权利要求7所述的方法,其中:
所述数字摘要包括所述数字证书的哈希值;以及
所述交易标识包括所述区块链交易的哈希值。
9.如前述任一权利要求所述的方法,其中,将所述数字标记与所述交易标识相关联,包括:
将所述数字标记、所述交易标识和所述数字摘要相关联。
10.如前述任一权利要求所述的方法,其中,生成所述数字证书,包括:
从实体获得所述数字证书的内容,所述实体是公司;以及
生成包括所述内容的所述数字证书。
11.如前述任一权利要求所述的方法,还包括:
将所述数字标记和所述交易标识之间的关联关系发送到所述一个或多个节点,以存储在所述区块链中。
12.如权利要求11所述的方法,还包括:
响应于针对由未验证的数字标记背书的未验证的数字证书的验证请求,获得与所述未验证的数字证书相对应的交易标识;
根据与所述未验证的数字证书对应的所述交易标识,获得区块链存储的数字摘要和区块链存储的数字标记;
根据用于生成所述数字证书的所述数字摘要的加密处理,生成所述未验证的数字证书的数字摘要;
验证所述区块链存储的数字摘要与所述未验证的数字证书的数字摘要是否一致,以及所述区块链存储的数字标记与所述未验证的数字标记是否一致;以及
响应于确定所述区块链存储的数字摘要与所述未验证的数字证书的数字摘要一致、并且所述区块链存储的数字标记与所述未验证的数字标记一致,确定所述未验证的数字证书是可信的。
13.一种数字证书系统,包括:
一个或多个处理器;和
耦接到所述一个或多个处理器并且其上存储有指令的一个或多个计算机可读存储器,所述指令能由所述一个或多个处理器执行以执行权利要求1至12中任一项所述的方法。
14.一种数字证书装置,包括用于执行权利要求1至12中任一项所述的方法的多个模块。

说明书全文

用于实现基于链的数字证书的系统和方法

技术领域

[0001] 本申请一般涉及用于实现基于区块链的数字证书的方法和设备。

背景技术

[0002] 证书可以为经济交易或其他活动提供论据或证据,并可以为某些法律目的服务。对于传统的交换,证书是纸质的,并由橡胶印章或签名背书。在一个示例中,公司印章或签名表示所关联的企业是正式注册的。但是,纸质证书很容易丢失或损坏。响应于此,数字证书逐渐取代纸质证书以克服这些缺点。然而,数字证书比纸质证书更容易复制或以其他方式伪造。在当前技术中,数字证书通常被实现为物理证书的数字图像或pdf渲染。此类数字证书易受篡改或其他未经授权的更改。因此,尽管相对于纸质证书提供了某些便利,但目前的数字证书无法确保安全性,并且往往会减少或失去作为法律证据的效果。因此,期望具有安全且防篡改的数字证书。
发明内容
[0003] 本文的各种实施例包括但不限于用于实现基于区块链的数字证书的系统、方法和非暂时性计算机可读介质。
[0004] 根据一个方面,用于实现数字证书的计算机实现的方法包括:生成数字证书;生成数字证书的数字摘要;将数字证书的数字摘要发送到区块链的一个或多个节点,以存储在区块链中;获得与将数字证书的数字摘要存储在区块链中相关联的交易标识;并将数字标记与交易标识相关联。
[0005] 在一些实施例中,数字标记与实体相关联。数字标记与另一个交易标识相关联,所述另一交易标识与将实体的实体信息存储在区块链中相关联。
[0006] 在其他实施例中,将数字标记与交易标识相关联表明该实体的背书。
[0007] 在一些实施例中,所述数字标记包括数字印章或数字签名中的至少一个。在一个实施例中,所述数字标记包括数字印章。在另一实施例中,所述数字标记包括数字签名。所述数字标记与实体的背书相关联。当与数字标记相关联时,所述数字证书与数字标记相关联并由实体背书。
[0008] 在其他实施例中,将数字证书的数字摘要发送到一个或多个节点中的一个或多个节点以存储在区块链中包括:将数字证书的数字摘要和用于生成数字摘要的加密处理写入区块链合约;并使一个或多个节点发起区块链交易以部署区块链合约。
[0009] 在其他实施例中,所述数字摘要包括数字证书的哈希值;所述交易标识包括所述区块链交易的哈希值。
[0010] 在其他实施例中,将数字标记与交易标识相关联包括:将数字标记、交易标识和数字摘要相关联。
[0011] 在一些实施例中,生成数字证书包括:从实体获得数字证书的内容,所述实体是公司;以及生成包含所述内容的数字证书。
[0012] 在其他实施例中,所述方法还包括:将数字标记和交易标识之间的关联关系发送到一个或多个节点以存储在区块链中。
[0013] 在其他实施例中,所述方法还包括:响应于针对由未验证的数字标记背书的未验证的数字证书的验证请求,获得与未验证的数字证书相对应的交易标识;根据未验证的数字证书对应的交易标识,获得区块链存储的数字摘要和区块链存储的数字标记;根据用于生成数字证书的数字摘要的加密处理生成未验证的数字证书的数字摘要;验证区块链存储的数字摘要与未验证的数字证书的数字摘要是否一致,以及区块链存储的数字标记与未验证的数字标记是否一致;以及响应于确定区块链存储的数字摘要与未验证的数字证书的数字摘要一致以及区块链存储的数字标记与未验证的数字标记一致,确定未验证的数字证书是可信的。
[0014] 在一些实施例中,数字证书系统包括:一个或多个处理器;和耦合到所述一个或多个处理器并且具有存储在其上的指令的一个或多个计算机可读存储器,所述指令可由所述一个或多个处理器执行以执行任何前述实施例的方法。
[0015] 在其他实施例中,所述数字证书装置包括用于执行任何前述实施例的方法的多个模块。
[0016] 根据另一方面,所述数字证书系统包括一个或多个处理器和一个或多个非暂时性计算机可读存储器,其耦接到一个或多个处理器并且配置有可由一个或多个处理器执行以促使所述系统执行操作的指令,所述操作包括:生成数字证书;生成数字证书的数字摘要;将数字证书的数字摘要发送到区块链的一个或多个节点,以存储在区块链中;获得与将数字证书的数字摘要存储在区块链中相关联的交易标识;并将数字标记与交易标识相关联。
[0017] 根据另一方面,所述非暂时性计算机可读存储介质配置有可由一个或多个处理器执行以促使所述一个或多个处理器执行操作的指令,所述操作包括:生成数字证书;生成数字证书的数字摘要;将数字证书的数字摘要发送到区块链的一个或多个节点,以存储在区块链中;获得与将数字证书的数字摘要存储在区块链中相关联的交易标识;并将数字标记与交易标识相关联。
[0018] 根据另一方面,基于区块链的数字证书装置可包括第一生成模块,用于生成数字证书;第二生成模块,用于生成数字证书的数字摘要;发送模块,用于将数字证书的数字摘要发送到区块链的一个或多个节点,以存储在区块链中;获得模块,用于获得与将数字证书的数字摘要存储在区块链中相关联的交易标识;和关联模块,用于将数字标记与交易标识相关联。
[0019] 本文中公开的实施例具有一个或多个技术效果。在一些实施例中,方法和系统可以生成用于表示实体背书的防篡改数字标记。在区块链中存储允许准确记录原始数据。在其他实施例中,当实体注册其信息(例如,具有授权)时,可以在区块链交易中将注册信息以及其与注册实体的锚定(关联)存储到区块链中。因此,注册信息变得不可变并且可以被检索以用于验证。在其他实施例中,方法和系统可以生成与注册实体相关联的唯一数字标记,以用于它们对数字证书或其他数据进行背书。在其他实施例中,可以基于与将注册信息存储在区块链中相关联的交易标识生成数字标记。这将数字标记唯一地链接到相应的注册实体并防止身份伪造。在一些实施例中,方法和系统可以生成数字证书并将数字表示存储在区块链中。在其他实施例中,当实体背书数字证书时,可以在区块链交易中将数字证书以及其与背书实体的数字标记的锚定(关联)存储到区块链中。因此,数字证书及其背书人变得不可变并且可以被检索以用于验证。因此,增强了数字证书的安全性。
[0020] 参考附图考虑以下描述和所附权利要求,本文公开的系统、方法和非暂时性计算机可读介质的这些特征和其他特征,以及操作方法和相关结构元件的功能以及部件的组合和制造经济性将变得更加明显。所有这些附图形成本说明书的一部分,其中相同的附图标记表示各附图中的对应部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,而不是限制性的。

附图说明

[0021] 图1A示出了根据各种实施例的基于区块链的数字证书系统的示例。
[0022] 图1B示出了根据各种实施例的区块链网络的示例。
[0023] 图2示出了根据各种实施例的用于生成基于区块链的数字标记的方法的示例。
[0024] 图3示出了根据各种实施例的用于发布基于区块链的数字证书的方法的示例。
[0025] 图4示出了根据各种实施例的用于验证基于区块链的数字证书的方法的示例。
[0026] 图5A示出了根据各种实施例的用于生成基于区块链的数字标记的方法的示例的流程图
[0027] 图5B示出了根据各种实施例的用于实现基于区块链的数字证书的方法的示例的流程图。
[0028] 图6A示出了根据各种实施例的生成基于区块链的数字标记的计算机系统的示例的框图
[0029] 图6B示出了根据各种实施例的生成基于区块链的数字证书的计算机系统的示例的框图。
[0030] 图7示出了可以实现本文描述的任何实施例的计算机系统的示例的框图。

具体实施方式

[0031] 本文公开的实施例包括但不限于基于区块链的数字证书的系统、方法和非暂时性计算机可读介质。在各种实施例中,可以基于实体的官方认证信息生成数字标记(例如,印章/签名)以用作实体的背书。在一些实施例中,可以基于将数字证书与背书数字标记锚定来发布数字证书。区块链的不变性、一致性和准确性可以确保数字证书的有效性和唯一性,并防止经常导致不一致或不准确的篡改。在其他实施例中,利用数字签名认证数字证书实现了证书内容与认证实体的链接。因此,可以有效地验证数字证书的有效性,提高数字证书的安全性,从而提升其法律效
[0032] 在各种实施例中,所公开的数字证书系统、方法和非暂时性计算机可读介质可以基于各种类型的区块链,这取决于谁被允许参与网络、执行共识协议以及维护共享区块链账本。各种类型的区块链可以包括例如公有区块链、联盟区块链、私有区块链等。下文中的描述涉及联盟区块链。尽管如此,所公开的数字证书系统、方法和非暂时性计算机可读介质也可以应用于其他类型的区块链。
[0033] 区块链可以被认为是去中心化的或部分中心化的数据库,通常被称为分布式账本,因为操作是由网络中的各种节点(例如,计算设备)执行的。任何信息都可以被写入并被保存于区块链或被从区块链中读取。节点是例如支持区块链网络并使其平稳运行的计算设备或大型计算机系统。每个节点可以提供区块链的部分或全部功能。例如,提供共识验证的节点可以被称为共识参与节点(或共识节点)。共识可以是用于区块链节点网络达成共同接受的处理结果的规则算法。通过共识,数据不断被添加到区块的链中。如果对区块进行更改,则该区块至链中的前一区块的链接将变为无效,并且它对于所有网络参与者都是可见的,通过共识规则,所有网络参与者可以防止任何进一步的未授权操作。
[0034] 联盟区块链是指具有由预设节点控制的共识处理的区块链。区块链可以允许每个人或允许仅被批准的参与者访问或采用混合访问方法。例如,根哈希值及其API(应用程序接口)可以向公众开放;外部各方被允许使用API进行一定数量的查询,并获得与区块链状态相关的信息。
[0035] 与其更受欢迎的公有区块链相比,可以更好地理解联盟区块链。公有区块链没有访问限制,这意味着任何有互联网连接的人都绝对可以成为公有区块链的参与者。更具体地说,世界上任何人都能够读取区块链中包含的数据,并且允许世界上的任何人在公有区块链上执行交易。此外,对于谁可以参与区块链的共识处理没有限制,区块链的共识处理是确定可以向区块链添加区块的个人或实体的处理。公有区块链被认为是完全去中心化的,对区块链的控制不在任何单个的个体或实体的控制之下。
[0036] 联盟区块链与其公有区域链的不同之处在于它们被许可,因此,不是任何具有互联网连接的人都可以访问联盟区块链。这些类型的区块链也可以被描述为半去中心化的。对联盟区块链的控制不授予单个实体,而是授予一组经批准的个人。通过联盟区块链,共识处理可能与公有区块链不同。联盟区块链的共识参与者可能是网络上的一组预先批准的节点,而不是任何人都能参与该处理。节点可以对应于各个国家、公司或其他实体。因此,联盟区块链具有公有区块链中固有的安全特征,同时还允许对网络的更大程度的控制。
[0037] 图1A示出了根据各种实施例的用于执行各种公开的步骤和方法的系统110的示例。如图所示,系统110可以包括注册系统111、区块链系统112、认证系统113和官方机构系统114,每个系统可以对应于经由网络119所代表的各种类型的通信耦接在一起的一个或多个物理硬件设备或虚拟设备。
[0038] 注册系统111、区块链系统112、认证系统113和官方机构系统114中的每个系统可以在诸如服务器、计算机、移动电话等的一个或多个计算设备中实现。例如,每个系统可以在服务器集群中实现。服务器集群可以采用负载平衡。
[0039] 尽管注册系统111、区块链系统112、认证系统113和官方机构系统114在该图中被示为单个组件,但是应当理解,这些系统可以被实现为耦接在一起的单个设备或多个设备。也就是说,图1A中的两个或更多个系统可以集成到单个系统中或者作为独立的系统实现。
例如,注册系统111和认证系统113可以集成到包括一个或多个计算设备的数字证书系统
118中。数字证书系统118可以称为基于区块链的数字证书系统。如果被集成,则注册系统
111和认证系统113可以被实现为集成系统的各种模块或类似组件。
[0040] 注册系统111、区块链系统112、认证系统113和官方机构系统114中的每个系统可以安装有适当的软件(例如,注册应用程序接口、区块链应用程序接口,数字证书生成程序,官方机构应用程序接口)和/或硬件(例如,有线、无线连接)以访问系统110的其他系统或设备。注册系统111、区块链系统112、认证系统113和官方机构系统114中的每个系统可以包括一个或多个处理器以及耦接到一个或多个处理器的一个或多个存储器。存储器可以是非暂时的且计算机可读的,并且配置有可由一个或多个处理器执行的指令,以促使一个或多个处理器执行本文所述的操作。
[0041] 通常,注册系统111、区块链系统112、认证系统113和官方机构系统114可以能够通过网络119彼此通信。例如,注册系统111、区块链系统112、认证系统113和官方机构系统114可以能够通过一个或多个有线或无线网络(例如,因特网)彼此通信,通过所述网络可以通信数据。下面参考图1B至图7进一步详细描述系统组件的各个方面。
[0042] 图1B示出了根据各种实施例的区块链网络120的示例。如图所示,区块链网络120可以包括上述区块链系统112。区块链系统112可以包括多个区块链节点(例如,节点1、节点2、节点3、节点4、节点i等)。区块链节点可以形成网络(例如,点对点网络),其中区块链节点彼此通信。所示的区块链节点的顺序和数量仅仅是示例并且是为了简化说明。区块链节点可以在服务器、计算机等中被实现。每个区块链节点可以对应于经由诸如TCP/IP的各种类型的通信方法耦接在一起的一个或多个物理硬件设备或虚拟设备。根据分类,区块链节点可以包括全量节点、Geth节点、共识节点等。
[0043] 在各种实施例中,区块链系统112的一个或多个节点可以与诸如注册系统111、认证系统113和官方机构系统114的其他系统和设备交互。交互可以涉及数据的发送和/或接收,用于例如交易、证明、签约等目的。在一个示例中,节点A(例如,移动电话、计算机等)可以对应于数字证书系统118的设备且数字证书系统118可以将信息发送到节点1(或区块链系统112的多个节点)以存储在区块链中。存储过程可以通过区块链交易完成。例如,可以将信息写入区块链合约(例如,智能合约),并且区块链交易可以由节点1(或者具有基于区块链共识规则的这种特权的一个或多个其他节点)发起以向区块链部署合约。与其他区块链交易类似,此处的交易可以对应于交易哈希。交易哈希可以是使各种交易信息经受哈希函数的输出。区块链可以存储交易的哈希值。稍后,当需要检索信息(例如,用于验证)时,节点A/节点B(例如,移动电话、计算机等)可以指示节点1/节点2(或区块链系统112的多个节点)启动另一交易以从区块链获取信息。另一交易可以查询地址以获得信息。节点B可以属于数字证书系统118、官方机构系统114或与区块链系统112耦接的另一系统(未示出)。
[0044] 在与区块链系统112的交互中,节点A和节点B可以安装有适当的区块链软件以发起、转发或访问交易。节点A可以通过与节点1或区块链的一个或多个其他节点的通信访问区块链,并且节点B可以通过与区块链的节点2或一个或多个其他节点的通信访问区块链。节点A可以通过节点1或类似节点将交易提交给区块链,以请求将交易添加到区块链。
[0045] 区块链可以由多个区块链节点维护,每个区块链节点包括或耦接到存储器。在一些实施例中,存储器可以存储池数据库。池数据库可以以分布式方式被多个区块链节点访问。例如,池数据库可以分别存储在区块链节点的存储器中。池数据库可以存储由与节点A类似的一个或多个用户设备提交的多个交易。
[0046] 在一些实施例中,在接收到未确认交易的交易请求之后,接收方区块链节点可以执行交易的一些初步验证。例如,参考图1B,节点1可以在从节点A接收交易之后执行初步验证。一旦被验证,所述交易可以被存储在接收方区块链节点(例如,节点1)的池数据库中,该接收方区块链节点也可以将交易转发到一个或者多个其他区块链节点(例如,节点3、节点4)。一个或多个其他区块链节点可以重复由接收方节点完成的处理。一旦相应池数据库中的交易达到某一水平(例如,阈值量),区块链节点就可以各自根据共识规则或其他规则验证相应池数据库中的一批交易。
[0047] 如果区块链交易涉及区块链合约(例如,智能合约),则区块链节点可以在本地执行区块链合约。区块链合约是一种计算机协议,旨在以数字方式促进、验证或强化合约的谈判或履行。区块链合约允许在没有第三方的情况下执行可信的区块链交易。区块链交易的示例可以是将数据编码为用于数据存储(通过合约部署)和检索(通过访问或执行合约)的合约代码。区块链合约可以包括用户编写的合约代码,例如实体信息、数字证书的数字摘要等。
[0048] 根据共识规则成功验证该批区块链交易的某个区块链节点可以打包区块链交易以将其添加到其区块链的本地副本中并将结果传播到其他区块链节点。该特定区块链节点可以是首先成功完成验证的区块链节点,已获得验证特权的区块链节点,或者已经基于另一共识规则确定的区块链节点等。然后,其他区块链节点可以在本地执行区块链交易,彼此验证执行结果(例如,通过执行哈希计算),并将区块链的副本与某一区块链节点的副本同步。通过更新区块链的其本地副本,其他区块链节点可以类似地将区块链交易中的这种信息写入各自的本地存储器中。因此,区块链合约被部署。稍后可以通过区块链上的相应地址访问已部署的合约以用于执行。例如,可以检索合约中存储的数据。如果验证在某些时候失败,则拒绝区块链交易。尽管如此,其他类型的区块链系统和相关的共识规则可以应用于所公开的区块链系统。
[0049] 图2示出了根据各种实施例的用于生成基于区块链的数字标记的方法200的示例。方法200可以由图1的系统110的一个或多个组件(例如,注册系统111、区块链系统112、认证系统113、官方机构系统114)实现。如前所述,尽管示出为独立的系统,但是注册系统111和认证系统113可以集成到包括一个或多个计算设备的数字证书系统118中。下面的操作旨在说明。取决于实施方式,方法200可以包括以各种顺序或并行执行的附加、更少或替代步骤。
[0050] 在一些实施例中,在步骤211处,第一实体可以通过注册系统111发起信息注册。注册信息可以包括实体的身份信息,例如标识号、地址、联系信息等。所述实体可以与个人、公司或企业、组织等相关联。例如,公司可以通过提交公司的信息(例如,公司的名称、公司的代表人、公司的联系人等)来发起用注册系统111对公司信息的注册。
[0051] 在步骤212处,注册系统111可以将验证请求212发送到认证系统113。注册信息也可以被发送到认证系统113。
[0052] 在步骤213处,认证系统113可以请求与官方机构系统114一起验证实体的身份。例如,认证系统113可以与官方机构系统114的应用程序接口通信以验证身份。又例如,认证系统113可以发送注册信息以请求官方机构系统114查询公司注册数据库并验证公司的身份。
[0053] 在步骤214处,官方机构系统114可以将验证结果返回给认证系统113。
[0054] 在步骤221处,如果验证成功,则认证系统113可以将注册信息发送到区块链系统112以存储在由区块链系统112维护的区块链中。注册信息可以被认为是公共信息并且可用于区块链的各个节点。
[0055] 在各种实施例中,认证系统113可以包括一个或多个轻量节点(例如,节点A、节点B)。认证系统113可以通过与轻量节点耦接的区块链系统112的节点(例如,节点1)发起区块链交易(或简称为交易)。例如,可以将注册信息写入区块链合约(例如,智能合约),并且可以发起区块链交易以将合约部署到区块链。通过所述部署,可以从区块链访问合约,以用于执行、检索或其他操作。在这种情况下,区块链交易可以对应于交易标识(例如,第一交易哈希值)。例如,区块链交易标识可以是区块链交易的哈希值。交易标识还可以与实体相关联。区块链可以存储注册信息。区块链还可以存储相应交易标识。因此,区块链交易标识和注册信息被锚定(关联)。通过查询交易标识,可以检索区块链存储的注册信息。例如,当区块链交易标识被发送到区块链系统112(例如,区块链节点)时,区块链系统112可以执行区块链合约以检索区块链存储的注册信息。还有许多其他合适的方法用于存储和检索区块链上的注册信息。本领域普通技术人员应该理解,本说明书的实施例不限于上述示例。本段中描述的交易和交易标识可以称为第一交易和第一交易标识。
[0056] 在步骤222处,区块链系统112可以将第一交易标识(例如,数字摘要)返回给认证系统113。第一交易标识可以是唯一地表示实体并且与注册信息对应的数字防篡改表示。例如,区块链系统112可以将第一交易的哈希值作为第一交易标识返回给认证系统113。第一交易标识表明所述实体存在于区块链中。
[0057] 在步骤231处,认证系统113可以至少基于实体的第一交易标识生成数字标记(例如,数字签名/印章)。可以基于第一交易标识(例如,第一交易的哈希值)唯一地识别数字标记(例如,数字签名/印章)。认证系统113可以维护实体和数字标记(例如,数字签名/印章)之间的关系。
[0058] 在步骤241处,认证系统113可以将数字标记(例如,数字签名/印章)和实体之间的关联关系发送到区块链系统112以存储在区块链中。因此,生成的数字标记(例如,数字签名/印章)与实体之间的关联关系可以由区块链系统112和/或认证系统113存储。
[0059] 在各种实施例中,认证系统113可以通过区块链系统112的节点发起另一区块链交易。本段中描述的交易可以被称为第二交易并且对应于第二交易标识。例如,可以将步骤241中数字标记(例如,数字签名/印章)与实体关联的关联关系写入区块链合约(例如,智能合约)。类似于如上参考步骤221所描述的过程,可以启动第二区块链交易以将该合约部署到区块链。第二区块链交易可以对应于第二交易标识(例如,第二交易哈希值),所述第二交易标识也与实体相关联。区块链可以存储关联关系。区块链还可以存储相应的第二交易标识。通过查询第二交易标识,可以检索区块链存储的关联。
[0060] 在步骤251处,如果成功执行了上述步骤,则认证系统113可以向注册系统111返回注册成功的消息。
[0061] 图3示出了根据各种实施例的用于发布基于区块链的数字证书的方法300的示例。方法300可以由图1A的系统110的一个或多个组件(例如,注册系统111、区块链系统112、认证系统113)实现。如前所述,尽管示出为独立的系统,但是注册系统111和认证系统113可以集成到包括一个或多个计算设备的数字证书系统118中。下面的操作旨在说明。取决于实施方式,方法300可以包括以各种顺序或并行执行的附加、更少或替代步骤。可以在方法200之后执行方法300。
[0062] 在一些实施例中,在步骤311处,第一实体可以通过注册系统111发起证书(例如,数字证书)生成请求。在本文中,证书可以包括证明某个事实或其他信息的文档。证书可以由实体背书。例如,公司或机构等实体可以以数字证书的形式发布金融交易收据。再例如,保险代理机构可以以数字证书的形式发布保险单或保险证明。
[0063] 在步骤312处,注册系统111可以生成证书数据。证书数据可以包括根据所述请求的证书的内容。例如,生成金融交易收据的请求可以对应于例如金融交易的日期、金融交易的金额、金融交易的付款人和收款人等的证书数据。
[0064] 在步骤321处,注册系统111可以将所请求的证书发送到认证系统113,并请求认证系统113将所请求的证书与如上参考图2描述的数字标记(例如,数字签名/印章)锚定在一起。在本文中,锚定可以意味着关联或以其他方式建立关联。所述关联可以被存储在数字证书系统118的一个或多个组件中。
[0065] 在步骤322处,认证系统113可以将所请求的证书与数字标记(例如,数字签名/印章)锚定。在一些实施例中,认证系统113可以生成数字证书的数字摘要。
[0066] 在步骤331处,认证系统113可以将数字证书的数字摘要发送到区块链系统112,以请求区块链系统112将数字摘要存储在区块链中。
[0067] 在各种实施例中,认证系统113可以通过区块链系统112的节点发起另一区块链交易。本段中描述的交易可以被称为第三交易并且对应于第三交易标识。例如,数字证书的数字摘要可以被写入区块链合约(例如,智能合约)。类似于如上参考步骤221所描述的过程,可以发起第三区块链交易以将该合约部署到区块链。第三区块链交易可以对应于第三交易标识(例如,第三交易哈希值)。第三交易标识可以与诸如数字证书的数字摘要、第三交易的时间戳、第三交易的发起者等信息相关联。区块链可以存储数字摘要(例如,数字证书的哈希值),但不存储数字证书的细节(例如,明文)以确保隐私。区块链还可以存储相应的第三交易标识。通过查询第三交易标识,可以检索区块链存储的数字证书的数字摘要。可以采用替代智能合约的其他方法将证书存储在区块链中。
[0068] 在步骤332处,区块链系统112可以返回第三交易的第三交易标识(例如,第三交易哈希值),以将数字证书的数字摘要存储到认证系统113中。通过步骤331和步骤332,存储在区块链中的数字证书的数字摘要可以稍后用于针对可疑数字证书的摘要进行验证。
[0069] 在步骤341处,认证系统113可以将数字印章/签名与第三交易的第三交易标识锚定,以存储证书的数字摘要。由于在步骤322处,所请求的证书锚定有数字标记(例如,数字签名/印章),因此认证系统113中存储的数字证书被链接到区块链中存储的其数字摘要表示。
[0070] 在步骤351处,认证系统113可以将数字印章/签名、用于存储证书的数字摘要的第三交易的第三交易标识和数字证书的数字摘要之间的关联发送到区块链系统112,以存储在区块链中。因此,实体、数字印章/签名和数字证书相关联,并且该关联关系被存储在区块链中。
[0071] 在各种实施例中,认证系统113可以通过区块链系统112的节点发起另一区块链交易。本段中描述的交易可以被称为第四交易并且对应于第四交易标识。例如,表示步骤351中关联的关联关系可以被写入区块链合约(例如,智能合约)。类似于如上参考步骤221所描述的处理,可以启动第四区块链交易以将该合约部署到区块链。第四区块链交易可以对应于第四交易标识(例如,第四交易哈希值)。区块链可以存储关联关系。区块链还可以存储相应交易标识。通过查询第四交易标识,可以检索区块链存储的关联。
[0072] 在步骤361处,如果成功执行了上述步骤,则认证系统113可以向注册系统111返回成功的消息。
[0073] 图4示出了根据各种实施例的用于验证基于区块链的数字证书的方法400的示例。方法400可以由图1A的系统110的一个或多个组件(例如,注册系统111、区块链系统112、认证系统113)实现。如前所述,尽管示出为独立的系统,但是注册系统111和认证系统113可以集成到包括一个或多个计算设备的数字证书系统118中。下面的操作旨在说明。取决于实施方式,方法400可以包括以各种顺序或并行执行的附加、更少或替代步骤。
[0074] 在一些实施例中,在步骤411处,第三方实体可以通过注册系统111发起对证书的验证。例如,第三方可能已经获得了数字证书,并且想要验证所获得的数字证书是否存在于区块链中以验证所述证书。因此,第三方可以提交数字证书以用于验证。
[0075] 在步骤412处,注册系统111可以向认证系统113发送验证诸如数字标记(例如,数字签名/印章)的锚定的所述证书的请求。
[0076] 在步骤413处,作为响应,认证系统113可以从区块链获得与证书相对应的数据以验证证书。例如,认证系统113可以通过区块链系统112的节点查询区块链存储的信息(例如,与证书相关联的数字摘要、与证书相关联的数字标记(例如,数字签名/印章))。
[0077] 在步骤421处,认证系统113可以从区块链获得相应的数据。如果证书存在于区块链中,则数据可以包括如上参考图3描述的区块链中存储的信息,例如,与证书相关联的数字摘要(被称为区块链存储的数字摘要)、与证书相关联的数字标记(例如,数字签名/印章,被称为区块链存储的数字标记)。
[0078] 在步骤422处,认证系统113可以验证(1)数字标记(例如,数字签名/印章)和证书之间的锚定以及(2)证书的摘要和与证书相关联的区块链存储的数字摘要之间的锚定。由于数据可以包括用于生成数字证书的数字摘要的加密处理(例如,SHA-256哈希法),因此认证系统113可以生成证书的摘要以在步骤422处执行验证。
[0079] 可选地,区块链系统112可以执行验证并将结果返回到认证系统113。
[0080] 在步骤431处,认证系统113可以将验证结果返回到注册系统111。
[0081] 图5A示出了根据各种实施例的用于生成基于区块链的数字标记的方法510的示例的流程图。方法510可以由图1A的系统110的一个或多个组件(例如,数字证书系统118)实现。方法510可以由包括各种硬件机器和/或软件的系统实现。例如,数字证书系统118可以由一个或多个系统或设备(例如,计算机、服务器)实现。实现方法510的系统可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到一个或多个处理器并配置有可由一个或多个处理器执行的指令,以促使系统(例如,处理器)执行方法510。下面的操作旨在说明。取决于实施方式,方法510可以包括以各种顺序或并行执行的附加、更少或替代步骤。以上参考图2描述了方法510的实施方式的示例。
[0082] 步骤511包括获得实体的实体信息。在一些实施例中,实体是公司,且实体信息包括由官方机构认证的公司注册信息。例如,数字证书系统118可以从实体获得实体信息作为注册信息。数字证书系统118可以将注册信息转发到官方机构系统以用于验证。一旦被验证后,可执行以下步骤以生成数字标记。
[0083] 步骤512包括将实体信息发送到区块链的一个或多个节点以存储在区块链中。在一些实施例中,将实体信息发送到区块链的一个或多个节点以存储在区块链中包括:至少将实体信息写入区块链合约中;并促使一个或多个节点发起区块链交易以部署所述区块链合约。例如,区块链的节点可能具有发起区块链交易的特权。数字证书系统118可以耦接到一个或多个节点以发起区块链交易。节点可以根据共识规则验证和执行区块链交易。在部署之后,区块链交易被打包到区块链的新区块中,该区块链的副本对于节点是可获得的。细节可以参考上述步骤221。在这种情况下,区块链交易可以对应于交易标识(例如,交易哈希值)。区块链可以存储实体信息。区块链还可以存储相应交易标识。通过查询交易标识,可以检索区块链存储的实体信息。
[0084] 步骤513包括获得与将实体信息存储在区块链中相关联的交易标识(例如,数字摘要)。当实体信息被成功存储在区块链中时,交易标识可以由区块链的一个或多个节点返回。在一些实施例中,交易标识包括区块链交易的哈希值。例如,哈希算法可以被理解为将任何长度的消息压缩为固定长度的消息摘要的函数。常用的哈希函数包括MD5和SHA。区块链交易的哈希值可以包括具有将区块链交易的各种信息作为输入的哈希函数的输出。区块链交易的各种信息可以包括一个或多个交易参数,例如“来自”(发件人地址),“值”(交易值),“gas”(完成交易的费用),“数据”(区块链合约数据)等。区块链中的哈希算法是不可逆的,即正向计算很容易,但即使所有计算资源都耗尽也不可能进行反向计算。因此,区块链交易的哈希值是唯一的。细节可以参考上述步骤222。
[0085] 步骤514包括至少基于交易标识生成实体的数字标记。所述数字标记与实体相关联。关联关系可以由数字证书系统118维护。在一些实施例中,数字标记包括交易标识(例如,区块链交易的哈希值)。某些数据的哈希值是将哈希算法应用于例如上述区块链交易的各种信息的数据的数值结果。例如,数字标记可以是步骤513的交易标识。交易标识可以可选地称为相应交易的摘要。细节可以参考上述步骤231。
[0086] 在一些实施例中,数字标记包括数字印章和/或数字签名;数字标记与数字证书相关联,以显示实体的背书。例如,通过关联,数字标记和数字证书可以组合成一个文件。又例如,通过关联,数字证书可以链接到数字标记。
[0087] 在一些实施例中,所述方法还包括将实体和数字标记之间的关联关系发送到一个或多个节点以存储在区块链中。例如,区块链的节点可能具有发起区块链交易的特权。数字证书系统118可以耦接到一个或多个节点以发起区块链交易。节点可以根据共识规则验证和执行区块链交易。在部署之后,区块链交易被打包到区块链的新区块中,该区块链的副本对于节点是可获得的。细节可以参考上述步骤241。在这种情况下,区块链交易可以对应于交易标识(例如,交易哈希值)。区块链可以存储关联。区块链还可以存储相应交易标识。通过查询交易标识,可以检索区块链存储的关联。
[0088] 在一些实施例中,所述方法还包括:生成数字证书;将数字标记与数字证书相关联;将数字证书发送到区块链的一个或多个节点以存储在区块链中;获得与将数字证书存储在区块链中相关联的另一数字摘要;将数字标记与另一数字摘要相关联;将数字标记和交易标识之间的关联关系发送给所述一个或多个节点,以存储在区块链中。所述数字标记与另一数字摘要关联显示了所述实体的背书。由于数字证书被链接到另一数字摘要,因此数字证书由实体背书。所述方法还可以包括将数字标记与交易标识的关联关系发送到所述一个或多个节点以存储在区块链中。下面参考图5B描述更多细节。
[0089] 在其他实施例中,可以通过任何手段获得数字证书。所述方法还包括:生成与所述实体相关联的数字证书的数字摘要;将数字证书的数字摘要发送到区块链的一个或多个节点,以存储在区块链中;获得与将数字证书的数字摘要存储在区块链中相关联的另一交易标识;并将数字标记与另一交易标识相关联。所述数字标记与另一交易标识关联显示了所述实体的背书。由于数字证书被链接到另一交易标识,因此数字证书由实体背书。所述方法还可以包括将数字标记与另一交易标识的关联关系发送到所述一个或多个节点以存储在区块链中。
[0090] 在其他实施例中,所述方法还包括:生成与实体相关联的数字证书的数字摘要;并将数字标记与数字摘要相关联。数字标记与数字摘要关联显示了所述实体的背书。由于数字证书被链接到数字摘要,因此数字证书由实体背书。所述方法还可以包括将数字标记与数字摘要的关联关系发送到一个或多个节点以存储在区块链中。
[0091] 在其他实施例中,所述方法还包括:将数字标记与数字证书相关联,所述数字证书是与实体相关联的。数字标记与数字证书关联显示了所述实体的背书。所述方法还可以包括将数字标记与数字证书的关联关系发送到一个或多个节点以存储在区块链中。
[0092] 图5B示出了根据各种实施例的用于实现基于区块链的数字证书的方法520的示例的流程图。方法520可以由图1A的系统110的一个或多个组件(例如,数字证书系统118)实现。方法520可以由包括各种硬件机器和/或软件的系统实现。例如,数字证书系统118可以由一个或多个系统或设备(例如,计算机、服务器)实现。实现方法520的系统可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到一个或多个处理器并配置有可由一个或多个处理器执行的指令,以促使系统(例如,处理器)执行方法520。下面的操作旨在说明。取决于实施方式,方法520可以包括以各种顺序或并行执行的附加、更少或替代步骤。以上参考图3和图4描述了方法520的实施方式的示例。
[0093] 步骤521包括生成数字证书。在一些实施例中,生成数字证书包括:从实体获得数字证书的内容,所述实体是公司;以及生成包含所述内容的数字证书。例如,数字证书系统118可以从实体或另一源获得需要在数字证书上显示的内容。细节可以参考上述步骤312。
[0094] 可选步骤522包括将数字标记与数字证书相关联。数字标记可以是上面参考图5A描述的数字标记。数字标记可以由数字证书系统118维护。在一些实施例中,数字标记包括数字印章和/或数字签名;并且数字标记与实体的背书相关联。细节可以参考上述步骤322。
[0095] 步骤523包括生成数字证书的数字摘要。例如,诸如SHA-256的哈希处理可用于从数字证书生成数字摘要。因此,数字证书的内容被转换为加密表示。
[0096] 步骤524包括将所述数字证书的数字摘要发送到所述区块链的一个或多个节点,以存储在所述区块链中。在一些实施例中,将数字证书的数字摘要发送到区块链的一个或多个节点以存储在区块链中包括:将数字证书的数字摘要和用于生成数字摘要的加密处理(例如,SHA-256哈希法)写入区块链合约;并使一个或多个节点发起区块链交易以部署该区块链合约。例如,区块链的节点可能具有发起区块链交易的特权。数字证书系统118可以耦接到一个或多个节点以发起区块链交易。节点可以根据共识规则验证和执行区块链交易。在部署之后,区块链交易被打包到区块链的新区块中,该区块链的副本对于节点是可获得的。细节可以参考上述步骤331。在这种情况下,区块链交易可以对应于交易标识(例如,交易哈希值)。区块链可以存储数字摘要(例如,数字证书的哈希值),但不存储数字证书的细节(例如,明文)以确保隐私。区块链还可以存储相应交易标识。通过查询交易标识,可以检索区块链存储的数字证书的数字摘要。
[0097] 步骤525包括获得与将数字证书的数字摘要存储在区块链中相关联的交易标识。当数字证书的数字摘要被成功存储在区块链中时,可以由区块链的一个或多个节点返回交易标识(例如,交易的摘要)。在一些实施例中,所述数字摘要包括数字证书的哈希值;所述交易标识包括所述区块链交易的哈希值。区块链可以存储数字摘要而不是数字证书的明文,以保护隐私。细节可以参考上述步骤332。
[0098] 步骤526包括将数字标记与交易标识相关联。细节可以参考上述锚定步骤341。在一些实施例中,将数字标记与交易标识相关联包括:将数字标记、交易标识和数字摘要相关联。在一些实施例中,所述方法还包括:将数字标记和交易标识之间的关联关系发送到一个或多个节点以存储在区块链中。在一些实施例中,所述方法还包括:发送数字标记、交易标识和数字摘要之间的关联。例如,区块链的节点可能具有发起区块链交易的特权。数字证书系统118可以耦接到一个或多个节点以发起区块链交易。节点可以根据共识规则验证和执行区块链交易。在部署之后,区块链交易被打包到区块链的新区块中,该区块链的副本对于节点是可获得的。细节可以参考上述步骤351。在这种情况下,区块链交易可以对应于交易标识(例如,交易哈希)。区块链可以存储关联。区块链还可以存储相应交易标识。通过查询交易标识,可以检索区块链存储的关联。
[0099] 在一些实施例中,所述方法还包括:响应于针对由未验证的数字标记背书的未验证的数字证书的验证请求,获得与未验证的数字证书相对应的交易标识;根据与未验证的数字证书对应的交易标识,获得区块链存储的数字摘要和区块链存储的数字标记;根据用于生成数字证书的数字摘要的加密处理,生成未验证的数字证书的数字摘要;验证区块链存储的数字摘要与未验证的数字证书的数字摘要是否一致,以及区块链存储的数字标记与未验证的数字标记是否一致;响应于确定区块链存储的数字摘要与未验证的数字证书的数字摘要一致、并且区块链存储的数字标记与未验证的数字标记一致,确定未验证的数字证书是可信的;以及响应于确定区块链存储的数字摘要与未验证的数字证书的数字摘要不一致或者区块链存储的数字标记与未验证的数字标记不一致,确定未验证的数字证书是不可信的。
[0100] 例如,如上参考图4A所述,第三方可能已接收到由未验证的实体的未验证的标记背书的未验证的数字证书,并希望验证其真实性。由于区块链存储了实体、数字证书的摘要、交易标识和相应的数字标记之间的关联关系,数字证书系统118可以获得与未验证的数字证书相对应的交易标识,并相应地检索区块链存储的信息,例如,通过区块链的一个或多个节点发起交易以获得与未验证的数字证书相关联的数据(例如,区块链存储的数字摘要、区块链存储的数字标记、区块链存储的实体信息)。为了进行验证,数字证书系统118可以推导出未验证的数字证书的数字摘要。所述数字证书系统118可以验证未验证的数字证书的数字摘要与区块链存储的数字摘要是否一致(以确保数字证书的内容未被篡改)以及验证未验证的数字标记与数字标记是否一致(以确保背书实体是准确的)。可选地,数字证书系统118可以验证未验证的实体与区块链存储的数字证书关联的实体信息是否一致。如果一致性验证成功,则数字证书系统118可以确定未验证的数字证书是可信的。如果无法获得数据或者如果任何一致性验证失败,则数字证书系统118可以确定未验证的数字证书是不可信的。
[0101] 图6A示出了根据各种实施例的用于生成基于区块链的数字标记的计算机系统610的示例的框图。系统610可以是图1A的系统110的一个或多个组件(例如,数字证书系统118)的实施方式的示例。方法510可以由计算机系统610实现。计算机系统610可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到一个或多个处理器并配置有可由一个或多个处理器执行的指令,以促使系统设备(例如,处理器)执行方法510。计算机系统610可以包括与指令(例如,软件指令)相对应的各种单元/模块。在一些实施例中,所述计算机系统610可以被称为基于区块链的数字标记生成装置。基于区块链的数字标记生成装置可以包括:第一获得模块611,用于获得实体的实体信息;发送模块612,用于将实体信息发送到区块链的一个或多个节点,以存储在区块链中;第二获得模块613,用于获得与将实体信息存储在区块链中相关联的交易标识;以及生成模块614,用于至少基于交易标识生成实体的数字标记。
[0102] 图6B示出了根据各种实施例的用于实现基于区块链的数字证书的计算机系统620的示例的框图。系统620可以是图1A的系统110的一个或多个组件(例如,数字证书系统118)的实施方式的示例。方法520可以由计算机系统620实现。计算机系统620可以包括一个或多个处理器和一个或多个非暂时性计算机可读存储介质(例如,一个或多个存储器),所述非暂时性计算机可读存储介质耦接到一个或多个处理器并配置有可由一个或多个处理器执行的指令,以促使系统设备(例如,处理器)执行方法520。计算机系统620可以包括与指令(例如,软件指令)相对应的各种单元/模块。在一些实施例中,所述计算机系统620可以被称为基于区块链的数字证书装置。基于区块链的数字证书装置可包括:第一生成模块621,用于生成数字证书;第二生成模块622,用于生成数字证书的数字摘要;发送模块623,用于将数字证书的数字摘要发送到区块链的一个或多个节点,以存储在区块链中;获得模块624,用于获得与将数字证书的数字摘要存储在区块链中相关联的交易标识;和关联模块625,用于将数字标记与交易标识相关联。
[0103] 如所示出的,通过获得数字证书的数字摘要并将所述摘要存储在区块链中,可以安全地维护原始数字证书的表示并且可用于验证。可以基于包括哈希法的区块链共识规则制止对数字证书的篡改。数字证书的数字摘要表示还可以隐藏明文信息以保护隐私。此外,区块链存储的原始数字证书的表示与相应的背书数字标记以及相应的存储背书关系的交易标识相关联。通过查询交易标识,可以从区块链中检索这种关联信息以用于验证。因此,可以提供具有安全性保证的数字证书发布和验证。
[0104] 这里描述的技术由一个或多个专用计算设备实现。专用计算设备可以是台式计算机系统、服务器计算机系统、便携式计算机系统、手持设备、网络设备或任何其他设备,或包括硬连线和/或程序逻辑以实现这些技术的设备的组合。专用计算设备可以被实现为个人计算机、膝上型计算机、蜂窝电话、照相电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板电脑、可穿戴设备或其组合。计算设备通常由操作系统软件控制和协调。传统的操作系统控制和调度用于执行的计算机进程,执行存储器管理,提供文件系统、网络、I/O服务,以及提供例如图形用户界面(“GUI”)等的用户界面功能。这里描述的各种系统、装置、存储介质、模块和单元可以在专用计算设备或一个或多个专用计算设备的一个或多个计算芯片中实现。在一些实施例中,这里描述的指令可以在专用计算设备上的虚拟机中实现。当被执行时,指令可以促使专用计算设备执行本文描述的各种方法。虚拟机可以包括软件、硬件或其组合。例如,虚拟机可以包括为以太坊中的智能合约提供运行时环境的以太坊虚拟机(EVM)软件。
[0105] 图7是示出计算机系统700的框图,在所述计算机系统700上可以实现本文描述的任何实施例。系统700可以在本文描述的任何系统和设备中实现,并且被配置为执行用于实现基于区块链的数字证书的相应步骤。计算机系统700包括总线702或用于通信信息的其他通信机制、与总线702耦接以处理信息的一个或多个硬件处理器704。硬件处理器704可以是例如一个或多个通用微处理器
[0106] 计算机系统700还包括耦接到总线702用于存储可由处理器704执行的信息和指令的主存储器706,例如随机存取存储器(RAM)、高速缓存和/或其他动态存储设备。主存储器706还可以用于在执行可由处理器704执行的指令期间存储临时变量或其他中间信息。当这些指令存储在处理器704可访问的存储介质中时,这些指令将计算机系统700呈现为专用机器,该专用机器被定制为执行指令中所指定的操作。计算机系统700还包括耦接到总线702用于存储处理器704的静态信息和指令的只读存储器(ROM)708或其他静态存储设备。诸如磁盘、光盘或USB拇指驱动器(闪存驱动器)等的存储设备710被提供并耦接到总线702以存储信息和指令。
[0107] 计算机系统700可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑实现本文所述的技术,所述固件/或程序逻辑与计算机系统相结合使得计算机系统700成为专用机器或将计算机系统700编程为专用机器。根据一个实施例,这里描述的操作、方法和过程由计算机系统700响应于处理器704执行主存储器706中包含的一个或多个指令的一个或多个序列而执行。这些指令可以从例如存储设备710的另一存储介质读入主存储器706。执行包含在主存储器706中的指令序列使得处理器704执行本文描述的处理步骤。在可选实施例中,可以使用硬连线电路代替软件指令或与软件指令组合。
[0108] 主存储器706、ROM708和/或存储710可以包括非暂时性存储介质。本文使用的术语“非暂时性介质”和类似术语是指存储促使机器以特定方式操作的数据和/或指令的介质,所述介质不包括暂时性信号。这种非暂时性介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,例如存储设备710。易失性介质包括动态存储器,例如主存储器706。常规形式的非暂时性介质包括,例如,软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒式磁带以及它们的网络版本。
[0109] 计算机系统700还包括耦接到总线702的网络接口718。网络接口718提供耦接到一个或多个网络链路的双向数据通信,所述一个或多个网络链路连接到一个或多个本地网络。例如,网络接口718可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或调制解调器,以提供与相应类型的电话线的数据通信连接。作为另一示例,网络接口718可以是局域网(LAN)卡,以提供到兼容LAN(或WAN组件以与WAN通信)的数据通信连接。还可以实现无线链路。在任何这样的实施方式中,网络接口718发送和接收携带表示各种类型的信息的数字数据流的电信号、电磁信号或光信号
[0110] 计算机系统700可以通过网络、网络链路和网络接口718发送消息和接收数据,包括程序代码。在因特网示例中,服务器可以通过因特网、ISP、本地网络和网络接口718发送用于应用程序的请求代码。
[0111] 所接收的代码当被接收时可以由处理器704执行,和/或存储在存储设备710或其他非易失性存储器中以用于稍后执行。
[0112] 前面部分中描述的每个过程、方法和算法可以在包括计算机硬件的一个或多个计算机系统或计算机处理器执行的代码模块中完全或部分自动化地实现。过程和算法可以部分或全部地在专用电路中实现。
[0113] 上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合都旨在落入本说明书的范围内。另外,在一些实施方式中可以省略某些方法或过程框。本文描述的方法和过程也不限于任何特定序列,与其相关的框或状态可以以其他适当的次序执行。例如,所描述的框或状态可以以不同于具体公开的顺序执行,或者多个框或状态可以在单个框或状态中组合。框或状态的示例可以串行、并行或以一些其他方式执行。可以将框或状态添加到所公开的实施例中或从所公开的实施例中移除。这里描述的系统和组件的示例可以与所描述的不同地被配置。例如,与所公开的实施例相比,可以添加、移除或重新布置元件。
[0114] 可以至少部分地通过算法执行本文描述的方法的各种操作。所述算法可以被包含在存储器(例如,上述非暂时性计算机可读存储介质)中存储的程序代码或指令中。这种算法可以包括机器学习算法。在一些实施例中,机器学习算法可以不明确地对计算机进行编程以执行功能,但是可以从训练数据中学习以建立执行所述功能的预测模型
[0115] 本文描述的方法的各种操作可以至少部分地由被临时配置(例如,通过软件)或被永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这样的处理器可以构成处理器实现引擎,所述处理器实现引擎用于执行本文描述的一个或多个操作或功能。
[0116] 类似地,这里描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,所述方法的至少一些操作可以由一个或多个处理器或处理器实现的引擎执行。此外,一个或多个处理器还可以操作以支持“计算”环境中的相关操作的性能或作为“软件即服务”(SaaS)操作。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)执行,这些操作可以经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(API))被访问。
[0117] 某些操作的性能可以分布在处理器之间,不仅驻留在单个机器中,而且跨多个机器被部署。在一些实施例中,处理器或处理器实现引擎可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他实施例中,处理器或处理器实现引擎可以分布在多个地理位置。
[0118] 在整个说明书中,多个实例可以实现作为单个实例所描述的组件、操作或结构。尽管一个或多个方法的各个操作被示出并描述为独立的操作,但是可以同时执行一个或多个独立的操作,并且不需要以所示的顺序执行所述操作。在配置中作为独立组件呈现的结构和功能可以实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以实现为独立的组件。这些和其他变化、修改、添加和改进都落入本文中的主题的范围内。
[0119] 尽管已经参考具体实施例描述了主题的概述,但是在不脱离本文的实施例的较宽范围的情况下,可以对这些实施例进行各种修改和改变。具体实施方式不应被视为具有限制意义,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围限定。此外,这里使用的相关术语(诸如“第一”、“第二”、“第三”等)不表示任何顺序、高度或重要性,而是用于将一个元件与另一元件区分开。此外,术语“一”、“一个”和“多个”在本文中并不表示数量的限制,而是表示存在至少一个所述的物品。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈