首页 / 专利库 / 银行与财务事项 / 比特币地址 / 使用区块链的安全数据记录分发的方法和系统

使用链的安全数据记录分发的方法和系统

阅读:482发布:2020-05-14

专利汇可以提供使用链的安全数据记录分发的方法和系统专利检索,专利查询,专利分析的服务。并且一种计算机实现的方法,用于使用具有一组输入 节点 和一组 输出节点 的 区 块 链 来提高数据记录分发过程的安全性,每组具有一个私钥-公钥对,但是其中,每一个节点仅具有其相应私钥的密钥份额,并且没有节点具有完整的私钥。使用 阈值 签名方案、秘密份额合并和隐藏地址,来自输入节点的数据记录汇集在通过输入节点的协作动作确定的隐藏地址,这需要协作确定其公钥、共享秘密和隐藏地址。所述公钥复制到交易中。所述输出节点 定位 交易并提取公钥,协作验证其真实性,并协作确定共享秘密。这样,输出节点可以共同签署第二交易,用于将数据记录从隐藏地址分发到输出地址。例如,本 发明 可以与 比特币 区块链或另一区块链实现结合使用。,下面是使用链的安全数据记录分发的方法和系统专利的具体信息内容。

1.一种使用链参与数据记录分发过程的计算机实现的方法,所述数据记录分发过程包括多个输入地址和多个输出地址,每个地址由相应的输入节点输出节点控制,所述方法在一个所述输入节点上实现,包括:
获得与所述输出节点相关联的第一公钥;
获得与所述输入节点相关联的第二私钥的密钥份额,所述第二私钥对于任何输入节点都是未知的;
使用秘密份额合并来协作导出对应于所述第二私钥的第二公钥;
使用所述第一公钥、所述密钥份额和秘密份额合并来协作导出共享秘密;并且生成从多个输入地址接收数据记录并且具有隐藏地址作为输出地址的第一区块链交易,其中,所述隐藏地址基于所述第一公钥和所述共享秘密。
2.根据权利要求1所述的方法,其中,所述第一区块链交易包括非交易代码和所述第二公钥的副本。
3.根据权利要求2所述的方法,其中,所述非交易代码是OP_RETURN或功能等同物,并且其中,所述第二公钥的副本在所述第一区块链交易中跟随所述OP_RETURN。
4.根据权利要求1至3中任一项所述的方法,其中,协作导出第二公钥包括计算包括所述密钥份额的第一拉格朗日多项式插值的项,并将该项与由其他输入节点提供的第一拉格朗日多项式的项相加。
5.根据权利要求1至3中任一项所述的方法,其中,协作导出共享秘密包括计算包括所述密钥份额和所述第一公钥的第二拉格朗日多项式插值的项,并将该项与来自其他输入节点的第二拉格朗日多项式的项相加。
6.根据权利要求1至5中任一项所述的方法,其中,生成所述第一区块链交易包括将所述隐藏地址确定为所述第一公钥和具有作为对应私钥的共享秘密的秘密公钥的总和。
7.一种使用区块链参与数据记录分发过程的计算机实现的方法,所述数据记录分发过程包括多个输入地址和多个输出地址,每个地址由相应的输入节点或输出节点控制,所述方法在一个所述输入节点上实现,包括:
获得与所述输出节点相关联的第一私钥的密钥份额,所述第一私钥对于任何输出节点都是未知的,所述第一私钥与第一公钥相关联;
在区块链搜索包含与所述输入节点相关联的第二公钥的第一区块链交易,所述第一区块链交易识别所述多个输入地址并且具有作为输出地址的隐藏地址;
使用从第一交易中提取的第二公钥、所述密钥份额和秘密份额合并来协作导出共享秘密;
使用所述第一公钥和所述共享秘密来确定隐藏地址,并将所确定的隐藏地址与所述第一区块链交易的输出地址进行比较,以确认两者匹配;并且
协作签署第二区块链交易,以将与所述隐藏地址相关联地汇集的数据记录分发到所述多个输出地址,其中,签署包括采用使用共享秘密和密钥份额的椭圆曲线数字签名算法
8.根据权利要求7所述的方法,其中,搜索区块链包括识别包含非交易代码的交易。
9.根据权利要求8所述的方法,其中,所述非交易代码包括OP_RETURN,并且其中,所述第二公钥在所述第一区块链交易中跟随所述OP_RETURN。
10.根据权利要求7至9中任一项所述的方法,还包括使用秘密份额合并来协作导出对应于所述第一私钥的所述第一公钥。
11.根据权利要求10所述的方法,其中,协作导出所述第一公钥包括计算包括所述密钥份额的第一拉格朗日多项式插值的项,并将该项与由其他输出节点提供的第一拉格朗日多项式的项相加。
12.根据权利要求7至9中任一项所述的方法,其中,协作导出所述共享秘密包括计算包括所述密钥份额和所述第二公钥的第二拉格朗日多项式插值的项,并将该项与来自其他输出节点的第二拉格朗日多项式的项相加。
13.根据权利要求7至12中任一项所述的方法,其中,确定所述隐藏地址包括将隐藏地址确定为所述第一公钥和具有作为对应私钥的所述共享秘密的秘密公钥的总和。
14.根据权利要求7至13中任一项所述的方法,采用椭圆曲线数字签名算法包括在阈值签名方案中使用安全逆和安全乘法,其中,对应于所述隐藏地址的私钥被协作地确定为所述第一私钥加上所述共享密钥。
15.一种使用多个参与节点中的区块链参与数据记录分发过程的计算装置,所述计算装置是一个参与节点,所述计算装置包括:
处理器;
存储器
网络接口,用于提供网络连接;
区块链应用,其包含计算机可执行指令,当由所述处理器执行时,所述指令促使所述处理器执行根据权利要求1至14中任一项所述的方法。
16.一种存储处理器可执行指令的非暂时性处理器可读介质,用于使用多个参与节点中的区块链参与数据记录分发过程,其中,当由一个参与节点中的处理器执行时,所述处理器可执行指令促使所述处理器执行根据权利要求1至14中任一项所述的方法。

说明书全文

使用链的安全数据记录分发的方法和系统

技术领域

[0001] 本发明总体上涉及区块链交易,更具体地,涉及生成和执行数据记录分发过程的方法和装置,该过程将输入与输出分离,以提高安全性。

