• 2

  • 247

  • Favorite

以太坊单点登入:是什么?为什么?如何实现?

Unitimes

Unitimes官方账号

2 months ago

​撰文:Brantly Millegan,ENS 运营总监

编辑:南风

以太坊社区偶然发现了一个解决互联网长期存在的问题的方案:单点登录

我们知道,Web2 服务要求用户在每个新服务平台创建一个新的用户名和密码组合,但 Web3 则相反:用户可以拥有自己的用户名、个人资料数据和安全的身份验证方法,并在多个服务中使用同一个帐户

我称之为使用以太坊进行登入 (Sign-in with Ethereum)

01. Web2 存在的问题

互联网没有内置的用户认证和身份识别模式。IP 地址识别的是设备,而不是人;DNS (域名系统) 从来就不是用于对人进行命名,而仅是用于对服务进行命名。

但这些互联网服务需要知道你是谁。所以它们创建了「用户名+密码」的范式。这种方式运行得很好,尤其是对精通技术的人来说,但也存在我们都知道的问题:人们重复使用弱密码,并且会出现注册疲劳,更不用说黑客攻击和数据转储的问题了(编者注:数据转储是指定期将数据复制到另一存储设备上保存起来的过程。当数据库遭到破坏后可以将后备副本重新装入,将数据库恢复到转储时的状态。)

此外,你的每个账户之间都是孤立

在过去的十年中,一种解决方案是「Social Sign-On」(使用第三方账户登入)。你可能已经有了谷歌、Facebook、Twitter 等账户,所以为什么不使用其中一个账户来登录呢?这似乎是一个双赢的局面:用户不需要创建一个新帐户,服务平台也不需要为其用户管理用户名和密码系统。

虽然这是一种改进,但 Social Sign-On 的方式仍然有一些明显的缺陷。这种方式不可能是中立的,因为它依赖于这些私营公司,使得这些公司成为系统的故障点,而且我们也不希望某个私营公司胜出并完全成为整个互联网的登入选项。

我们需要的是一个中立的、去中心化的、安全的、由用户控制的用户名和身份认证协议,所有服务都可以使用。

02. 引入以太坊

要拥有一个去中心化的单点登录系统,你需要三样东西:1) 一个被广泛采用的、供用户生成私钥的标准;2) 使人们更容易管理这些私钥的工具;3) 一个去中心化的命名和个人数据存储系统。

1) 每个人都拥有一个私钥

比特币在解决第一个和第二个问题方面发挥了作用。比特币使用公钥/私钥对让用户控制自己的比特币。以太坊也使用相同的方式来让用户管理自己的账户。

加密货币的价值,加上以太坊生态系统的实用性,首次充分激励了两件事情是实现:1) 使大量用户都能够获得一个私钥;2) 发展出一个帮助人们管理私钥 (我们称之为“钱包”) 的行业。

虽然还有很多改进的空间,但就在过去几年里,加密行业在私钥管理创新方面出现了爆炸式增长:想想硬件钱包、MetaMask、WalletConnect、社交恢复钱包等等。

换句话说,强调隐私保护和自由的密码朋克意识形态在过去几十年里没能说服人们做到的事情,加密货币激励在短短几年里就做到了。一旦你拥有了一个用于存储加密货币和使用以太坊 dApps 的私钥,你就可以使用这个私钥来做其他事情,包括对消息进行签名以进行身份验证

2) 解决Zooko 三角

密钥对可以由软件自动生成,但如果想要一个人类可读的用户名,难道我们不需要一个可信的第三方来在某个地方存储这些用户名并对这个命名空间 (namespace) 进行管理吗?

这就是 Zooko 三角 (即 Zooko's triangle,以 Zcash CEO,Zooko Wilcox 的名字命名),它是指网络中命名系统的三个理想性质三难困境,也即命名系统不可能同时是去中心化的、安全的和人类可读的

但区块链解决了这个三难困境。2011 年推出的区块链系统 Namecoin,首次尝试了使用区块链技术进行去中心化命名,但从未得到广泛采用。但 2017 年作为以太坊区块链上的一个 dApp 而推出的 ENS (以太坊域名服务) 已经成功地作为 Web3 的标准得到了广泛采用:

用户可以在 ENS 上注册一个以 .eth 为后缀的域名,而无需接触到任何中心化服务,然后使用自己的以太坊账户来托管该域名

你可以使用你的 ENS 域名来作为你的便携式 Web3 用户名存储个人资料数据 (比如头像),或者使用它来简化加密货币支付,甚至建立一个去中心化的网站。

这并非只是一个概念,当前这已经是 Web3 中的惯例了。想要使用一个 dApp?你只需连接你的钱包,该 dApp 将使用你的 ENS 域名来作为你的用户名

需要注意的是,虽然一些 dApps 只会让你连接你的钱包,但其他一些 dApps 也会要求你对一条消息进行签名。在前一类 dApps 中,你只是将你的钱包连接至一个在你的浏览器本地运行的 web 应用程序;而在后一类 dApps 中,你实际上是正在向该 dApp 的服务器进行身份验证。

比如 Uniswap、Showtime、Aavegotchi、Cryptovoxels、OpenSea、SnapShot、Etherscan等 dApp 应用。

03. 反对的声音

1) 这种方式早已在其他地方存在了

