复制成功

分享至

主页 > 数字货币 >

从BTC到Sui、ADA与Nervos:UTXO模型及其相关扩展

2024.01.23

来源:极客 web3

作为比特币的核心设计原则之一,UTXO 模型在诞生之日起就成为了区块链领域中一种重要的技术范式。它在保障交易安全性和可追溯性方面发挥了重要作用,同时提供了传统账户余额模型以外的另一条道路。随着近些年区块链技术不断经历更新迭代,UTXO 模型本身也在不断地演化与扩展(如 eUTXO、cell、Strict access list 等)。

本文以学习和了解 UTXO 模型为目的,用浅显易懂的方式,简单梳理从 BTC 到 Sui、Cardano 和 Nervos、Fuel 各自的 UTXO 模型及实现方式,使其更好理解。

什么是 UTXO?

可以通过一个例子理解 UTXO 模型:

假设有两个人,Alice 和 Bob,他们原本各有 5 块钱。之后,双方发生了冲突,Alice 被 Bob 抢走了 2 块钱。二人最终持有的金钱数额如下图所示:

从BTC到Sui、ADA与Nervos:UTXO模型及其相关扩展

不难看出,Alice 最终剩下 3 块钱,Bob 最终持有 7 块钱。这种小学加减法一样的记账方式频繁出现在银行系统中,被称为 “账户/余额模型”。其中,账户的余额作为单一的数值而存在。

如果用不同于账户模型的方式,比如 UTXO 表示 Alice 和 Bob 之间发生的财富转移,示意图则会变成不同的样子:

从BTC到Sui、ADA与Nervos:UTXO模型及其相关扩展

此时,Alice 还是剩 3 块钱,Bob 还是剩 7 块钱,但这 7 块钱并不是用一个单一数值表示的,而是被拆成了 “5 块钱” 和 “2 块钱”。这种反常规的方法是不是让人感到不太习惯?这就是特殊的记账方式—— UTXO 。

UTXO 英文全称 Unspent Transaction Output,指 “未被花费的输出”。在这种记账方式下,每笔链上交易会表现为 UTXO 的变化与转移。比如,在上文提到的交易事件中,Alice 最初拥有的 “5 块钱” 作为输入参数,被标记为 UXTO_0,之后会被销毁;同时,程序会生成 “2 块钱”(UTXO_1)和 “3 块钱”(UTXO_2)作为输出参数,UTXO_1 将被转给 Bob,UTXO_2 将转回给 Alice,ALice 和 Bob 之间的财富转移以此完成。

从BTC到Sui、ADA与Nervos:UTXO模型及其相关扩展

实际上,在 UTXO 模型中,不存在 “账户” 和 “余额” 这两个明确的概念,UTXO 只是帮助交易执行的数据结构,它会记录自身代表的金额、与其相关的交易索引等信息。每个 UTXO 都代表一个可以被使用但未被使用的交易输入,具有确定的所有者。当一笔交易发生时,可以将某些 UTXO 作为输入,将其销毁后会产生新的 UTXO 作为交易输出结果。

从BTC到Sui、ADA与Nervos:UTXO模型及其相关扩展

这就是 Bitcoin 的记账方式:每次交易都会有旧的 UTXO 被销毁,新的 UTXO 被产生。被销毁的 UTXO 总金额等于新造的 UTXO 金额(其中某部分是给矿工的手续费)。这样一来,没有人可以凭空增发资金。

UTXO 模型和账户/余额模型的比较

假设有一批用户同时发起了大量交易请求,如果分别使用 UTXO 模型和账户/余额模型处理交易,情况会是怎样?

在账户/余额模型中,每个用户都拥有一个账户,其中记录着余额信息。有交易发生时,相应账户的余额要被更新,这涉及对其 “读” 和 “写” 的操作。可如果某两笔交易涉及同一个账户,往往会产生读写上的冲突,即状态争用,这是必须要避免的情况。

从BTC到Sui、ADA与Nervos:UTXO模型及其相关扩展

传统的数据库系统往往通过 “锁” 机制,解决对某部分数据的读写争用。在这种场景下,构成数据争用关系的多笔交易往往要排队,无法同时执行,这会使交易的处理效率下降。当有大量交易待处理时,上述情况可能会导致严重的性能瓶颈,彼此有数据争用关系的交易可能长时间处于等待状态,无法被快速处理。

相比于账户余额模型,比特币的 UTXO 模型可以更好的解决数据争用问题。因为在这种方式下,每笔交易的直接处理对象不再是某个“账户”,而是各个独立的 UTXO。由于不同的 UTXO 互不干扰,比特币网络中每笔交易都是互不干扰的。因此,比特币网络节点在处理大量的待处理交易时,可以同时处理多笔交易,无需使用 “锁”,这样可以大大提高系统的吞吐量和并发性能。

从BTC到Sui、ADA与Nervos:UTXO模型及其相关扩展

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier