如何开始学习Web5
6月10日,当杰克-多西宣布建立 “web5 “的计划时,互联网可想而知地陷入了狂欢。准确地说,web5将是TBD推出的一个新产品的名称,TBD是Block的一个专注于比特币的子公司。但是,在这场相当于对人类处理讽刺的能力进行的文明规模的测试中,精确性并不重要。
当然,在某种程度上,web5这个名字是作为一个笑话。然而,多西所称的web5背后的技术事实上是非常真实的,并可能大大塑造互联网的未来。
我怎么知道?好吧,幸运的是,我去年年底开始探索 web5。我阅读了开创性的 web5 文献,测试了 web5 产品,破解了 web5 代码,并走遍了全国,结识了 web5 社区的成员。
当然,我探索的主题在当时并不叫web5。而且根据大多数人的说法,它今天也不叫web5。但由于杰克-多西的宣传噱头,这个词吸引了一些人对 “去中心化的身份 “和 “去中心化的网络节点 “这一主题的关注,这些实际的未被美化的技术推动着TBD的工作。
但是,抛开名字不谈(为了这篇文章,我还是坚持用 “web5″),这些东西都是什么,你怎么能开始了解它们?
web2和web3的问题
首先解释一下web5试图解决什么问题可能会有帮助。今天的互联网(又称 “web2″)上的大多数功能都是使用简单的客户端-服务器架构建立的。网络应用程序通常被设计成基于服务器的应用程序,由软件供应商运行。而终端用户通过客户端应用程序与这些服务器进行交互,通常在网络浏览器中运行。
客户端-服务器架构很简单,允许终端用户访问软件而不需要运行他们自己的任何基础设施。但是,这种简单性对用户和软件供应商来说都有弊端。
第一个缺点是缺乏数据的可移植性。在客户端-服务器架构中,每个应用程序默认是一个信息孤岛。如果任何给定的互联网用户(比方说 “爱丽丝”)使用十个不同的应用程序,这将导致对爱丽丝有十个不同的表述,尽管爱丽丝只是一个实际的人。这种情况对爱丽丝显然是不方便的,她必须在十个不同的地方维护她的账户信息。但对软件供应商来说,这也是昂贵的,所有十个软件供应商都需要从头开始录入爱丽丝–即使她的身份和声誉已经被爱丽丝使用的其他服务所确立。
第二个坏处是缺乏隐私。由于所有数据都存储在服务器端,用户实际上无法控制他们的个人信息如何被使用。虽然一个应用程序的 “服务条款 “是一个有约束力的法律文件,但典型的互联网用户没有时间去阅读它们–此外,他们缺乏对软件供应商是否遵守这些条款的了解。虽然这种情况有时对软件供应商有利,但这些优势往往被保护其数据和遵守最新数据隐私法规的成本所抵消。换句话说,没有人是赢家。
所有的架构都有优点和缺点,这是软件工程的一个不争的事实。劣势的存在并不意味着使用某个特定的架构是一个错误。但是,随着互联网的重要性的增加,我们应该问:我们在过去所做的权衡是否仍然有意义?如果不是,我们有什么选择?
Web3已经向我们展示了web2的数据可移植性问题的一个潜在解决方案。通过使用公共区块链作为一种全球存储层,Web3应用程序允许用户将他们的数据从一个应用程序带到另一个应用程序。没有更多的入职表格——只要 “与Metamask连接 “就可以了。
但是,web3在隐私方面的失败是相当惊人的。毕竟,公共区块链上的数据只是:公共的。允许web3应用程序无缝共享数据的相同机制也将相同的数据暴露给其他约80亿人。诚然,这种激进的透明度使web3成为一个令人兴奋的社会实验。对于那些保持化名的用户来说,缺乏隐私可以说是一个较小的问题,他们只能通过他们的加密货币钱包地址和猴子的GIF来识别。但这也使得标准的web3架构不适合需要任何隐私措施的使用情况。
今天的web3还有其他一些缺点,使其成为web2的一个糟糕的继承者。举几个例子:缺乏对交易接受者的同意机制,缺乏对密钥旋转或帐户恢复的支持,以及对NFT的可验证性的挑战。关于更全面的讨论,我想让你看看Disco创始人Evin McMullen在22年ETH丹佛的演讲,以及Signal创始人Moxie Marlinspike的这篇博文,反映了他对web3的第一印象。
总而言之,web3暗示了一个更好的互联网,但并没有让我们到达那里。它为用户提供了无摩擦的数据可移植性和对审查制度的有力保证。但它通过牺牲隐私来做到这一点,限制了它在主流应用中的潜力。
进入web5
幸运的是,我们有可能保留web3的优点,同时改进其隐私属性。正如你可能看到的那样,这就是web5的全部内容。
Web5通过给用户提供相当于数字钱包的功能,使他们能够保留对其数据的实际拥有权。这种方法对于习惯于使用数字钱包来存储其私钥的web3用户来说听起来很熟悉。但web5将其提升到了一个新的水平,允许用户存储比加密私钥更多的东西。就像在物理世界中一样,web5数字钱包是一个存储身份证、会员卡、支付卡、钥匙卡、专业或教育证书等的地方–实际上是你在日常工作中可能需要出示的任何 “证明”。
方便的是,这种方法从一开始就解决了数据可移植性问题。如果用户维护他们自己的数据的主副本,从逻辑上讲,就没有必要在其他地方保持更新。
但让用户实际拥有他们的数据是容易的部分。困难的部分是找出如何在这种模式下构建工作软件,保留我们在web2和web3中享有的那种功能。广义上讲,有两个问题需要解决,以使用户持有的数据可以用于构建真正的应用:
通信:在web5中,终端用户直接调解对其数据的访问。这与web2和web3完全不同,web2和web3都允许开发者假设他们所需要的数据只需通过网络调用。web5应用程序的开发者将需要一种方法来定位、安全地沟通,并向他们的用户请求特定的信息。
数据的完整性:如果用户实际拥有他们的数据,他们也可以轻易地修改数据。web2和web3都有一些数据完整性的保障措施。数据库可以在多个层面上得到保障,区块链也提供了自己的数据完整性保障。对于关注数据完整性的用例,web5应用程序将需要自己的机制来防止数据被篡改。
web5是如何工作的
近年来,web5的先驱者们一直在努力解决这些确切的问题。今天,有大量的技术标准、软件库和商业产品可供那些想开始建设的开发者使用。
尽管现在说什么技术最终会获得青睐还为时过早,但在使web5发挥作用所需的高层次架构和组件方面已达成普遍共识。以下是关键的概念:
代理/DWN’s。在web5中,用户的 “代理”执行两个基本功能:它存储他们的数据,并与其他代理通信以提供或请求数据。代理一般可分为 “钱包 “或 “云代理”。钱包被设计为客户端应用程序,通常实现为移动应用程序或浏览器扩展。云代理是网络服务,被设计为可寻址的IP地址,可全天候响应入站请求。TBD团队的工作主要围绕着去中心化的网络节点(DWN’s),这是一个新的云代理规范。
DID’s & DID文档。web5中的每个实体,不管是人还是其他,都由一个或多个全球唯一的 “去中心化的身份 “或DID来识别。每个DID通常与一个非对称加密密钥对相关。实体可以使用他们的私钥来证明对相应DID的控制。此外,DID可以用来在两个DID持有人之间建立一个安全的通信渠道。为了进行通信,DID持有人必须首先交换 “DID文件”,其中包含每个DID的公钥和其云代理的URL。
信任注册表。信任注册表基本上是一个DID持有人的目录,以及关于这些实体的相关元数据。它通常用于 “DID解析 “过程,或为特定的DID持有人查找DID文件。并非所有的web5用例都需要信任注册表,因为在许多情况下,DID持有者可以直接交换DID文件。当需要信任登记处时,实现通常使用区块链,或在其之上的 “layer 2″协议。基于区块链的技术自然适合这一目的,因为其防篡改特性有助于在DID解析过程中防范中间人式的攻击。
可验证的凭证。可验证凭证(VC)是web5对让用户存储自己的数据所固有的数据完整性风险的回答。VC是由 “发行者 “创建和签署的数据,证明接收者或 “持有人 “的属性。持有人然后可以将VC交给 “验证者”,验证者可以使用发行者的签名来确认数据没有被篡改。发行人、持有人和验证人之间的这种三方安排通常被描述为一个 “信任三角”(如下图)。
总之,这些基元使网络上的隐私和信任达到一个新的水平。终端用户受益于对他们所分享的信息的细粒度控制。企业和其他组织通过利用其用户的现有信任关系的知识而受益。我们得到了web3的可移植性属性,以及比web2或web3更好的隐私属性。
但我们之前说过,所有的架构都有优势和劣势。那么,web5有什么好处呢?当然,web5并不隐蔽的缺点是它的复杂性。下图显示了web2、web3和web5并列的基本架构:
说得温和一点:这种复杂性不会使web5更容易在现实世界中获得吸引力。开发人员将不得不学习新的架构概念和协议,用户将不得不适应新的交互模式,科技公司将不得不使用尚不存在的商业模式提供新产品。正如火狐浏览器首席技术官Eric Rescorla在他最近探索web5的博文结尾所指出的那样,我们还必须面对在web5更通用的“脚手架”之上定义特定领域协议的困难任务。
由于这些原因和其他原因,web5并非是不可避免的。但是,将其带入生活的工作已经在进行中,而且似乎并没有放慢速度。
进入兔子洞
对于那些有兴趣进一步探索web5的人来说,我整理了一些我认为有帮助的关于该主题的参考资料。我没有试图做到面面俱到,而只是尽我所能收集了一个多样化和高信噪比的清单。这应该是足够的,可以开始了!
学习资源
成为Hyperledger Aries的开发者(https://learning.edx.org/course/course-v1:LinuxFoundationX+LFS173x+3T2021/home)。这是我所知道的关于去中心化身份主题的唯一免费在线课程。尽管是纯文本的,但它相当不错。该课程教授基本的去中心化身份概念,并通过基于Hyperledger生态系统的实践教程进行说明。
Identosphere(https://newsletter.identosphere.net/)。最好的专门针对去中心化身份的通讯。它由Kaliya Young(又名 “身份女人”)撰写,她是这个领域的专家、作家和社区建设者。
自主权身份(https://www.amazon.com/Self-Sovereign-Identity-Alex-Preukschat-ebook/dp/B098PGCSXT)。对 “自我主权身份 “的全面概述,这是另一个你会看到与 “分散身份 “交替使用的术语。该书涵盖了该领域的所有方面,包括技术架构和标准,以及现实世界的应用和实施考虑。各个章节由该领域的专家贡献。
SSI Orbit(https://podcasts.apple.com/us/podcast/the-ssi-orbit-podcast-self-sovereign-identity/id1552622325)。采访了该空间的各个建设者和其他利益相关者。由Northern Block的创始人/CEO Mathieu Glaude主持,Northern Block(https://northernblock.io/)是一家位于加拿大的自主权身份解决方案公司。
DID的基本原理和深入研究(https://www.youtube.com/watch?v=SHuRRaOBMz4)。由该领域的早期先驱Drummond Reed对去中心化的标识符进行了可理解和透彻的解释。
Demos
Animo. Animo的这个互动演示引导参观者通过一个简单的工作流程,使用去中心化的身份和可验证的凭证。不需要技术知识。
不列颠哥伦比亚省政府。不列颠哥伦比亚省政府在采用去中心化的身份识别技术方面走在前列,并向公众提供了几个演示。
Aries Framework JavaScript。这个技术性更强的演示讲述了在你的终端中运行一个去中心化的身份代理,并让他们通过DIDComm进行连接和通信。
社区和活动
互联网身份研讨会(https://internetidentityworkshop.com/)。每年两次聚会,议程通常围绕着去中心化的身份主题。该研讨会采用 “非会议 “的形式,即与会者在某种程度上决定议程。我在四月份去了,感觉很好。组织者还不定期地举办在线活动。
去中心化身份基金会(https://identity.foundation/)。一个非营利组织,旨在推进去中心化的身份技术。他们定期举办工作小组,讨论和推进生态系统中多个利益相关者使用的标准。会议对公众开放。
Trust Over IP Foundation(https://trustoverip.org/)。Linux基金会内的一个团体,专注于促进该空间内的有组织的合作。他们的重点往往更多的是在信任生态系统的实施上,而对低级别的技术标准关注较少。
W3C凭证社区小组(https://www.w3.org/community/credentials/)。一个W3C小组,专注于开发标准,以支持可验证的证书的创建、存储、验证和交换。
公司
Trinsic(https://trinsic.id/)。一个基于SaaS的开发者工具包,用于建立可验证的凭证生态系统。最近进行了一轮融资,其中包括来自Okta和Auth0创始团队的天使投资人。作为一个开发者,这可能是目前建立基于可验证凭证的功能的最简单方法。
Indicio(https://indicio.tech/)。另一家建立基于去中心化身份的端到端解决方案的公司。他们是众多解决方案商店之一,但因其对开源的奉献和对开放标准的重大贡献而引人注目。
Spruce(https://www.spruceid.com/)。为开发基于去中心化身份的解决方案建立开放源码工具。专注于服务web3生态系统和公共区块链应用。还领导开发了以太坊标准和参考实现。
Ceramic Network(https://ceramic.network/)。为去中心化的应用程序建立一个数据存储工具包。他们的技术利用去中心化的身份,将存储的数据与特定的用户或区块链账户联系起来。要看它的操作,请看Nader Dabit的这个现场编程演示。
Cheqd(https://cheqd.io/)。为可验证的凭证生态系统建立基础设施和相应的基于代币的激励机制。启动一个生态系统可能是潜在的发行人、持有人和验证者之间的一个困难的协调挑战。Cheqd 希望以他们的 $CHEQ 代币形式支付的费用助力让人们更快地加入。
标准和规格
去中心化的身份(https://www.w3.org/TR/did-core/)。W3C的去中心化身份,是唯一识别个人用户或实体的基本要素。该标准为 “DID方法 “的定义留下了很大的空间,这些方法在实施中可能会有很大的不同,这在W3C的DID入门书中有进一步描述。
可验证的凭证(https://www.w3.org/TR/vc-data-model/)。W3C关于 “可验证凭证 “的标准,是关于DID持有人的加密证明的基本要素。尽管该标准广为人知,但它实际上并没有考虑到实施者使用的凭证格式的所有变化。这种缺乏现实世界的标准化对实现实施者之间的互操作性提出了挑战。
DIDComm(https://identity.foundation/didcomm-messaging/spec/)。DID持有人之间安全、有状态的通信协议。DIDComm的 “有状态性”使它对定义更高级别的、特定领域的协议很有用。它最常用于协调代理之间的凭证交换。
去中心化的网络节点(DWN)(https://identity.foundation/decentralized-web-node/spec/)。可以代表个人互联网用户或其他DID持有者行事的网络服务的规范。允许开发定制的服务端点,可以代表控制DWN的用户接受请求。虽然TBD团队没有明确表示,但这个标准可能是他们Web5产品的基础。
可验证的法律实体身份(vLEI)(https://www.gleif.org/en/vlei/introducing-the-verifiable-lei-vlei)。一个用于唯一识别法律实体及其代表的框架。这是一个很好的例子,说明可以使用可验证的凭证和去中心化的身份作为基元来构建特定领域的规范。
开源项目
ACA-Py(https://github.com/hyperledger/aries-cloudagent-python)。一个基于Hyperledger Aries规范的云代理实现。代表一个或多个DID持有者行事,使用DIDComm发送和接收消息和证书。
dwn-sdk-js(https://github.com/TBD54566975/dwn-sdk-js)。由TBD构建的去中心化网络节点规范的部分实现。看起来是一项正在进行的工作,但应该是可用的。
Veramo(https://github.com/uport-project/veramo)。一个通用的Javascript工具箱,用于构建去中心化的身份和可验证的证书。高度模块化,允许开发者使用各种DID方法、协议、凭证格式等建立应用程序。
Ion(https://github.com/decentralized-identity/ion)。一个兼容比特币的 “二级 “网络,专门用于在区块链上锚定DID信息,没有直接使用比特币网络的缺点。执行Sidetree协议(https://identity.foundation/sidetree/spec/),该协议本身并不针对比特币。
推特账户
Kaliya Young(@IdentityWoman)。去中心化身份专家、作者和社区建设者。在推特上介绍整个生态系统的发展,包括标准、产品开发工作以及现实世界的部署和用例。
Kim Hamilton Duffy(@kimdhamilton)。去中心化的身份工程师,目前在Centre领导身份标准,Centre是一个专注于去中心化金融的治理和标准的联盟。在推特上发表关于去中心化的身份技术的文章。
Evin McMullen(@provenauthority)。Disco.xyz的创始人,一个去中心化互联网的社交档案。虽然Disco还在启动前,但Evin已经确立了自己作为web3生态系统中可验证的证书作为NFT的替代品的支持者。
Dan Buchner(@csuwildcat)。目前是Block公司去中心化身份的负责人,Dan是原始DWN规范的编辑,也是TBD的开源工作的贡献者。如果需要了解高信号的去中心化网络,以及更多你(可能)想知道的 “自愿自由主义”可以关注他的推特。
Drummond Reed(@drummondreed)。Drummond是自我主权身份领域的早期先驱,他是Evernym的首席信任官,Evernym是首批将可验证的证书商业化的公司之一。他在推特上发布了关于更广泛的去中心化身份社区所发生的事情。
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場