背景技术

[0002] 在本文中,我们使用‘区块链’一词来包括所有形式的电子的、基于计算机的分布式分类账。这些包括,但不限于,区块链和交易链技术、许可和未经许可的分类帐、共享分类账及其变体。尽管也提出和开发了其他区块链实施方式,但是区块链技术最广为人知的应用是比特币分类账。虽然出于方便和说明的目的,在本文提及了比特币,但是应当注意,本发明不限于与比特币区块链一起使用,替代的区块链实现和协议落入本发明的范围内。
[0003] 区块链是基于共识的电子分类帐,该电子分类帐被实现为基于计算机的、去中心化的分发式系统,由区块构成,而区块又由交易组成。每个交易都是对区块链系统参与者之间的数字资产的控制权转移进行编码的数据结构,并且包括至少一个输入和至少一个输出。每个区块都包含前一个区块的散列,这样区块就会链接在一起,以创建自区块链创建以来写入区块链的所有交易的永久的、不可更改的记录。交易包含称为脚本的小程序,这些小程序嵌入到其输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,使用基于堆栈的脚本语言编写这些脚本。
[0004] 为了将交易写入区块链,必须对其进行“验证”。网络节点(矿工)执行工作,以确保每个交易有效,无效交易被网络拒绝。安装在节点上的软件客户端通过执行定和解锁脚本对未花费的交易(UTXO)执行验证工作。如果锁定和解锁脚本的执行结果为真,则该交易有效,并将该交易写入区块链。因此,为了将交易写入区块链,必须i)由接收交易的第一节点验证(如果验证通过),该节点将其中继给网络中的其他节点;ii)添加到由矿工建造的新区块中;并且iii)挖掘,即,添加到过去交易的公共分类账中。
[0005] 尽管区块链技术以使用加密货币实施方式而闻名,但数字企业家已经开始探索使用比特币所基于的加密安全系统和可以存储在区块链上的数据来实现新系统。如果区块链能够用于不局限于加密货币领域的自动化任务和过程,则将非常有利的。此类解决方案将能够利用区块链的优势(例如,事件的永久防篡改记录、分发式处理等),同时在其应用中更加通用。因此,本申请可以指相对于区块链记录的“数据记录”。数据记录可以包括,例如,文档、处理能或时间的度量、加密货币量、指示资产所有权的安全性或其他标志、或者可以由拥有允许该实体使用或移动该数据记录的密码材料的实体控制的其他类似事物。
[0006] 区块链技术,例如,比特币,的一个优势是匿名性和安全性。即,比特币分类账不包含参与交易的人的任何个人信息;只包含公共地址信息。然而,使用外部数据和分析,可以成功地将特定交易和地址与个人相关联。
[0007] 为了提高加密货币(例如,比特币)的匿名性和可替代性,可以使用硬币混合交易。硬币混合交易(例如,CoinJoin)汇集一组输入并将价值转移到一组输出。然而,CoinJoin仍然涉及知道另一参与者的输入-输出关系的至少一个参与者,使得其仅部分匿名,从而导致不太安全的交易和不足的加密解决方案。
[0008] 区块链中记录的潜在可追溯性揭示了可能损害某些应用的实施缺陷。示例性应用包括提交用于打分的考试或论文、提交匿名犯罪报告、提交匿名调查或人口普查报告或者其他这样的应用,其中,在提交之后数据不可改变的情况下,参与者节点组需要安全地和保密地将数据记录传输到一个或多个其他节点。
[0009] 因此,期望提供改进的方法和装置,其通过改进输入到输出的不可追踪性和不可链接性来提供增强的安全性和更稳健的加密,同时仍然产生高效和紧凑的数据记录分发过程。
[0010] 现在已经设计出这样一种改进的解决方案。

发明内容