我在Twitter上得到的最常见的回应是“这个小小的区块链社区居然已经有了这个功能”或者“这个没人用的互联网标准早在几年前就已经尝试过了”。

当然,Single Sign-On (使用第三方账户登入) 并不是什么新鲜的想法,且的确这方面已经有很多的尝试了。

但需要理解的关键是,使用以太坊登录已经自然地发展到实际的使用中,它并不是一个没人想使用的解决方案,它已经在 Web3 中使用了

2) 但这是另一个标准

我不认为传统的「用户名+密码」的系统或「Social Sign-On」会很快消失。但使用以太坊登录已经是不断增长的 Web3 生态系统的标准和常态,量 Web3 用户的需求将推动 Web2 服务在现有的登入选项的基础上增加这一选项。如果用户想在任何地方使用他们的以太坊账户和 ENS 用户名和个人资料,他们可能会实现。

与现有的登入选项不同的是,使用以太坊登入是可信中立由用户控制的

3) 普通用户无法管理自己的私钥

担心用户丢失了他们的线上账户?

如果这会导致他们无法访问自己的加密货币资产呢!

加密货币行业已经有了更大的动力来解决这些问题。因此,围绕着让普通用户更容易管理他们的私钥 (也即“钱包”),已经形成了一个规模庞大、竞争激烈的行业。

事实是,我们可以使用相同的私钥来进行身份验证,这是其一个令人愉悦的附加好处。

4) 那么隐私保护如何?

当涉及到区块链时,隐私保护确实是一个问题。

虽然有诸如零知识证明和混合器 (mixers) 这样的技术可以帮助保护用户隐私,但目前最好的方式就是拥有不止一个以太坊账户:至少有一个账户是公开的,另一个账户是隐私的 (比如用于存储你的大多数加密资产)。

要知道,你可以很容易生成新的以太坊账户,且如果你愿意,你的 ENS 域名可以使用假名

5) 你只是在偏向以太坊和 ENS

的确,我持有 ETH,我也是开发和管理 ENS 的团队一员。

我相信这让我有了偏见,但事实是,以太坊是几乎所有 dApps 创新发生的地方,ENS 拥有比所有其他基于区块链的命名协议加起来都更多的生态系统支持

需要说明的是,我所在的管理 ENS 的团队是一个非营利组织,主要依靠以太坊基金会的拨款生存,且所有从 .eth 域名注册中筹集的资金都流向一个以太坊社区多签账户。到目前为止,这些资金的大部分都没有使用,唯一的例外是在今年 5 月份向 Gitcoin Grants 捐赠了 70 万美元。其中的计划是这些资金最终将用于资助 ENS 的长期发展、ENS 生态系统,甚至可能用于资助以太坊协议的开发,我们拭目以待。

04. RFP:敬请期待

ENS 和以太坊基金会正在共同资助一项 RFP (提案征集),旨在实现以太坊登入的标准化

我们需要有人或团队来评估开发人员正在做的事情,并将其编译成具有最佳实践的标准,以及创建一个 Oauth 实现和 Javascript 库,以使 Web2 服务更容易将“使用以太坊登入”作为登入选项添加进来。目前我们正在整理申请,请继续关注!

05. 总结

一旦你习惯了 Web3 模式,你拥有自己的便携帐户和用户名,旧的 Web2 用户名和密码模式就真的开始过时了,甚至会变得令人讨厌。

我认为,未来当我们回顾互联网早期这种孤岛式的「用户名+密码」的时代时,会认为这是一个匪夷所思的时期。“用户需要为每个服务平台都创建一个密码?简直疯了。难以想象人们还能忍受!”

以太坊最终实现了我们一直想要的中立、去中心化的互联网单一账户。就其本身而言,这是一个巨大的突破,尽管与以太坊正在做的其他事情相比,它可能看起来很小!

让我们继续构建未来。

免责声明:文章版权归原作者所有,其内容与观点不代表Unitimes立场,亦不构成任何投资意见或建议。

247

Relevant articles

未登录头像

No more data