HOT:为什么「使用以太坊登录」具有革命性?_obtc币挖矿

原文标题:《WhySign-InwithEthereumisaGame-Changer-Part1》

原文作者:Rocco

原文编译:ETH中文

「使用以太坊登录」(Sign-InwithEthereum,SIWE)颠覆了用户在互联网上的选择。

用户不再需要向一些大型中间商妥协,现在可以使用控制其区块链账户的同一个私钥直接登录(不需要经过中间商)。通过SIWE,我们开辟了另一条道路,大公司不再能剥夺用户访问服务的能力,也不能监视他们的行为。

SIWE是一个完全公开的认证标准,通过与dapp、app、钱包、安全公司等社区成员的公开讨论来实现。你可以在网站login.xyz上找到所有的会议记录和笔记。这种方法与科技巨头或政府供应商的专有身份系统的封闭式开发大相径庭(受到隐私和数字权力倡导者的抗议)。

BKEX已经支持基于波场链发行的BTC的充值及提现:据最新消息,BKEX已经支持基于波场链发行的BTC(TRC20-BTC)的充值及提现。据悉,TRC20-BTC 由 JUST 基金会发行,是继发行量突破 40 亿美元的 TRC20-USDT 之后,波场(TRON)网络资产的又一力作。任何 BTC 持有者都可以参与 TRC20-BTC 的发行,目前 P 网(Poloniex)已支持 TRC20-BTC 兑换。TRC20-BTC合约已由第三方代码审计公司慢雾科技进行审计。[2020/10/21]

相比之下,Sign-InwithEthereum(EIP-4361)为以太坊账户定义了一种开放的知识共享(creativecommons,CC)签名格式,以安全地验证任何基于网络的服务。SIWE由社区构建,获得以太坊基金会和ENS的直接支持,并且Spruce于去年年底开始负责该项目。我很高兴能在这里讨论「使用以太坊登录」的意义,以及对于Web3的所有构建者来说它是如何超越「连接钱包」的。

BBKX平台ETF专区行情 ETC3L日内涨幅超20%:据BBKX行情显示,BBKX交易平台ETF专区多个币对持续上涨,截至今日13:20(UTC+8),

ETC3L/USDT当前净值0.0412美元,日内涨幅20.46%,

BCH3L/USDT当前净值0.0377美元,日内涨幅13.89%,

LTC3L/USDT当前净值0.0315美元,日内涨幅12.9%。

杠杆ETF是一种锚定标的资产价格变化的指数基金。BBKX平台目前已经上线BTC、ETH、EOS多个主流币种以及HT、BNB、OKB等平台币。

BBKX成立于2019年6月,以“共创未来,共享红利”为原则,致力于打造专业的衍生品交易平台,已获得节点资本和链上基金的联合战略投资。[2020/3/17]

连接钱包vs.使用以太坊登录

「连接钱包」这个按钮是现在dapp的主要功能。点击这个按钮,用户就开始了与Web3和区块链交互的旅程。

动态 | Trader联盟应邀在BBKX平台进行首场直播:据官方消息,今晚20时,trader联盟代表Stark应邀加入BBKX平台的直播间,以ETF为主题从产品和技术角度进行了精彩的图文解说,用户反应热烈。

Trader联盟是一支平均具有十年以上期货交易经验的团队,于2019年加入区块链行业,专注做主流币合约交易。

BBKX于2月14日上线ETF,已开通BTC/ETH/EOS/LTC/ETC/BSV/BCH/XRP八个币种(3倍杠杆)共计16个币对。ETF具有一键多空、无需保证金、永不爆仓、复利收益等优势,是衍生品重要组成部分。[2020/2/19]

通过连接钱包,应用程序可以知道你使用的是哪个账户;然而,仅此而已。你的钱包更容易了解你想用哪个账户来与智能合约互动、发送加密货币,甚至通过dapp对信息进行签名。连接钱包的功能非常简单——dapp对你「毫无记忆」,只是为简单的交互搭建了一个平台。

当应用程序想要和用户进行更丰富的情境交互(contextualinteractions)时,比如加载用户的偏好或隐私聊天讯息,我们首先需要确保我们是在和该账户背后的实际私钥持有者对话,而不是某个假装对账户持有控制权的人。「连接钱包」不提供这种保证,但SIWE可以。换句话说,我们需要对用户进行身份验证,以便与他们建立一个session,然后安全地读写他们的数据。为了说明两者的区别,我举了以下两个例子——连接钱包的Carl和建立session的Sam:

(译者注:Session在是一种用来在客户端与服务器端之间保持状态的解决方案。其基于思路是:客户端第一次访问时,服务器端生成一个sessionid返回给客户端,当然服务器端也会把这个sessionid存在内存中,客户端得到这个sessionid后,在后续的每个请求中会把这个sessionid传回服务器,这样服务器查询自己内存就知道这个客户端曾经访问过。Session可以用来实现用户的登录认证。服务器端生成的sessionid传回客户端后,往往会保存在cookie中,所以Session-based认证也称为Cookie-Based认证。来源)

Carl使用dapp并有一个很好的体验。他可以在Uniswap上进行交易,在Aave上借贷,甚至在OpenSea上购买NFT。进行这几项操作只需要连接他的钱包。Carl的操作一直都挺顺利的,直到有一天,他遇到了这样的问题:他希望这些dapp能够记住他的一些情况,以便在他第三次、第四次和第五次使用这些dapp时,能给他更好的体验。

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》

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-3:776ms