【隆天·李曼】浅析基于最优实施例进行专利技术方案的扩展

《中华人民共和国专利法》（下文简称《专利法》）第二十六条第三款和第四款中规定：说明书应当对发明或者实用新型做出清楚、完整的说明，以所述技术领域的技术人员能够实现为准；必要的时候，应当有附图。摘要应当将要说明发明或者实用新型的技术要点。权利要求书应当以说明书为依据，清楚、简要地限定要求专利保护的范围。

根据《专利法》相关规定，权利要求书确定专利的保护范围，说明书需要做出清楚、完整的说明，以为权利要求书提供支持。专利代理人如何在技术交底书中提供的最优实施例的基础上，合理上位技术方案，并扩展出足够的实施例，以使客户获得较大的保护范围，并且避免出现说明书不支持的情况，是本文讨论的重点。下面结合一具体案例进行说明：

新申请撰写阶段
技术交底书中记载的技术方案

技术问题
身份认证是目前互联网技术中急需解决的一个问题。传统互联网的中心化用户身份，不仅种类繁多，没有实现互认互通，而且缺乏隐私与安全性。而去中心化身份作为用户通过Web3.0未来互联网和元宇宙的凭证，具有重要的技术价值，不同的WEB3.0应用的用户身份，也有整合、统一的需求。

技术方案
一种去中心化身份的生成和认证方法，包括以下步骤：
步骤1，采集并整合用户链上、链下账户数据。
步骤2，设计去中心化身份DID文档结构。（核心技术点）
DID文档的字段包括身份标识、时间戳、默克尔树根、ID映射集合等。
步骤3，根据用户链上、链下账户数据生成用户账户信息证明。（核心技术点）
用户账户信息accountProof都是以字符串的形式表现出来。
步骤4，构建用户的账户信息默克尔树。（核心技术点）
根据步骤3生成的用户账户信息accountProof，构建默克尔树，并将默克尔树根Merkle Root保存到去中心化身份的DID文档中。
如下图所示，将用户的所有accountProof分别进行哈希计算，得到其哈希值，然后再对得到的哈希值两两组合，再进行一次哈希计算，得到新的哈希值；依次类推，最终得到默克尔树根，完成默克尔树的构建。
步骤5，根据设计的DID文档结构，完成用户去中心化身份的生成。
步骤6，基于默克尔树验证去中心化身份。（核心技术点）

技术效果
本专利提出了一种去中心化身份的生成和认证方法，整合用户的链上、链下数据来生成用户的去中心化身份。

本专利设计了用户账户信息证明的生成方法、账户信息默克尔树以及DID文档结构，基于此来生成用户的去中心化身份。

本专利设计了基于默克尔树的去中心化身份认证方法，保障了身份认证的高效、安全。

本专利的去中心化身份可以实现用户属性的选择性披露。

技术方案的扩展

在技术交底书中，发明人已经提供了技术方案中的四个核心技术点，经分析，对于步骤2中的DID文档结构和步骤3中用户账户信息的生成方式及表现形式可以根据需要设置不同的形式，而步骤6中基于默克尔树验证去中心化身份的方法，也是基于构建默克尔树的结构决定的，上述三个技术点不作为本申请的主要扩展方向，而将默克尔树的构建方式作为技术方案的重点扩展方向。

基于发明人在技术交底书中提供的构建默克尔树的最优构建方式，可以得到构建默克尔树的方法主要包括对每层Hash值的组合计算步骤、判断是否得到默克尔树根的步骤，除了两两组合的方式得到每层Hash值，还可以按照一定顺序和不同数量组合。如果独立权利要求中未进行适当的上位概括，而仅包括步骤四中提供两两组合的方式，那么默克尔树的其他构建方式将未落入上述默克尔树的构建方式中，极大影响本专利的保护范围。

经笔者与发明人确认，按照分层的方式以不同数量组合Hash值、不同顺序组合Hash值均能构建默克尔树，且上述方式也可以应用于实际项目中。因此，本案的独立权利要求撰写如下：

“1. 一种去中心化身份认证方法，其特征在于，包括：
采集目标用户的链上账户数据和链下账户数据，根据所述链上账户数据和所述链下账户数据生成所述目标用户的账户信息证明；
根据所述账户信息证明，构建默克尔树，得到所述目标用户的默克尔树根，将所述默克尔树根存储至去中心化身份DID文档中；
根据所述DID文档，生成DID标识符，将所述DID标识符写入所述DID文档，得到所述目标用户的去中心化身份信息，以基于所述去中心化身份信息进行身份认证。”

