NEX:一文看懂比特币的UTXO模型_ATH

1.目前的链用的都是哪些模型

以太坊,EOS,Solana这些大家所熟知的链都使用的是账户模型,甚至可以说90%以上的项目都使用的是账户模型,而只有一些老牌项目用的是UTXO模型,如,BTC,DOGE,LTC,当然也有一些比较新的项目也用的这个模型,如Layer2中使用OP方案的FUEL。2.什么是账户模型

简单理解,就是银行账户那套系统,比如银行之间的转账,支付宝、微信的转账等等都属于账户模型。下面我举个栗子:假如A有100,B有100这时A给B转账50块钱在系统中的表现形式就是A-50,B+50所以他们的余额A50,B150这是一笔转账。再假如,A还是有100,他要给100个新开户的新人转账1元。这时需要A同时给100人转账1块钱第1笔A-1,第1个人+1所以他们的余额A99,第1个人1第2笔A-1,第2个人+1所以他们的余额A98,第2个人1第3笔A-1,第3个人+1所以他们的余额A97,第3个人1以此类推......第100人A-1,第100个人+1所以他们的余额A0,第100个人1理论上要转账100次,而且下一次的转账都必须要先完成前一笔,不然账户余额就无法保证一致性,会混乱,有没有多转,余额够不够转出等。理论上,随着交易笔数的增长,执行所需要的时间就越多。3.什么是UTXO模型

RWA借贷协议Goldfinch面临贷款违约:金色财经报道,Goldfinch是一个向现实世界链下业务提供贷款的 DeFi 协议,在一笔500万美元的贷款中,肯尼亚摩托车公司 Tugende 违约。据报道,Tugende 违反了贷款协议的条款,导致违约金额占 Goldfinch 总锁定价值(TVL)的约4%。

这次违约将导致 Senior Pool 的资产净值减记3.95%。由于过去一年 Senior Pool 的年化收益率为7.81%,这意味着在这次120天减记结束时,过去12个月的整体年化收益率将仅为正1.50%。

Goldfinch 是一个去中心化信用协议,旨在促进金融包容。该协议使用现实世界资产作为抵押,进行加密货币贷款。Goldfinch 社区向全球企业提供贷款,业务重点为新兴市场。[2023/8/9 21:33:54]

前面也有提到,很多老牌主流用的是UTXO,而这个圈子的老祖宗比特币也是用的UTXO模型,顺便提一下,我们国家的发行的法定数字货币DCEP也是基于UTXO模型做的,所以这个模型必然有它的独特之处。UTXO全称UnspentTransactionOutput,意思是“未花费交易输出”,他的模型简单说有点像日常生活中的现金体系,举个栗子:A有一个钱包,里面有1元面值,10元面值以及100元面值。A要给B、C、D分别1块钱。A有三种方式第一种:拿出1元面值的钱给B第二种:拿出10元面值的钱给C,找回9元第三种:拿出100元面值的钱给D,找回99元这三种方式都可以把这次交易完成。再回到链上,想象一下这里每一个面值的钱其实就是一个链上UTXO,具体在使用过程中的UTXO并不是在转移的,而是在不断的销毁和重建,例如:A用第二种方式给C转钱,10元面值的UTXO会被销毁,系统会重新印出一张1元面值和一张9元面值的UTXO,1元的给C,9元的还给A。第三种方式也同理,100元的销毁,印出1张1元面值的和一张99元面值的UTXO,1元的给D,99元的还给A。这是UTXO和账户模型转账方式的不同,更牛逼的是,UTXO模型可以并行转账,因为余额是通过分散的UTXO存在的,所以每个面值其实可以同时转账给不同的人,上面三种方式是可以在一笔交易中同时完成的,因为不会涉及到账户一致性问题,每个UTXO都是单独独立计算的。我们在对比上面的账户模型,每一笔交易都必须依托于上一笔交易的完成,这其中的性能差距可想而知。这样就理解为什么央行数字货币使用的是UTXO模型了,不然深圳怎么给5万个钱包发送1000万数字人民币?再说回上面那个例子:A有100,他要给100个新开户的新人转账1元。面值100的UTXO可以拆分成100个面值1块钱的UTXO,然后在一笔交易中直接分给100个人,瞬间完成。总之,把UTXO的面值想象成更加灵活的现金,在链上不断的销毁和重建。想知道这个钱包地址到底有多少钱就需要统计底下有多少个余额的UTXO并求和。4.账户模型和UTXO的优缺点

