NAN:长推:深入浅出理解“UTXO” 和 “Account”

链协议的研究者,在开展研究的时候会不断回访“UTXO”和“Account”这两个概念。因为它们几乎关联了一切:交易的格式、编程模型、经济模型,还有隐私性、可扩展性。

在这里,“UTXO”和“Account”都不必作狭义的理解。它们的核心区别在于,一个是对钱编程,一个是对账户编程。因此Nervos的Cell模型,也算作UTXO。

在这个领域,给我留下最深刻印象的是JohnAdler在2020年9月发表的一篇短文,题为“Accounts,StrictAccessLists,andUTXOs”。在这篇文章中他得出了一个令人有些震惊乃至怀疑的直觉:https://forum.celestia.org/t/accounts-strict-access-lists-and-utxos/37

Super League收购元宇宙体验开发工作室Melon:5月9日消息,元宇宙公司Super League收购元宇宙体验开发工作室Melon,将为希望在游戏元宇宙平台上建立社区的品牌提供服务。

Melon专注于在Roblox中构建体验,与Chipotle、Mattel和PacSun等品牌建立了合作关系。Super League Gaming在开放世界游戏平台上构建和运营游戏网络、货币化工具和内容渠道,为开发者、玩家和粉丝提供支持。[2023/5/9 14:52:38]

“与账户模型相比,UTXO并没有提供任何根本上不同的功能,也没有缺失任何基础功能。”,也包括“可编程性”,因为这篇文章就提出了一种可以实现以太坊富状态式智能合约的UTXO模型。作者还认为,UTXO对比账户模式的好处,主要在于它显式地指明要访问的状态,因此允许并行执行。

数字资产金融服务公司EQONEX在新加坡提交自愿清算程序:金色财经报道,纳斯达克上市数字资产金融服务公司EQONEX在向美国证券交易委员会提交的文件中表示,其位于香港的实体Diginex已进入债权人自愿清算程序,预计位于新加坡的Eqonex Capital也将进入自愿清算程序。

EQONEX于11月15日宣布:“对集团持续经营的能力以及集团营运资金是否足以履行其短期财务义务存在重大不确定性。为了解决这些流动性问题,EQONEX团一直在与潜在投资者协商通过发行新股获得股权融资,并与Bifinity协商寻求(其中包括)豁免违约和修改贷款协议,遗憾的是,融资计划未取得成功。”(the block)[2022/11/22 7:56:33]

但是,“这在账户模式下也可以通过‘严格访问清单(strictaccesslists)’”来实现。意思是让交易严格指明自己要访问哪个账户。顺带说一句,“访问清单”这种技术在以太坊上也已经有了,就是2020年柏林分叉中纳入的EIP-2930——提前说好自己要访问哪些账户,可以获得Gas节省。

Uniswap创始人:Binance于昨日委托1300万枚UNI,成为UNI最大委托地址之一:10月19日消息,Uniswap 创始人 Hayden Adams 在社交媒体上发文表示,Binance 于昨日委托了 13,242,550 枚 UNI,成为委托 UNI 数量最多的地址之一。这种情况非常特殊,虽然该体量仅占当前全部 UNI 委托数量的 1.3%,Uniswap 的治理投票权仍然很分散,但从技术上来说,这些 UNI 是属于 Binance 用户的。通常官方参与更多治理是一件好使,但目前尚不清楚 Binance 将如何参与 Uniswap 的治理。希望 CZ 能本着透明公开的精神,和 Uniswap 表达一下想法。[2022/10/19 16:30:20]

这个EIP不是强制的;但可能用户要享受到其中的好处也不容易,它需要全节点通过解析交易的内容构造出访问清单,再返回完整的交易给用户签名。

Coinbase将上线TIME、DEXT、DREP、JUP和MUSE:6月23日消息,据官方推特,Coinbase将上线Chrono .tech (TIME)、DEXTools (DEXT) 、Drep[new] (DREP)、Jupiter (JUP) 和 Muse (MUSE) 。如果满足流动性条件,交易将于太平洋时间6月23日9:00(北京时间6月24日0:00)或之后开始。

如果建立了足够的该资产供应,TIME-USD、TIME-USDT、DEXT-USD、DEXT-USDT、DREP-USD、DREP-USDT、JUP-USD、JUP-USDT、MUSE-USD和MUSE-USDT交易对的交易将分阶段开放。

注意:Coinbase仅在以太坊网络(ERC-20 代币)上支持以上资产,不要通过其他网络发送此资产,否则资金可能会丢失。[2022/6/23 1:26:24]

那么,UTXO又如何获得跟账户模式比肩的可编程性呢?作者引用了两篇文献,一篇是Nervos开发者XuejieXiao的“IntrotoCKBScriptProgramming1”:https://medium.com/nervosnetwork/intro-to-ckb-script-programming-1-validation-model-9a7d84679266

另一篇文献名为“BitcoinCovenants”,所涉及到的概念正是比特币社区长期以来讨论的“covenant”:https://fc16.ifca.ai/bitcoin/papers/MES16.pdf…118

作者还说:“一个关键的直觉是,底层的数据模式与执行模式没有绝对的关联,执行模式既可以是具状态的,也可以是无状态的;跟合约是否能与另一个合约互动也没有绝对的关联。”

我一直记得这篇文章,时时回味。并不是说作者已经说服了我。按我今天的理解,我认为这些结论也许谈得太粗糙了。比如,在比特币UTXO上,你无法编程出“无主的合约”,这可能跟使用了UTXO模型无关,而主要是因为它的编程模型是验证范式的。

我的理解:验证的意思是你把数据输进去,它给你一个0或1。而以太坊这种计算范式,则意味着你把数据输进去,它可以给你另一个有意义的数据。这种区别也许更大地影响了编程。

除此之外,更为根本但常常被忽略的话题是:为什么要使用UTXO/账户?显然这并不只跟编程有关,因此作者只讨论了一个方面。前段时间人们热议以太坊上提出的各种账户抽象方案,最后也会回到这个问题。

如果我们想要实现账户抽象,是否UTXO模式更好?如果我们想要实现分层,是否UTXO模式更好?如果我们要让区块链进入金融场景,账户模式更好吗?这些问题也许显得虚无缥缈,而且事实上很可能需要逐个逐个案例的研究,才能拼凑出足够有意义的答案。但这些问题不重要吗?

对从业者而言,这些问题决定了你的工作建立在怎样的基础上;决定了吸引你进入这个行业的承诺是否真的有可能实现;同样,可能也决定了未来某个人希望参与这个世界的时候,决定把心思放在哪里。它们可能比如何编程更重要,重要得多。因为程序是价值中立的,但程序员不是。

JohnAdler文章的中文译本:https://mp.weixin.qq.com/s?__biz=MzIwODA3NDI5MA==&mid=2652532990&idx=1&sn=414b9616bc1890d36be5dcdeff0bbff8&chksm=8ce673a3bb91fab5b0de969ac15823fea387d7f4f470674da59bfd4daabc1f227891e45ef5f7#rd…

BTCStudy的“covenant”标签:https://btcstudy.org/tags/covenant/

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-0:946ms