Why Sign-In with Ethereum is a Game-Changer - Part 1

spruce发布于2022-03-02更新于2022-03-02

文章摘要

Sign-In with Ethereum is a game-changer for user choice on the Internet. Instead of submitting to "Big Login," users can now login using the same keys controlling their blockchain accounts--without an intermediary.

Sign-In with Ethereum is a game-changer for user choice on the Internet. Instead of submitting to "Big Login," users can now login using the same keys controlling their blockchain accounts--without an intermediary.

Sign-In with Ethereum is a game-changer for user choice on the Internet.

Instead of submitting to "Big Login," users can now login using the same keys controlling their blockchain accounts--without an intermediary. This approach has the promise but not guarantee to rebalance power dynamics in favor of the user. With Sign-In with Ethereum, we open a path where large corporations can no longer strip a user's ability to access services nor spy on their actions.

Sign-In with Ethereum is an open standard for authentication developed entirely in the open, informed through public discourse with community members across dapps, apps, wallets, security firms, and far more. You can find all the meeting recordings and notes on login.xyz. This approach is a far cry from the closed development of proprietary identity systems found in tech giants or government vendors, rightfully protested by privacy and digital rights advocates.

In contrast, Sign-In with Ethereum (EIP-4361) defines an open creative commons (CC) signing format for Ethereum accounts to securely authenticate with any web-based services. It was built by the community with direct support from the Ethereum Foundation and ENS, with Spruce tapped to lead the charge late last year. I'm excited to discuss the significance of Sign-In with Ethereum, and how it is so much more than "Connect Wallet" for all builders in Web3.

Connect Wallet vs. Sign-In

The "Connect Wallet" button is a staple of dapps today. Hitting the button starts one's journey into Web3 and blockchain interactions.

However, connecting a wallet allows you to tell the app which account you claim to be using, and the guarantees stop there. It's more for your wallet to understand which account you want to use to interact with smart contracts, send crypto around, or even sign messages through the dapp. Connecting a wallet is incredibly basic--the dapp remembers nothing about you and is establishing a front for simple interactions.

When applications want richer contextual interactions with users, such as loading their preferences or private chat messages, we need to first ensure we're talking to the actual keyholder behind the account, and not someone just pretending to control the account. "Connect Wallet" does not provide this guarantee, but Sign-In with Ethereum (SIWE) does. Put another way, we need to authenticate the user to establish a session with them to securely read and write their data. For this example, I would like to introduce Connected Carl and Session Sam:

Connected Carl uses dapps and has a great time. He can make trades on Uniswap, lend on Aave, or even buy an NFT on OpenSea, just by connecting his wallet. For a while, things are going quite well for Carl until one day, he runs into an issue: he wishes these dapps remembered something about him to give him a better experience when he came around the third, fourth, and fifth times he used them.

Carl is thinking about how much better his experience could be if Uniswap automatically imported his liquidation preferences, Aave remembered his favorite lending markets or even OpenSea remembered his name rather than a 0x2Fe1a3... account. Carl has to restart from square one each time he connects his wallet.

Session Sam doesn't have this problem. After authenticating with dapps and establishing a session, this information is saved. Even if Sam disconnects and authenticates again, Sam continues from where he left off and has everything still remembered about him in the application. His information can even be saved in a remote data vault that he controls.

Unifying Sign-In with Ethereum

Across Web3, you will find many existing services offering some form of "Sign-In with Ethereum," but not many to standard. They will typically use this to establish a cookie-based session with a user which can manage privileged metadata about the account. For example, if you want to give users the ability to customize their own profiles on your website (such as OpenSea does), you should authenticate the user before they can make any changes, ensuring that only the user can edit their own profile. The workflow for this looks like the following:

The first step after connecting a wallet is to give users a human-readable message so they can understand what they're getting themselves into. There have been plenty of cases where users are presented with "LOGIN," some inconsistent phrasing about "signing in," or even sometimes just an arbitrary number ("here, sign this random crazy set of letters and numbers"). Instead, we can define a set of required fields based on existing practices, a number of good security measures, and a rigid grammar that strikes the balance between human-readable and safe. Additionally, wallets wouldn't have to change their existing interfaces and practices to at least continue to serve users this kind of message.

We can first take all these jumbled 'Sign-In with Ethereum' messages and have an accepted common way of presenting users with the request:

Common Message - Common Interface

With an agreed-upon signing message format, apps and wallets can now speak the same language. As the app presents the user with a signing request, the wallet can then check the request, check if it would fit as an EIP-4361 message, and let the user know that they're signing into a website.

At this point, instead of presenting the user an arbitrary block of text to sign, the wallet can present a friendly stylized interface that feels good and removes any doubt about the action the user is about to take. The user can now just "Sign-In" by clicking a confirmation dialog because the wallet understands the signing request. For full transparency, the specification states that the entire message and fields must still be made available in additional sub-interfaces (such as a detail view).

From the EIP-4361 message, we now get a cleaner interface:

The specification also introduces additional security requirements for wallets, such as domain binding to prevent phishing attacks and nonces to prevent replay attacks, the user is further protected throughout the experience. For example, if the wallet finds a valid SIWE message but the user is signing for example.com but is actually on exampie.com, the wallet can warn the user about the situation:

Beyond Authentication

Sign-In with Ethereum messages can also be interpreted as authorizations to access particular resources, or a delegation to a session key for increased functionality and ease-of-use around dapp UX. For example, imagine a world where instead of an app holding a user's data, a user can instead enrich their session with data they retain? For more on that, we highly recommend checking out the following:

