长推:深入浅出理解“UTXO” 和 “Account”
链协议的研究者,在开展研究的时候会不断回访 “UTXO” 和 “Account” 这两个概念。因为它们几乎关联了一切:交易的格式(用户交互的方式)、编程模型、经济模型(资源消耗计量、状态膨胀),还有隐私性、可扩展性。
在这里,“UTXO” 和 “Account” 都不必作狭义的理解。它们的核心区别在于,一个是对钱编程(“某一笔钱有某一个所有者”),一个是对账户编程(“某一个账户有某一些状态”)。因此 Nervos 的 Cell 模型,也算作 UTXO。(还有没有人记得 “可编程货币” 这个 meme?把它用在账户模型上是一种事实性的错误)
在这个领域,给我留下最深刻印象的是 John Adler 在 2020 年 9 月发表的一篇短文,题为 “Accounts, Strict Access Lists, and UTXOs(账户、严格访问列表与 UTXO)”。在这篇文章中他得出了一个令人有些震惊乃至怀疑的直觉:https://forum.celestia.org/t/accounts-strict-access-lists-and-utxos/37
“与账户模型相比,UTXO 并没有提供任何根本上不同的功能,也没有缺失任何基础功能。”,也包括 “可编程性”,因为这篇文章就提出了一种可以实现以太坊富状态式智能合约的 UTXO 模型。作者还认为,UTXO 对比账户模式的好处,主要在于它显式地指明要访问的状态(UTXO),因此允许并行执行(高吞吐量)。
但是,“这在账户模式下也可以通过 ‘严格访问清单(strict access lists)’” 来实现。意思是让交易严格指明自己要访问哪个账户。顺带说一句,“访问清单” 这种技术在以太坊上也已经有了,就是 2020 年柏林分叉中纳入的 EIP-2930—— 提前说好自己要访问哪些账户,可以获得 Gas 节省。
这个 EIP 不是强制的;但可能用户要享受到其中的好处也不容易,它需要全节点通过解析交易的内容构造出访问清单,再返回完整的交易给用户签名。(另:也正是这个 EIP,让许多因为 EIP-1884 而死掉的合约账户起死回生。也是以太坊的著名公案。)(不知跟各应用争相做钱包有无关系)
那么,UTXO 又如何获得跟账户模式比肩的可编程性呢?作者引用了两篇文献,一篇是 Nervos 开发者 Xuejie Xiao 的 “Intro to CKB Script Programming 1”:https://medium.com/nervosnetwork/intro-to-ckb-script-programming-1-validation-model-9a7d84679266
另一篇文献名为 “Bitcoin Covenants”,所涉及到的概念正是比特币社区长期以来讨论的 “covenant(限制条款)”:https://fc16.ifca.ai/bitcoin/papers/MES16.pdf…118
作者还说:“一个关键的直觉是,底层的数据模式与执行模式没有绝对的关联,执行模式既可以是具状态的,也可以是无状态的;跟合约是否能与另一个合约互动也没有绝对的关联。”
我一直记得这篇文章,时时回味。并不是说作者已经说服了我。按我今天的理解,我认为这些结论也许谈得太粗糙了。比如,在比特币 UTXO 上,你无法编程出 “无主的合约”(因此不可能实现 Uniswap v1),这可能跟使用了 UTXO 模型无关,而主要是因为它的编程模型是验证范式的。
我的理解:验证的意思是你把数据输进去,它给你一个 0 或 1(通过或者不通过)。而以太坊这种计算范式,则意味着你把数据输进去,它可以给你另一个有意义的数据。这种区别也许更大地影响了编程。(我不确定 Nervos 上能否实现 Uniswap v1,请方家不吝赐教)
除此之外,更为根本但常常被忽略的话题(也是我一直记得这篇文章的原因)是:为什么要使用 UTXO/账户?显然这并不只跟编程有关,因此作者只讨论了一个方面。前段时间人们热议以太坊上提出的各种账户抽象方案,最后也会回到这个问题。
如果我们想要实现账户抽象,是否 UTXO 模式更好?如果我们想要实现分层,是否 UTXO 模式更好?如果我们要让区块链进入金融场景,账户模式更好吗?这些问题也许显得虚无缥缈,而且事实上很可能需要逐个逐个案例的研究,才能拼凑出足够有意义的答案。但这些问题不重要吗?
对从业者而言,这些问题决定了你的工作建立在怎样的基础上;决定了吸引你进入这个行业的承诺是否真的有可能实现;同样,可能也决定了未来某个人希望参与这个世界的时候,决定把心思放在哪里。它们可能比如何编程更重要,重要得多。因为程序是价值中立的,但程序员不是。
John Adler 文章的中文译本: https://mp.weixin.qq.com/s?__biz=MzIwODA3NDI5MA==&mid=2652532990&idx=1&sn=414b9616bc1890d36be5dcdeff0bbff8&chksm=8ce673a3bb91fab5b0de969ac15823fea387d7f4f470674da59bfd4daabc1f227891e45ef5f7#rd…
BTCStudy 的 “covenant” 标签: https://btcstudy.org/tags/covenant/
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
您可能感兴趣
-
加密 TGE 变革:公募崛起,空投渐失宠?
未来,优质代币和劣质代币之间的差距可能会持续扩大。撰文:Taiki Maeda编译:Saoirse,Foresight News曾几何时,空投是代币生成活动(TGE)的首选方式。项目方向用户大量发放免
-
高盛警告:AI 狂潮恐重演 1999 互联网泡沫,五大信号值得警惕
当整个市场都在为AI的未来欢呼时,高盛的策略师们却敲响了警钟。作者:金十数据市场正担心如今的美国科技股领域浮现出1999年的影子,尽管关于AI是否是泡沫的争论非常激烈,但历史提供了一些信号,揭示了投资
-
在 Polymarket 之外,DeAgent AI 如何成为预测赛道的价值中枢?
DeAgent AI 选择了一条从 AI 预言机和智能体基础设施切入预测市场的路。撰文:ChandlerZ,Foresight News如果说人类社会自古就存在对未来的好奇与押注,那么加密原生的预测市
-
Bitget 每日早报(11月11日)|Uniswap提案激活协议费用开关及UNI销毁;Monad公布代币经济学,3%空投给社区;Strive增持BTC至7525枚今日前瞻 1、Uniswap生态迎来重大治理提案,Uniswap Labs与基金会于 11月10日提议激活协议费用开关并实施UNI销毁机制。UNI过去24小时涨幅超 38%至 41.66%,市值增至
-
销毁,是 Uniswap 最后的底牌一觉醒来,UNI 涨了近 40%,带着整个 DeFi 板块都在普涨。 上涨的原因,是 Uniswap 亮出了最后的底牌。Uniswap 创始人 Hayden 发布了一个新提案,核心内容围绕着那个老生常
-
Bitget 每日早报:Uniswap 提案激活协议费用开关及 UNI 销毁
Monad公布代币经济学,3%空投给社区。作者:BitgetBitget每日早报(11月11日)|Uniswap提案激活协议费用开关及UNI销毁;Monad公布代币经济学, 3%空投给社区;Striv
-
CZ 大批量取关:荒诞“关注生意”彻底凉了?作者:zhou, ChainCatcher11 月 10 日,一张 X 关注数对比图点燃了加密社区讨论热度。币安创始人赵长鹏(CZ)在不到两个月时间里,从其 X 账号取关超三百人,这一远超日常维护的数
-
巴菲特“最后一封信”全文:我“纯属运气好”,但“时间老人”追上来了,我将“保持安静”
他坦言自己一生受“幸运女神眷顾”,仿佛“抽中了一根长得出奇的签”。撰文:叶桢来源:华尔街见闻巴菲特向其股东宣告,他即将「归于沉寂」,这标志着他执掌伯克希尔·哈撒韦公司长达六十年的辉煌职业生涯正步入尾声
- 成交量排行
- 币种热搜榜
OFFICIAL TRUMP
Pepe
UXLINK
泰达币
比特币
以太坊
USD Coin
大零币
Solana
First Digital USD
瑞波币
Uniswap
币安币
狗狗币
莱特币
FIL
ICP
AR
ZEN
ETC
OKB
NEAR
EOS
XCH
CAKE
BSV
DOT