如何零基础搭建分布式数字身份平台
本文主要介绍基于区块链技术的分布式数字身份系统的设计方案,该系统为实体颁发去中心化身份标识符(DID)和可验证凭证(VC)。通过可验证呈现(VP),系统支持安全且灵活的远程身份验证,允许用户控制信息的披露程度,以保护个人隐私。
产品经理在职业生涯中常常会面对从0-1的业务去策划,不管是对应的业务平台还是技术平台,在经过了前期的市场、产品、需求分析和用户研究等阶段,如何开始启动产品设计是大家的必经之路,尤其面对偏技术的平台,如何从不懂这个技术到实现这个技术平台的设计也是我们需要沉淀的。
本文着重解析产品如何从零起步,基于区块链技术和DID标准,设计一个分布式数字身份平台MVP。
一、确定产品边界(定位)
首先,我们的产品定位需明确:我们致力于构建一个数字身份的基础平台,专注于生成和验证分布式数字身份,不包含具体业务应用。尽管数字身份的价值在特定场景下更为凸显,但是我们的功能设计却不应因此而偏离。这种明确的定位和界限为我们未来的设计和规划指明了方向。基于这一定位,我们接下来将深入讨论平台的设计与规划。
信息来源:可以通过在线课程、专业书籍、技术社区、行业报告和实际实验等途径获取知识和实践经验。
1. 理解这里的分布式数字身份是什么
分布式数字身份是一种去中心化的身份验证方法,用户首先在区块链平台上生成唯一的身份标识符(DID),然后获取与此身份相关的可验证凭证(VC)。
在需要身份验证的场合,用户创建包含VC的可验证呈现(VP),并通过选择性披露向第三方展示必要信息,以完成身份验证和服务访问的过程。
2. 初期功能边界拆解(起点-终点)
在对分布式数字身份有了基本认识之后,需要在没有技术背景的前提下,为了掌握其具体操作流程,利用网络资源进行深入学习(当然现在有了GPT)。下一步是明确该技术的主要功能类别,下面是直接的结论。
- 创建身份(开始)—创建唯一标识符,也就是类似身份证的一串代码
- 凭据获取(升级)—将这个身份的相关信息编写为凭据并附加唯一标识符,构成一个数字身份
- 身份验证(使用)—为自己的身份创建可展示呈现给他人查看,只提供必要信息
- 身份交互(结束)—对方查看后,如果有必要,也将发送个人信息进行双向的真实性验证
二、拆解产品功能
1. 详细流程拆分
确定了基本顺序之后,我们需要进一步细化流程,以便于我们这些初学者更好地理解。为此,可以利用流程图、示例图等工具进行辅助说明。这一步骤至关重要,因为一旦这部分内容理解清晰,将极大地促进后续产品设计的有效进行。
这里通过文字详细描述一下流程
1)实体主动申请或颁发者主动颁发,启动流程
明确指出数字身份创建流程由实体的主动申请或颁发者的主动颁发触发。
2)为持有者申请数字标识符DID
为持有者(Holder)申请唯一的数字标识符DID::。
3)创建出生VC模板(可选)
为特定类型的实体创建出生VC模板,这是一个可选流程,用于建立统一的模版。
4)申请birth凭据VC
为持有者申请birth凭据VC,作为基本身份凭证。
5)申请业务凭据VC(可选)
根据需要为持有者申请业务相关的VC,例如相当于身份证和学位证的不同类型凭证。
6)创建完整的分布式数字身份
为持有者创建完整的分布式数字身份,包括DID、DID文档、VC、公私钥等。
7)颁发者创建披露策略
颁发者(Issuer)制定披露策略,方便实体在对外验证时选择相应策略进行选择性信息披露。
8)生成可呈现的VP
持有者在需要向外验证时,使用私钥签名并生成部分信息的可呈现VP。
9)验证者接收并查询验证
验证者(Verifier)接收VP后,根据披露的信息在链上进行查询验证。
10)验证者确认信息并执行业务操作
验证者根据所需信息确认身份后,进行后续业务操作。
2. 示例辅助
银行的例子中,用户首先从国家公安部门获得一个含有基本信息的数字证书(出生VC),像是一份官方的数字身份证。然后,银行为用户创建了一个特定的模板,发放与银行业务相关的另一份数字证书(业务VC),其中可能包括信用评分等信息。
用户需要进行交易时,只要展示一个包含信用评分的特殊显示文件(VP),这个文件是用户用自己的安全密钥(私钥)生成的,用于证明他们的信用状态符合银行的要求。用户把这个VP发给银行,银行就可以验证用户的信用信息。简而言之,用户通过这些数字证书和文件在网上银行中证明自己的身份和信用状况,完成交易或获取服务。
三、具体功能设计
1. 结构设计
在当前阶段,我们已经对整个技术产品的设计构建了一个基础概念和方向,并对分布式数字身份有了更深入的理解。接下来的功能设计流程与常规平台设计类似,比如使用思维导图来细化具体功能点,然后逐一将这些功能点转化为产品原型,并进行反复优化和调整。
不同于其他平台,这种设计在业务耦合和风险考虑方面相对较少,下面简要列出了相应的结构及其功能,仅供参考。
2. 原型设计
后续将对上述功能进行产品原型设计,考虑如何在页面上展现这些功能,确定哪些功能应独立展示,哪些则需与其他功能相互耦合。
同时,我们也会关注用户在使用过程中的体验,评估操作界面是否直观、用户是否容易理解以及是否能降低用户的学习成本。
此外,还需考虑页面上数据展示的量和从区块链拉取数据的性能,以确保这些因素不会对用户体验造成负面影响。
在这些考量的基础上,我们将逐步构建起一个初步的分布式数字身份平台的最小可行产品(MVP)版本,从而为后续更全面的产品开发奠定基础。
四、尾言
本文旨在展示当我们面临一个全新的技术领域并需要开发一个平台时,应该如何开始。因此,本文跳过了产品经理在项目初期通常需要考虑的一些关键因素,如市场定位、用户类型等。
此外,基于区块链的分布式数字身份技术目前尚处于成长阶段,存在一些技术和业务合规上的风险。在实际工作中,这些风险需要进行更深入的考虑和评估,这些就不在这里一一赘述了。
本文由 @a~hello 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
- 目前还没评论,等你发挥!