OneBalance是一个用于创建和管理可信承诺机器上的账户的框架,这些账户被称为可信账户。每个账户都可以被认为是一个汇总,允许用户方便地管理他们的状态,并可靠地请求任何链上的状态转换。通过资源锁等机制加速从EOA向消息传递的架构过渡,实现跨链的原子异步组合。
由 Stephane Gosselin 和 Ankit Chiplunkar 代表 Frontier Research 撰写
关于 OneBalance 的最新信息,请访问 frontier.tech。
查看 Research Day 2024 的 幻灯片 和 录音。
Web3 和更广泛的加密生态系统在历史上一直秉持着以链为中心的世界观。我们认为这是一个过时的框架,它源于对区块空间稀缺性的认知,因为可信承诺机与全局共识捆绑在一起。
我们认为,生态系统范围向以账户为中心的世界观的转变(即将账户与可信承诺机捆绑在一起)对于整合碎片化的用户体验是必要且不可避免的。
我们提出了一种名为“可信账户”的新账户模型,并引入了一个名为“OneBalance”的框架,用于创建和管理这些账户。通过这个提案,我们希望提供 Web3 堆栈中缺失的一个组件,这将有助于将前十亿人引入加密世界。
OneBalance 是一个在可信承诺机上创建和管理账户的框架。我们将这些账户称为可信账户。
每个账户都可以被认为是一个 rollup,允许用户方便地管理他们的状态,并可靠地请求任何链上的状态转换。
这是通过引入两个关键概念来实现的:
可信承诺机负责保护账户,对其持有的状态发布资源锁,并验证这些锁的履行。
通过引入可信账户,我们希望加速生态系统从 EOA、JSON-RPC API 和交易供应链向围绕资源锁的消息传递和履行证明构建的架构的转变。
OneBalance 上的可信账户可以:
许多用例都通过这些新功能解锁。用户可以花费任何 token 来支付状态转换。他们可以聚合链上和链下的流动性。他们甚至拥有构建去中心化 Fireblocks 或非托管 Binance 的构建块。
\
OneBalance 账户框架2666×1500 481 KB
由以太坊定义的 web3 市场结构均衡是使用公私钥对,即外部拥有账户(EOA)来管理用户状态的各个方面。
由于 EOA 位于区块链之外,因此链无法查看已签署的消息。链依赖于使用 nonce 来对用户状态交易请求进行排序,这些请求通常称为交易。
在这里,我们将以太坊等智能合约区块链简化为与全局共识捆绑在一起的可信承诺机。
Thomas Schelling 1960 年的 《冲突的战略》 一书著名地介绍了博弈论中的“焦点”概念,更广为人知的是以他的名字命名的“Schelling 点”。
这项工作的一个鲜为人知的贡献是引入了“可信承诺”,他将其描述为“通过创造一种违背承诺的成本高于收益的情况,使他人相信的承诺或威胁”。
根据 Schelling 的说法,可信承诺必须提供:
Nick Szabo 在 1997 年通过引入智能合约的概念(作为软件强制执行的合约)进一步完善了这一概念,Mark S. Miller 和 Marc Stiegler 在 2003 年 对此进行了进一步的探索。
这些调查促成了 Vitalik Buterin 在 2014 年发布的 以太坊白皮书,该白皮书提议将以太坊作为第一个能够创建和执行任意可信承诺的智能合约区块链。
随后出现了许多对该主题的重要贡献,其中 Mohammad Akbarpour 和 Shengwu Li 在 2019 年 的一项值得注意的贡献为可信机制提供了正式定义,并介绍了拍卖三难困境。
粗略地说,我们将可信承诺机定义为一种安全的计算机,能够以编程方式发布和执行承诺,从而使第三方观察者相信或“信任”这些承诺。
EOA 不是可信承诺机。由于链无法查看用户已签署的内容,因此它必须考虑使用相同 nonce 签署的任何交易都是有效的。这意味着在任何时候,用户都可以通过签署并提交一个覆盖其 nonce 的新交易来伪造他们的状态转换请求。
这使得 EOA 和更广泛的交易供应链无法提供可信承诺,因为它们违反了不可撤销性原则。交易供应链中的下游方(例如求解器)无法依赖 EOA 做出的承诺,因为它们可能随时被伪造。
迄今为止,每个希望防止请求伪造的系统都依赖于将资金锁定在存款智能合约中。这是所有类型的桥(L2、intent、POA、IBC、ZK)使用的方法。安全跨链交互的所有实现都依赖于将资产转移到智能合约作为无法伪造的请求。
基于 HTLC 的网络(如 Interledger 协议)都使用时锁定请求作为一种可信承诺形式,用于在账本之间安全地传递经济消息。
智能合约账户 (SCA) 通过将签名者引入链上来解决请求伪造问题。这允许账户利用链的可信承诺机和全局共识来对用户发出的每个状态转换请求进行时间戳和排序,从而防止伪造。
Vitalik 长期以来一直是智能合约钱包的支持者,因为它们提供了出色的 UX 功能,通常称为账户抽象,其中包括 gas 抽象、社交恢复、权限策略和现代身份验证方法。
尽管智能合约账户解决了伪造问题,但部署到具有全局共识的链(如以太坊)的智能合约账户的成本高昂且速度较慢。这是因为诸如 EVM 之类的虚拟机需要对每个状态转换请求顺序执行所有用户账户的全局锁。这相当于形成一个等待在链上执行某些操作的所有用户的单个全局队列。
我们观察到 EOA 和 SCA 之间的权衡。一方面,我们有 EOA,它们快速且便宜,但由于请求伪造而无法做出可信承诺。另一方面,我们有 SCA,它们可以做出可信承诺,但由于全局共识而速度慢且成本高。我们将这种权衡称为账户困境。
我们提出了一种名为可信账户的新账户模型,旨在解决账户困境。可信账户存在于用户选择的安全计算机中,该计算机可以对其将签署和不签署的消息做出可信承诺。
通过将全局共识从智能合约账户模型中分离出来,我们能够保持 EOA 的速度和成本优势,同时保留 SCA 的 UX 改进和非伪造保证。
每个 OneBalance 账户都可以被认为是一个 rollup。该账户包装了来自所有链的各个用户状态,并在虚拟环境中复制它。此虚拟环境将状态转换请求作为“资源锁”发布,并通过跨链执行证明来履行这些状态转换。此虚拟环境由可信承诺机保护。
由于 OneBalance 账户提供与 SCA 相同的保证,因此它具有账户抽象的所有相同的 UX 优势,例如 gas 抽象、社交恢复、权限策略和现代身份验证方法。
OneBalance 账户可以在任何数量的链上创建任意数量的子账户,并管理这些链上存在的任何状态。它向后兼容所有链、智能合约和资产,包括以太坊、Solana、比特币、ERC20、NFT、DAO、多重签名、defi 协议以及存款或积分计划。这种多生态系统兼容性在其他当前账户模型中是不可能的。
功能 | EOA | SCA | OneBs |
---|---|---|---|
快速且便宜 | ![]() |
![]() |
![]() |
UX 功能 | ![]() |
![]() |
![]() |
伪造保护 | ![]() |
![]() |
![]() |
多生态系统兼容性 | ![]() |
![]() |
![]() |
用于可信账户的 OneBalance 框架以模块化的方式实现,使用由 CAKE 工作组 开发的标准,允许用户/应用程序/钱包选择其用例所需的 CAKE 框架 的任何组件。
\
OneBalance 框架2666×1500 481 KB
资源锁是用户做出的一个可信承诺,即有条件地托管某些状态,条件是满足特定条件或到期时间。
一个例子可能是跨链请求,使用来自以太坊的 OneBalance 账户中存入的 USDC 购买 Solana 上的 NFT。
resource_lock: {
lock: 1500 USDC,
fulfill: DeGods #12345,
expiry: Solana block 245547084
}
资源锁对于防止求解器在执行期间因用户双重支出或伪造其请求而受到损失是必要的。
由于用户承诺在时间窗口内不覆盖其请求,因此消除了求解器通常在交易签名和最终链状态之间产生的不确定性。
锁类似于将资金存入智能合约或发出 ERC20 批准,但无需花费 gas 或等待链上最终性,因为它是在账户本身内完成的。
锁到期时间需要足够长,以便为求解器提供在目标链上执行请求的状态转换并将履行证明提交给履行引擎的机会。
至关重要的是,这引入了履行时间和结算时间的分离。由于账户提供了对锁的本地保证,因此求解器可以在目标链上执行请求的状态转换,而无需等待原始链上的最终性。
这允许用户以 Solana 的速度购买 SOL,而无需受到以太坊速度的限制。这种履行速度可以扩展到任何状态转换的执行,例如狙击 NFT、向你的祖母汇款或用户在区块链上执行的任何其他操作。
资源锁可以实施权限范围内的任何位置的约束。
权限可以是有状态的或无状态的。例如:
可信承诺机是账户所在的并且被信任的以提供关于资源锁的有效发行及其履行的验证的安全计算机。
我们在此展示了可信承诺机的四种可能的架构,这些架构提供了安全的锁定发行和执行:可信执行环境 (TEE)、多方计算/链签名 (MPC)、智能合约账户 (SCA) 和协议内虚拟机更改。
这些机制正在开发和改进中,今天理想的架构很可能与五年后的架构大相径庭。
这就是为什么 OneBalance 账户允许用户随着时间的推移在 CCM 之间迁移,因为他们正在寻找更好的属性。
OneBalance v1:
OneBalance v2:
OneBalance v3:
OneBalance v4:
EOA | OneBalance v1 | OneBalance v2 | OneBalance v3 | OneBalance v4 | |
---|---|---|---|---|---|
自托管 | ![]() |
![]() |
![]() |
![]() |
![]() |
转账 | ![]() |
![]() |
![]() |
![]() |
![]() |
交换 | ![]() |
![]() |
![]() |
![]() |
![]() |
会话密钥 | ![]() |
![]() |
![]() |
![]() |
![]() |
交易 | ![]() |
![]() |
![]() |
![]() |
![]() |
无状态策略 | ![]() |
![]() |
![]() |
![]() |
![]() |
身份验证模块 | ![]() |
![]() |
![]() |
![]() |
![]() |
有状态策略 | ![]() |
![]() |
![]() |
![]() |
![]() |
活跃性保证 | ![]() |
![]() |
![]() |
![]() |
![]() |
感谢加密生态系统的集体意识,为创新培育了沃土。
以下是合作者的名单,排名不分先后,感谢他们进行了许多富有启发性的讨论,从而促成了本提案的制定:
Murat Akdeniz、Ahmed Al-Balaghi、Viktor Bunin、Jonah Burian、Vitalik Buterin、Philippe Castonguay、Vaibhav Chellani、Valery Cherepanov、Jasper De Gooijer、Nicolas Della Penna、Justin Drake、Brendan Farmer、Ben Fisch、Mattia Gagliardi、Johnny Gannon、Matt Garnett、Ivo Georgiev、Christopher Goes、Pedro Gomes、Mason Hall、Sam Hart、Connor Howe、Sreeram Kannan、Hart Lambur、Zaki Manian、Robert Miller、Alex Obadia、Puja Ohlhaver、Anatolii Padenko、Nick Pai、Illia Polosukhin、Karthik Senthil、Tomasz Stanczak、Henri Stern、Alex Stokes、Caleb Tebbe、Dror Tirosh、Dean Tribble、Drew Van der Werff、Alex Watts、Yoav Weiss、Nathan Worsley、Evgeny Yurtae、Philipp Zentner、Noah Zinsmeister、apriori、jxom、awkweb。
我们的使命是帮助 web3 生态系统过渡到以账户为中心的世界观,以便将 web3 带给前 10 亿人。
我们认为,在数字时代,非胁迫性的可信承诺机对于人类协调至关重要。
我们认为,以链为中心的世界观是一个过时的框架,它源于区块空间的历史稀缺性。( 对不起,Joel)
正如从地心世界观到日心世界观的转变释放了大量的发现一样,我们认为从以链为中心的世界观到以账户为中心的世界观的转变将释放 web3 的全部潜力。
用户无需关心他们正在与哪些链交互 + 可以接近即时履行。
让我们举一个复杂但常见的例子:
用户想要购买在 Solana 上交易的 NFT,价格为 10 SOL,但只有以太坊上的 USDC。
此状态转换请求需要按顺序执行以下操作:
如今,用户需要手动执行这些操作中的每一个,并等待前一个操作结算或完成,然后才能执行下一个操作。如果没有链级 gas 抽象,使用 EOA 以非托管方式甚至在技术上不可能实现这些操作中的某些操作。
此处执行的关键路径需要等待两笔以太坊交易和两笔 Solana 交易的结算 + 等待以太坊的最终性。以太坊当前的区块最终确定时间,我们预计至少需要 15 分钟才能完成执行。
让我们看一下使用 OneBalance 账户的等效操作:
用户想要购买在 Solana 上交易的 NFT,价格为 10 SOL,但只有 OneBalance 上的 USDC。
此状态转换请求需要按顺序执行以下操作:
resource_lock: {
lock: 1500 USDC,
fulfill: DeGods #12345,
expiry: Solana block 245547084
}
用户无需执行其他步骤。
在后台,求解器购买 NFT,并将其记入用户在 Solana 上的 OneBalance 代理账户,并申领锁中的资源。
由于 OneBalance 账户将履行与结算分离,因此用户可以按照其目标网络(在本例中为 Solana)上的交易执行速度进行执行。用户可以使用其 OneBalance 账户中持有的任何 token 在任何链上执行任何操作。
好的。
让我们逐步了解如何在不同条件下实现互操作性的几个示例:
正如我们在上面的示例中看到的那样,通过 nonce 锁定的用户承诺与将最终状态更新委托给求解器相同。这减少账户抽象和 4337 通常与智能合约账户相关联,指的是 SCA(账户抽象)提供的一系列用户体验改进,以及实现这些用户体验改进的特定标准(EIP-4337)。
OneBalance 账户模型提供与 SCA 相同的用户体验改进,并且向后兼容使用 4337 作为用户操作在链上结算锁。
然而,由于 OneBalance 是创建可信账户的通用框架,因此它不仅限于积极使用账户抽象和 4337 的链。
OneBalance 支持选择使用像 4337 这样具有 防 DOS 攻击的用户操作的链和代理账户。
我们不能。但我们可以激励它。
账户可以强制执行两种类型的约束:
OneBalance 可以 激励 原子性,但不能保证它。
然而!由于在没有 A 的情况下执行 B 会使锁的履行条件无效,那么求解器就无法从锁中提取任何价值。这意味着从用户的角度来看,原子性得到了维护。有些人将此称为“经济原子性”。对于具有复杂多链原子性要求的锁,求解器承担不执行的风险。
这种由于 MEV 导致的“锁泄漏”问题可以通过路由层解决,方法是通过安全的 OFA 路由状态转换请求,以防止信息泄漏。
结算层正在开发新的机制,以帮助求解器使用预确认或证明聚合等方式来管理他们的结算风险。重要的是,这些有助于管理求解器的执行风险,因此有助于最大限度地降低 OneBalance 账户用户的不执行风险,但 OneBalance 账户已经具有经济原子性保证。
我更喜欢称它为 turbo HTLC!:smile:
Intent Bridge 的设计与 HTLC 类似,它们将用户的资金锁定在始发链上,直到提供目标链上状态转换完成的证明。
OneBalance 账户不受始发链速度的限制,而是受可信承诺引擎生成这些锁的速度的限制。这意味着在 TEE 架构上,锁可以以单台服务器的时钟速度发出,因此是 turbo HTLC!
OneBalance 账户创建“本地”锁,而普通账户只能创建“全局”锁。全局锁需要在排序期间锁定执行环境中所有账户的状态,而本地锁只需要锁定锁的参与方的账户状态。
与全局锁不同,本地锁提供了在不同机器上并行执行锁排序的机会。
账户存在于用户选择的安全计算机中,该计算机可以对其将签名和不会签名的消息做出可信的承诺。
上面介绍的四种可信承诺执行架构提供了这样的环境,但每种架构都有其权衡。OneBalance 账户对使用的可信承诺执行机制的类型没有偏好。
至关重要的是,随着这些架构的成熟,权衡空间会发生变化,用户偏好也会发生变化。因此,OneBalance 账户必须保持灵活性,以支持不同的架构。
不是。
OneBalance 是一个在可信承诺机器之上构建账户的框架。OneBalance 将使用 CAKE 工作组 开发的标准,即插即用 CAKE 堆栈的所有组件。
不。OneBalance 提供资源锁。
让我们探讨一下两者之间的区别。
预确认是生态系统中几个团队正在积极开发的一种机制,旨在为向区块链发送交易的实体提供更好的包含保证。
资源锁是一种机制,用于向求解器保证用户不会重复消费或在他们的状态转换请求上含糊其辞。
这两种机制都旨在降低求解器的执行风险,预确认是提案者提供的保证,资源锁是用户提供的保证。
预确认和资源锁都可以通过相同的可信承诺机制来执行。
例如:如果以太坊验证者将其质押的 ETH 存入 OneBalance 账户,他们可以创建资源锁,如果某些交易包含承诺无效,则指定削减规则。这可以使用像 eigenlayer 这样的再质押合约来实现。
OneBalance 账户负责对状态转换请求发出和执行资源锁。
为了提供履行而路由请求是一个下游模块,上游应用程序 / 用户必须定义该模块。对于某些类型的请求,直接路由到链的交易池可能是有益的,其他请求可能受益于使用求解器网络或 orderflow auction,还有一些请求可能受益于指定独占求解器。
OneBalance 对路由机制没有偏好。
可能不是。
OneBalance 正在为有状态账户的协调提供一个框架。我们的目标是取代整个行业对用户管理的 EOA 发出的强制性状态转换请求的依赖。OneBalance 对有状态账户的架构或用于保护它们的可信承诺机制没有偏好。
OneBalance 使用模块化架构,允许集成以下组件:
OneBalance 的设计源于我们与 CAKE 工作组 成员的合作。
从 CAKE 框架来看,OneBalance 位于许可层和求解器层之间,并且与 cake 的所有其他必要组件兼容。
不。
所有 OneBalance 账户都会发出提款收据,允许他们未经许可将其资产退出回资产来源的结算链。
这意味着在任何时候,用户都可以“rage quit”并在源链上恢复他们的资产。
这种机制根据使用的会计引擎以不同的方式实现,但本质上可以归结为相同的结果:用户可以通过向其始发链上的代理账户提交提款收据来提取资金。
我坚信退出自由是非压迫性人类协调系统设计的基本特征。我从来没有也不会设计一个没有退出自由的系统。
算是吧。
支持所有链,但功能因使用的 VM 而异,并且履行速度因共识而异。有关此的更多详细信息将在未来提供。
是的。这是一件好事。
如果有人可以构建一个系统,为用户提供比 OneBalance 账户更高的综合效用(功能 + 经济激励),那么用户应该能够退出。这对于避免审查创新的反竞争垄断是必要的。
对于任何想尝试的人,我想说放马过来。
不。
正如它们今天所定义的那样,keystore rollup 解决了在所有链中为账户权限设置中心化事实来源的问题。它没有向求解器提供跨链保证。OneBalance 账户不需要 keystore rollup,因为链上密钥不会改变。
如果 Keystore Rollup 尝试发出锁,它们只能以 L1 最终速度进行通信。
OneBalance 模型不需要用户和求解器之间的相互信任,而是要求每一方都信任用于发出和执行资源锁的可信承诺机制。
不。
桥是必要的机制,用于在用户请求执行的关键路径之外提供锁的履行和库存的结算。
Frontier Research 是并将继续是一个独立的研究和咨询小组,旨在弥合基础研究和商业产品之间的差距。
Frontier 与 Anoma、Across 和以太坊基金会成员等其他合作者共同创立了 CAKE 工作组,以促进围绕通用接口和语言的对话,从而加速链抽象技术的发展。
Frontier 正在剥离 OneBalance 作为一个独立的项目,以加速 web3 以账户为中心的世界观的转变。
这三个人类团体将继续遵循他们各自的使命前进。
wip
wip
wip
wip
wip
wip
wip
- 原文链接: ethresear.ch/t/introduci...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!