以太坊共同创办人 Vitalik Buterin 今日发布新部落格文章《Some personal user experiences》,详细说明了他曾遇到过的加密货币支付问题,并反思有什麽解决方法。
(前情提要:V神预测「2023 年三大机会」:钱包普及、抗通膨稳定币、以太坊登入)
(背景补充:V神「对以太坊技术不再兴奋」,更看好落地应用:加密支付、身份生态、DAO未来)
2013年,我去了旧金山互网路档案馆旁边的一家寿司店,因为我听说那里接受比特币支付,就想试一下。到了付帐的时候,我要求用比特币支付。我扫描了二维码,点击“发送”。令我惊讶的是,这笔交易没有成功。
它似乎已经发送出去了,但餐厅没有收到。我又试了一次,仍然一无所获。我很快就发现问题出在当时我的网路信号不太好。我不得不走了 50 多米,来到附近的网网档案馆,连上那里的 Wifi,终於可以发送交易了。
经验教训:网路不是 100%可靠的。我们需要更好的广播方式,如现场支付系统具有一些功能(NFC 和客户展示二维码等),允许客户直接将他们的交易数据传输给商家。
2021 年,我在阿根廷的一家咖啡店给自己和朋友买茶饮。他们解释并不是故意要我用加密货币支付。只是咖啡店老板认出了我,并向我展示了他在加密货币交易的一个帐户,所以我建议用 ETH 支付(使用加密货币交易所帐户作为钱包是拉丁美洲现场支付的标准方式)。
不幸的是,我的第一笔 0.003 ETH 的交易没有被接受,可能是因为它低於交易所的 0.01 ETH的最低存款。我又发送了 0.007 ETH。很快,双方交易都得到了确认(我不介意多付 3 倍的钱,就当是小费吧)。
2022 年,我试图在另一个地方买茶。第一次交易失败,因为我手机钱包的默认交易只发送了 21000Gas,而接收帐户是一个需要额外 Gas 来处理转账的合约。尝试发送第二笔交易失败,因为我的手机钱包UI 故障,使我无法向下滚动并编辑包含 Gas 限制的字段。
经验教训:简单而稳定的用户界面比花哨时尚的用户界面更好。但同时,大多数用户甚至不知道 Gas 限制是什麽,所以我们真的需要更好的默认设置。
很多时候,从我的交易在链上被接受到服务承认交易,甚至是“未确认”之间,都会有令人惊讶的长时间延迟。有些时候,我确实担心他们那边的支付系统有问题。
很多时候,在发送一个交易和该交易在一个区块中被接受之间会有长而不可预测的时间延迟。有时,一个交易可以在几秒钟内被接受,但其他时候,可能需要几分钟甚至几小时。最近,EIP-1559 显着改善了这一点,确保大多数交易被下一个区块接受,甚至最近的 Merge(合并)通过稳定区块时间进一步改善了这一点。
然而,异常值仍然存在。如果你在许多人发送交易的同时发送了一笔交易,而基础费用却在飙升,那麽你就有可能因为基础费用过高而导致交易不被接受。更糟糕的是,钱包的用户界面不擅长显示这一点。没有明显的红色警报,也很少有明确的指示你应该做什麽来解决这个问题。
即使是专家,他们知道在这种情况下应该通过发布一个具有相同数据但具有更高“最大值基本费用”(max-basefee)的新交易来“加速”交易,但通常可以这样做的按钮用户并不清楚在哪里。
经验教训:关於设计交易的用户体验(UX)需要改进,尽管目前有简单的修复。要感谢 Brave 钱包团队认真考虑了我在这个问题上的建议,首先将最大基本费用限度从 12.5% 提高到 33%,最近又尝试了让“阻塞交易”的提示在用户界面中更明显的方法。
2019 年,我在测试最早的一个试图提供社交恢复的钱包(social recoverywallet:一种更新的智能合约钱包,提供高水平的安全性和更好的可用性)。与我喜欢的基於智能合约的方法不同,他们的方法是使用 Shamir 的秘密共享将帐户的私钥分割成五个部分,以这种方式,任何三个部分都可以用来恢复私钥。
用户需要选择5个朋友(现代术语是“监护人”),说服他们下载一个单独的移动应用程序,并提供一个确认码,用於通过 Firebase 从用户的钱包创建一个经过加密的连接到朋友的应用程式,并将他们分享的私钥发送给他们。
这种方法很快就给我的钱包带来了问题。几个月後,我的钱包出了问题,我需要使用恢复程序来恢复它。我让我的朋友们通过他们的应用程序和我一起完成恢复过程,但事情并没有按计划进行。其中两人丢失了私钥分片(key shard),因为他们换了手机,忘记移动恢复应用程式。
第三个原因是,Firebase 连接机制在很长一段时间内都不起作用。最终,我们找到了解决问题的方法,并恢复了私钥。然而,几个月後,钱包又出现问题。这一次,常规的软体更新不小心重置了应用程序的存储、并删除了它的私钥。但是我没有添加足够的参与恢复程序的伙伴,因为 Firebase 连接机制太差了,不能让我成功地做到这一点。我最终损失了少量的比特币和 ETH。
经验教训:涉及私密信息分享的链下社交恢复真的很脆弱,这是个坏主意,除非没有其他选择才选它。参与你的恢复程序的朋友(监护人)不应该下载单独的应用程序,因为如果你的应用程式只用於恢复这样的特殊情况,那麽很容易忘记并丢失它。
此外,需要独立的中心化通信渠道也会带来各种各样的问题。相反,添加参与恢复程序的监护人的方式应该是提供他们的 ETH 地址,恢复应该通过智能合约完成,使用 ERC-4337 帐户抽象钱包。这样的话,监护人只需要不丢失他们的以太坊钱包就可行。
在 2021 年,我试图通过使用 self-relay 选项来节省使用 TornadoCash 的费用。Tornado Cash 使用“中继”(reply)机制,第三方将交易推到链上,因为当你提现时,你的提现地址通常还没有代币,你不想用你的存款地址支付交易,因为这会在两个地址之间创建一个公共链接,这是 Tornado Cash试图防止的问题。问题是中继机制通常很昂贵,中继收取一定比例的费用,可能远远高於交易的实际 Gas 费用。
为了节省成本,有一次我在第一次小额提款时使用了中继机制,收取的费用较低,然後我自己使用 Tornado Cash 中的“自中继”功能发送了第二次较大的提款,而不使用中继。问题是,我搞砸了,在登录我的存款地址时不小心操作失误,所以存款地址支付了费用,而不是提现地址。导致我在两者之间创建了一个公共链接。
经验教训:钱包开发者应该开始更明确地考虑隐私问题。此外,我们需要更好的帐户抽象形式,以消除对中心化或甚至“联合中继”的需求,并使中继角色商品化。
其他存在的问题总结
好的用户体验至关重要。一个表面看起来乾净整洁的用户界面,但在 0.723% 的时间段里做了一些奇怪的、无法解释的事情,将导致出现巨大问题,这比一个向用户暴露更多真实存在的细节问题的用户界面更糟糕。直接暴露问题至少可以让用户更容易理解发生了什麽,可以知道问题所在并将其解决。
除了由於规模尚未完全解决而产生的高交易费用这一最重要的问题外,用户体验是许多以太坊用户(尤其是南半球用户)经常选择中心化解决方案而不是链上去中心化替代方案的关键原因,而链上去中心化替代方案将权力掌握在用户及其朋友和家人或当地社区手中。
多年来,用户体验取得了巨大的进步。特别是从 EIP-1559 之前的平均交易需要几分钟才能完成,到 EIP-1559 和合并之後的平均交易需要几秒钟,这让使用以太坊变得非常愉快。但在开发这条路上我们仍然道阻且长。
📍相关报导📍
Vitalik撰文:到底什麽是「制度」?
全文|Vitalik :中心化交易所如何做资产证明?
Vitalik撰文「以太坊Layer3的愿景」: 怎样的L3才合理?不该重复堆叠Rollups (全文)
Vitalik Buterin 长文:什麽是网路国家?以及我对构建网路国家的看法
骇客也看涨ETH!Wormhole攻击者将1.5亿赃款「杠杆做多」以太坊