欧易将支持Starknet网络ETH充提:金色财经报道,据官方公告,为满足用户交易的多方面需求,欧易将支持ETH_Starknet充提。ETH_Starknet充提开放具体时间如下:ETH_Starknet充值开放时间:7月11日下午4:00(UTC+8);ETH_Starknet提现开放时间:7月12日下午4:00(UTC+8)。[2023/7/11 10:48:14]

账户模型优点:合约以代码形式保存在Account中,并且Account拥有自身状态。这种模型具有更好的可编程性,容易开发人员理解,场景更广泛。批量交易的成本较低。设想矿池向矿工支付手续费,UTXO中因为每个Input和Out都需要单独Witnessscript或者Lockingscript,交易本身会非常大,签名验证和交易存储都需要消耗链上宝贵的资源。而Account模型可以通过合约的方式极大的降低成本。账户模型缺点:Account模型交易之间没有依赖性,需要解决重放问题。Ethereum是怎么解决的,我们清楚Ethereum是采用的是唯一的Nonce值的方法,每个交易Tx中有一个Nonce字段,对于每个用户来说,这个Nonce都不能重复,从而避免了重放攻击。对于实现闪电网络/雷电网络,Plasma等,用户举证需要更复杂的Proof证明机制,子链向主链进行状态迁移需要更复杂的协议。UTXO优点:计算是在链外的,交易本身既是结果也是证明。节点只做验证即可,不需要对交易进行额外的计算,也没有额外的状态存储。交易本身的输出UTXO的计算是在钱包完成的,这样交易的计算负担完全由钱包来承担,一定程度上减少了链的负担。除Coinbase交易外,交易的Input始终是链接在某个UTXO后面。交易无法被重放,并且交易的先后顺序和依赖关系容易被验证,交易是否被消费也容易被举证。UTXO模型是无状态的,更容易并发处理。对于P2SH类型的交易,具有更好的隐私性。交易中的Input是互不相关联的,可以使用CoinJoin这样的技术,来增加一定的隐私性。UTXO缺点:无法实现一些比较复杂的逻辑,可编程性差。对于复杂逻辑,或者需要状态保存的合约,实现难度大,且状态空间利用率比较低。当Input较多时,见证脚本也会增多。而签名本身是比较消耗CPU和存储空间的。5.账户模型和UTXO简要区别有哪些

Bitfinex Alpha:比特币因美国的银行挤兑而走强:3月28日消息,根据Bitfinex Alpha报告,比特币因美国的银行挤兑而走强。比特币现货市场的周交易量创下新高,而衍生品交易量对比特币价格的影响越来越大,衍生品交易的增长速度快于现货交易量增长速度,这反过来又加剧了波动性。期权交易量也在触及峰值,表明机构投资者正越来越多地参与市场。

新市场参与者的增加表明我们可能正处于牛市的早期阶段,尽管Bitfinex Alpha仍然主张谨慎,因为同时看到波动性增加。链上指标表明,长期持有比特币的人正在出售其比特币获利,Bitfinex Alpha认为这对市场来说是一个积极的因素,因为它在流动性供应仍然有限的情况下满足了新进入者的需求。[2023/3/28 13:30:20]

账户余额账户模型:可以简单明了的看到账户底下有多少钱。UTXO模型:统计该地址底下有多少个UTXO,把他们汇总起来的结果才是余额。当交易笔数指数级上升时账户模型:会越来越吃力。UTXO模型:天然支持高并发。从智能合约/开发者角度出发账户模型符合开发者的逻辑习惯,相对容易写逻辑UTXO脚本编程较为复杂

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

区块博客

[0:15ms0-3:748ms