[0011] 因此,根据本发明,提供了如所附权利要求中定义的方法和装置。
[0012] 本发明可以提供一种计算机实现的方法和相应的系统。该方法/系统可以被描述为区块链实现的方法/系统。本发明可以被描述为安全方法或加密方法/系统。可以提供数字资产或数据记录,例如,一部分或一定量的加密货币,的安全传输。另外或可选地,可以提供控制机制,用于控制数字资产,例如,一部分或一定量的加密货币,的传输。
[0013] 通过使用汇集数据记录的协作确定的隐藏地址,并且要求协作和共同输出节点参与将数据记录从汇集的隐藏地址分发到指定输出地址,可以使数据分发过程更加安全和稳健。
[0014] 另外或可选地,本申请可以描述一种使用区块链参与数据记录分发过程的计算机实现的方法,所述数据记录分发过程包括多个输入地址和多个输出地址,每个地址由相应的输入节点或输出节点控制(或拥有)。所述方法在一个输入节点上实现,包括:获得与输出节点相关联的第一公钥;获得与输入节点相关联的第二私钥的密钥份额,所述第二私钥对于任何输入节点都是未知的;通过合并秘密份额合并来协作导出对应于第二私钥的第二公钥;使用第一公钥、密钥份额和秘密份额合并来协作导出共享秘密;并且生成从多个输入地址接收数据记录并且具有隐藏地址作为输出地址的第一区块链交易,其中,所述隐藏地址是基于第一公钥和共享秘密的。
[0015] 在一些实施方式中,所述第一区块链交易包括非交易代码和所述第二公钥的副本。在某些情况下,所述非交易代码是OP_RETURN或功能等同物,并且所述第二公钥的副本在所述第一区块链交易中跟随所述OP_RETURN。
[0016] 在一些实施方式中,协作导出第二公钥包括计算包括密钥份额的第一拉格朗日多项式插值的项,并将该项与由其他输入节点提供的第一拉格朗日多项式的项相加。
[0017] 在一些实施方式中,生成所述第一区块链交易包括将所述隐藏地址确定为所述第一公钥和具有作为对应私钥的共享秘密的秘密公钥的总和。
[0018] 本申请还描述了一种使用区块链参与数据记录分发过程的计算机实现的方法,所述数据记录分发过程包括多个输入地址和多个输出地址,每个地址由相应的输入节点或输出节点控制(或拥有)。所述方法在一个输入节点上实现,包括:获得与输出节点相关联的第一私钥的密钥份额,所述第一私钥对于任何输出节点都是未知的,所述第一私钥与第一公钥相关联;在区块链搜索包含与输入节点相关联的第二公钥的第一区块链交易,所述第一区块链交易识别多个输入地址并且具有作为输出地址的隐藏地址;使用从第一交易中提取的第二公钥、密钥份额和秘密份额合并来协作导出共享秘密;使用所述第一公钥和所述共享秘密来确定隐藏地址,并将所确定的隐藏地址与所述第一区块链交易的输出地址进行比较,以确认两者匹配;并且协作签署第二区块链交易,以将与隐藏地址相关联地汇集的数据记录分发到多个输出地址,其中,签署包括采用使用共享秘密和密钥份额的椭圆曲线数字签名算法
[0019] 在一些实施方式中,搜索区块链包括识别包含非交易代码的交易。在某些情况下,非交易代码是可用于将区块链交易标记为无效的命令或指令。例如,这可以是比特币协议中已知的OP_RETURN op_code,或者是与不同区块链协议相关联的功能等同的命令。第二公钥可以跟随第一区块链交易中的OP_RETURN(即,放置在其后)。
[0020] 在一些实施方式中,该方法还可以包括使用秘密份额合并来协作导出对应于第一私钥的第一公钥。在某些情况下,协作导出第一公钥可以包括计算包括密钥份额的第一拉格朗日多项式插值的项,并将该项与由其他输出节点提供的第一拉格朗日多项式的项相加。
[0021] 在一些实施方式中,协作导出共享秘密可以包括计算包括密钥份额和第二公钥的第二拉格朗日多项式插值的项,并将该项与来自其他输出节点的第二拉格朗日多项式的项相加。
[0022] 在一些实施方式中,确定隐藏地址可以包括将隐藏地址确定为第一公钥和具有作为对应私钥的共享秘密的秘密公钥的总和。
[0023] 在一些实施方式中,采用椭圆曲线数字签名算法可以包括在阈值签名方案中使用安全逆和安全乘法,其中,对应于隐藏地址的私钥被协作地确定为第一私钥加上共享密钥。
[0024] 在一些实施方式中,数据记录分发可以称为值混合。
[0025] 本申请还描述了用于一种执行所描述的方法的计算装置,其中,计算装置包括至少一个处理器、存储器、网络接口和区块链应用,所述区块链应用包含计算机可执行指令,所述指令在被执行时促使处理器执行本文描述的一种或多种方法的所描述的操作。
[0026] 本申请还描述了一种存储处理器可执行指令的非暂时性处理器可读介质,用于使用多个参与节点中的区块链参与数据记录分发过程,其中,当由一个参与节点中的处理器执行时,所述处理器可执行指令促使所述处理器执行本文描述的一种或多种方法的操作。附图说明
[0027] 关于本发明的一个方面或实施例描述的任何特征也可以用于一个或多个其他方面/实施例。参考本文描述的实施例,本发明的这些和其他方面将变得显而易见并得以阐明。现在将仅通过示例并参考附图来描述本发明的实施例,其中:
[0028] 图1示出了节点的示例区块链网络;
[0029] 图2图解示出了数据记录分发过程的一个实施例;
[0030] 图3以流程图的形式示出了区块链交易中数据记录分发的示例过程;
[0031] 图4以流程图的形式示出了根据本申请实施例的用于作为输入节点参与数据记录分发操作的示例过程;
[0032] 图5以流程图的形式示出了根据本申请实施例的用于作为输入节点参与数据记录分发操作的示例过程;以及
[0033] 图6示出了简化的参与节点的框图

具体实施方式

