原文标题:《WhySign-InwithEthereumisaGame-Changer-Part1》
原文作者:Rocco
原文编译:ETH中文
「使用以太坊登录」(Sign-InwithEthereum,SIWE)颠覆了用户在互联网上的选择。
用户不再需要向一些大型中间商妥协,现在可以使用控制其区块链账户的同一个私钥直接登录(不需要经过中间商)。通过SIWE,我们开辟了另一条道路,大公司不再能剥夺用户访问服务的能力,也不能监视他们的行为。
SIWE是一个完全公开的认证标准,通过与dapp、app、钱包、安全公司等社区成员的公开讨论来实现。你可以在网站login.xyz上找到所有的会议记录和笔记。这种方法与科技巨头或政府供应商的专有身份系统的封闭式开发大相径庭(受到隐私和数字权力倡导者的抗议)。
知情人士:a16z加密基金今年上半年已蒸发约40%:10月26日消息,知情人士表示,a16z加密基金在今年上半年蒸发了约40%的价值,其中今年前六个月在Coinbase的剩余股份中就损失了29亿美元,目前其正在进行调整,今年第三季度宣布了9笔加密初创公司投资,低于去年第四季度26笔的高点。(华尔街日报)[2022/10/26 11:44:55]
相比之下,Sign-InwithEthereum(EIP-4361)为以太坊账户定义了一种开放的知识共享(creativecommons,CC)签名格式,以安全地验证任何基于网络的服务。SIWE由社区构建,获得以太坊基金会和ENS的直接支持,并且Spruce于去年年底开始负责该项目。我很高兴能在这里讨论「使用以太坊登录」的意义,以及对于Web3的所有构建者来说它是如何超越「连接钱包」的。
Kava Network宣布Kava 11流动性质押主网通过所有审计和测试:10月20日消息,Kava Network宣布,Kava 11 Liquid Staking Mainnet通过了所有审计和测试,正式发布时间为10月2 日16:00UTC。[2022/10/20 16:32:46]
连接钱包vs.使用以太坊登录
「连接钱包」这个按钮是现在dapp的主要功能。点击这个按钮,用户就开始了与Web3和区块链交互的旅程。
通过连接钱包,应用程序可以知道你使用的是哪个账户;然而,仅此而已。你的钱包更容易了解你想用哪个账户来与智能合约互动、发送加密货币,甚至通过dapp对信息进行签名。连接钱包的功能非常简单——dapp对你「毫无记忆」,只是为简单的交互搭建了一个平台。
当应用程序想要和用户进行更丰富的情境交互(contextualinteractions)时,比如加载用户的偏好或隐私聊天讯息,我们首先需要确保我们是在和该账户背后的实际私钥持有者对话,而不是某个假装对账户持有控制权的人。「连接钱包」不提供这种保证,但SIWE可以。换句话说,我们需要对用户进行身份验证,以便与他们建立一个session,然后安全地读写他们的数据。为了说明两者的区别,我举了以下两个例子——连接钱包的Carl和建立session的Sam:
Cardano创始人将原ETC官方推特账号移交给Ergo团队:10月9日消息,根据Ethereum Classic DAO、Cardano创始人Charles Hoskinson和新推特账户Ethereum Classic(@eth_classic)在推特上的激烈讨论,此前ETC的官方推特账号为Charles Hoskinson持有,拥有67.2万粉丝,在Hoskinson称ETC为“死气沉沉”的项目时,Ethereum Classic DAO要求其将ETC官方推特账号归还给ETC社区,Hoskinson回应称这是他的账号,不会将其给ETC社区。
之后Hoskinson将该推特账号分配给了Ergo团队,并改名为Ergo(@Ergo_Platform),而Ethereum Classic注册了新账号@eth_classic,并发推文控诉了Hoskinson的行为,称Hoskinson并不是该账号的创建者,而是由前ETC社区成员@ChuckSRQ于2016年7月创建,Hoskinson作为一直被视为ETC社区帐户的保管人最终控制了该帐户,Kevin Lord随后以IOHK员工、独立员工、ETC Coop员工、以及再以独立员工的身份经营了多年。Ethereum Classic称“Ergo带走了6年多来建立的所有ETC历史和关注者”。[2022/10/9 12:50:06]
(译者注:Session在是一种用来在客户端与服务器端之间保持状态的解决方案。其基于思路是:客户端第一次访问时,服务器端生成一个sessionid返回给客户端,当然服务器端也会把这个sessionid存在内存中,客户端得到这个sessionid后,在后续的每个请求中会把这个sessionid传回服务器,这样服务器查询自己内存就知道这个客户端曾经访问过。Session可以用来实现用户的登录认证。服务器端生成的sessionid传回客户端后,往往会保存在cookie中,所以Session-based认证也称为Cookie-Based认证。来源)
加州要求NEXO停止提供收益型产品:金色财经报道,加州金融保护与创新部针对加密贷款机构Nexo的加密计息账户发布了一项禁止令。
该制止文件称,Nexo的赚取利息产品账户是证券,“在没有事先资格的情况下被出售和出售,违反了《加州公司法》第25110条。截至2022年7月31日,超过18000名加州居民拥有活跃的Earn Interest产品弹性或定期账户;这些账户总共持有至少17480万美元的投资。”(the block)[2022/9/27 22:32:08]
Carl使用dapp并有一个很好的体验。他可以在Uniswap上进行交易,在Aave上借贷,甚至在OpenSea上购买NFT。进行这几项操作只需要连接他的钱包。Carl的操作一直都挺顺利的,直到有一天,他遇到了这样的问题:他希望这些dapp能够记住他的一些情况,以便在他第三次、第四次和第五次使用这些dapp时,能给他更好的体验。
加拿大保守党领袖候选人:央行不应该引入数字货币:金色财经报道,加拿大保守党领袖候选人Pierre Poilievre表示,央行不应该引入数字货币,因为它应该留给私营部门。他的批评主要集中在贾斯廷?特鲁多(Justin Trudeau)政府创造的5000亿美元赤字上,这迫使加拿大央行推出了一系列量化宽松政策和印钞,在后来被证明是高通胀的主要原因。这位候选人在推特上称该机构为“金融文盲”。Poilievre声称要恢复人民的购买力,保护他们的财务自由,他承诺如果当选为官方反对党领袖,他将扩大审计长的权力。通过这种方式,他相信民选官员可以让负责印钞的机构对其货币政策负责。此外,他誓言要“阻止有风险的央行数字货币”,因为他认为这是侵蚀人们金融福祉的一种手段。(cryptopotato)[2022/4/29 2:40:16]
Carl在想,如果Uniswap能自动导入他的优先清算权,Aave能够记住他最喜欢的借贷市场,甚至OpenSea能记住他的名字而不是0x2Fe1a3...这样的账户,他的体验会好很多。Carl每次连接他的钱包时都要从头开始。
Sam就不会有这样的问题了。Dapp对其进行了认证并且建立了session之后,相关信息就会被保存下来。即便Sam断开连接并且重新进行认证,session也会从他离开时的状态继续,应用程序仍然记得与他相关的一切。他的信息甚至可以保存在他控制的一个远程数据库中。
使SIWE一元化
纵观Web3领域,你会发现许多现有的服务提供某种形式的"Sign-InwithEthereum",但没多少能达到标准的。他们通常会使用它来和用户建立一个基于cookie的session,该session可以管理该账户相关的专有元数据。比如,如果你想要给用户权限在你的网站上自定义他们自己的个人档案(像OpenSea那样),你应该在用户可以做出任何更改之前对他们进行身份验证,以确保只有用户可以编辑他们自己的个人档案。工作流程如下所示:
连接钱包后的第一步是给用户提供人类可读的消息,这样他们才能理解自己进行了什么交互。在很多案例中,用户看到的是"LOGIN"(登录)字样,或者一些让你登录的文字,甚至有时只是一个任意的数字(在这里,对这个随机的疯狂的字母和数字集合签名吧)。那么相反,我们可以根据现有实践确定一组必需的字段、设定好许多良好的安全措施和一个在人类可读和安全运行之间平衡的严格语法。此外,钱包不需要改变它们现有界面和实践,至少可以继续为用户提供这类信息。
首先,我们可以接收所有这些混乱的「SIWE」信息,并以一种可接受的通用方式向用户提交请求:
共享信息-共享界面
对签名信息格式达成一致后,应用程序和钱包现在可以说同一种语言了。当应用程序向用户提交签名请求时,钱包可以检查该请求,检查它是否与EIP-4361(SIWE)信息相符,并让用户知道他们正在登录一个网站。
在这一点上,钱包可以呈现一个友好的程式化的界面,让用户体验更佳,并且不对用户将要采取的行动产生任何怀疑。而不是给用户一个任意的文本块来签名。用户现在只需点击一个确认对话框来「登录」,因为钱包能够「理解」签名请求。为了实现完全透明,EIP-4361规范中声明所有信息和字段仍然必须在其他子界面(如详细视图)中可用。
从EIP-4361的信息中,我们可以得到一个更清晰的界面:
该规范还为钱包引入了额外的安全要求,例如引入域绑定以防止钓鱼攻击;引入nonces以防止重放攻击,用户在整个过程中得到了进一步的保护。比如,如果钱包发现一个有效的SIWE信息,但是用户正在对example.com进行签名(但实际上是在exampie.com),钱包可以警告用户该情况:
身份验证之外
SIWE信息也可以被理解为访问特定资源的授权,或者对session私钥的委托,以提高dappUX的功能性和易用性。例如,想象一下,在这样一个世界里,用户可以使用他们保留的数据来丰富他们自己的session,而不是应用程序保存用户的数据。想要了解更多信息,强烈建议大家看看这篇文章:《FromSign-InwithEthereumtoSessionKeys》
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。