揭开数字身份的神秘面纱(1/2)

2020-09-16 19:18 栏目:经验之谈 来源:网络整理 查看()

身份一直是一个挑战,不仅是在分散的技术中,在一般的在线应用中也是如此。挑战在于,人们不知道“身份”的含义及其在数字产品、服务和网络中的各种形式。这也是为什么建设者们经常会感到困惑和沮丧,导致很多人回避处理id或者实施短期的变通办法。每个身份系统都会产生巨大的影响。随着产品的使用和成熟,身份系统的重要性和复杂性不断增加。

编者按:根据语境的不同,数字身份有多种表达方式:身份、身份ID、身份系统。

本系列中有两篇文章将帮助您分解数字应用程序、服务和产品的身份,特别是对于分散架构和交互式网络。它的目的是把一个模糊的主题,一个大问题,一个艰难而空洞的领域具体化。

第一部分分析了身份在数字产品中的作用

包括:

明确数字身份的定义和范围;

它给你的产品或服务带来的价值;

常见身份解决方案(如密钥对、链id、oauth登录和自定义解决方案)。

第二部分分享了在实施数字身份方面需要做些什么

包括:

建立身份系统的关键标准;

它必须支持的五个特征和能力;

适合你的灵活的技术栈模型;

一天成就未来的架构。

数字身份是一个发展迅速的领域,有着悠久的学术和实践贡献(我试图引用其中的一些),因此并不总是容易理解或接受。我的观点是通过帮助建立uPort和3Box,参与社区标准,共同撰写身份社会学的书籍来实现的。本系列绝不是完整的历史或完整的身份视图,但我希望它将有助于使基础架构的关键部分更容易理解和构建。

身份是什么?

在社会学、心理学和生物学领域没有公认的身份定义。学术研究的范围从严格的范畴集到模糊的概念。著名心理学家埃里克埃里克森说:

一个人写的[身份]越多,这个词就越成为一个术语。深不可测,因为无处不在。

埃里克森后来创造了“身份危机”这个术语。

身份定义的模糊性已经被带入了数字世界。技术人员在谈论身份时,可能会表达广泛的含义,或者是他们相关场景的子集。

揭开数字身份的神秘面纱(1/2)

这个图中描述的身份的各个方面是不一样的,每个方面的解决方案也是很不一样的,但是又是高度相关的。理解这些元素如何在一个公共框架下组合是成功的关键,并且可以将身份从一系列孤立的痛点转变为产品架构中最大的简化和增值之处之一。

无论你的身份目标和技术需求是什么,理解都要从人的层面出发,这也是我们经常误入歧途的地方。尽管有不完美的定义和差异,学者们几乎一致认为,与我们的本能和词汇相反,身份不是静态的、单一的或个人的。身份是动态的、多元的、社会性的。

如果我们想构建一个真正互联、可信和可用的、可以扩展到全球使用的Web3,我们应该在反映这一出发点的基础设施上构建它。我们会看到,强ID不是刚性的、固定的、孤立的,而是灵活的、动态的、可互操作的。

身份在产品中的作用

如果您正在构建一个应用程序(或钱包、服务、平台、网络),您可能需要用户。这些用户可能是主流消费者、开发者、组织和/或分散的组织。不管你服务的是什么类型的用户,目标都是一样的。让别人与你的产品互动,并从中实现价值。这意味着你想要:

消除注册、认证和参与过程中的摩擦

以最低的额外成本提供尽可能多的经验

专注于您的核心增值点,而不是闭门造车创建新的冗余基本应用程序

随着时间的推移,用户模型可以随着您的需求而增长

这些目标的解决方案取决于您如何管理用户。他们如何认证(登录)?他们可以互相交流(聊天/评论)吗?您能否提供跨越时间、设备和登录的持久个性化体验?能轻松与用户使用的很多其他产品和平台集成吗?

在传统的web应用程序中,这通常分为身份验证(与帐户创建、KYC等相关)。),认证(登录,防欺诈)和授权(权限,共享)。这种方法将随着更灵活的分权模式而改变。身份包括与如何管理、保护、服务和与用户组互动相关的一切。

身份需求随着成长而演变

随着产品的增长,管理用户组的需求会发生快速变化。

今天,您最大的“身份”难题可能是在您的应用程序中填充基本的公共配置文件信息,以便用户可以相互识别。下个月,它可能会存储用户历史和应用程序状态数据,如过去或正在进行的交易(如购物车)。下个季度可能是基础KYC,明年可能是反西比尔保护。这些产品需求中的每一个都有不同的潜在解决方案来解决不同的“身份”问题。

配置文件):我应该实现oauth还是映射到密钥的IPFS哈希?但是如果用户旋转按键或者使用多个按键呢?

,数据存储(Data storage):我应该将数据存储在纺织线程数据库中吗?但是,我如何允许用户管理访问控制而不增加更多的密钥类型和摩擦呢?

KYC/人类证明:我应该使用像Passbase这样的服务还是民主地球的技术?如何将此存档文件映射到现有用户?