[0034] 在本申请中,术语“和/或”旨在涵盖所列元件的所有可能组合和子组合,包括单独列出的任何一个元件、任何子组合或所有元件,而不一定排除额外元件。
[0035] 在本申请中,短语“…或…中的至少一个”旨在覆盖任何一个或多个列出的元件,包括单独列出的任何一个元件、任何子组合或所有元件,而不一定排除任何额外元件,也不一定需要所有元件。
[0036] 首先参考图1,图1以框图形式示出了与区块链相关联的示例区块链网络100。区块链网络是点对点(peer-to-peer)开放成员网络,任何人都可以无需邀请或无需其他成员的同意而加入该网络。运行区块链网络100运转所依据的区块链协议的实例的分发式电子装置可以参与区块链网络100。这种分发式电子装置可以称为节点102。例如,区块链协议可以是比特币协议或其他加密货币。
[0037] 运行区块链协议并形成区块链网络100的节点102的电子装置可以是各种类型的,包括例如计算机(例如,台式计算机、膝上型计算机、平板计算机)、服务器、移动装置(例如,智能手机)、可穿戴计算机(例如,智能手表)或其他电子装置。
[0038] 区块链网络100的节点102使用合适的通信技术彼此连接,该通信技术可以包括有线和无线通信技术。在许多情况下,区块链网络100至少部分通过互联网实现,并且一些单独节点102可以位于地理上分散的位置
[0039] 节点102维护区块链上所有交易的全局分类账。全局分类帐是分发式分类帐,并且每个节点102可以存储全局分类帐的完整副本或部分副本。影响全局分类账的节点102的交易由其他节点102验证,从而保持全局分类账的有效性。本领域普通技术人员将会理解实现和运转区块链网络(例如,使用比特币协议的区块链网络)的细节。
[0040] 每个交易通常有一个或多个输入和一个或多个输出。嵌入到输入和输出中的脚本指定了可以如何以及由谁访问交易的输出。交易的输出可以是作为交易结果的值传输到的地址。然后,该值与作为未花费的交易输出的该输出地址相关联。随后的交易可以引用该地址作为输入,以便花费或传播该值。
[0041] 虽然因为区块链分类账上的交易中没有包含个人信息,这些交易是伪匿名的,但可以跟踪交易链中的值传输,在某些情况下,可以使用外部数据将值与个人链接。为了提高匿名性,硬币混合交易可以用于汇集来自各种来源的输入,然后对汇集的值进行划分并分配给输出。如果所有的输入和输出都是相同的大小,就难以将特定的输入与特定的输出相关联。然而,在这样的交易中,至少一个参与节点知道由另一参与节点指定的输入地址和输出地址之间的链接。在这种硬币混合交易中,例如,比特币协议中的CoinJoin操作,使用具有多个输入和多个输出的单个交易来混合这些值。
[0042] 其他一些匿名化技术用来试图避免暴露输入和输出之间的链接,例如,环签名或隐藏地址,其效果各不相同。隐藏地址试图解除发送资金的输出地址与特定用户的链接。环签名试图通过使一组可能的签名者中的任何一个都有可能是签署/授权特定交易的那个人来使源不可追踪。不幸的是,环签名已被证明在某些协议(例如,比特币)中难以实现,因为与环签名概念兼容的签名结构与比特币的签名要求不兼容。其他一些加密货币(例如,Monero)是专为支持环签名而设计的。
[0043] 如上所述,在许多应用中(除了混合加密货币的值之外),提供一种安全的不可变文档或数据记录分发系统是有利的,在该系统中,输入节点以防止输入节点与特定输出节点处的特定文档链接的方式向输出节点提供文档。此类应用包括提交考试或论文、提交犯罪报告或提交调查或人口普查响应等。
[0044] 根据本申请,描述了一种方法和装置,该方法和装置以有效地解除输入与任何特定签名者的链接并且有效地解除输出与任何特定接收者的链接的方式促进数据记录分发,从而提供不可追踪性和不可链接性。在区块链协议结构内这样做,在提供这种安全性并且确保高效和有效地完成分发而不出现部分故障或部分分发方面,带来了重大的技术实施挑战。以下描述提供了这些技术实现挑战的解决方案的至少一个说明性实施例。
[0045] 在本文的描述中,可以使用术语“输入节点”、“输出节点”、“参与节点”、“输入地址”和“输出地址”。对节点“地址”的引用并不意味着指物理节点的网络地址。相反,“地址”是在区块链的交易中指定的具有未花费的值的地址,物理节点可以通过拥有或控制对应于交易签名的密钥来声明对该地址的所有权。在这个意义上,“输出地址”不是参与节点的地址,而是参与输出节点拥有或与之相关联的区块链交易输出地址。同样地,“输入地址”是参与输入节点拥有或与之相关联的未花费的交易输出(UXTO)的地址。
[0046] 椭圆曲线数字签名
[0047] 一些区块链技术(例如,比特币)使用椭圆曲线数字签名算法(ECDSA)作为数字签名的数学方案。ECDSA是一种加密数字签名,用于确保与UXTO相关联的值只能由其合法所有者使用。ECDSA签名所需的参数包括:
[0048] E-椭圆曲线函数
[0049] G-n阶椭圆曲线上的基点:n×G=O
[0050] n-大质数
[0051] q-子组的阶
[0052] 密钥对由随机数x生成,其中,0<x<n。数字x用作私钥,生成公钥P,记作P=x×G。
[0053] 给定消息m、随机数k和私钥x,就可以生成签名,具有对(r,s)。选择随机数k,使得0<k<q。然后,计算r=k×G,并计算s=k-1(m+xr)mod n,其中,k-1是k mod n的乘法逆:k-1k≡1 mod n。这给出了签名(r,s)。
[0054] 给定签名(r,s)、消息m和公钥q,可以验证签名。为了验证签名,计算v=s-1m×G+s-1r×y。在这个表达式中,s-1是s mod q的乘法逆,使得s-1s≡1 mod n。如果v=r,则签名有效。记住,G具有阶n,因此,当EC点乘以G时,s-1的mod n部分会消失。
[0055] 阈值签名方案
[0056] 已经开发了一种称为“阈值签名共享”的技术,能够将密钥分成多个份额,并在一组参与者之间分配这些份额。在这种技术中,只要子集的基数大于或等于指定值t,这组参与者的任何子集都可以重建秘密。如果子集的基数小于t,则不泄露关于秘密的信息。这意味着至少t个参与者必须协作使用共享秘密进行签名。参与者之间的密钥份额的分发可以使用分配密钥份额的中心交易商来完成,也可以通过无交易商的分发系统来完成。每种解决方案都有其优缺点,在选择分发方法时,需要仔细考虑正在实施的系统的要求。
[0057] 在至少一个实施例中,该技术可以包括将秘密嵌入到t次多项式中。n个参与者中的每一个分配有当时未知的多项式上的一个点,导致t+1个参与者能够使用拉格朗日多项式插值来精确地重建多项式。
[0058] 已经开发了一种称为阈值签名方案的变体,通过该方案,拥有单独密钥份额的n个参与者中的m个可以合作执行基于密码的计算,而无需将秘密密钥重建/透露给任何单独参与者,并且让2t+1个参与者生成签名。
[0059] 阈值签名方案广泛依赖于拉格朗日多项式插值。拉格朗日多项式插值告诉我们,t次函数f(x)可以用t+1个点p={(x1,f(x1)),(x2,f(x2)),...,(xt+1,f(xt+1)))重建,[0060]
[0061] 其中,拉格朗日系数
[0062] 注意:bi,p(xi)=1和bi,p(xj)=0。
[0063] 阈值签名计算的一个要素是确定x×G,其中,x是秘密密钥并且G是椭圆曲线上的一个点。给定秘密密钥x,其中,其密钥份额在n个参与者之间‘划分’:
[0064] 任意秘密x是多项式f(x)上的点f(0)
[0065] (密钥x的)的份额x1,x2,...,xn对应于f(x1),f(x2),...,f(xn)
[0066] 如果f(x)是t次多项式,则秘密x可以通过 来插值,其中,π是份额中大小为t+1子集xa,xb,...,xt,xt+1,b是拉格朗日系数,如上面结合拉格朗日多项式插值所提到的。
[0067] π是一组t+1个参与者协作计算x×G,而不透露他们相应的xi个份额。x是t次多项式上的x=0点.
[0068] ·每个参与者i计算一部分bi,πxi×G;
[0069] ·π中的所有参与者将他们的部分加在一起(经由拉格朗日插值重建秘密x),给出:
[0070] ba,πxa×G+bb,πxb×G+…+bt+1,πxt+1×G=x×G
[0071] 这个过程可以称为“秘密份额合并(Secret Share Joining)”。
[0072] 产生阈值签名的另一方面是将产生xy mod n的两个秘密密钥相乘的能力。当两个t次多项式相乘时,结果是2t次多项式。因此,2t+1个参与者必须协作输出乘积,而不透露他们的份额。因此,在这个示例中,π是一组2t+1个参与者。
[0073] 每个参与者已经具有份额xi和份额yi。注意,因为x和少是t次多项式上的x=0点,所以xy是需要2t+1个点来插值的2t次多项式上的x=0点。注意,在要确定xy的插值中,份额xi被拉格朗日系数xiyi替换,并且对于拉格朗日系数bi,p(x),集合p现在包含2t+1个成员。
[0074] ·每个参与者i计算一部分bi,πxiyimod n;
[0075] ·π中的所有参与者将他们的部分加在一起,给出:
[0076] ((ba,πxayamod n)+(bb,πxbyb mod n)+…
[0077] +(b2t+1,πx2t+1y2t+1mod n))mod n
[0078] =xy mod n
[0079] 这个过程可以称为“安全乘法(Secure Multiplication)”。
[0080] 协作产生ECDSA签名涉及协作确定k mod n的乘法逆k-1,使得k-1k≡1 mod n。回想一下,给定消息m、随机数k和私钥x,ECDSA签名对(r,s)的签名,其中,k促使0<k<q,并且q是子组的阶。注意
[0081] r=k×G
[0082] s=k-1(m+xr)mod n
[0083] 组π由2t+1个参与者组成,他们协作计算k-1 mod n中的份额,而无需透露他们的份额ki,也无需重建k。在一个说明性示例实施例中,乘法逆的协作生成可以包括以下步骤:
[0084] ·该组使用无交易商秘密分发来计算作为随机数字的份额ci;
[0085] ·每个参与者i计算一部分bi,πkicimod n;π中的所有参与者将他们的部分加在一起,给出:
[0086] ((ba,πkacamod n)+(bb,πkbcb mod n)+…+(b2t+1,πk2t+1c2t+1 mod n))mod n[0087] =kc mod n
[0088] ·所有参与者计算乘法逆
[0089] (kc mod n)-1mod n=k-1c-1mod n
[0090] ·每个参与者i计算第二部分k-1c-1×ci mod n。这是其在k-1中的份额;
[0091] ·π′是t+1个参与者组成的组,假设k-1中的份额的多项式只有t次;
[0092] ·c是关于t次多项式的秘密,需要t+1个份额重建,并且正如现在所示,计算k-1mod n,只需要重建c;
[0093] ·((k-1C-1×ba,π′camod n)+(k-1c-1×bb,π′cb mod n)+…+
[0094] (k-1c-1×bt+1,π′ct+1mod n))mod n=k-1c-1×c mod n=
[0095] k-1mod n
[0096] ·注意,秘密c永远不会泄露。
[0097] 这个过程可以称为“安全逆(Secure Inverse)”。
[0098] “安全份额合并”和“安全逆”过程可以应用于共同和协作地生成ECDSA签名,而无需重建私钥。在这个过程中,π是一组2t+1个参与者组成的组。每个参与者都有私钥x的份额xi。注意,以下过程涉及第二秘密k的使用,但是在某些实施方式中,只要不重复使用秘密x,就可以消除对第二秘密k的需要。例如,在加密货币设置中,只要阈值签名授权将账户的全部余额传输到新地址。在一个示例中,k可以设置为消息m的散列。这简化了安全ECDSA程序,并澄清了关于签署阈值的情况(是2t+1)。然而,在该说明性示例中,使用了第二秘密k:
[0099] ·该组π使用无交易商秘密分发来计算每个参与者的份额ki,该组π至少具有2t+1个参与者;
[0100] ·t个参与者的子组π′使用安全份额合并协作产生r=k×G,将该值广播给整个组;
[0101] ·该组使用安全逆计算k-1 mod n中的份额,该份额在本文中称为ki-1;
[0102] ·每个参与者i计算部分bi,πki-1(m+xir)mod n,其中,m是签署的消息(交易);
[0103] ·该组协作添加他们相应的部分,给出:
[0104] ((ba,πka-1(m+xar)mod n)+(bb,πkb-1(m+xbr)mod n)+…
[0105] +(b2t+1,πk2t+1-1(m+x2t+1r)mod n))mod n
[0106] =k-1(m+xr)mod n
[0107] ·这相当于确保k-1与m+xr(其中,x是秘密)的乘法,这需要2t+1个份额;
[0108] ·该组已成功计算签名,但未显露私钥,也个人成员也未显露其相应的私钥份额:
[0109] r=k×G
[0110] s=k-1(m+xr)mod n
[0111] 隐藏地址组阈值交换
[0112] 如上所述,本申请提出了用于从一组输入到一组输出的安全数据记录分发的方法和装置。换言之,第一组参与者(A组)均提供输入数据记录,第二组参与者(B组)均接收输出数据记录。这些方法和装置的操作使得外部方难以识别哪个输入地址将哪个数据记录传输到哪个输出地址。可以假设A组成员中没有一个也是B组成员。
[0113] 特别地,本申请提出了一种过程,其中,A组参与者使用第一交易将数据记录传输到隐藏地址,B组使用第二交易将数据记录从隐藏地址传输到输出地址。隐藏地址是由B组共同控制的地址,在该地址处,汇集输入数据记录。在所描述的过程中,这两个组所使用的私钥实际上从未被相应组的任何个人成员知道,并且在协作的基础上执行该过程。本文描述的示例性实施例模拟了一些替代硬币(altcoin)协议的不可追踪性和不可链接性特征,但是在一些基于ECDSA的区块链协议(例如,比特币)所施加的技术约束内这样做。
[0114] 现在参考图2,图2示意性地示出了数据记录分发过程200的一个实施例。多个节点是一组节点的A组成员。这些节点表示为节点1A、2A、3A、…、nA,总共有nA个节点。“节点”在本文可以称为成员或参与者或参与节点。在一些实施方式中,每个节点是钱包或其他这样的区块链实体。另一组多个节点是一组节点的B组成员,表示为1B、2B、3B、…、nB,总共nB个节点。在大多数实施方式中,可以假设nA=nB。然而,在某些情况下,A组中的至少一个节点也是B组中的节点;例如,钱包或其他这样的节点将数据记录放置在数据记录分发交易中,并且拥有相应的但解除链接的输出地址,在该输出地址中,将在交易之后出现相同的数据记录。在一些实施方式中,数据记录是大量的加密货币。
[0115] 现在结合图2参考图3。图3以流程图的形式示出了用于区块链交易中的数据记录分发的示例过程300。如操作302所示,形成A组和B组。节点可以以无交易商的方式加入广告或发布的数据记录分发交易机会。如下文将描述的,可能会发生密钥份额的无交易商分发。一些实施方式也有可能涉及更集中的交易加入和密钥份额分发架构。
[0116] A组的每个节点都有自己的公钥-私钥对,使其能够签署相应的输入并证明相应的UTXO的所有权。还共同共享公钥-私钥对P|e,尽管每个节点仅具有私钥e的相应份额ei,并且没有节点知道实际私钥e。类似地,B组节点共同具有公钥-私钥对Q|d,尽管每个节点仅具有私钥d的相应份额di,并且没有节点知道实际私钥d。B组公钥Q与A组节点共享。
[0117] 如操作304所示,使用A组私钥份额ei和秘密份额合并,nA节点的至少mA个协作确定隐藏地址Apool。隐藏地址部分基于B组公钥Q和A组私钥中的至少mA个份额。这对B组来说是未知的,也不“拥有”,因为任何特定节点都通过拥有其相应的私钥来控制隐藏地址。
[0118] 在操作306中,A组的节点形成第一交易202,每个节点贡献输入数据记录。通过指定由相应节点拥有或控制的数据记录来贡献输入数据记录。在一个涉及加密货币的示例中,数据记录是由相应节点控制的UTXO。在许多实施方式中,为了提高数据记录分发操作中的匿名性,输入数据记录在其表面上是无法区分的。例如,在加密货币的情况下,输入数据记录可以是相同数量的加密货币。第一交易202的输出是汇集在隐藏地址Apool的输出数据记录的集合。
[0119] 第一交易202中还包括A组公钥P的副本。该值可以放置在不会对交易产生负面影响的某种类型的数据字段中。数据字段可以是注释、文本或与交易无关的任何此类数据的指定字段。在某些情况下,数据字段可以由特定代码或信号来标记或指定,以指示该字段包含非交易数据。例如,在比特币协议中,OP_RETURN代码是脚本操作码,用于标记无效的交易输出。因为在处理比特币支付时,放在OP_RETURN代码之后的任何数据都会被忽略,所以可以有效地用作交易中的消息或数据存储字段。因此,在基于比特币协议的一种实施方式中,第一交易202包括输出,其具有OP_RETURN代码,后面是A组公钥P。一般而言,指示交易中包括非交易数据或信息的代码在本文可以称为“非交易代码”。
[0120] 然后,如操作308所示,A组成员签署他们相应的输入,并且第一交易202提交给区块链网络,用于验证和确认。第一交易202最终合并到一个区块中,并添加到区块链204。
[0121] 在操作310中,B组节点或其子集搜索区块链,以识别包含OP_RETURN代码(或类似的数据字段或代码,取决于所使用的区块链协议)的交易。要注意的是,B组节点不知道A组公钥P,也不知道汇集值的隐藏地址Apool。当发现包含OP_RETURN代码的每个交易时,B组节点评估它是否对应于其正在搜索的数据记录分发交易。他们通过在数学运算中测试遵循OP_RETURN代码的值来实现这一点,该数学运算进一步涉及到使用秘密份额合并的他们自己的私钥份额,以生成共享秘密,该共享秘密被A组节点用于生成Apool隐藏地址。如果数学运算(其示例如下所述)确认了与交易中的输出地址匹配的隐藏地址,则B组节点已经确定该交易是第一交易202。注意,隐藏地址的确认依赖于在秘密份额合并过程中使用私钥份额di作为评估的一部分的B组节点的协作,并且没有B组节点知道组B私钥d。
[0122] 一旦B组节点已经共同设法识别第一交易202,其也能够协作地生成地址Apool的私钥,尽管没有B组节点能够独立地生成该私钥,因为它部分基于B组私钥d。
[0123] 然后,在操作312中,B组节点加入第二交易206,其中,输入是隐藏地址Apool,输出是由B组成员指定的相应输出地址。在一些情况下,一个或多个输出可以由A组的一个或多个成员指定,作为数据记录分发过程的基础协议的一部分,并且在一些示例中,可以在单独的安全通信中指定给相应的B组成员。在操作314中,第二交易206由B组成员使用阈值签名方案签署,其中,与输入隐藏地址相关联的私钥部分基于共享的B组私钥d。如上所述,B组节点中的至少2tB+1个协作签署第二交易206,其中,tB是拉格朗日多项式插值中涉及的秘密多项式的阶。
[0124] 一旦签署第二交易206,其在操作316中提交给区块链网络进行验证和确认。汇集的数据记录被分发到相应的输出地址。
[0125] 下面提供了数据记录分发过程的更详细的实现示例。该示例基于比特币协议的使用,其中,ECDSA是签名机制。在下面的示例中,G是椭圆曲线的生成器。形成相应的组,即,A组和B组,并在参与节点之间分发其相应的密钥份额。该过程的第一阶段包括在隐藏地址汇集数据记录,并且B组成员设法识别交易并(协作地)导出隐藏地址的私钥:
[0126] ·接收组GroupB创建公钥Q=d×G,其中,d是组中各个成员未知的秘密密钥。然而,GroupB的nB个成员中的每一个都有秘密密钥d的密钥份额di,因此GroupB的mB个成员必须协作计算Q。这是使用秘密份额合并计算的。由此产生的公钥Q可供任何相关方使用,尤其是GroupA;
[0127] ·发送组GroupA还使用该组nA个成员的mA个之间的秘密份额合并来生成公钥P=e×G,其中,该组的每个成员都有密钥份额ei;
[0128] ·这两组之间的共享秘密是c=H(e×Q)=H(d×P),其中,H是加密散列函数。GroupA确定使用该组内nA个成员的mA个之间的秘密份额合并来确定e×Q,然后最终计算c=H(e×Q);
[0129] ·注意,此时,接收组GroupB不知道也无法确定秘密值c,因为GroupA公钥值P尚未传递给该组;
[0130] ·GroupA的成员创建第一交易,将其相应的数据记录发送到从表达式Q+(c×G)推导的隐藏地址Apool。换言之,隐藏地址基于共享秘密c和GroupB公钥Q。在隐藏地址的这个示例推导中,地址基于公钥Q和由(c×G)给出的秘密公钥相加,其中,共享秘密c是对应于秘密公钥的私钥;
[0131] ·交易中还包括OP_RETURN输出,其中,放置了值P;
[0132] ·接收组GroupB在区块链中搜索带有OP_RETURN代码的交易;
[0133] ·GroupB假设这些交易的每个OP_RETURN输出中包含的数据是P,并使用该值计算c=H(d×P),即共享秘密。这种计算是另一种协作秘密份额合并过程,在d×P的计算中使用mB个参与者的密钥份额di。如果该值实际上是P,则将生成正确的共享秘密c,并且GroupB可以通过评估输出是否是由Q+(c×G)给出的隐藏地址来测试;
[0134] ·如果确认了隐藏地址(即,已经确定正确的共享秘密c),则该地址Apool的私钥为d+c。注意,Q=d×G,因此,Q+(c×G)=(d×G)+(c×G)=(d+c)×G。
[0135] 在第一阶段之后,接收GroupB节点现在能够将该地址Q+(c×G)的数据记录分发到其最终输出地址,但是这也必须通过协作来完成,因为该组的各个成员不知道密钥d,并且无法签署交易。
[0136] 在交易的第二阶段,GroupB的至少2tB+1个参与者必须协作签署交易,以获得存储在隐藏地址Q+(c×G)的数据记录,其中,tB是秘密多项式的阶。
[0137] 在这个示例中,需要签署的地址的私钥是d+c,其中,c是GroupA和GroupB之间的共享秘密值,并且d促使Q=d×G。从以上对ECDSA签名的讨论中可以回想到:
[0138] r=k×G
[0139] s=k-1(m+xr)mod n
[0140] 其中,k是随机数,使得0<k<q,并且q是子组的阶。
[0141] 因此,
[0142] s=k-1(m+(d+c)r)mod n
[0143] s=k-1(m+dr+cr)mod n
[0144] 在创建和添加各个组成员的各个部分的过程中,GroupB节点使用安全逆和安全乘法进行协作,给出:
[0145] ((ba,πka-1(m+dar+cr)mod n)+(bb,πkb-1(m+db+cr)mod n)+…
[0146] +(b2t+1,πk2t+1-1(m+d2t+1r+cr)mod n))mod n
[0147] =k-1(m+dr+cr)mod n
[0148] 以这种方式协作生成签名之后,签署分发汇集的数据记录的交易并将其提交给区块链。
[0149] 应当理解,前述示例省略了本领域技术人员理解的系统的一些实现细节;例如,处理加密货币交易中的潜在‘变化’或使用区块链可能需要的交易费用
[0150] 还应当理解,密钥份额的分发可以以无交易商的方式或经由中央机构来完成。在任何这样实施方式中,利益相关者可以评估每种方法的缺点和优点,并决定哪种方法最能满足或平衡安全性、可靠性和效率需求。
[0151] 现在参考图4,其以流程图的形式示出了根据本申请实施例的用于作为输入节点参与数据记录分发操作的示例过程400。这个示例中的输入节点是A组一组节点中的参与节点,该组节点将输入数据记录贡献给分发操作。过程400从操作402开始,输入节点加入数据记录分发过程。本文没有详细描述加入过程,并且可以以分散的方式或者通过中央机构来实现,该中央机构可能基于确保相等的输入值和/或输出值(在货币混合的情况下)、公共数据记录类型和/或每个组中足够的数量来聚集合适的输入节点组和输出节点组。
[0152] 在操作404中,输入节点接收与B组输出节点相关联的第一公钥Q。在操作406中,输入节点接收与A组输入节点相关联的第二私钥e的密钥份额ei。在一些实施方式中,操作404和406可以不同的顺序或同时发生。应当理解,第二私钥e具有相应的公钥P。在操作408中,输入节点与A组中的其他输入节点协作,以使用秘密份额合并来导出第二公钥P。这种协作涉及A组中nA个节点的至少mA个。注意,A组输入节点中的任何节点都不知道完整的第二私钥e,因为每个节点只有其相应的密钥份额ei。
[0153] 在至少一个实施方式中,第二公钥P可以由单个节点计算,而不是依赖于秘密份额合并和密钥份额ei,因为在交易中将没有值存储在P处;然而,这意味着单个节点将具有私钥e。如果第二公钥P用作位置或用于导出位置,用于在某些情况下存储数据记录或值(例如,退款或变更等),这可能是重要的。因此,在确定第二公钥P时,优选采用秘密份额合并和密钥份额。
[0154] 如上所述,基于共享秘密c,确定存储数据记录的隐藏地址,共享秘密c可以由在其组内协作运行的A组和B组节点确定。在这个示例中,共享秘密由c=H(e×Q)=H(d×P)给出,以允许这两组独立确定。
[0155] 在操作410中,输入节点协作使用安全份额合并来确定共享秘密c。如上所述,这涉及输入节点在拉格朗日多项式插值中计算其项,即,bi,πei×Q。将这些项求和并散列,以找到共享秘密c。在一些实施方式中,A组参与节点中的一个可以充当‘主’节点,用于累积这些项、对其求和并散列总和,以找到共享秘密c。在一些其他实施方式中,两个或更多个或全部B组的节点可以进行相同的计算来找到共享秘密c。可以理解,B组的节点还不知道共享秘密c,因为其不具有A组公钥P。A组除了通过交易之外,不共享其公钥P,如下所述。
[0156] 在操作412中,输入节点通过贡献其输入数据记录(例如,由存储值的UTXO指定)来参与加入或生成第一交易。第一交易将所有输入数据记录汇集在隐藏地址Apool,从B组输出节点的共享秘密c和公钥Q中导出该地址。在一个特定的示例中,Apool=Q+(c×G),尽管可以使用其他表达式来从第二公钥Q和共享秘密c导出隐藏地址。在该表达式中,项(c×G)是具有共享秘密c作为其私钥的秘密公钥。
[0157] 第一交易包括第二公钥。在一些实施方式中,第二公钥插入到非交易数据字段中,因此它不影响交易,但是一旦它存在于区块链上,在确认的交易中是公共可读的。在一些实施方式中,使用非交易代码(例如,比特币协议中的OP_RETURN)来对非交易数据字段传信号。
[0158] 随后提交第一交易,用于由区块链网络验证和确认,其中,第一交易最终包含到区块链的区块中。
[0159] 现在将参考图5,图5以流程图的形式示出了根据本申请实施例的用于作为输出节点参与数据记录分发过程的示例过程500。过程500包括输出节点首先加入数据记录分发过程,如操作502所示。如前所述,根据具体的实施方式,加入可以涉及分散的加入过程或者聚集合适组的更集中的管理过程。
[0160] 在操作504中,输出节点获得与输出节点相关联的第一私钥di的密钥份额。任何输出节点都不知道完整的私钥d。私钥d有一个对应的公钥Q,该公钥最初对于输出节点也是未知的。然而,如操作505所示,输出节点使用其第一私钥的密钥份额di和安全份额合并来协同确定第一公钥Q。因此,公钥Q对于输出节点和B组的一组输出节点的其他节点是已知的。传播公钥Q或使其可用,使得对A组的一组输入节点可用,因为其将在生成共享秘密c时使用第一公钥Q。
[0161] 在操作506中,输出节点搜索区块链,以识别第一交易。该搜索可以基于识别包含表示存在非交易数据的特定信号或代码的交易,非交易数据可能是第二公钥P。在一个实施方式中,检测到的信号是非交易性代码,例如,比特币协议中的OP_RETURN,其指示代码之后的数据是非交易性的。
[0162] 应当理解,操作506的搜索可以由B组中的一个、一些或所有输出节点来执行。在一些实施方式中,在中央组织的数据记录分发过程的情况下,可以由不属于B组的中央服务器或节点来执行;即,组织者节点可以代表B组节点进行搜索,并且可以向其提供合格的交易,正如B组节点发现这些交易用于随后的测试一样,如下所述。
[0163] 在操作508中,输出节点参与尝试使用在第一交易和秘密份额合并中找到的第二公钥P来协作导出共享秘密c。如上所述,这个示例中的共享秘密表示为c=H(e×Q)=H(d×P)。B组的输出节点假设从所识别的交易中提取的数据是第二公钥P,并在此基础上从H(d×P)协作计算其假定的是c。这包括输出节点在拉格朗日多项式插值中计算其相应的项,即,bi,πdi×P。对这些项求和并散列,以发现其假定的共享秘密c,如果提取的数据实际上是第二公钥P,则将会是共享秘密c。为了对这些项求和并将其散列,以找到共享秘密c的目的,一个节点可以充当‘主’节点。在一些实施方式中,每个节点可以进行相同的计算,使得A组中的所有节点计算共享秘密c。
[0164] 假设输出节点已经从所识别的交易中正确计算出共享秘密,然后通过查看其是否可以使用该共享秘密来确定与所识别的交易中指定的输出地址相匹配的隐藏地址,来测试该共享秘密。在操作510中,输出节点使用B组第一公钥Q和计算的共享秘密c来参与验证隐藏地址Apool。回想一下由Q+(c×G)给出隐藏地址。同样,在一些实施方式中,一个B组节点可以执行该验证测试。在一些其他实施方式中,两个或更多个或全部B组节点可以执行相同的验证测试,以验证其已经识别出正确的交易。如果计算出的Apool与交易中的输出地址匹配,则输出节点已经验证了其具有正确的交易并正确提取了第二公钥P。此外,输出节点(共同地)现在能够生成对应于Apool的私钥(d+c),这将使其能够从Apool分发数据记录。
[0165] 在操作512中,输出节点与至少2tB个其他输出节点协作参与签署第二区块链交易,该交易将数据记录从Apool分发到相应的输出地址。为了签署第二区块链交易,输出节点必须基于私钥d+c生成签名。没有一个输出节点具有完整的第一私钥d,因此输出节点在阈值签名方案中协作,以生成正确的签名。在一些实施方式中,与比特币协议一样,这涉及使用共享秘密c和密钥份额di的椭圆曲线数字签名算法,并且依赖于使用安全逆和安全乘法。特别地,在这个示例中,输出节点通过确定拉格朗日多项式插值的相应项来协作。在这个示例中,由输出节点计算的项可以表示为(bi,πki-1(m+di+cr)mod n),其中,k是小于子组的阶的随机数,m是签署的消息(通常是交易的截断散列),n是大质数,b是拉格朗日多项式插值中的拉格朗日系数,di是第一私钥的密钥份额,c是共享秘密,r是k×G。
[0166] 一旦签署交易,将提交该交易,用于验证和确认,并最终包括在区块链的区块中。
[0167] 应当理解,在一些实施方式中,在上述示例性实施例中的一些描述的操作可以同时发生或者以不同的顺序发生,而不会对过程产生实质性影响。本申请包括这些变化和修改
[0168] 现在将参考图6,其以框图形式示出了参与节点600的简化示例。节点600可以是输入节点或输出节点。节点600包括处理器602,处理器602可以包括一个或多个微处理器、专用集成芯片(ASIC)、微控制器或类似的计算机处理装置。节点600还包括存储器604和网络接口606。存储器604可以包括持久和非持久存储器,用于存储值、变量,并且在某些情况下,存储处理器可执行程序指令。网络接口606用于通过有线或无线网络提供网络连接。
[0169] 节点600包括包含处理器可执行指令的处理器的可执行区块链应用608,当执行处理器可执行指令时,促使处理器602执行本文描述的一个或多个功能或操作。
[0170] 应当理解,可以使用标准计算机编程技术和语言来实现本文描述的装置和过程以及实现所描述的用于配置视频特征提取器的方法/过程的任何模块、例程、过程、线程、应用或其他软件组件。本申请不限于特定处理器、计算机语言、计算机编程惯例、数据结构、其他这样的实现细节。
[0171] 应当注意,上述实施例说明而不是限制本发明,并且本领域技术人员将能够在不脱离由所附权利要求限定的本发明的范围的情况下设计许多替代实施例。在权利要求中,括号中的任何附图标记不应被解释为对权利要求的限制。词语“包括(comprising)”和“包括(comprises)”等不排除任何权利要求或说明书整体中列出的元件或步骤之外的元件或步骤的存在。在本说明书中,“包括(comprises)”是指“包括(includes)或者由……组成(consists of)”,而“包括(comprising)”是指“包括(including)或者由……组成(consisting of)”。元件的单数引用不排除这些元件的复数引用,反之亦然。本发明可以通过包括几个不同元件的硬件以及通过适当编程的计算机来实现。在列举了几个装置的设备权利要求中,这些装置中的几个可以由同一个硬件来实现。在相互不同的从属权利要求中引用某些措施这一事实并不表示这些措施的组合不能有利地使用。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