在撰写权利要求书中，笔者采用了上位的技术特征“根据账户信息证明，构建默克尔树”进行限定，将默克尔树的具体构建方式在从属权利要求中进行布局，在OA答复过程中针对性增加技术特征，以期获得较大的保护范围。然而，为了避免出现不支持的问题，在说明书中对按照不同规则构建默克尔树的方式以及判断是否构建完成的方式进行充分扩展如下：

1.构建默克尔树的整体步骤

需要考虑由各个账户信息证明对应的Hash值，如何得到默克尔树根的方法。

基于技术交底书中提供的最优实施例，分析构建默克尔树的构建方法。如下图所示，默克尔树中共包括四个账户信息证明，在两个组合得到默克尔树时，可以将默克尔树划分为三个层级，分别为初级叶子节点、中级叶子节点和默克尔树根，初级叶子节点为账户信息证明的哈希值，中级叶子节点为四个初级叶子节点两两组合后的哈希值，默克尔树中包括两个中级叶子节点，两个中级叶子节点组合后的哈希值作为默克尔树根，至此得到由四个账户信息证明构建的默克尔树。
在最优实施例的基础上，增加账户信息证明的数量。例如，账户信息证明的数量由4个增加至8个，相应的，初级叶子节点的数量也为8个，经过两两组合后，中级叶子节点的数量为4个。若采用两两组合的方式，则无法直接获得默克尔树根，需要进行两次组合，即此时默克尔树中包括两层中间叶子节点。需要说明的是，在上述情形中，当初级叶子节点的数量为奇数时，将出现某一叶子节点组合时落单的情况，此情况在说明书中写明即可。

从上述分析可以发现，账户信息证明的数量和组合方式直接影响中间叶子节点的层数，中间叶子节点的数量和组合方式直接确定是否能够得到默克尔树根，可以将上述方案在从权中布局，作为对“判断是否构建完成”的扩展方案。

2.考虑同一层Hash值的组合方式，将预设规则进行扩展。

在对同一层Hash值组合时，Hash值的数量以及组合顺序影响得到的结果，故预设规则可以包括组合数量和组合顺序，具体扩展思路如下：

a.组合数量

除了技术交底书中提及的两两组合，也可以采用两个以上的Hash值采用等数量进行组合，得到下一层Hash值。例如三三组合、四四组合等，若有16个初级叶子节点，采用四四组合的方式，经过两次组合，直接得到默克尔树根。

也可以采用不等数量组合，得到下一层Hash值。例如，若有12个初级叶子节点，则第一次组合时采用三三组合的方式，可以得到四个中间叶子节点，四个中间叶子节点采用两两组合的方式，得到两个下一级中间叶子节点，两个下一级中间叶子节点采用两两组合的方式，得到默克尔树根。或者在同一层Hash值组合时，每组Hash值的数量是不同的。

b.组合顺序

对于Hash值的组合顺序，基于Hash值在某一层Hash值中的位置索引，位置索引为2和3的节点组合包括两种顺序，一种为位置索引2的Hash值在前、位置索引3的Hash值在后，另一种为位置索引3的Hash值在前、位置索引2的Hash值在后，两种组合方式得到的下一层节点的Hash值是完全不同的。

基于此，默克尔树构建方法的从属权利要求撰写如下：

“5. 根据权利要求1所述的去中心化身份认证方法，其特征在于，所述目标用户具有多个账户数据，一个所述账户数据对应一个所述账户信息证明；
其中，所述根据所述账户信息证明，构建默克尔树，包括：
将各个所述账户信息证明对应的哈希值，作为默克尔树的初级叶子节点；
基于位置索引，将所述初级叶子节点对应的哈希值按照预设规则组合，得到一级字符串，将所述一级字符串对应的哈希值，作为默克尔树的中间叶子节点；
若所述中间叶子节点的数量满足预设条件，则根据所述中间叶子节点，得到所述默克尔树根，根据所述初级叶子节点、所述中间叶子节点、以及所述默克尔树根，构建所述默克尔树。”

在撰写权利要求书中，笔者采用了上位的技术特征“将所述初级叶子节点对应的哈希值按照预设规则组合，得到一级字符串，将所述一级字符串对应的哈希值，作为默克尔树的中间叶子节点”、“若所述中间叶子节点的数量满足预设条件，则根据所述中间叶子节点，得到所述默克尔树根”进行限定，将预设规则组合和中间叶子节点的数量满足预设条件等技术特征在从属权利要求中进行布局，在说明书中对以组合数量分组后各组中间叶子节点的数量相同或不同等情形充分细致的描述，在OA答复过程中针对性增加技术特征，以期获得较大的保护范围。