Anti-Sybil :我应该使用BrightID还是Idena之类的服务?那么我如何将他们的图表映射到我的用户群呢?

独立实施这些解决方案显然有其自身的挑战,但您最大的痛点将来自于从一开始就没有使用正确的身份基础架构来以经得起未来考验的方式连接它们。

强大而灵活的身份基础架构自然可以将每个新需求扩展到以前的需求,而不是需要单独解决然后一起解决的新的孤立挑战。

身份是一个基础设施

它允许您有效地将任何信息与用户相关的功能绑定在一起。

一个好的身份基础设施应该使它变得简单和容易,以满足您不断增长的用户相关需求。如果你用过Okta或者blinking,你就会明白这是他们在努力为企业做的事情。他们的目标是为用户和帐户提供一个单一的记录系统,但他们是在一个清晰、有限和可控的企业环境中这样做的。在一个更加开放和不确定的环境中(比如Web3),一个好的身份基础设施需要以一种可预测的方式在一个未经许可和无限制的环境中工作。

这意味着您的身份基础架构必须足够定制,以满足您自己的需求,并且足够灵活,以与许多其他现有解决方案配合良好。它应该可以跨许多不同的网络、帐户/密钥和场景进行扩展和互操作。它不仅可以用于您正在使用的其他工具和服务,还可以用于您的用户正在使用的其他工具和服务,以及您将来可能需要的其他工具和服务。这不仅使身份管理变得更加容易,而且允许每个解决方案在其他解决方案的基础上创造复合价值。例如,KYC身份验证可以利用现有的用户配置文件信息,而反梅毒工具可以利用现有的KYC(和任何其他)身份验证。

也许最重要的是,身份系统应该独立于单一的组织、平台或模型运行。身份基础设施应该是一个开放和共享的协议,身份本身应该由用户管理和自治。

由于缺乏适当的身份基础而造成的建设问题

单键对身份

在当今的加密世界中,默认的用户“身份”通常是一个开放的区块链帐户密钥。这是合理的。为什么会这样?区块链钥匙已经需要管理资产,所以它们被用户广泛拥有。现在有很多很棒的钱包和SDK来管理它们。事实上,密钥和用于管理这些密钥的KMS解决方案(钱包)是验证应用程序和执行链交易的绝佳方式,但是单个密钥对不能成为任何想要扩展到具有有意义和持久用途的产品的用户身份基础设施。

使用单个密钥对作为IDentity id :的问题

没有单独或私人的活动来侵犯隐私,因为所有具有相同“身份”的交易都必须使用相同的公钥。

创建漏洞:当密钥用于签名和/或加密数据时,当密钥丢失或更改/轮换时,与您的产品相关的所有用户数据和历史记录都将丢失。

创建一个隔离的:信息,只能通过特定的密钥访问,没有机会实现钱包和网络之间的互操作性和可组合性。这与Web3的愿景背道而驰。

增加复杂性:向堆栈中添加分布式数据库和其他用户技术非常困难,因为它们使用不同的加密身份和访问控制系统操作。

放弃网络效应:您必须从头开始创建自己的用户网络、配置文件和数据,而不是使用现有数据来缓解用户的压力,跳过冷启动。

密钥对和钱包是Web3体验的核心部分,但它们应该补充(并紧密集成)优秀的身份基础设施。

链上,网络特殊身份

在区块链生态系统中,依赖单个密钥对进行认证的局限性已得到充分理解,这导致了基于智能合同和网络特定身份标准的认证尝试。2016年,uPort发起了基于以太网中心智能合同的身份认证,2017年发起了社会复苏[4],2018年发起了EIP 1056 [5] (Joel索尔斯滕森,Pelle Braindgaard)。法比安沃盖尔斯特勒已经写了许多版本的ERC-725,许多人试图为以太网或其他区块链网络建立多密钥身份模型。

问题:使用链上的网络特定标识符作为身份标识

隐私泄露:使用链上注册或智能合同存储身份信息(如ERC-725或ERC-1056)可能会泄露用户隐私或控制权。PII不应该进入一成不变的网络或数据仓库。

网络锁:要求为您或您的用户使用的每个网络创建不同的身份,这将在跨链世界中导致糟糕的开发人员和用户体验。

技术锁:随着新区块链、新技术、新用户模式的出现,需要管理更多的时间、成本和复杂性。

有限互操作性:无法从其他网络轻松获取数据或身份。

虽然这是对密钥使用的改进,但是为单个网络构建的身份标准——依赖于单个区块链。比如Ethereum ——把我们锁在了新的隔离状态,比web2的用户体验更差。我们正在走向一个多链的未来,像Filecoin、Arweave、Flow、Near、Celo和Solana这样的网络都将上线,并为以太博物馆正在建设的东西增加价值。一个更好的系统需要将标识(或身份)从任何特定的网络中分离出来,以便它可以与密钥一起在网络中使用。

Oauth登录

