UTXO 的独特性能否催生新的生态模式?(上篇)

时间:2024-09-27 编辑: 浏览:(203)

6 月 10 日,RGB++ 协议作者、CELL Studio 创始人 Cipher,DotSwap 联合创始人 Lin,Shell Finance 联合创始人 Timxie,以及 TBC(Turingbitchain)的 CMO NIGO 做客 UTXO Stack 的推特 Space,畅聊 UTXO 模型能否催生比特币生态新模式。

UTXO Stack 是模块化的 BTC L2 一键发链平台,可以帮助项目开发者一键发行基于 UTXO 架构的比特币 L2,并且原生集成了 RGB++ 协议。在安全性上,UTXO Stack 通过质押比特币、CKB 以及比特币 L1 的资产来保证 L2 的安全。简单来讲,我们可以把 UTXO Stack 想象成比特币生态的 OP Stack + EigenLayer。

UTXO Stack 已经完成种子轮融资,由 ABCDE 和 SNZ Capital 共同领投,OKX Ventures、Waterdrip Capital、Matrixport、y2z Ventures、DRK Lab 和 Bitcoin Magazine 母公司 BTC Inc 风投部门 UTXO Management 等多家知名机构跟投。

以下是根据音频整理的重点内容:

1、UTXO 模型和账户模型在设计哲学、安全性、效率等方面,有什么本质的区别和优势?

Cipher:我觉得主要是设计哲学和效率有一些区别,安全性可能更多的还是看共识机制,和账户模型关系不大。

设计哲学上,UTXO 其实更偏验证,而不是偏计算。我们知道以太坊的账户模型,你去写程序或者发交易的时候,你并不知道这个交易结果,你发的是一个动作或者是一个函数调用,那至于这个调用的结果是什么,只有交易被打包成区块之后你才知道结果。

典型的例子是,假设你的账户里面只有 0.1 个 ETH,能不能发一笔往外转账 0.2 个 ETH 的交易?可以的,你发出去,但是这笔交易可能进交易池之后,它会被打包,然后返回错误,因为你没有这么多钱,但是你的 gas fee 还是会被扣掉。但是如果你发送的同时,刚好有人给你账户上转了一笔钱,使得你的账户余额超过 0.2 个 ETH,那你这笔交易就成功执行了,当然也要扣 gas fee。

但是对于 UTXO 模型而言,你这笔交易就发不出去,因为你账户钱不够,你凑不出来足够的 input。所以在 UTXO 模型下面不存在交易失败这种状态,它只存在交易成功或者发不出去这两种状态,即所谓的交易失败是验证不通过,也不会扣你的手续费。UTXO 更认为区块链就是个验证机器,而不是计算机器,而采用账户模型的以太坊曾经有一个外号叫世界计算机,它是要计算的,完全是不同的设计哲学。

效率方面两者也有非常大的区别。UTXO 明确地指出之前使用的是哪些状态,然后把它销毁掉,更新成新的状态。而以太坊在函数调用的时候,并不知道在调用之前它会访问哪些状态,所以它只能按最差情况处理,就是对所有的状态都不做预处理。因此,以太坊每一笔交易只能串行执行。普通的一台桌面电脑,它的 CPU 至少是六核 12 线程,但是对于标准的 EVM 来说,仍然是单线程去执行。而 UTXO 不同, UTXO 天然就是并行的,它的所有交易都是自动可以区分哪些交易是冲突的,甚至冲突的交易都不会发到交易池里面,因此 UTXO 区块链的效率明显高于账户模型。当然现在有一个叙事叫做并行 EVM,想用某种形式解决这个问题,但是从刚才的描述大家也能意识到这不可能从本质上解决。

Tim Xie:我很认同刚刚 Cipher 讲的 “比特币 UTXO 模型更偏验证,以太坊的账户模型更偏计算”。在 DeFi Summer 的时候,我们去做一些 swap,以太坊的 gas fee 会很高,虽然相比于比特币,以太坊的出块速度更快、区块更大、性能更好,但以太坊对于扩容的需求其实比比特币还要更高。为什么呢?原因在于以太坊是一个计算模型。我们玩 DeFi,支付的 gas fee,可能有 98% 都是花在计算上,在验证、传播和存储账户状态这部分的花费其实是非常少的。比特币是一个验证网络,它不做计算,所以我们在比特币二层上做 lending 或者 swap,同样的场景下,手续费反而比以太坊那边还要便宜。