OA答复阶段
审查员意见
审查员采用对比文件1（CN107306196A）评价本申请权利要求1的创造性。对比文件1公开了一种数据授权及验证方法，具体公开了以下技术方案：所述方法应用于身份授权方，包括，S101、获取数据需求方发送的针对目标数据的数据授权请求。S102、响应于数据授权请求，生成标准DID文档。标准DID文档可以包括基础属性、交互属性、标准属性根和其他属性等中的至少一种。DID标识，用于唯一表征该DID文档的内容。所述方法应用于数据需求方，包括，S201、获取身份授权方针对目标数据生成的标准DID文档。S202、根据标准DID文档中的各属性字段对应属性值的哈希值，构建参考默克尔树。S203、根据实际应用场景，确定各属性字段中处于隐藏状态的隐藏属性字段，以及处于显示状态的显示属性字段。S204、隐藏标准DID文档中隐藏属性字段对应的属性值，得到包括显示属性字段对应属性值的参考DID文档。S205、将包括参考DID文档、参考默克尔树、以及隐藏属性字段对应属性值的哈希值的待验证数据，发送至身份验证方，以供验证参考DID文档中的标准属性根。该方法应用于身份验证方，包括，S301、获取数据需求方发送的待验证数据。S302、根据待验证数据中的参考默克尔树、隐藏属性字段对应属性值的哈希值和显示属性字段对应属性值，对待验证数据中的参考DID文档中的标准属性根进行验证。

如下图所示，可以采用以下方式构建标准默克尔树：确定标准DID文档中的各属性字段对应属性值的哈希值；将各属性字段对应哈希值两两哈希，构建标准默克尔树。由于不同属性字段对应哈希值在默克尔树中的节点位次不同，将会导致最终构建的标准默克尔树的结果不同，影响标准默克尔树的标准属性根。可以预先统一标准DID文档中的全量属性字段及各属性字段的先后顺序，后续将采用预先统一的各属性字段的先后顺序，对相应属性字段对应哈希值两两哈希，构建标准默克尔树，从而保证了标准默克尔树的复现性。

对比文件分析
在答复审查意见时，经分析，笔者认为对比文件1公开了技术交底书中两两组合的最优实施例，同时，也公开了不同属性字段对应哈希值在默克尔树中的节点位次或顺序不同影响最终构建的标准默克尔树的结果的技术方案。然而，对比文件1并未公开通过采集目标用户的链上账户数据和链下账户数据构建默克尔树的技术方案，也并未公开多个账户数据按照预设规则构建默克尔树的技术方案，未解决默克尔树构建有效性和计算强度的问题。

OA答复思路
在一通答复时，将说明书中“预设规则包括组合顺序和组合数量，当按照预设规则将中间叶子节点分组后，一组中间叶子节点的数量小于组合数量，将所述一组中间叶子节点按照组合顺序组合，将所述一组中间叶子节点对应的哈希值作为下一级叶子节点”的技术特征和上述默克尔树构建方法的从权增加至权1。

一方面，通过采集目标用户的链上账户数据和链下账户数据，将目标用户的多个账户数据，生成多个账户信息证明，通过配置预设规则确定多个账户信息证明的整合方式；另一方面，通过配置预设规则，以及根据预设规则将多个账户信息证明的哈希值组合，生成中间叶子节点，并根据中间叶子节点的数量与组合数量之间的关系，确定下一级叶子节点或者确定默克尔树根，从而构建默克尔树，进而根据默克尔树得到DID文档，以生成目标用户的去中心化身份信息，进行身份认证。当按照预设规则将中间叶子节点分组后，一组中间叶子节点的数量小于组合数量，将一组中间叶子节点按照组合顺序组合，将一组中间叶子节点对应的哈希值作为下一级叶子节点，既可以快速计算各级叶子节点，又可以减小计算量。

在本案处理过程中，由于撰写阶段充分分析最优实施例中构建默克尔树的构建方式，并针对两个及两个以上节点组合方案在说明书中充分展开，为OA答复过程中增加技术特征提供了最有效支持，得益于撰写阶段细致的扩展，最终本案获得授权。

总结
在撰写新申请之前，需要仔细分析技术交底书中最优实施例的实现原理，基于实现原理结合要解决的技术问题确定上位概念，并根据上位概念和最优实施例进行基于发明点的下位扩展，在此过程中，可以和发明人展开充分讨论，使扩展方案也可应用于具体项目中。

在OA答复过程中，可以充分验证扩展方案的有效性，并指导后续新申请撰写的方案扩展，经过不断的训练，提升代理人的撰写质量，以期极大保护客户的权利。

作者：

李曼
专利代理师
隆天知识产权代理有限公司
责任编辑：刘雅婷