文章分享了作者在不同时间点使用加密货币进行支付的个人经历,包括遇到的技术问题、用户体验的不足以及从中获得的教训。文章还讨论了一些改进建议,如优化用户界面、提高交易确认的可靠性和隐私保护。
在2013年,我去了一家位于旧金山互联网档案馆旁边的寿司餐厅,因为我听说它接受比特币付款,我想试试。到了付账的时候,我请求用BTC支付。我扫描了二维码,并点击了“发送”。令我惊讶的是,交易没有成功;似乎已经发送,但餐厅并没有收到。我又试了一次,仍然没有好运。后来我 figured out 了问题是,当时我的移动互联网信号不好。我不得不走到离互联网档案馆50多米的地方才能访问其WIFI,这才成功发送了交易。
教训: 网络并不是100%可靠,而顾客的网络比商家的网络更不可靠。我们需要面对面支付系统具有 某些 功能(NFC、顾客展示二维码、等等),以允许顾客直接将交易数据传输给商家,如果那是最好的广播方式。
在2021年,我在阿根廷的一家咖啡馆尝试为自己和朋友们支付茶费。为了辩护,他们并没有 故意 接受加密货币:餐厅老板只是认出了我,并向我展示他在一家加密货币交易所有一个账户,于是我建议用ETH付款(在拉丁美洲,使用加密货币交易所账户作为钱包是进行面对面支付的标准方式)。不幸的是,我的第一次0.003 ETH交易没有被接受,可能是因为低于交易所的0.01 ETH存款最低要求。我又发送了0.007 ETH。不久,两个交易都得到了确认。(我并不介意这次3倍的超额支付,把它当作小费)。
在2022年,我尝试在另一个地方支付茶费。第一次交易失败,因为我的移动钱包默认仅使用21000 gas发送交易,而接收账户是需要额外gas才能处理转账的合约。第二次发送交易的尝试失败,因为我手机钱包的UI故障导致无法向下滚动并编辑包含gas限制的字段。
教训: 简单稳健的UI比花哨流畅的UI更好。但实际上,大多数用户甚至不知道gas限制是什么,所以我们真的只需要更好的默认设置。
很多次,我的交易在链上被接受与服务确认交易之间竟有意想不到的长时间延迟,即使是“未确认”。有几次,我确实担心他们那边的支付系统出现了故障。
很多次,发送交易与该交易在区块中被接受之间竟有意想不到的长时间且不可预测的延迟。有时,交易几秒钟内就被接受,但有时却需要几分钟甚至几个小时。最近,EIP-1559显著改善了这一情况,确保大多数交易被接受进下一个区块,更最近的合并进一步改善了情况,稳定了区块时间。
然而,极端情况仍然存在。如果你在许多人同时发送交易并且基础费用骤然上升时发送交易,你的交易可能会因为基础费用过高而未被接受。更糟糕的是,钱包UI在显示这一点上表现得很糟糕。没有明显的红色警告,几乎没有清晰的指示告诉你该如何解决这个问题。即使是专家,知道在这种情况下应该通过发布一笔具有相同数据但更高max-basefee的新交易来“加速”交易,但常常不清楚到底在哪个地方可以做到这一点。
教训: 交易包含的用户体验需要改善,尽管有相当简单的修复方案。感谢Brave wallet团队认真对待我在这个话题上的建议,首先将max-basefee容忍度从12.5%提升至33%,最近探索使卡住的交易在UI中更明显的方法。
在2019年,我正在测试一款最早尝试提供社交恢复的钱包。与我优先选择的基于智能合约的方法不同,他们的方法是使用Shamir的秘密共享将账户的私钥分成五个部分,以便任意三部分能够用来恢复私钥。用户需要选择五个朋友(现代术语中的“监护人”),说服他们下载一个单独的移动应用程序,并提供一个确认代码,以便通过Firebase建立用户钱包与朋友应用程序的加密连接,并发送他们的密钥份额。
这种方法很快给我带来了问题。几个月后,我的钱包出现了问题,我需要实际使用恢复程序来找回它。我请求我的朋友通过他们的应用程序与我一起执行恢复程序——但并没有按计划进行。两个朋友失去了他们的密钥片段,因为他们换了手机,忘记迁移恢复应用程序。对于第三个朋友,Firebase连接机制长时间无法工作。最终,我们想出了解决问题的方法,并成功恢复了密钥。然而,几个月后,钱包又坏了。这次,常规软件更新以某种方式重置了应用程序的存储并删除了密钥。但我没有增加足够的恢复伙伴,因为Firebase连接机制太不稳定,并且不让我成功做到这一点。我最终失去了一小部分BTC和ETH。
教训: 基于秘密共享的链外社交恢复非常脆弱,除非没有其他选项,否则这是个坏主意。你的恢复监护人不应该需要下载一个单独的应用,因为如果你只有一个为了像恢复这样特殊情况而存在的应用,很容易就会忘记它而导致丢失。此外,要求单独的中心化通信渠道也会带来各种问题。相反,添加监护人的方式应该是提供他们的ETH地址,恢复应该通过智能合约进行,使用ERC-4337账户抽象钱包。这样,监护人只需要保护好他们的以太坊钱包,这对于他们来说已经关心很多。
在2021年,我尝试通过使用Tornado Cash的“自我中继”选项来节省费用。Tornado Cash使用一种“中继”机制,其中第三方在链上推送交易,因为在你提取时,你通常还没有在提取地址中拥有硬币,而你又不想用你的存款地址支付交易费用,因为这在两个地址之间创建了一个公开的链接,这正是Tornado Cash试图阻止的问题。问题是,中继机制通常是昂贵的,中继商收取的费用百分比可能远高于交易的实际gas费用。
为了节省成本,我有一次先进行了小额提取,中继费用较低,然后使用Tornado Cash的“自我中继”功能自己发送第二笔大额提取,而没有使用中继。问题是,我搞错了,在我的存款地址登录时意外地这样做,所以存款地址支付了费用,而不是提取地址。哎,我在两个地址之间创建了一个公开链接。
教训: 钱包开发人员应该更明确地考虑隐私。此外,我们需要更好的账户抽象形式,以消除对中心化或甚至联邦中继的需求,并使中继角色商品化。
良好的用户体验并不是关于平均情况,而是关于最坏情况。一个干净流畅的UI,0.723%的时间会发生一些奇怪且无法解释的事情,从而造成重大问题,这比一个向用户展示更多复杂细节的UI更糟糕,后者至少能让用户更容易了解发生了什么,并解决随之而来的任何问题。
与因扩容尚未完全解决而导致的高交易费用这一极为重要的问题相伴随,无论是在全球南方,作为以太坊用户的用户体验,通常是他们选择中心化解决方案,而不是保持用户及其朋友、家人或当地社区控制权的链上去中心化替代方案的关键原因。用户体验多年来取得了巨大进步——特别是在EIP-1559之前,平均交易被纳入的时间是几分钟,而在EIP-1559及合并之后,平均交易被纳入的时间只需几秒,使用以太坊的使用体验发生了天翻地覆的变化。但仍需继续努力。
- 原文链接: vitalik.eth.limo/general...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!