第二个是并发。EVM 为什么是串行的,刚刚 Cipher 解释得非常清楚,UTXO 则可以做并发,这点在做业务上会带来什么差异点呢?在以太坊上做 lending,你需要先存款然后才能借款,因为业务逻辑是你要有抵押物,要先等抵押的这笔交易确认了,状态固定了,它才可以去计算你的抵押物净值和清算阈值,让你借款,这一切是串行的。而 UTXO 可以做并发,我们可以把所有的交易尽可能压缩在一起,这意味着可以把用户的存款交易和借款交易合并成一起,提高效率。

从我们的感受上来讲,在比特币上用 UTXO 模型做 DeFi,最后给用户带来的体验其实并没有人们想象中那么的差,虽然体验不如以太坊或者 Arbitrum 上的应用那么丝滑,但也不会太差,还是可以用的。

Lin:我做一个补充。现有的技术在不断地演进,我认为 UTXO 不是不做计算,它同样也是可以做计算的。比如大家最近热议的比特币操作码 OP_CAT, 如果启用,我们就可以在比特币的 UTXO 中保留状态。如果我们把各种比特币原生的限制都拿掉的话,我们可以在比特币的 UTXO 中去模拟无数个以太坊,每一个 UTXO 都可以是一个以太坊的状态,然后把数据和执行在这个状态当中进行延续,从而使这个状态一直往下推演下去,虽然这样不一定能做到完全的 EVM 兼容。

所以我认为比特币一样可以做计算,而且比特币的逻辑是你随时可以开新的线程,你随时可以分裂出一个新的 UTXO,新的 UTXO 和原来的 UTXO 完全切割开来,这是比特币 UTXO 在计算上的一个特点。

加入 OP_CAT 之后,将会带来很巧妙的一些应用场景。比如说,以太坊 ERC-20 代币会维护一个列表,可以知道哪些账户有多少钱,加入 OP_CAT 之后,在比特币上我们也可以做类似的事情,甚至可能比以太坊做得更好。

在 UTXO 当中,数据共享其实是一个很大的未知的空间。比如说 Covenants(限制条款),现在还需要一段时间的建设,等这个事情往前推进了以后,在不同的 UTXO 当中如何实现共享数据,在交易当中如何引用交易之外的数据等等,或许会有突破。

NIGO:我一直认为以太坊把比特币的 UTXO 模型改成了账户模型,其实是典型的画蛇添足,而且把本来能够进行并发的系统变成了一个串联的系统。以太坊被很多人称为世界计算机,一个普通人的计算任务凭什么要让全球的矿工去计算,这个过程耗费巨大能量,而且成本很高,但并没有带来什么实质性的好处,反而耽误了整体的效率。以太坊转为 PoS 之后,更是让整个网络的矿工(节点)失去了进化动力。而中本聪设计的 UTXO 模型,天然适合高并发、高性能,我相信会有更多的 Web3 用户看到 UTXO 模型的潜力。

2、是 UTXO 模型导致比特币不具备智能合约能力吗?如果要在 UTXO 模型的基础上实现智能合约能力,一般通过什么机制来实现?

Cipher:肯定有很多种方法可以在 UTXO 模型的基础上实现智能合约能力,我介绍一下我最熟悉的 CKB 是如何实现的。

CKB 引入了 lock script,它和比特币的 lock script 是一致的,当这个 UTXO 被花费的时候,lock script 会自动执行,它会根据 witness 里面的数据来作为输入,以及当前的交易也会作为输入来执行。它跟比特币的 lock script 的区别是,它支持一个完整的图灵完备的虚拟机,而不是比特币那种非常有限的脚本环境,所以在解锁的这个阶段它是图灵完备的。

同时,CKB 又引入了 type script 字段,这个字段不论是输入还是输出它都会执行,它更多的是作为这个资产的类别,或者说同一个 type 就代表同一种资产这种逻辑来执行的。比如说,fungible token 交易前后总量保持不变,non-fungible token 交易前后这个数量保持不变、内容保持不变,或者用来判断谁有权利如何去增发一种新的资产,等等。它本身也是一个图灵完备的 VM。

CKB 的虚拟机基于 RISC-V 硬件指令集,任何的调整都涉及到重新的流片,所以 RISC-V 指令集的设计非常的精简、高效和周全。

