首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块头 / 工作量证明协同工作方法、区块链节点及区块链系统

工作量证明协同工作方法、节点及区块链系统

阅读:988发布:2020-05-15

专利汇可以提供工作量证明协同工作方法、节点及区块链系统专利检索,专利查询,专利分析的服务。并且本 发明 涉及 区 块 链 技术领域,特别是涉及一种 工作量证明 协同工作方法、区块链 节点 及区块链系统。其中,该方法应用于区块链节点,其包括:将随机数的搜索空间切分成若干个搜索子空间;获取搜索子空间的待验证哈希值与预设目标哈希值;根据待验证哈希值与预设目标哈希值,协同共识验证区块。由于将随机数的搜索空间切分成若干个搜索子空间,任意两个搜索子空间存在哈希碰撞的概率比较低,因此,各个区块链节点进行工作量计算时,出现计算冲突的概率很低,进而提高工作效率,减少共识验证时电 力 等资源的消耗。,下面是工作量证明协同工作方法、节点及区块链系统专利的具体信息内容。

1.一种工作量证明协同工作方法,应用于节点,其特征在于,所述方法包括:
将随机数的搜索空间切分成若干个搜索子空间;
获取所述搜索子空间的待验证哈希值与预设目标哈希值;
根据所述待验证哈希值与预设目标哈希值,协同共识验证区块。
2.根据权利要求1所述的方法,其特征在于,所述获取所述搜索子空间的待验证哈希值,包括:
获取区块链节点的标识信息、区块头信息及随机数,其中,任意两个所述区块链节点的标识信息之间皆不同;
生成包含所述标识信息的额外信息;
将所述额外信息、所述区块头信息及所述随机数作哈希运算,以计算出所述搜索子空间的待验证哈希值。
3.根据权利要求2所述的方法,其特征在于,所述区块头信息包括可构成默克尔树的创币交易信息及若干个用户交易信息,所述额外信息为新交易信息;
所述生成包含所述标识信息的额外信息,包括:
将所述区块链节点的标识信息与所述创币交易信息拼接成所述新交易信息。
4.根据权利要求3所述的方法,其特征在于,所述将所述额外信息、所述区块头信息及所述随机数作哈希运算,以计算出所述搜索子空间的待验证哈希值,包括:
在拼接出所述新交易信息后,根据所述区块头中交易信息的默克尔路径,计算出默克尔根哈希值;
将所述默克尔根哈希值与所述随机数作哈希运算,以计算出所述搜索子空间的待验证哈希值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待验证哈希值与预设目标哈希值,协同共识验证区块,包括:
判断所述待验证哈希值是否满足所述预设目标哈希值;
若满足,上传所述待验证哈希值对应的随机数;
若未满足,重新共识验证区块。
6.根据权利要求5所述的方法,其特征在于,所述重新共识验证区块,包括:
更新所述搜索子空间的待验证哈希值。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
统计共识验证的计算时间;
根据所述共识验证的计算时间与预设时间阈值,更新所述搜索子空间的待验证哈希值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述共识验证的计算时间与预设时间阈值,更新所述搜索子空间的待验证哈希值,包括:
判断所述共识验证的计算时间是否超过预设时间阈值;
若超过,更新所述搜索子空间的待验证哈希值;
若未超过,保留所述搜索子空间的待验证哈希值。
9.一种区块链节点,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行如权利要求1至8任一项所述的工作量证明协同工作方法。
10.一种区块链系统,其特征在于,包括若干个如权利要求9所述的区块链节点,每两个所述区块链之间支持点对点通讯。

说明书全文

工作量证明协同工作方法、节点及区块链系统

技术领域

[0001] 本发明涉及区块链技术领域,特别是涉及一种工作量证明协同工作方法、区块链节点及区块链系统。

背景技术