From Sign-In with Ethereum to Session Keys

Session keys let users root all their digital interactions to their keys.

Spruce

Wayne Chang

I'll be following this post with an additional one about the benefits Sign-In with Ethereum for Web2. Until then - go implement SIWE!

As we continue our work supporting Sign-In with Ethereum, we especially welcome implementers who already have users relying on similar workflows, authors of related EIPs, and wallet vendors who would like to do more to support user-owned identities to join us.

你可能也喜欢

BTC市场脉搏:第22周

比特币过去一周震荡走低,价格从7.9万美元跌至7.4万美元附近低点后,反弹至7.7万美元左右。价格动能下降21.7%,显示市场买盘力量减弱,卖压有所增加。但同时,现货和永续合约的累计成交量增量(CVD)分别上升77.2%和35.5%,表明卖压正在缓解,市场情绪趋于平衡。交易活跃度下降,现货交易量减少10%,期货未平仓合约下降3.5%,反映出市场投机意愿减弱,投资者态度更加谨慎。 市场亦显现出风险偏好回升的迹象。多头资金费率大幅飙升135.4%,表明市场对多头敞口的需求强烈,看涨情绪有所改善。期权市场25-Delta偏度小幅上升,显示对下行保护的需求略有增加,而未平仓头寸保持稳定。 在传统金融领域,美国现货ETF的MVRV(市值与实现价值比率)微升0.69%,表明ETF持有者的未实现盈利略有扩大。ETF资金净流出状况改善28.9%,显示资金外流压力减轻,情绪趋于稳定,但ETF交易量下降22.9%,意味着相关投机活动放缓。 从网络活动看,每日活跃地址数和实体调整后的转账量均小幅下降,暗示市场可能进入盘整阶段或投资者活动减少。流动性指标显示市场流动性状况更趋稳定,呈现出信念增强、投机活动减少的盘整特征。 然而,盈利指标提示市场压力可能正在增加。净未实现盈利亏损比显著下降,已实现盈利亏损比则显示获利了结减少而亏损实现增加,表明市场情绪偏向谨慎甚至看跌。 总体而言,市场显示出温和与盘整的迹象,特点是活动减少、情绪谨慎以及风险偏好交织。这种复杂局面突显了持续密切关注市场动态和投资者行为的重要性。

insights.glassnode1小时前

BTC市场脉搏:第22周

insights.glassnode1小时前

BTC市场脉搏:第20周

比特币在当周从77,000美元高位震荡上行至82,000美元低位,尽管在局部高点附近动能有所减弱,但买家继续吸纳回调。现货CVD(累计成交量差额)飙升,反映了强烈的看涨情绪和价格上涨的信心增强。同时,现货成交量增加,表明近期的价格走势获得了更多投资者参与,势头增强。然而,价格动能的放缓暗示买卖压力更加平衡,市场可能进入一个潜在的稳定阶段。 期货市场也显示出相似的风险偏好增加迹象。期货未平仓合约上升,表明投机活动升温且市场愿意承担更多风险;永续合约CVD飙升,表明持续的看涨动能。然而,多方资金费率下降,暗示空方兴趣有所增加,看涨情绪可能正在减弱。 期权市场中,对下行保护的需求下降,未平仓合约上升,表明市场预期转向中性至略微看涨。然而,波动率利差激增,表明期权定价蕴含的风险远高于已实现风险,这反映了市场参与者中存在较高的不确定性。 链上活动显著增强,每日活跃地址、实体调整后的转账量以及总手续费收入均有所上升,指向用户参与度提高和网络活动增加。同时,流动性状况持续稳定,短期投机资本的减少降低了立即的卖压,而已实现市值变化则显示出适度的净资本流入。 盈利能力指标也有所改善,市场已从未实现亏损转回盈利状态。然而,处于盈利状态的供应量百分比仍低于通常与大规模获利了结相关的水平,表明市场乐观情绪仍然克制,而非狂热。 总体而言,比特币的市场结构继续改善,得到更强链上活动、更健康的盈利能力和更稳定的持有者仓位的支撑。虽然看涨基调正在形成,但较温和的资本流入和谨慎的情绪表明市场对风险偏好的变化仍然敏感。

insights.glassnode1小时前

BTC市场脉搏:第20周

insights.glassnode1小时前

交易

现货
合约

热门文章

加密市场宏观研报:美国“加密货币周”来袭,ETH开启机构军备赛高潮

本周,加密市场迎来两股重磅催化——华盛顿“加密货币周”的立法攻势与以太坊机构布局的密集爆发,共同构成加密行业2025年下半年的“政策拐点”与“资金拐点”。这一轮加密周期的深层逻辑,正从比特币转向以太坊、稳定币及链上金融基础设施。我们认为:美国的政策明朗化+以太坊的机构化扩展,标志着加密行业正进入结构性转正阶段,市场配置的重心亦应逐步从“价格博弈”过渡至“规则+基础设施的制度红利捕捉”。

1.7k人学过发布于 2025.07.17更新于 2025.07.17

加密市场宏观研报:美国“加密货币周”来袭,ETH开启机构军备赛高潮

相关讨论

欢迎来到HTX社区。在这里,您可以了解最新的平台发展动态并获得专业的市场意见。以下是用户对ETH(ETH)币价的意见。

活动图片