总结一下,CKB 采用了 RISC-V 的虚拟机,它是图灵完备的,而且它还有 lock script 和 type script 两个地方来存放智能合约的脚本,并且还有一个叫 data 的字段来存放智能合约的状态,所以它是一个完整的合约执行环境。

Tim Xie:在我们 Shell Finance 的整个产品构建过程当中,因为我们要做 lending protocol,要做清算,所以需要一些高级合约的功能,最后我们选择了 DLC(Discreet Log Contracts,谨慎日志合约)。DLC 和闪电网络都属于同等级别的扩容技术,都是 offchain,不同点在于闪电网络主要做 payment,而 DLC 主要用来做 oracle。我们其实不是图灵完备的,限制依然很多,但即便是在限制很多的情况下,通过 DLC 我们就已经能够做 lending 了。

比特币其实有很多 OP Code,如果能启用或者解锁比如之前 DotSwap 的 Lin 提到的 OP_CAT,或是其他一些操作码,那我们其实也可以继续沿着闪电网络和 DLC 这样的路线来去创造出更多的可能性,智能合约肯定是能做的。核心点就在于有没有需求,有没有用户,有没有市场,有没有更多的人去投入时间和投入精力去构思它、去使用它、去满足用户的需求。只要有人使用,有市场,那新的想法、新的概念自然会出来。

我现在敢肯定的是比特币生态的形态一定会跟 EVM 那边完全不一样。也许在业务层面,用户的感受可能差不多,同样都是做 swap 和 lending,同样都有 oracle,但背后的体系以及最后能够使用的工具其实有巨大的差异性。如果是在比特币主网,这个差异会更大,所以我其实比较期待有较好 UTXO 结构的 L2,因为它可以更大地释放比特币生态的潜力。

Lin:我觉得把一个东西设计成图灵完备其实不是很难的事情,反而图灵不完备是很难的,把脚本设计成非图灵完备其实是个非常高深的技术活。

比特币原先的脚本是可以做到图灵完备的,只是现在的比特币很多能力被封印了,比如我之前提到的 OP_CAT,它是一个很重要的能力,但这个能力却被操作符禁用了,而不是说比特币一开始设计的时候没有这些操作符。比特币在一开始的时候涉及了非常多的操作符,但是因为所谓的安全性,或者是所谓的这种安全性的隐患,或者是没有搞清楚到底是什么、怎么用等等,就把某些操作符给禁用了。更有甚者,很多本来是可以用来做智能合约的这种功能,被所谓的标准交易做了一个过滤。我们都说比特币是一个去中心化的系统,但在这个去中心化的系统中,竟然还有一个叫标准交易的东西,它是由某些组织来决定的。标准交易在矿工领域是不存在的,因为矿工可以去打包任何的合法交易,它是基于用户端的一个 policy 问题。

所以总的来说,我觉得原始比特币的这种能力本身是很强大的,但是现在比特币受到了劫持,大家如果有兴趣的话,可以看一下 Roger Ver 的书《Hijacking Bitcoin: The Hidden History of BTC》。因为比特币原始的能力受到了封印,所以我们就被迫地在各种地方去找出路,这是我们目前所面临的一个现状,但是比特币的前途和未来肯定是比较好的。

我一直在说现在的很多所谓的比特币 L2 其实是寄生虫协议,它们并不是把自己的价值贡献到比特币上,也没有办法让矿工有更高的收入,但实际上也确实是没有办法,因为比特币的限制非常多。我讲个类比,HTTP 协议其实是构建在 TCP/IP 协议上的 L2,而我们的 HTML 协议又是构建在 HTTP 协议之上的。这里我觉得才是一层一层的概念,而不是说交易数据完全的从 TCP/IP 里面分离出来,从上一层协议里面分离出来,去另外一个地方跑,然后回头跟别人说我这个是二层协议。真正的二层协议其实是一层一层堆叠的,所以,我们去构建的那些 L2,它也应该是在上一层里面被接受为合法的交易。这就是为什么我们现在正在一层的 swap 上面做探索的一个很重要的原因。我们认为大部分情况下我们其实是要 settle 到一层,我们要在一层上面有很多的验证和共识的承载,而不是说我去做一个所谓的资产桥,然后把大家的资产搬到另外一个地方,这可能不是一个特别好的事情。