在短期内,一些应用程序可以很好地利用集中式服务进行身份验证。这可以简化用户体验(尤其是在改进钱包sdk之前)。但是,这种方法不适合希望提供完美、完整的Web3体验的应用程序。Web2登录是一种可行的认证方式,但不是身份解决方案。

使用Oauth服务作为IDentity id发出:

后端复杂性:需要构建和维护一个用户表,以跟踪oauth令牌、内部用户身份信息、用户区块链帐户和其他用户信息(如资产、交易和数据)之间的内部映射。

零散用户数据:登录方式与其他web3体验无关。这意味着随着其他web3产品的使用越来越多,开发人员已经错过了开放网络效应和围绕用户密钥构建的数据历史。

依赖第三方认证:认证能力依赖于你和用户之间的中间人服务,增加了风险和复杂性。

: Web2昂贵庞大的中间商服务无法扩展为高利用率的轻量级应用;加密认证不仅更安全,而且更有效。

Web3分散密钥管理和认证从早期开始就取得了很大的进步,现在在用户登录和用户体验上可以和0auth竞争。该领域的优秀产品请参考Magic、Torus、Metamask、Portis/Shape Shift、Argent、Rainbow和WalletConnect。

定制身份解决方案

认识到现有方法的局限性,许多应用程序或平台试图创建满足其需求的定制身份解决方案。这是可以理解的,在某些情况下被认为更有优势。然而,大多数人很快发现,身份面临一系列艰难挑战是有原因的,不仅是在Web3,在互联网之初也是如此。

使用自定义身份解决方案发布:

高风险:意外泄露用户隐私,丢失安全漏洞和漏洞(如密钥撤销),符合监管要求(GDPR和用户删除数据的权利),容易导致代价高昂且重大的风险。几十年不深入了解身份挑战的原因,涉足这个领域是一个沉重的负担。往好了说,它增加了很多复杂性,往坏了说,它会永久地损害用户和/或开发者的信任。

技术漏洞:定制解决方案通常仅用于定制的、特定的和预定义的用例。它们不能很好地扩展到应用程序中的其他新环境或应用程序之外的用例(和互操作性)。

生态系统排除:定制解决方案将您的用户(及其身份)与更广泛的社区发展的未来身份相关进展隔离开来,例如更好的检索选项、新的身份认证提供商、新的数据库和服务。为了便于使用,身份系统必须在加密和模式中“使用相同的语言”,这通常不是通过定制的解决方案来实现的。

在开发一个好的分散身份解决方案的过程中,可能需要一些定制的实现,但关键是至少要建立在核心的轻量级标准上,以确保未来可靠、低风险和更可扩展的身份功能。

统一身份系统的优势

网络3是一个全球性的集体运动,跨越许多不同的区块链、分布式数据库和生态系统。身份是跨这些不同技术和社区的互操作性的最重要部分。尽管智能合同和资产之间的互操作性很方便,但用户对Web3技术的采用取决于跨应用程序的持久、丰富和可管理的用户体验。

在一个最终用户需要同时处理许多钥匙和钱包(并跟踪每个场景中使用哪一个)的世界中,用户根本不采用Web3。另一方面,Web3相对于Web2最大的潜在竞争优势之一是共享的无牌照网络,允许开发者基于现有的用户、数据、体验的网络效应,共同构建和构建,速度比任何孤立的Web2产品都要快。

分享网络和网络效应是Web3相对于Web2最大的GTM优势。共享身份是利用这一点的关键。

如果Web3身份系统将用户和他们的数据资源隔离在每个区块链或应用程序中,我们正在伤害自己,因为Web3的进步已经成为部分的集合,而不是它们的总和。我们的每种产品都被锁定在一个更小、更弱、更没有吸引力的市场和性能组合中。

可互操作的身份将使用户能够在网络上无缝移动他们的所有信息、声誉、声明、数据和身份,并将使开发人员不仅能够使用可组合的资产,而且能够使用可组合的网络、用户、数据和服务进行构建。实现这一点的关键是一个基本的、共享的、灵活的身份标准,它适用于任何技术堆栈,为其提供新的功能,并将其连接到由其他对等体组成的不断增长的生态系统中。

该系列的第二部分“揭开数字身份的神秘面纱”,概述了成功身份标准的要求,探索了现有的工作,并帮助您开始构建。

未完待续:第二部分:伟大身份系统的一个要素[6]

参考材料

[1]连锁翻译计划: https://github.com/lbc-team/Pioneer

[2]威尔: https://learnblockchain.cn/people/617

[3]小熊: https://learnblockchain.cn/people/15

[4]2017社会复苏:/u port/making-u port-smart-contracts-smarter-part-2-introducing-identity manager-af 656 ba 7441 b

[5]EIP 1056: https://github.com/ethereum/EIPs/issues/1056

[6]第二部分:一个伟大的身份系统的要素: https://learnblockchain.cn/article/1457

[7]蜂窝网络: https://www.cellnetwork.io/? UTM _ souce=learnblockchain

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发