[0002] 区块链技术集合演算法、数学、密码学与经济模型等技术,基于点对点网路关系,建立信任机制,成为一个不需基于彼此信任基础、也不需依赖单一中心化机构便能够运作的分散式系统。
[0003] 现有区块链技术支持多种共识验证算法共识验证区块,其中,共识验证算法包括工作量证明算法((Proof of Work,POW)。各个矿工节点独立进行工作量证明计算,以共识验证区块。
[0004] 发明人在实现本发明的过程中,发现传统技术至少存在以下问题:矿工节点根据传统工作量证明算法共识验证区块时,矿工节点之间容易计算出相同的待验证哈希值,存在较高概率的无效重复工作,导致工作量完成时间较长,从而耗费大量电等资源。

发明内容

[0005] 本发明实施例一个目的旨在提供一种工作量证明协同工作方法、区块链节点及区块链系统,其相对地能够节约电力等资源。
[0006] 为解决上述技术问题,本发明实施例提供以下技术方案:
[0007] 在第一方面,本发明实施例提供一种工作量证明协同工作方法,应用于区块链节点,所述方法包括:
[0008] 将随机数的搜索空间切分成若干个搜索子空间;
[0009] 获取所述搜索子空间的待验证哈希值与预设目标哈希值;
[0010] 根据所述待验证哈希值与预设目标哈希值,协同共识验证区块。
[0011] 可选地,所述获取所述搜索子空间的待验证哈希值,包括:
[0012] 获取区块链节点的标识信息、区块头信息及随机数,其中,任意两个所述区块链节点的标识信息之间皆不同;
[0013] 生成包含所述标识信息的额外信息;
[0014] 将所述额外信息、所述区块头信息及所述随机数作哈希运算,以计算出所述搜索子空间的待验证哈希值。
[0015] 可选地,所述区块头信息包括可构成默克尔树的创币交易信息及若干个用户交易信息,所述额外信息为新交易信息;
[0016] 所述生成包含所述标识信息的额外信息,包括:
[0017] 将所述区块链节点的标识信息与所述创币交易信息拼接成所述新交易信息。
[0018] 可选地,所述将所述额外信息、所述区块头信息及所述随机数作哈希运算,以计算出所述搜索子空间的待验证哈希值,包括:
[0019] 在拼接出所述新交易信息后,根据所述区块头中交易信息的默克尔路径,计算出默克尔根哈希值;
[0020] 将所述默克尔根哈希值与所述随机数作哈希运算,以计算出所述搜索子空间的待验证哈希值。
[0021] 可选地,所述根据所述待验证哈希值与预设目标哈希值,协同共识验证区块,包括:
[0022] 判断所述待验证哈希值是否满足所述预设目标哈希值;
[0023] 若满足,上传所述待验证哈希值对应的随机数;
[0024] 若未满足,重新共识验证区块。
[0025] 可选地,所述重新共识验证区块,包括:
[0026] 更新所述搜索子空间的待验证哈希值。
[0027] 可选地,所述方法还包括:
[0028] 统计共识验证的计算时间;
[0029] 根据所述共识验证的计算时间与预设时间阈值,更新所述搜索子空间的待验证哈希值。
[0030] 可选地,所述根据所述共识验证的计算时间与预设时间阈值,更新所述搜索子空间的待验证哈希值,包括:
[0031] 判断所述共识验证的计算时间是否超过预设时间阈值;
[0032] 若超过,更新所述搜索子空间的待验证哈希值;
[0033] 若未超过,保留所述搜索子空间的待验证哈希值。
[0034] 在第二方面,本发明实施例提供一种区块链节点,包括:
[0035] 至少一个处理器;以及
[0036] 与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够用于执行任一项所述的工作量证明协同工作方法。
[0037] 在第三方面,本发明实施例提供一种区块链系统,包括若干个所述的区块链节点,每两个所述区块链之间支持点对点通讯。
[0038] 在第四方面,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使区块链节点执行如上任一项所述的工作量证明协同工作方法。
[0039] 在第五方面,本发明实施例提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被区块链节点执行时,使所述区块链节点执行任一项所述的工作量证明协同工作方法。
[0040] 在本发明各个实施例提供的工作量证明协同工作方法、区块链节点及区块链系统中,首先,将随机数的搜索空间切分成若干个搜索子空间。其次,获取搜索子空间的待验证哈希值与预设目标哈希值。再次,根据待验证哈希值与预设目标哈希值,协同共识验证区块。由于将随机数的搜索空间切分成若干个搜索子空间,任意两个搜索子空间的待验证哈希值之间存在哈希碰撞的概率比较低,因此,各个区块链节点进行工作量计算时,出现计算冲突的概率很低,进而提高工作效率,减少共识验证时电力等资源的消耗。附图说明
[0041] 一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
[0042] 图1是传统虚拟加密货币系统的架构示意图;
[0043] 图2是本发明实施例提供一种区块链系统的架构示意图;
[0044] 图3是本发明实施例提供一种工作量证明协同工作方法的流程示意图;
[0045] 图3a是图3中S33的流程示意图;
[0046] 图3b是本发明另一实施例提供一种工作量证明协同工作方法的流程示意图;
[0047] 图3c是图3b中S35的流程示意图;
[0048] 图3d是图3中S32的流程示意图;
[0049] 图3e是图3d中S323的流程示意图;
[0050] 图4a是本发明实施例采用工作量证明协同工作方法与未采用工作量证明协同工作方法在计算满足预设条件的待验证哈希值的示意图;
[0051] 图4b是本发明实施例采用工作量证明协同工作方法与未采用工作量证明协同工作方法在在计算满足预设条件的待验证哈希值的箱型图;
[0052] 图5是现有PBFT算法的工作流程示意图;
[0053] 图6是本发明实施例提供一种共识验证方法的流程示意图;
[0054] 图7是本发明另一实施例提供一种共识验证方法的流程示意图;
[0055] 图8是本发明实施例提供一种区块链节点的结构示意图。

具体实施方式

[0056] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0057] 区块链系统具有去中心化特点,其不同于传统中心化服务器,由于区块链系统没有中心化节点,其需要共识机制维持正常运作,例如,共识机制包括POW算法,基于POW算法,区块链系统能够实现区块的共识验证。
[0058] POW算法是一种应对拒绝服务攻击和其他服务滥用的一种策略,一个工作量证明是指满足特定条件的一个数据计算,其产生正确结果比较困难,但是验证正确结果比较简单。正确结果的产生只能通过不断的枚举随机数来进行验证试错,从而最终找到正确答案。其中,该验证试错是采用哈希(hash)算法来实现。哈希算法是一种单向散列算法,计算出哈希值的过程比较简单,但是要获得符合要求的哈希值,则只能通过枚举试错来进行。
[0059] 在一些虚拟加密货币系统中,在进行随机散列运算时,POW算法引入了对某一个特定值的扫描工作,比方说,在SHA-256下,随机散列值以一个或多个0开始,随着0的数量逐步增加,遍历出与此情况下的随机散列值对应的解所需要的工作量将呈指数增长,而对结果进行检验则仅需要一次随机散列运算。
[0060] 一些虚拟加密货币系统的区块中增补了一个随机数(Nonce),该随机数需要满足使得给定区块的哈希值出现所需的规定数量个0的条件。由于哈希运算的不可逆特性,只能通过反复尝试以遍历出满足条件的随机数。
[0061] 只要区块链节点遍历出满足条件的随机数,该区块链节点就完成了工作量的证明,从而获得了区块的打包记账权。
[0062] 下面,本发明实施例详细阐述传统虚拟加密货币系统的共识验证流程。如下所述:
[0063] 1、区块链节点收集并选择交易信息,并计算交易列表的默克尔(Merkle)根哈希值。
[0064] 2、区块链节点构造区块头,其中,区块头包括版本、上一区块头的哈希值、默克尔根哈希值、时间戳(timestamp)、难度值(difficulty)及随机数。
[0065] 3、区块链节点计算构造的区块头哈希值,检查区块头哈希值是否小于或等于目标值。若是,则完成工作量证明,将打包的区块广播全网,区块链中的其它区块链节点将会检测该区块的合法性。若否,则返回第2步,继续进行工作量计算。
[0066] 执行上述流程的区块链节点亦可以称为矿工节点。
[0067] 首先,由于全网中的每个区块链节点需要通过工作量证明以获取区块的打包记账权,因此使用POW共识机制时,每个矿工节点都需要不断地生成随机数以试错检验,以此遍历出合适的随机数,该过程需要大量的电力支撑,从而造成大量的能源浪费。
[0068] 其次,由于各个矿工节点之间独立进行工作量证明计算,其工作空间存在较大的重复,从而导致在难度值相同的情况下,矿工节点完成工作量所需的时间长,出块效率低下。
[0069] 实际上,随着虚拟加密货币系统中的加密货币价格的攀升,人们通过改进挖矿设备,以实现更高效率的出块,例如,从使用CPU(Central Processing Unit,中央处理器)挖矿到使用GPU(Graphics Processing Unit,图形处理器)挖矿,再到FPGA(Field Programmable Gate Array,现场可编程逻辑阵列)挖矿,最后出现的定制化的ASIC(Application Specific Integrated Circuit,专用集成电路)挖矿。
[0070] 请参阅表1,表1是传统技术提供的挖矿算力的示意表。
[0071] 表1
[0072]年份 年初算力 年末算力 增长
2009 0.5MH/s 8MH/s 16倍
2010 8MH/s 116GH/s 14500倍
2011 116GH/s 9TH/s 78倍
2012 9TH/s 23TH/s 2.5倍
2013 23TH/s 10PH/s 450倍
2014 10PH/s 300PH/s 30倍
2015 300PH/s 800PH/s 2.66倍
2016 800PH/s 2.5EH/s 3.12倍
2017 2.5EH/s 13.8EH/s 5.5倍
2018 13.8EH/s 24.8EH/s  
[0073] 由表1可知,挖矿算力每年是呈指数级增长的,由于一些虚拟加密货币系统会根据算力动态调整挖矿难度值,因此,随着算力增长,其难度值也以指数级增长。此类增长使得独立矿工挖矿已无法获得收益,因此便有了矿池的出现。矿池通过一定的协议将矿工节点结合在一起,集中算力进行工作量计算,获取奖励后将奖励分给矿池中工作的矿工。
[0074] 矿池存在矿池管理员,矿池管理员负责协调管理所有矿工工作。因此,矿池管理员需要自定义相关协议,与矿工进行通信。与此同时,矿工管理员负责打包交易,为矿工分配相关工作量,因此,系统相关的奖励也会全部发送给矿池管理员,而矿池管理员来负责为矿工发送相关工作量奖励。由于矿池汇集了大量算力,其相对于独立矿工来讲,也更容易完成工作量证明而获取系统奖励,这使得矿工的收益会变得相对比较稳定,而矿池管理员可以获得其一定的矿池管理回报。
[0075] 下面,本发明实施例结合图1详细阐述传统虚拟加密货币系统的共识验证流程。如下所述:
[0076] 1、矿工客户端11向管理服务器12发送共识指令,其中,共识指令包含矿工客户端11的身份信息、操作信息及相关参数信息,参数信息指定矿工客户端的软件名称和版本号。
[0077] 2、管理服务器12收到此信息后,会对信息进行确认,确认成功后,返回相关信息。
[0078] 3、矿工客户端11发送认证信息,认证信息包含矿工客户端11的钱包地址。
[0079] 4、管理服务器12验证认证信息的合法性,验证通过后,管理服务器12返回验证通过信息。
[0080] 5、管理服务器12发送难度设置信息给矿工客户端11。
[0081] 6、管理服务器12通过发送要进行工作量证明的区块信息给矿工客户端11。
[0082] 7、矿工客户端11共识验证区块,当矿工客户端11遍历出满足条件的随机数时,将该随机数发送给管理服务器12。
[0083] 8、管理服务器12验证矿工客户端11提供的随机数,并将验证结果发送给矿工客户端11。
[0084] 如前所述,在线下形成的矿池中,所有奖励都分配给矿池管理者,为其工作的矿工奖励由矿池管理者分配,因此矿池管理者拥有绝对的权利。并且,线下矿池的形成,需要定义相关通信协议和机制,比较繁琐。
[0085] 基于此,本发明实施例提供一种区块链系统。请参阅图2,区块链系统200包括普通节点21、分片服务器22、矿工节点23及校验服务器24,普通节点21、分片服务器22、矿工节点23及校验服务器24任意两个节点之间支持点对点通讯(Point to point communication,P2P),并且,普通节点21、分片服务器22、矿工节点23及校验服务器24皆可以作为区块链系统中的区块链节点,各自在区块链系统中承担不同的责任,共同维护区块链系统的工作、稳定及安全。
[0086] 普通节点21持有流通的电子货币,在区块链系统中拥有投票选举的权利。普通节点21可以进行相关交易操作,但是没有区块的打包记账权。普通节点21只能从拥有打包记账权的相关节点处同步记录区块数据。
[0087] 分片服务器22负责打包交易数据,向矿工节点23发送相关交易数据。例如,分片服务器22监听P2P网络并打包交易,但是,分片服务器22不会构造整个交易的默克尔(Merkle)树。首先,分片服务器22计算各个交易信息的默克尔路径。其次,分片服务器22将如下数据发送给矿工节点23:前一个区块头的哈希值、挖矿的难度值、交易信息的默克尔路径及交易信息的交易输出(transaction-out)部分。在本实施例中,除上述四部分数据外,分片服务器22不会发送其它信息给矿工节点23。可以理解的是,在一些实施例中,分片服务器22还可以向矿工节点23发送除了上述四部分数据的其它数据给矿工节点24,本领域技术人员可以根据业务需求自行配置发送逻辑,在此不赘述。
[0088] 在一些实施例中,分片服务器22还将要计算的哈希难题分配给矿工节点23进行相关计算,例如,分片服务器22将工作量证明的全部搜索空间划分成多个搜索子空间,各个搜索子空间之间不会出现重复的待验证哈希值,分片服务器22将各个搜索子空间分配给对应的矿工节点23。
[0089] 矿工节点23主要解决分片服务器22分配的哈希难题,例如,矿工节点23将会在分配的搜索子空间上计算哈希难题,亦即,矿工节点23根据POW算法,计算某个随机数对应的待验证哈希值,以寻求完成工作量证明。在计算过程中,矿工节点23需要定时监听分片服务器22的消息通知,以防分片服务器22更新工作量的搜索子空间或者重新分配任务。一旦矿工节点23完成工作量证明,矿工节点23将会将满足条件的区块提交给分片服务器22。分片服务器22接收到矿工节点23提交的区块后,将区块提交给校验服务器24,并等待验证结果。
[0090] 校验服务器24对分片服务器22提交的区块做共识验证,选定拥有区块打包记账权的校验服务器,并将验证通过的区块记录到区块链上。
[0091] 由于任意两个搜索子空间的待验证哈希值之间的哈希碰撞概率比较低,因此,各个区块链节点进行工作量计算时,出现计算冲突的概率很低,进而提高工作效率,减少共识验证时电力等资源的消耗。
[0092] 可以理解的是,上述普通节点21、分片服务器22、矿工节点23及校验服务器24可以是一个物理服务器或者多个物理服务器虚拟而成的一个逻辑服务器。服务器也可以是多个可互联通信的服务器组成的服务器群,且各个功能模块可分别分布在服务器群中的各个服务器上。
[0093] 可以理解的是,上述普通节点21、分片服务器22、矿工节点23及校验服务器24所负责的区块链工作并非是固定的,上述实施例只是展示区块链系统200中一些应用场景,其还可以存在其它应用场景,例如,普通节点21可以作为矿工节点的挖矿工作,分片服务器22可以校验区块,矿工节点23可以将随机数的搜索空间切分成若干个搜索子空间,校验服务器24可以持有电子货币并完成交易。
[0094] 请参阅图3,图3是本发明实施例提供一种工作量证明协同工作方法。如图3所示,工作量证明协同工作方法300包括:
[0095] S31、将随机数的搜索空间切分成若干个搜索子空间;
[0096] 在POW共识机制中,每个区块需要经过矿工节点计算哈希难题而生成,亦即,矿工节点23采用POW算法对区块作出工作量证明,以共识验证区块。于是,分片服务器22或矿工节点23将随机数的搜索空间切分成若干个搜索子空间。在本实施例中,搜索空间为根据POW算法,全部随机数对应的待验证哈希值的集合,亦即,为了遍历出满足预设条件的目标随机数,其需要根据POW算法逐一校验由每个随机数生成的待验证哈希值,每个待验证哈希值在理论上都存在满足预设条件的可能性,于是,将在理论上都存在满足预设条件的可能性的待验证哈希值集合而构成搜索空间,搜索空间每个待验证哈希值皆对应着唯一随机数,并且,搜索空间至少存在一个满足预设条件的待验证哈希值。举例而言,POW算法支持输出256位哈希值,于是,搜索空间可存在2256个待验证哈希值,待验证哈希值的取值范围为[0,2256-1]。
[0097] 搜索子空间为从搜索空间的全部待验证哈希值中切分出部分待验证哈希值的集合。举例而言,承接上述例子,搜索子空间的待验证哈希值的取值范围为[0,218-1]。
[0098] 在一些实施例中,可以理解的是,搜索子空间可以不是预先以区间的形式界定与规划好的,其可以呈现如下表现形式:在共识验证过程中,全部矿工节点23根据随机数作哈希运算以计算出满足预设条件的待验证哈希值时,任意两个矿工节点23计算出的待验证哈希值并不出现碰撞,于是,每个矿工节点集合计算出的全部待验证哈希值而构成属于自己的搜索子空间。举例而言,分片服务器22向矿工节点A发送数据A1+X,向矿工节点B发送数据B1+X,向矿工节点C发送数据C1+X……,以此类推。其中,数据A1、B1及C1都不同,可以理解的是,每个矿工节点的数据N1都不同。数据X为区块信息,每个矿工节点都需要对数据X进行打包记账。共识验证区块时,假设矿工节点A、矿工节点B及矿工节点C都选择随机数Y1生成待验证哈希值,具体为:对应矿工节点A,其选择A1+X+Y1生成待验证哈希值H1;对应矿工节点B,其选择B1+X+Y1生成待验证哈希值H2;对应矿工节点C,其选择C1+X+Y1生成待验证哈希值H3。由于A1、B1及C1都不同,因此,H1、H2及H3都不同。
[0099] 于是,对于矿工节点A对应的搜素子空间可以为“由A1+X+Y1生成的待验证哈希值”、“由A1+X+Y2生成的待验证哈希值”、“由A1+X+Y3生成的待验证哈希值”……以此类推的若干个待验证哈希值构成。同理可得,对于矿工节点B或C对应的搜素子空间可以以此类推。
[0100] S32、获取搜索子空间的待验证哈希值与预设目标哈希值;
[0101] 预设目标哈希值为满足预设条件的哈希值,其中,预设目标哈希值可以为1个,亦可以为两个以上。举例而言,预设条件为256位的哈希值中最前面高位需要出现10个0,例如,满足预设条件的256位哈希值为“0000,0000,00abef……fad”,未满足预设条件的256位哈希值为“0011,0000,00abef……fad”。
[0102] S33、根据待验证哈希值与预设目标哈希值,协同共识验证区块。
[0103] 矿工节点23根据待验证哈希值与预设目标哈希值,可以采用多种预设逻辑共识验证区块。例如,在一些实施例中,请参阅图3a,S33包括:
[0104] S331、判断待验证哈希值是否满足预设目标哈希值;
[0105] S332、若满足,上传待验证哈希值对应的随机数;
[0106] S333、若未满足,重新共识验证区块。
[0107] 当矿工节点23检测到待验证哈希值满足预设目标哈希值,例如,待验证哈希值的最前方10个高位都是0,亦即满足预设目标哈希值。于是,矿工节点23将满足条件的待验证哈希值对应的随机数上传至分片服务器22,分片服务器22便打包区块,分片服务器22再将该区块广播给校验服务器24,校验服务器24校验通过后,向分片服务器22发送校验成功信息,于是分片服务器22向各个矿工节点23广播已共识验证该区块,各个矿工节点23便记录该区块。
[0108] 当矿工节点23检测到待验证哈希值未满足预设目标哈希值,矿工节点23重新共识验证区块。重新共识验证区块的方式存在多种方式,例如,矿工节点23重新从搜索子空间获取待验证哈希值,再次与预设目标哈希值进行比对。再例如,当矿工节点23遍历完搜索子空间而未能够遍历出满足预设目标哈希值的待验证哈希值,于是,矿工节点23可以更新搜索子空间的待验证哈希值,因此,矿工节点继续在更新后的搜索子空间继续选择待验证哈希值作比对工作。
[0109] 当各个矿工节点23计算出各不相同的待验证哈希值,并将待验证哈希值与预设目标哈希值进行比较时,其意味着各个矿工节点23能够协同工作,以共识验证区块链系统中的每个区块。
[0110] 综上,本发明实施例通过将工作证明中的各个工作量进行分片,亦即,在计算每一个区块的哈希难题过程中,将随机数的搜索空间切分,分别分配给不同的矿工节点23,而不是让每个矿工节点23都单独地在同一搜索子空间内寻找满足条件的随机数。通过分片工作量,将各个工作量切分并下发给各个矿工节点,因此,每个矿工节点23只需要在各自搜索子空间内进行随机数查找即可,从而保证所有矿工节点23作重复工作的概率很小。
[0111] 因此,分片后的挖矿过程相对地减少了获取满足预设条件的随机数所需要的时间,也减少了全网挖矿过程中的总计算量。因此,通过此方法,在保证区块链系统去中心化和一致性的同时,增强区块链系统的可扩展性。在此阶段中,分片服务器22负责将工作量切分下发给矿工节点23,矿工节点23只需要负责解决哈希难题即可。
[0112] 为了防止一段时间内,矿工节点23一直没有完成工作量证明,导致区块链系统无法正常出块,在一些实施例中,分片服务器22或矿工节点23可以预设有效时间,以保证矿工节点23能够正常出块。例如,在一些实施例中,请参阅图3b,工作量证明协同工作方法300还包括:
[0113] S34、统计共识验证的计算时间;
[0114] S35、根据共识验证的计算时间与预设时间阈值,更新搜索子空间的待验证哈希值。
[0115] 在本实施例中,共识验证的计算时间为矿工节点共识验证区块时,所花费的时间。预设时间阈值由用户根据业务需求自定义。
[0116] 矿工节点23根据共识验证的计算时间与预设时间阈值更新搜索子空间的待验证哈希值的方式多种多样。例如,在一些实施例中,请参阅图3c,S35包括:
[0117] S351、判断共识验证的计算时间是否超过预设时间阈值;
[0118] S352、若超过,更新搜索子空间的待验证哈希值;
[0119] S353、若未超过,保留搜索子空间的待验证哈希值。
[0120] 因此,通过此种方式,其能够保证区块链系统正常出块,为何区块链系统的工作稳定性与可靠性。
[0121] 如前所述,搜索子空间的表现形式可以为多样化,其可以主要是基于矿工节点A、矿工节点B及矿工节点C中的数据A1、B1及C1的不同而不同。因此,在一些实施例中,请参阅图3d,S32包括:
[0122] S321、获取区块链节点的标识信息、区块头信息及随机数,其中,任意两个区块链节点的标识信息之间皆不同;
[0123] S322、生成包含标识信息的额外信息;
[0124] S323、将额外信息、区块头信息及随机数作哈希运算,以计算出搜索子空间的待验证哈希值。
[0125] 在本实施例中,区块链节点可以为矿工节点23。标识信息用于标识矿工节点23的信息,其可以为任意形式或格式的标识信息,例如,标识信息可以为字符串或字符等等,标识信息作为矿工节点23的身份信息或钱包地址,每个矿工节点23的标识信息可以是唯一的,但是每个矿工节点23的标识信息可以是灵活改变的,其改变可以根据分片服务器22分片工作量而定。
[0126] 如前所述,由于任意两个矿工节点23的标识信息之间皆不同,因此,其计算出的待验证哈希值皆不同。
[0127] 区块头信息为包含在区块的区块头内的信息,其可以为上一区块头的哈希值、交易信息的默克尔路径(例如,Coinbase交易的Merkle路径)、交易信息的交易输出(transaction-out)部分及难度值,其中,交易信息包括可构成默克尔树的创币交易信息及若干个用户交易信息。
[0128] 额外信息至少包含标识信息的。生成包含标识信息的额外信息时,矿工节点可以将矿工节点的标识信息与创币交易信息拼接成新交易信息,此处,新交易信息为额外信息。举例而言,矿工节点23从分片服务器22领取分片任务后,其会在分配的搜索子空间上进行哈希运算。首先,矿工节点23会产生一个额外信息,然后将额外信息与分片服务器22发送的coinbase交易的transaction-out部分拼接构造成coinbase交易。额外信息的数据结构以矿工节点的身份信息作为开头,后面添加任意额外信息。
[0129] 矿工节点23根据额外信息、区块头信息及随机数计算出搜索子空间的待验证哈希值的方式多种多样,例如,在一些实施例中,请参阅图3e,S323包括:
[0130] S3231、在拼接出新交易信息后,根据区块头中交易信息的默克尔路径,计算出默克尔根哈希值;
[0131] S3232、将默克尔根哈希值与所述随机数作哈希运算,以计算出搜索子空间的待验证哈希值。
[0132] 举例而言,在矿工节点23拼接出新交易信息(coinbase交易)后,矿工节点可以利用分片服务器22发送的各个交易信息的默克尔路径,计算交易列表的默克尔根哈希值。于是,矿工节点选择对应随机数,将默克尔根哈希值与随机数作哈希运算,以计算出搜索子空间的待验证哈希值。此时,矿工节点23可以通过调整随机数以得到满足特定难度值的默克尔根哈希值。若矿工节点23通过调整随机数不能得到满足特定难度值的默克尔根哈希值,矿工节点23可以重新产生额外信息,以此构造新的新交易信息。如前所述,当一个新交易信息被构造出,随机数的搜索空间便发生改变,矿工节点23的搜索子空间也便发生改变。于是,矿工节点23便可以重新基于新的搜索子空间进行工作量计算,从而获取满足预设条件的随机数。
[0133] 由于每个矿工节点23的标识信息是不相同的,因此每个矿工节点23构造的新交易信息都不相同,那么每个矿工节点对应的搜索子空间也都不相同,因此,对于分片服务器分配的相同区块信息,各个矿工节点之间出现的工作量计算冲突的概率非常低。
[0134] 下面,本发明实施例提供下述验证方法,以验证采用本发明各个实施例提供的工作量证明协同工作方法的优越性。
[0135] 关于哈希值碰撞的计算,其可以通过m个人中存在相同生日的概率来近似得出,假设一年为N天,那么对于m个人,其存在两个人生日相同的概率如下:
[0136]
[0137] 设p(m)为当有m个不同的交易信息(coinbase数据)时,各个交易信息的默克尔根哈希值相同的概率。假设POW算法支持256位输出的哈希值,因此输出结果具有2256种,即上述公式中的N为2^256,那么p(m)值可用如下公式计算:
[0138]
[0139] 表2为m取不同值时的p(m)的取值,如表2所示:
[0140] 表2
[0141]m 216 232 264 296 2127 2128
P(m) 2-225 2-193 2-129 2-65 0.125 0.5
[0142] 由表2可知,当碰撞概率至少达到50%,则至少需要有2128个不同的交易信息,这意味着发生碰撞是很难达成的。因此,若每个矿工节点拥有不同的标识信息作为额外信息的前缀,那么矿工节点的搜索子空间的重复概率非常低。
[0143] 为了使矿工节点23通过挖矿以维护区块链系统正常运行,分片服务器22除了分配任务给矿工节点23外,其会发放奖励给完成工作量证明的矿工节点23。
[0144] 为了验证本实施例提出的工作量证明协同工作方法的有效性,本实施例使用Go语言编写相关逻辑代码作实验验证。
[0145] 首先,设置两组矿工节点进行工作量证明计算。在第一组中不进行分片,使用7个分片服务器,每个分片服务器只有一个矿工节点为其工作,每个矿工节点需要遍历整个搜索空间。在第二组中,使用一个分片服务器,此分片服务器下有7个矿工节点为其工作,分片服务器负责将工作量分配给该7个矿工节点。在相同难度值下,记录两组矿工节点完成工作量证明达成一致的时间,其中,统计了1000次哈希值的计算。具体实验结果如图4a与图4b所示。
[0146] 由图4a可知,分片的一组要比未分片的一组计算出满足预设条件的待验证哈希值所花费时间比较少,对于一次哈希值计算,采用分片方式比不分片方式快将近30秒。
[0147] 由图4b可知,未使用分片方式的一组与使用分片的一组相比存在一个更大的分布。未分片方式的四分差是分片方式的将近3.7倍。
[0148] 另外,对于计算出一个满足预设条件的待验证哈希值,不分片的工作量证明所需的平均时间为21.62秒,分片方式的工作量证明所需的平均时间仅为5.371秒。由此可知,采用分片方式的工作量证明达成效率是不分片方式的近4倍。
[0149] 另外,对于分片方式的一组,四分之三的计算时间都在8秒以下,其中耗时最长的时间为47秒。而在不分片方式的一组中,四分之三的计算完成在31秒之内,耗时最长的时间为174秒。由此可见,相较于传统POW共识计算,在相同难度值的情况下,采用分片方式极大地提升了工作量的完成效率。
[0150] 在一些实施例中,校验服务器可以结合拜占庭算法对区块共识验证。
[0151] PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。
[0152] 所有的副本在一个被称为视图(View)的轮换过程(succession  of configuration)中运作。在某个视图中,一个副本作为主节点(primary),其他的副本作为备份(backups)。视图是连续编号的整数。主节点由公式p=v mod|R|计算得到,这里v是视图编号,p是副本编号,|R|是副本集合的个数。当主节点失效的时候就需要启动视图更换(view change)过程。
[0153] 基于拜占庭将军问题,PBFT一致性的确保主要分为这三个阶段:预准备(pre-prepare)、准备(prepare)和确认(commit)。
[0154] 下面,本发明实施例结合图5详细阐述PBFT主要工作流程:
[0155] 在图5中,C为发送请求端,0123为服务端,3为宕机的服务端,具体步骤如下:
[0156] 1.Request:发送请求端C发送请求到任意一节点,这里是0。
[0157] 2.Pre-Prepare:服务端0收到C的请求后进行广播,扩散至服务端1、2及3。
[0158] 3.Prepare:服务端1、2及3收到后记录并再次广播,1->023,2->013,3因为宕机而无法广播。
[0159] 4.Commit:服务端0123节点在Prepare阶段,若收到超过一定数量的相同请求,则进入Commit阶段,广播Commit请求。
[0160] 5.Reply:服务端0123节点在Commit阶段,若收到超过一定数量的相同请求,则对C进行反馈。
[0161] 当服务端的节点数大于100时,网络带宽压力会越来越大,因此,单纯的PBFT共识是无法满足节点数量很多的公有链网络。
[0162] 本发明实施例提供一种共识验证方法的流程示意图,其中,该共识验证方法应用于区块链系统中的校验服务器。如图6所示,共识验证方法S600包括:
[0163] S61、接收候选区块,其中,候选区块为由满足预设条件的随机数生成的区块;
[0164] 在本实施例中,候选区块可以为分片服务器打包发送的,其中,候选区块由矿工节点采用工作量证明算法POW计算出,并由矿工节点将候选区块发送给分片服务器,分片服务器将候选区块发送给校验服务器,以使校验服务器对候选区块作共识验证处理。
[0165] 可以理解的是:本领域技术人员根据本实施例所训导的内容,通过改进原始POW算法,以获得改进型的POW算法,然后再基于该改进型的POW算法计算出候选区块,此类方式应当落入本发明的保护范围之内。
[0166] S62、根据拜占庭容错算法,共识验证候选区块。
[0167] 在本实施例中,拜占庭容错算法包括实用拜占庭容错(practical Byzantine Fault Tolerance,PBFT)或授权拜占庭容错(Delegated Byzantine Fault Tolerance,DBFT)等等。
[0168] 在一些实施例中,校验服务器包括主校验服务器与若干副校验服务器。校验服务器根据拜占庭容错算法,共识验证候选区块的流程如下:
[0169] 1、根据主校验服务器设置的视图,主校验服务器接收候选区块。
[0170] 各个矿工节点根据主校验服务器设置的视图,向主校验服务器发送候选区块,这一过程称为“request”。
[0171] 2、主校验服务器校验候选区块,若候选区块有效,对候选区块签名,并将签名后的候选区块打包广播至所有副校验服务器。
[0172] 此处,在一些实施例中,若候选区块有效,主校验服务器先分配一个序列号,然后再对候选区块签名,最后将签名的候选区块打包广播给其它副校验服务器,这一过程称为“pre-prepare”。
[0173] 3、每个副校验服务器验证候选区块的合法性,若合法,对候选区块签名并广播其它副校验服务器及主校验服务器;
[0174] 此处,在一些实施例中,每个副校验服务器验证候选区块的合法性的过程中,每个副校验服务器验证候选区块的签名是否合法,若合法,验证所述候选区块的有效性,若非法,停止向其它副校验服务器及主校验服务器广播候选区块。若有效,则候选区块属于合法;若无效,则候选区块属于非法。举例而言,副校验服务器收到上一步中广播信息,副校验服务器为了保证消息来源为主校验服务器,首先检查签名是否正确。其次,副校验服务器需要验证区块的有效性。若区块是有效的并且自于主校验服务器,副校验服务器将会再次签名并广播给校验服务器集群中的其它副校验服务器及主校验服务器。这一过程称为“prepare”。校验服务器集群中的除主校验服务器的所有节点都必须执行此过程。
[0175] 在此过程中,所述副校验服务器监测到主校验服务器为故障节点或作恶节点,触发视图更换事件,以更换视图。
[0176] 4、所有校验服务器皆各自验证每个所述副校验服务器发送的候选区块的合法性,若合法,统计发送合法候选区块的校验服务器数量,若校验服务器数量超过区块链系统中全部校验服务器的三分之二,每个校验服务器向其它校验服务器广播一个携带有自身签名的提交信息;
[0177] 此处,在一些实施例中,所有校验服务器皆各自验证所述每个副校验服务器发送的候选区块的有效性及签名,若候选区块有效并签名合法,则候选区块合法。举例而言,所有校验服务器搜集上一步发送的广播信息,当一个校验服务器(主校验服务器或副校验服务器)收到一个prepare信息时,其必须检测区块的有效性及签名的合法性。如果两者皆有效,其可以验证结果信息记录并对收到的合法prepare信息计数。一但合法prepare信息数量超过校验服务器集群数量的2/3,那么此校验服务器可以广播一个带有其签名的提交信息给其它校验服务器。这一过程称为“commit”。
[0178] 5、主校验服务器验证签名后的提交信息的合法性,若合法,统计签名后并合法的提交信息的数量,若签名后并合法的提交信息的数量超过所述区块链系统中全部校验服务器的三分之二,将候选区块记录于所述区块链网络中,并将合法的候选区块以及接收到的合法提交信息打包签名后,广播至全网。每个所述副校验节点收集提交信息,待后续收到所述主校验节点提交的区块信息后,通过搜集的提交信息检查所述区块信息是否合法。此过程被称之为“reply”。
[0179] 此处,举例而言,主校验服务器记录收到的reply信息集合,校验其签名合法性,若合法reply个数大于校验服务器集群数量的2/3,即认为矿工发送的区块合法,可以记录到区块链中。此时主校验服务器将合法的区块和收到的合法reply信息打包签名后广播给全网所有节点。
[0180] 在上述各个实施例中,请参阅图7,共识验证方法S600还包括:
[0181] S63、当检测到共识验证完候选区块并记录于区块链系统时,区块链系统的非校验服务器同步更新区块账本,以将候选区块记录于区块账本中。
[0182] 综上所述,一方面,其能够保证在同一时间只有一个合法区块生成,避免区块链分叉现象出现。当一个区块被确认有效后,其在区块链上将不可逆。校验服务器通过PBFT对区块达成共识并将区块记录在区块链系统中,从而保证了同一时间只有一个合法区块。区别于纯POW共识机制,同一时间可能有多个矿工完成工作量证明,因此导致其区块链产生分叉,在无法确定最长链的情况下,其共识结果是不确定性的。
[0183] 由于本文提出的共识验证方法具有确定性,区块链系统将不存在区块生成速度的限制,避免了纯POW共识导致的分叉问题,保证了区块链系统始终是一个无分叉的最长链。通过在传统POW的基础上引入PBFT来在校验服务器中达成共识,增强了系统的可扩展性,使得系统的共识达成不完全依赖于算力竞争,并且交易可以被快速确认。由于校验服务器之间的共识达成采用PBFT的方式,也保证了校验服务器之间的高度一致性。
[0184] 另一方面,在共识验证过程中,各个校验服务器均能参与共识验证,其能够确保系统记账权不会被中心化节点控制。与POS和DPOS共识机制相比,在本发明实施例中,各个矿工节点与校验服务器分工协作,共同维护系统正常运行。本发明实施例提供的共识验证方法将权利分化,利用奖励将各节点结合起来。在使用此共识的区块链系统中,各个色节点均能参与,其对系统的去中心化程度没有带来很大的影响,确保系统记账权不会被中心化节点控制。由于纯PBFT共识机制不适用于节点较多的区块链系统,而在本文提出的确定性POW共识中,其将其与POW机制结合,通过选举校验者集群,在校验者集群中使用PBFT达成共识。使得采用此共识机制的区块链系统突破PBFT共识机制的节点数量限制。
[0185] 在一些实施例中,区块链系统容忍坏校验服务器的最大数量不超过区块链系统中全部校验服务器的三分之一。
[0186] 为了验证本发明实施例提供的共识验证方法,基于Go语言来实现相关逻辑代码进行验证。
[0187] 在实验中,创建六个组,分别为A1、A2、A3、B1、B2、B3。其中,对于A1、A2、A3将会给一个有效的区块,而B1、B2、B3将会被给一个无效的区块。每一个组中包含4个校验服务器,这4个校验服务器可能是拜占庭节点。这意味着,当节点为好节点时,其不会作恶,因此总能够正确校验一个区块的合法性。而当节点为拜占庭节点时,其不会正确的验证一个区块的合法性,其可以随意指定区块是否合法。在上述六个分组中,A1和B1每个都包含1个拜占庭节点和3个好节点,A2和B2两个组中,每个都包含2个拜占庭节点和2个好节点,而在A3和B3中,每组包含3个拜占庭节点和1个好节点。这个设置,使得在A1和B1中拜占庭节点个数少于1/3,A2和B2中拜占庭节点个数处于1/3和2/3之间,而A3和B3中存在的拜占庭节点个数则超过
2/3。在实验中,假定拜占庭节点可以共谋改变区块的合法性。进行相关试验后,将实验数据记录到表中,对于每一组实验分别进行10次。其区块验证结果用valid(V)和invalid(I)来标示。请参阅表2:
[0188] 表2
[0189]
[0190]
[0191] 在表2中,记录了6个组对于有效区块和无效区块的验证结果。由表2可知,在A1和B1中,尽管存在一个拜占庭节点,但不论区块是否合法,其验证结果都与区块的有效性相符。而在A2中,给定的是一个有效区块,但10次验证的结果不同,存在认定区块不合法的相关结果,这意味着其未能就区块的有效性达成共识。在B2中,给定的是一个无效的区块,在存在两个拜占庭节点的情况下,成功验证区块不合法。而在A3和B3中,由于拜占庭节点可以共谋,因此其可控制共识结果达成,使共识结果和真正区块有效性不相关。
[0192] 从这个实验中,推倒出以下结论:当一个校验者集群中的拜占庭节点个数少于1/3时,任何矿工节点给校验者集群的区块有效性均可以被正确验证,系统可达成共识。而当校验者集群中的拜占庭节点个数介于1/3和2/3之间时,矿工节点发送区块给校验者集群时,在区块是否合法上,校验者集群无法达成共识。而当校验者集群中的拜占庭节点超过2/3时,当矿工发送区块给校验者集群进行验证时,集群中的拜占庭节点可以通过共谋的方式控制共识结果。因此区块链系统容忍坏校验服务器的最大数量不超过区块链系统中全部校验服务器的三分之一。
[0193] 需要说明的是,在上述各个实施例中,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。
[0194] 作为本发明实施例的另一方面,本发明实施例提供一种区块链节点。请参阅图8,该区块链节点800包括:一个或多个处理器81以及存储器82。其中,图8中以一个处理器81为例。
[0195] 处理器81和存储器82可以通过总线或者其他方式连接,图8中以通过总线连接为例。
[0196] 存储器82作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的方法对应的程序指令/模块。处理器81通过运行存储在存储器82中的非易失性软件程序、指令以及模块,从而执行上述各个实施例的方法。
[0197] 存储器82可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器82可选包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至处理器81。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0198] 所述程序指令/模块存储在所述存储器82中,当被所述一个或者多个处理器81执行时,执行上述任意方法实施例中的方法。
[0199] 本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使区块链节点执行如上任一项所述的工作量证明协同工作方法。
[0200] 本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被区块链节点执行时,使所述区块链节点执行任一项所述的工作量证明协同工作方法。
[0201] 以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0202] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0203] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