转自公号:老雅痞
本文探讨Web2如何过度到Web3生态系统的问题,以及身份如何在其中发挥重要作用。
我认为Web3将会持续存在一段时间。我所说的Web3是指优先考虑用户选择和所有权的哲学、概念和技术,并可用于建立去中心化的服务。区块链、代币、协议、服务、dApps和用户的密钥构成了Web3。
我不清楚它会有多成功,而且我认为今天的一切都不会如此。但我认为它会成功。我相信它已经在某些方面取得了成功。
我还认为Web3不是"唯一"存在的网络。它将与Web2共存,至少在若干年内。我不是唯一这么认为的人。
在那之后,也许会出现另一种范式。作为一名开发人员,尤其是为其他开发人员构建产品的开发人员,我花了很多时间思考这意味着什么。我认为以书面形式分享我的想法可能会很有趣。
这篇文章主要是为:
构建与?Web3?服务对话的?Web2?应用的开发人员
构建希望被?Web2?应用程序使用的?Web3?服务的开发人员
在这篇文章中,我链接了以太坊的文档和概念,因为我对这些最熟悉,而且它是当今最大的开发者平台。类似的事情也适用于其他许多链。
声音 | Galaxy Digital创始人:山寨币需要向比特币学习如何逐步吸引用户建立生态系统:加密公司Galaxy Digital创始人Mike Novogratz认为,并不是所有的山寨币都会成功,但是一些具有潜力和价值的必须寻求建立渠道,以使人们和机构更容易购买它们。他表示:”有很多垃圾筹集了很多资金,但没有可持续性。他们承诺要建立许多协议和生态系统,然后吸引用户使用该生态系统,使之成为投机资产。为了保持投机市场的活力,需要时不时以新闻和更新的形式加油。我们必须将这些代币视为风险投资。”同时他补充说,这些山寨币之所以失败,是因为它们在如何将人们引入其生态系统方面没有发挥作用。他强调这样的山寨币必须仰赖比特币,并观察该生态系统如何为逐步采用奠定基础。(AMBCrypto)[2019/10/7]
使用?Web3?结构的?Web2?应用程序
?Web2应用程序可以通过Web3构造增强用户的体验。
——Shopify正在潜心研究"tokengatedcommerce",根据用户的NFTs来定制购物体验。这里有一篇关于这个问题的非常清晰、深入的文章。代币化商务是一个美妙的想法。你所拥有的东西说明了你喜欢的很多东西。根据你的NFTs定制购物体验感觉很自然。
——Twitter和Stripe正在合作,允许加密货币支付,使内容创作者很容易用加密货币获得报酬。
——Reddit正在区块链的基础上建立其社区积分系统。
这些都是面向消费者的大型平台。他们没有成为dApps,但他们正在涉足Web3。
动态 | Kyle Samani发推质疑Block.one如何在两年时间花掉 8 亿美元:著名区块链投资机构 Multicoin 创始合伙人 Kyle Samani 发推质疑 EOS 背后的开发公司 Block.one 如何在两年时间中烧掉 8 亿美元。Kyle Samani 发表推文称,如果 Block.one 通过 ICO 融资了 40 亿美元,现在的资产负债表上有 32 亿美元的资产,那么这家有 200 名员工的公司如何在两年时间里花掉了 8 亿美元现金?Kyle Samani 还称,Block.one 进行了 1.8 亿美元风险投资,但这不是支出,即便把这些投资的账面资产都减记为 0 ,时间也不够用。而 Staked.us 的联合创始人 Jonathan Marcus 则表示,Block.one 花费的那 8 亿美元中,最少有 5.3 亿美元用于股权回购,因为 Block.one 过去两年共进行了两次股权回购,一次花费了 3 亿美元,最近又回购了 2.3 亿美元的股权。[2019/6/3]
这对开发者意味着什么?
开发者将需要弄清楚如何整合Web2和Web3的世界。我们已经开始看到这种情况以不同的方式出现,但创建开发者工具和基础设施的公司正在探索和实施Web3的整合。
Stripe正在建设?Web3?支付基础设施
Auth0宣布支持Ethereum的登录方式
谷歌云正在组建一个?Web3?团队
模式:这些建立Web2开发基础设施的大公司现在正在创建一些组件,使Web2应用程序开发人员能够轻松地与Web3概念集成,而不需要全身心投入。
动态 | 社科院法学所刊文《对“去中心化”的区块链如何监管》:中国社科院法学所赵磊在《经济参考报》发表题为《对“去中心化”的区块链如何监管》的文章。文章指出,对区块链技术的监管,应该分为两个层面:一是结合区块链技术的具体应用场景,分行业进行监管;另一是针对区块链,制定专门的技术标准,以实现区块链技术的规范、统一。而判断某种商业活动或者社会管理活动是否可以应用区块链,至少应该从以下两方面进行衡量:一方面是区块链技术只能在虚拟空间中应用;另一方面是区块链技术无论在何种场景中应用,必须符合其去中心化、共识机制与分布式记账等技术特征。[2019/1/10]
他们正在Web2和Web3世界之间建立一座桥梁。他们的桥接是关于允许Web2的开发者与Web3的结构进行互动,这也是这篇文章的重点。
桥接的另一个方面是让Web2的数据对Web3的开发者可用。如果这篇文章引起开发者的兴趣,我可能会就此再写一篇博文。
?Web3?的信任模式
Web3的理念是去中心化。每个用户都拥有他们的数据,他们的$代币,等等。
?Web3的信任模型依赖于非对称密码学,其中信任的来源是用户的私钥。
虽然有一些委托的用例,但用户通常不会选择第三方作为信任代表,而委托将是用户的选择。
为使Web2和Web3之间的桥梁存在,关于用户地址所有权的信任必须在两个方向流动。
声音 | 推特CEO:推特正在“考虑”如何应用区块链技术:据coindesk报道,推特CEO Jack Dorsey今日向美国国会委员会表示,该社交媒体公司正在为其平台探索区块链解决方案。Dorsey表示,区块链具有很多未开发的潜力,特别是围绕分布式信任和分布式执行。推特目前没有在区块链上研究得那么深入,但Dorsey愿意了解应怎样把区块链应用到推特,该公司现在确实有员工在“考虑”此事。[2018/9/6]
身份是桥梁的结构
归根结底,在Web3的背景下,用户的地址是他们的"身份"。这代表了他们是谁。所以,他们可能有许多这样那样的身份,每一个都是他们在不同背景下呈现的独立"身份"。
沟通Web2和Web3的世界意味着解决桥梁两边的身份问题,并使开发者能够轻松地在此基础上构建。
当然,在搭建桥梁时,Web3的原则不应受到影响。我们可能需要调整Web3身份协议和标准的工作方式,以适应Web3的需求和理念。
一切从地址开始
一个Web3地址有一个相关的私钥和公钥。
地址的数量正在快速增长:
EthereumAddresses
但活跃地址的数量增长较慢:
BM:对代理如何运作和“dApp开发者”如何计费的理解可能需要调整:北京时间今日凌晨,BM在开发者群发表对代理如何运作和“dApp开发者”如何计费的理解:
??1)所有CPU/带宽都是“执行操作的用户”;
??2)所有存储都按照dApp的选择向用户或dApp付费;
??3)dApp开发人员希望授权用户将带宽委托给用户;
??4)授权带宽理论上可以用于任何dApp。
现在想象一下,你是一个社交媒体公司,希望为用户提供免费账户。用户在您的网站上注册,您为他们创建一个区块链账户,然后将一些带宽委托给他们。您的应用可以选择为每个授权用户支付有限的存储空间,这使他们能够在他们需要携带自己的存储空间之前,拥有N份杰出的帖子和V张投票。如果您的应用不想为用户支付存储费用,则该应用可能完全是BYOS(注:Bring your own storage,使用你自己的存储)和BYOB(注:Bring your own Bandwith,使用你自己的带宽)应用。如果用户不继续他们的订阅或停止使用您的服务,那么您可以将带宽重新分配给其他用户。[2018/4/30]
活跃的以太坊地址https://etherscan.io/chart/active-address
从上面的图表中,我们可以推断出,积极使用以太坊地址的互联网用户的比例很低。Metamask两个月前说他们有3000万月活跃用户。但是,那些不拥有地址的用户呢?
要让Web3获得海量用户的长期采用,必须有一条铺设好的道路让大众用户采用它。不是每个人都对加密世界有兴趣。一种允许用户继续使用他们习惯的模式,并且只有在他们后来想知道区块链时才会意识到的方法是非常有价值的。
虽然地址的数量增长极快,但所有互联网用户中相对较小的群体才拥有他们的私钥:要么离线创建密钥对,要么通过硬件钱包。更多的是以"托管钱包"的形式存在,由服务机构来管理钥匙。像Binance或Coinbase这样的中心化交易所是最常见的例子。
虽然从Web3/去中心化的角度来看,这可能并不"纯粹",但它是非常积极的。它把Web3的一些想法带到了大众中。
从开发者的角度来看,连接Web2和Web3世界意味着托管服务必须将区块链地址与用户账户相关联,安全地管理密钥,并提供控制以管理钱包的互动。
像magic.link、bitski和venly这样的服务正在帮助Web2连接Web3世界,为典型的Web2登录机制创建密钥对,并为开发人员提供API和UI来管理这些私钥。
一旦用户控制了一个私钥,这就是乐趣的开始:)
用我的私钥登录
让我们看一下一个相对简单的场景,看看它在Web2和Web3应用程序中是如何工作的。用户:
在一个应用程序上识别。
将他们的头像更改为{inputA}并保存。
意识到他们在#2中犯了一个错误。
将他们的头像更改为{inputB}并保存。
一个Web3应用程序允许用户"连接"他们的一个地址。这种操作本质上是给浏览器提供用户的区块链地址。除了区块链和其他去中心化的服务之外,没有任何"后端"。通常情况下,需要在Web3组件上验证用户的操作需要来自用户私钥的签名信息。
Web3案例
有了Web2协议,用户不必在每次操作时都采取行动来证明自己的身份。用户通常只需登录一次,客户端/浏览器就会存储一个凭证,并在随后的请求中发送给后台,后台用它来验证用户的身份。
Web2案例
上面的图是过度简化的,以表达观点
Web2的用户体验更好。衔接Web2世界和Web3世界需要保持与Web2类似的用户体验,当调用区块链时,证明用户控制了私钥并打算执行每个具体操作。
作为Web2应用程序的一部分,开发人员如何将地址与用户账户联系起来?
上一节提到的服务已经将私钥与用户账户关联起来。但是,那些没有的服务呢?如果用户使用Metamask、Argent、Trezor或任何其他类型的钱包呢?
这就是用以太坊登录解决的问题。它允许用户与一个服务建立一个会话,使用他们的私钥作为证明地址所有权的凭证。
图片来源:https://auth0.com/blog/sign-in-with-ethereum-siwe-now-available-on-auth0/
如果这听起来很有趣,你应该关注@signinwitheth和@SpruceID。
而一旦Web2应用知道用户的区块链地址是事实,这就开启了一个可能性的世界。
潜在的使用案例
一旦用户的Web3身份被知晓,Web2的开发者自然会想进一步发展。这将意味着:
读/写与地址有关的公开可用数据,并将其用于业务逻辑。我们把这些称为"不需要用户认证的操作"。
读/写需要认证的数据。让我们把这些称为"需要用户认证的操作"。
让我们详细看看每一项,以了解它如何运作。
不需要用户认证的操作
这是最简单的情况。开发人员将能够调用任何需要地址且不需要认证的API。我想到的一些用例是:
读取ENS或UnstoppableDomains以获取配置文件数据并显示它,如果用户选择拥有它,这将为“全球公共用户名和配置文件图片”打开可能性。
通过获取用户的POAPs并根据这些POAPs限制对资源的访问,实现令牌门禁。
将资产转移到一个用户的链上地址。
下一步,如果他们成为主流,使用像人类证明这样的服务来避免假的用户账户。
请注意,还有其他方法可以通过可数字验证的证书来实现其中的一些目标,而且这些方法不需要公共数据。但这是另一篇文章的故事...
需要用户认证的操作
哦,事情开始变得很棘手:)我们都已经习惯了这样的对话框。
如果你想让Web2应用访问你的Gmail数据,你要用Google登录,然后得到一个对话框,同意你希望的Web2应用访问的账户中的资源。
这对Web3服务应该如何操作?如果你的Web2应用程序想要读取存在于两个不同的Web3服务中的数据。
你应该同时"登录"它们吗?
还是只同意向他们俩授予应用程序权限?
每种情况下的用户体验是怎样的?
在Web2应用程序的背景下,一个由认证服务器发出的令牌被用来访问Gmail的API。Web2应用程序代表用户向API进行多次调用时发送该令牌。在Web3服务的情况下,这应该如何操作?
用户应该为每次与Web3服务的互动签署一份协议吗?这不是最好的用户体验...
他们应该把权限委托给应用程序吗?如何委托?
Web3服务需要如何适应这些授权情况?
Spruce公司的开发者已经开始思考如何解决这一挑战。我认为这是向前迈出的积极一步。我们需要了解用例和实际场景,以将这些案例概括为所有开发人员的可重复模式/指南。
我想这是未来挑战的一个重要部分。
总结
我很想知道你对此有什么看法,因为我正在积极思考并努力弄清这些东西。作为我的团队在Auth0Lab的工作的一部分,我们正在探索如何在Web2和Web3的世界中架起桥梁,而不是仅仅在一个应用程序的背景下,而是在为所有开发人员提供工具的背景下。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。