NIGO:UTXO 模型能否支持复杂的智能合约功能?当然是可以的。它就是将合约的逻辑和数据存储在 UTXO 中,然后将合约的调用和参数作为 input 来尝试解锁合约,通过 BVM(Blockchain Virtual Machine)执行合约的逻辑,最终通过解锁函数返回 ture or false 来达到控制合约状态的目的。这种模式可能对于以太坊智能合约的开发者来说有些陌生,但实际上,如果你结合函数式编程思想,再配合一些概念的转换,UTXO 智能合约可以实现非常复杂的逻辑。

UTXO 模型由于不存在全局状态,因此它需要将合约的状态和逻辑存储在 UTXO 中,然后通过 UTXO 交易调用链的传递来进行状态的传递和转换,所以每一次的 UTXO 交易都会消耗之前的 UTXO,并生成新的 UTXO,通过这种方式可以实现合约的链式状态转移。所以,能否解锁 UTXO,也就对应着合约的执行结果,它是否允许状态进行转移。如果合约判断不允许修改状态,比如不允许转账、不允许修改数据等,它则会返回 false,那 UTXO 不会被解锁,合约执行失败。

我们把合约看作对数据状态进行转移操作的状态机,那么这里就可以看出来 UTXO 合约和账户型合约的区别。账户合约的 EVM 是要维护全局状态,一个交易可能导致 EVM 进行多次的状态转移,频繁的修改状态数据直到合约执行或者 gas 消耗完。而 UTXO 合约的交易,它是一个 input 合约,调用只会触发一次状态转移,并且无论合约内部的逻辑多复杂,状态转移多少次,BVM 只会将最终的状态转移结果记录在链上。所以 UTXO 合约没有全局状态,只有一个个等待被执行的函数。

UTXO 是多输入多输出,以太坊想做的,包括 Monad 也想做的并行 EVM, 其实完全可以通过 UTXO 来实现,需要转移状态就要先找到这个状态所在的函数,通过函数调用来修改状态,并且生成新的函数,这样的模式使得 UTXO 合约的状态转移更加清晰了。

UTXO 合约并不依赖外部状态,因此,一次合约调用,无论调用多少次,它的结果必然是确定的,所以这也就跟合约的分析和调试以及单元测试带来了巨大的便利。而 EVM 合约要依赖全局状态,所以合约的执行结果很可能会受到外部环境的影响,导致合约的执行结果不确定,比如说余额够是一个结果,不够又是另一个结果。所以这也是 EVM 合约的安全性和可预测性的一个重要问题。

当然,每次将状态传递下去也不是没有代价的,在一些需要溯源的场景中,状态可能会随着 UTXO 传递链条的增大而增大,因为溯源是需要校验的,数据越来越多,所以状态本身会无限膨胀。我们 TBC 通过其他技术和哈希、数据抽取等密码学的手段,将状态膨胀的一大的问题给解决了。所以 TBC 的智能合约区别于其他 UTXO 链的一个重要特点是, UTXO 模型是 TBC 进行无限扩容的一个基础,使 UTXO 模型进行标准的转账交易是非常简单的。

综上,TBC 在充分考虑了 UTXO 模型的优势和缺点,在吸取以太坊和其他 UTXO 公链精华的基础上,引入了一个 BVM 的概念和其他技术来实现真正的一层 UTXO 的智能合约,然后配合更加友好的一些智能合约开发工具,降低了编写和部署 BVM 智能合约的门槛。

