只有坚持加密货币建立的原则,我们才能确保更广泛的生态系统的长期增长和可持续性。
原文标题:The Future of Cross-Chain Wallets
原文作者:Brendan Wong、Lawson Graham、Megan Ho、Rohan Khandelwa、Jojo Chen、Emma Guo
原文来源:Mirror
编译:Lynn,MarsBit
随着去中心化金融的兴起,对跨链兼容性的需求比以往任何时候都更加明显。随着区块链网络和协议的数量不断增加,互操作性已经成为加密货币行业的一个主要挑战。为了在 Web3 的多链环境中茁壮成长,并满足下一代 Web3 用户的需求,钱包供应商需要提供跨链产品,这些产品在其他方面提供精简和可互操作的 DeFi 功能(如交换),以及用户界面设计,以优化多个网络的用户体验。最终,加密货币采用率的增长取决于创新的产品和工程设计,它抽象了单个区块链的复杂性,并为终端用户释放了差异化的价值。
首先,我们必须回答什么是区块链的互操作性以及为什么它很重要的问题。在过去的几年里,出现了这么多独特的区块链,有一种观点认为哪种区块链更好,是通过极简主义的方式——哪条链是“最好的”,提供了最多的功能、协议和标准。然而,很多时候,很难推断什么是“最好的”。一条链可能提供更快和更便宜的交易,而另一条链可能提供更好的隐私。所有这些好处都是有得有失的。因此,一般的共识是合作,根据需要在不同的链上混合使用。例如,一个链可能是进行 DeFi 行为的理想选择,而另一个链可能对长期储存资产更安全。因此,互操作性已成为未来的一个非常重要的步骤。虽然许多链,如 Cosmos 和 Polkadot,在其设计中内置了互操作性,但其他链,如 Ethereum 和 Binance Smart Chain,是孤立的。这就是互操作性发挥作用的地方。
互操作性是指不同的网络交换和利用信息的能力,或系统具有意义并与其他系统一起运作的能力。每个区块链都有自己独特的功能、协议和标准,这可能使资产在不同的链之间转移变得困难。如果没有互操作性,我们就会遇到一些问题,如零散的流动性,和分割的生态系统,阻止网络实现 DeFi 的全部潜力。
目前,用户必须在钱包之间不断切换,以最终完成不同链上的交易。例如,如果用户想把 X 代币从一个区块链转移到另一个区块链,用户需要单独批准每个链上的交易,导致大量的网络钱包弹出。缺乏互操作性不仅导致了低效和不安全的用户体验和界面,而且其复杂的过程也阻碍了广泛的采用,特别是对于希望打入去中心化生态的初学者。
目前,钱包和互操作性的问题来自于过多的步骤。为了让用户在另一个链上使用他们的资产,他们必须首先找到一个合适的桥梁来使用。比方说,我们的用户想利用LayerZero的星门协议--DeFi上最流行的桥接,也是唯一能保证即时终结的本地资产桥接--作为他们的桥接。他们必须首先去Stargate网站,用他们的MetaMask钱包登录,使用Stargate流程将他们的资产桥接到他们想要的链上,然后等待交易的完成。所有这些步骤都必须执行,甚至为代币搭桥。一旦代币被桥接,用户就可以正常使用它。然而,与其强迫用户采取几个繁琐的步骤,为什么不让钱包抽象出所有的桥接工作?
跨链钱包是解决 DeFi 的主流不可访问性和缺乏互操作性的关键基础设施。跨链钱包是一种数字钱包,可以存储多种类型的加密货币,并与多个区块链网络无缝互动。通过使用跨链钱包,用户可以轻松地在不同的链之间转移资产,访问更广泛的 DeFi 应用,最大限度地减少 gas 费用,分散他们的持有量,并体验各种不同链的固有优势。这些钱包将从根本上减少用户与多个区块链互动时的流失和摩擦。
跨链钱包的最大优势之一是其减少摩擦和提高效率的能力。用户不必使用多个钱包或交易所来管理不同的资产,而是可以将所有东西整合到一个地方,抽象出用户必须管理的复杂交易。这可以节省时间,减少错误或失误的风险,并降低新用户的准入门槛。
随着 Web3 的不断发展,跨链钱包将成为用户的一个重要工具。通过实现不同区块链网络之间的无缝互操作性,跨链钱包将实现一个更加集成和可访问的生态。
作为研究的一部分,我们探索了建立一个世界级的跨链钱包所需的底层基础设施。为了实现链之间的价值转移,开发者可以利用跨链的信息传递协议,支持在不同的链上进行任意的合约调用。
当为一个钱包选择跨链信息传输基础设施时,应用开发者应该考虑:安全性、实施的简易性、用户体验和支持的网络。作为我们研究的一部分,我们研究了跨越这些标准的多个信息传输基础设施协议,并决定为我们的钱包 MVP 利用 LayerZero.
LayerZero 是一个跨链互操作性协议,通过无缝、轻量级的消息传递,实现各种区块链网络之间的通信。在构建跨链钱包时使用 LayerZero 提供了多种核心优势:
高效和安全的通信 — LayerZero 能够在不同的区块链网络之间进行快速和安全的通信,这大大减少了交易时间,并带来了整体用户体验的改善。LayerZero 是唯一具有规模的信息传递协议(100 亿美元以上的价值保障),从未丢失过用户资金。此外,所有的交易都受到 Pre-Crime 的保护,这是一个专有的安全层,在主网运行之前会在本地测试所有的消息。
对开发者友好 — LayerZero 对开发者友好,为建设者提供了一个易于使用的 API,以便将跨链信息传递直接整合到他们的应用程序中。在此基础上,LayerZero 团队还提供一个强大的支持团队来调试问题和审查代码。
无缝集成 — LayerZero 与不同的区块链网络无缝集成,使用户能够在一个钱包中管理多种加密货币,而不需要多个账户或钱包。此外,LayerZero 的集成包括 gas 抽象,这一功能允许最终用户用他们的原生源 gas 代币来支付多链交易。
更低的交易费用 — 与传统的跨链解决方案相比,LayerZero 能够以更低的费用实现跨链交易,这可以为用户节省费用。特别是,Stargate 独特的协议设计利用统一的流动性池进行 1:1 的本地资产跨链互换,在不影响安全的情况下释放成本效率。
广泛的网络支持 — LayerZero 支持大量的网络——目前有 30 多种 EVM 和非 EVM ——包括 Ethereum、Polygon、Avalanche、Aptos、BNB 和 Optimism Arbitrum 等等。
总的来说,LayerZero 的快速和安全的跨链信息传输协议使其成为构建跨链钱包的理想解决方案。它能够与多个区块链网络无缝整合,提供较低的交易费用,并提供更高的安全性和可靠性作为其最终保障。它对开发者友好的特性也意味着它可以很容易地集成到现有的应用程序中,使其成为构建跨链钱包的有吸引力的解决方案。
跨链钱包的竞争格局主要由几个顶级钱包主导,它们已经建立了积极的品牌形象和用户情感。
MetaMask、Kepler、和 Trust Wallet
XDefi、Exodus Wallet 和 Atomic Wallet
Liquality、ONTO Wallet、和 Cross Wallet
Nadox、Coinbase 和 CLV
Biport Wallet、Frontier 和 03Labs
用户情绪/接受度与直观的用户界面/用户体验设计
下面的竞争格局显示了整个行业的跨链钱包供应商的交叉比较,其依据是用户情感/接受度与直观的、用户支持的用户界面设计指标。这些指标是由用户和行业访谈以及在线存在和平均用户数决定的。
竞品格局
矩阵
矩阵
在整个市场研究过程中,我们发现了几个重要的特征,它们是钱包被主流采用和易于使用的关键:
我们对 25 名用户进行了深入的用户访谈,他们对加密货币和钱包有不同的体验。
用户人口统计
新的跨链用户 - 28%(7)
现有跨链用户 - 32%(8)
开发人员 - 40%(10)
我们决定主要采访开发者,因为他们也被认为是全能链/跨链钱包的终端用户。我们希望建立一个考虑到开发者的产品,这样未来的开发者可以继续建立和改进这个产品。我们也选择了采访跨链钱包领域有影响力的人,比如 LayerZero 的用户体验负责人 Gonzalo. 此外,为了考虑到新的跨链用户的痛点,我们决定将一定比例的采访内容分配给他们。
我们探讨了以下角色的问题:
用户角色定位
从我们的研究中可以看出,有很多机会可以改善现状的钱包体验。
通过我们的设计,我们专注于...
主页
我们选择了一种与 LayerZero 的品牌相一致的设计语言,同时又加入了我们自己的想法,使钱包具有明显的外太空主题。我们保持了大部分的黑白配色方案,只有在表示状态和特殊信息的时候才尽量少地加入颜色。
1. gas 费的抽象化
问题:当用户不拥有所需的资产时,目前支付 gas 费的体验需要用户使用多种服务来完成他们的交易。
当前的用户流
我们希望通过消除对多种服务的需求来减少这一过程的头痛,同时为用户提供必要的支持,使其做出符合其目标的最佳决定。我们想出了以下改进的用户流程:
全新的用户流
2. 结合桥接和互换
问题:大多数多链钱包将桥接和交换的概念分成两类行动,供用户选择。然而,这两种服务都是为同一个问题服务的:用户希望用一种资产交换另一种资产。
我们改进的设计将这两个概念合二为一。用户可以通过下拉菜单同时选择网络和资产。
新增内容
3. 其他体验改进
**问题:**大多数钱包显示当前活动的方式对用户来说是混乱的或压倒性的。用户一般会被所有过去的活动列表所困扰,这些活动有时被埋没在多次点击之后。
我们的设计只突出了待处理的交易,这是用户第一眼看到的最重要的交易。如果用户希望查看所有过去的交易,他们可以从右上角的档案下拉菜单中进行查看。
**问题:**交易确认页面包括大量的信息和新的词汇,新用户可能会觉得非常难受。这可能导致瘫痪,即用户放弃交易,或者用户可能忽略所有的信息。
我们改进后的设计只显示交易率和费用,而将所有其他信息隐藏在“高级信息”下。尽管有经验的用户如果愿意,仍然可以访问这些信息,但新用户不会就此被吓倒或被误导。
为了更好地了解目前的困境,我们的团队创建了自己的概念证明,即一个跨链钱包可以是什么样子。对于我们的开发,我们发现最好是改进当前的钱包,而不是创建我们自己的钱包,这是一个简单的问题,即为什么要重新创建车轮。正因为如此,我们选择了迄今为止最流行的钱包 MetaMask 的分叉工作。我们在开发中的大部分工作是围绕着理解 MetaMask 的代码库,然后将所述的桥接和可访问性功能实施到当前的架构中,为用户创造一个更无缝的体验。
我们先来探讨一下什么是 LayerZero. 如果想深入了解,我们强烈建议阅读他们的白皮书。
LayerZero 的核心是一个消息传递协议,能够在链子之间进行任意的合约调用。该协议通过独立的中继器和预言机对之间的验证系统进行工作,处理端点之间的通信。端点被部署在 LayerZero 支持的每个网络上;这些是智能合约库,是处理验证的开发者界面。在网络中,中继者是能够检索和提交交易证明的任何实体,而神谕者是能够检索和提交区块头的任何实体。
为了理解这个架构,我们将通过一个示例的消息传递流程。例如,假设我想从 Ethereum 向 Polygon 发送一个消息。我将首先创建并发送一个交易到 Ethereum 上的 LayerZero 智能合约,其中包含我的信息以及 Polygon 上的收件人地址。然后,该信息会被发送到一个验证器合约,该合约会将交易证明发送给一个中继器和一个网络合约,该合约会告诉一个预言机来获取区块头。一旦区块头被确认,预言机将其发送到 Polygon 链上的网络合同。该信息被传递给验证器合同,验证器合同从中继器那里获取区块头和证明,以验证合同的有效性。一旦证明被验证,有效载荷就会被发送到通信器合同中去执行。下图显示了这种互动:
图4,来自 LayerZero 的白皮书
Stargate 是一个建立在 LayerZero 的信息服务之上的桥接协议。Stargate 协议是第一个解决桥接三难问题的协议(即时保证最终性(源)、统一流动性和本地资产)。它通过最大化 LayerZero 协议的潜力来实现这一目标: 即时保证终结性的实现,没有其他桥接所使用的不安全的锁定和铸币过程——或“包裹的代币桥接”模式——而是即时转移本地资产。当然,这也解决了原生资产的问题。用专有的 Delta 算法平衡整个协议的统一流动性池是实现这一目标的关键。最后,统一流动性是通过一个内置的、自我调整的过程来实现的,它允许合约自动补充并为其他链提供更多或更少的流动性。这种方法被称为断裂的流动性。
总的来说,在 MetaMask 的代码库中工作是一个相当有趣的经历。这个代码库被设计成两个部分:后端和前端。后台的大部分工作都包含在应用程序文件夹中,包含所有需要拉动和推送信息的脚本,使其独立于前端。前端是通过 UI 文件夹中的一系列组件包含的。
对于我们的项目,我们决定在程序的前端建立大部分的功能。虽然严重缺乏优化,但我们认为这足以作为一个概念的证明。如果我们要从头开始,建立一个完整的概念,我们会花更多的时间去了解后台,在那里建立功能,同时只从前端调用后台,而不是在前端处理一切。
在我们的功能体验上,我们决定使用 ethers.js 来抽象出复杂的东西,并允许更简单的合同调用,而不是使用原生的内置方法,通过创建一个低级别的合同调用来签署交易。这与我们在前端构建一切的策略配合得很好,允许快速建立用户体验的原型,而不用担心低层次的复杂性。
在我们设计出我们的钱包后,构建过程相对简单。我们首先建立了桥接页面,允许用户将本地资产从一个链上桥接到另一个链上。我们决定与 Arbitrum、Optimism 和 Ethereum 合作,因为 Arbitrum 和 Optimism 是 Ethereum Layer 2 解决方案,使用相同的原生资产。这使得测试和实施变得更加容易,因为我们能够对 Stargate 的 EthRouter 进行更抽象的合同调用,而不是他们正常的 Router. 在我们完成了我们的桥接页面后,我们进入了我们的下一个努力,在变化时自动查询余额,并在用户没有足够资产时提出桥接选项。
桥接流
我们从第一个任务开始,查询其他链上的余额。这只是涉及到对等价的 Etherscan 的 API 调用,以查看用户在特定链上的余额。从那里,我们简单地在交换、发送和执行交易流程中添加了检查,检查用户是否有足够的余额来执行交换,检查用户在其他链上的余额,然后使用我们上面定义的桥接方法和策略推荐一个桥接。
大部分的经验是通过与 LayerZero 和他们的跨链桥接协议 Stargate 的整合来完成的。由于他们的文档详尽而简明,特别是对开发者来说,整合是一个无缝的体验。在我们的钱包中建立这些协议,就像使用 ethers.js 发送交易一样简单。交易监控是通过查询 LayerZero 的自定义桥接扫描器来完成的,而 gas 费用的估计是建立在合同中的,允许使用 ethers 来轻松查询。我们的团队对 LayerZero 的工作方式的简单和直接印象非常深刻。
最后一步是对用户界面进行品牌重塑。MetaMask 使用了一个非常好的品牌系统,文本和配色方案在常量中定义,允许整个钱包的主题一致。唯一的问题是,这些配色方案被定义在一个名为 MetaMask Design 的 npm 包中,并被导入到实际代码中。由于我们担心修改导入的包会导致依赖性失败和其他问题,我们决定简单地将更新的字体和颜色方案硬编码到前端的 CSS 中。
最后,我们的团队发现最大的挑战是对代码库的理解。虽然 MetaMask 的代码库本身有相对完善的文档,但我们很难在网上或通过关系找到资源,以真正帮助我们理解我们需要做什么,从哪里开始。我们早期进展的很大一部分只是试图了解前端和后端如何互动的性质,以及在哪里实际实现我们所需的功能。此外,我们还有大量关于依赖性和环境的问题。我们的团队中只有一半人能够真正建立钱包,而另一半人在 React 和 Node.js 版本/依赖性方面存在问题。这导致了协调独立任务和工作会议的恶梦,并要求我们在工作会议上取得大部分进展,其中一个成员必须从另一个成员身上搭便车。
总的来说,我们从研究跨链信息传输协议和当前的市场趋势中收集了大量独特的见解,并建立了一个更无缝的钱包,以允许链之间的本地GAS抽象。与钱包开发者和终端用户接触,以确定该领域的需求和趋势,这是非常有见地的;这些访谈为我们的论文提供了必要的步骤,以登上加密货币的下一个百万用户。钱包是用户和空间之间的中间人,所以完善钱包在本质上有助于为区块链生态系统内的所有人创造更好的体验。此外,在 LayerZero 团队的技术支持下开发钱包是一个很好的经验。尽管我们面临着各种挑战,但他们的团队非常支持我们,并渴望通过任何可能的方式进行协助。
最终,从我们的市场研究中,我们注意到,大部分的钱包市场空间被两个人控制: Coinbase 和 MetaMask. 虽然 Coinbase 更迎合投资者和那些不太熟悉加密货币的人,但 MetaMask 是一个开源项目,被该空间的大多数加密货币原生用户使用。尽管如此,MetaMask 似乎正朝着错误的方向发展。从极其苛刻的许可,拒绝任何形式的分叉,到非常严格和缓慢的更新,以及收集 IP 地址,MetaMask 似乎正在慢慢地,但肯定会偏离理想的钱包。虽然他们希望保持控制,但人们似乎开始明白,在钱包领域需要更多的竞争者和更好的创新。
然而,在我们的经验中,我们了解到,对于开发者来说,建立竞争性的钱包是多么困难。因为 MetaMask 的授权禁止代码重用或分叉,希望建立竞争性钱包的开发者必须从头开始。这对于经验不足、有新想法的钱包开发者来说,尤其令人沮丧。此外,一旦钱包推出,它将很难与 MetaMask 和 Coinbase 竞争,它们已经占了所有钱包用户的 90% 以上。由于他们与大多数 DApp 和产品进行了广泛的整合和合作,新钱包就更难获得吸引力了。
总之,少数玩家在钱包市场的主导地位给新进入者和创新带来了挑战。尽管它在加密货币原生用户中很受欢迎,但 Metamask 严格的许可和缓慢的更新已经偏离了一个开源钱包的理想。这个领域的新开发者和竞争者所面临的困难,对加密货币的增长和大规模采用构成了阻碍。第一个能够实现真正安全和无缝跨链交换的钱包——特别是从 EVM 到非 EVM——将经历一个重要的竞争护城河,并在迎来 DeFi 和面向消费者的应用程序的净新用户群中发挥关键作用。LayerZero 和 Stargate 基础设施将在这个行业的发展中发挥关键作用。该行业必须继续坚持开源和去中心化系统的原则,使新的想法和解决方案能够出现,并在现有的单一链的孤岛上茁壮成长。只有坚持加密货币建立的原则,我们才能确保更广泛的生态系统的长期增长和可持续性。