最新 更多 >
  • 1 SHARD币最高的时候是多少钱?

    SHARD币最高的时候是多少钱?SHARD币是一种基于区块链技术的数字货币,它由加密货币交易所Kucoin推出。SHARD币的核心理念是为解决现有区块链的安全和性能问题提供一种全新的解决方案,从而推动区块链技术的进一步发展。自2019年4月份SHARD币上线以来,它已经成为了市场上备受关注的数字货币之一。在市场上,SHARD币的价格一直在波动。在这篇文章中,我们将一起去看看SHARD币最高的时候是

  • 2 SKELETON币的创始人是谁

    SKELETON币的创始人是谁? 在数字货币行业里,相信大家都听过SKELETON币这个名字,这是一种比特币衍生币,属于去中心化数字货币。那么SKELETON币的创始人是谁呢?下面我们来一探究竟。 SKELETON币的诞生 在过去的几年间,数字货币风靡全球,这个新兴市场吸引了大批的投资者和创业者。SKELETON币诞生于2017年,创始人是一位匿名的个体或者团队。 从数据公

  • 3 SHIBARMY币的创始人是谁

    SHIBARMY币的创始人是谁?这是目前币圈比较火爆的问题之一,其中SHIBARMY币也是近期备受关注的一枚代币。在这篇文章中,我们将为大家揭晓SHIBARMY币的创始人及其背后的故事。SHIBARMY币是什么?SHIBARMY币是基于以太坊区块链的代币,它和其他代币一样也是一种数字资产,但是它有着它独特的特性。SHIBARMY币的创始人是一群匿名的日本开发者,旨在创建一个更加隐私和去中心化的数字

  • 4 PEPE币有何独特之处?

    PEPE币通过向Pepe the Frog致敬,这个具有有趣且有争议背景故事的meme角色,使其在众多的迷因币中脱颖而出。加密货币投资者对这一角色的奉献为PEPE增添了独特的魅力,使其有别于基于meme的加密货币市场的竞争对手。尽管它也具有有趣的功能,但这可能是该数字资产获得如此多支持和知名度的最重要因素。尽管如此,PEPE币仍试图通过其独特的功能集对加密货币市场产生重大影响。它在免税政策下运营,

  • 5 SNFT币的创始人是谁

    优秀的加密货币项目在现今市场上越来越受到青睐,其中SNFT币是一种备受欢迎的项目。当它进入市场时,许多人想知道SNFT币的创始人是谁。SNFT币是什么?首先,让我们介绍一下SNFT币。SNFT是Staked Non-Fungible Tokens(锁仓非同质化代币)的缩写。这种数字货币是建立在以太坊网络上的一种加密货币,其最显著的特点是可以锁仓、可质押、安全可靠以及无需许可而自由交易。SNFT币的

  • 6 SLS币最高的时候是多少钱?

    SLS币最高时价钱是多少?在数字货币市场上,SLS币是一种备受关注的加密货币,它曾经取得过出众的成绩。那么,SLS币最高时价钱是多少?我们来看看。在2018年1月初,SLS币价格在刚刚超过16美元的高峰点上。当时,这个数字货币受到了全球投资者的广泛追捧。然而,由于华尔街金融群体的涌入,数字货币市场在那一年内经历了一次巨大的调整,SLS币价格也开始出现下跌。到了2018年6月,SLS币价格已经下跌到

  • 7 SOCA币历史价格走势怎么样?

    SOCA币历史价格走势怎么样?SOCA币,全称SocialCapital,是一种去中心化的数字货币,旨在通过普及社交资本的利用,为全球社区创建积极的变化。SOCA币的目标是成为全球社交资本的指标货币,通过连接和积聚全球社交资本,为社会和人类创造积极的价值。SOCA币于2018年11月份上线于Gate.io交易平台。初始价格为0.01美元。但是,由于当时市场经历了一段非常动荡的时期,SOCA币价格变

  • 8 dogwifhat(WIF币)未来价值如何?

    dogwifhat(WIF币)未来价值如何?随着数字货币市场的快速发展,人们对于各种加密货币的关注度也逐渐增加。dogwifhat(WIF币)作为一种新兴的数字货币,备受投资者们的关注。那么,dogwifhat未来的价值究竟如何呢?技术背景与市场潜力dogwifhat(WIF币)是基于以太坊区块链平台的一种数字货币,其采用了先进的智能合约技术,具有高度的安全性和匿名性。相比于传统的加密货币,dog

  • 9 SGMT币最高的时候是多少钱?

    SGMT币最高的时候是多少钱?SGMT币,即SmartMesh Token(智慧网格币),是一种由中国区块链技术公司SmartMesh Foundation Limited推出的数字货币。它是以太坊(Ethereum)上的一种ERC-20代币。自从2018年5月1日SGMT币上线以来,一直备受关注。尤其是在2018年的1-2月份,SGMT币一度涨势喜人,让不少投资者大赚一笔。那么,SGMT币最高的

  • 10 SMU币的创始人是谁

    SMU币的创始人是谁?对于很多数字货币投资者来说,这或许是个未知问号。而实际上,SMU币的创始人是李奕峰。谁是李奕峰?李奕峰是一位在数字货币行业颇具影响力的人物。他毕业于新加坡管理大学,拥有丰富的金融、投资、科技行业背景。早年间,他曾经是纽约证券交易所与芝加哥商品交易所的股票、期货交易员。后来,他创立了自己的金融咨询公司,并担任了多家领先互联网企业的高管。SMU币的创立SMU币是由李奕峰创立的数字