首页
通知
个人主页
热门文章
新闻
收藏与点赞
历史记录
创作者中心
设置
harbor
1
个内容
关注
harbor
关注
在Web3找寻我们的一席之地!
6
关注
50
粉丝
97
点赞
9
分享
全部内容
帖子
harbor
--
账户模型 VS UTXO 模型1.目前的链用的都是哪些模型 以太坊,EOS,Solana 这些大家所熟知的链都使用的是账户模型,甚至可以说90%以上的项目都使用的是账户模型,而只有一些老牌项目用的是 UTXO 模型,如,BTC,DOGE,LTC,当然也有一些比较新的项目也用的这个模型,如 Layer2 中使用 OP 方案的 FUEL。 2.什么是账户模型 简单理解,就是银行账户那套系统,比如银行之间的转账,支付宝、微信的转账等等都属于账户模型。下面我举个栗子: 假如 A 有 100,B 有 100 这时 A 给 B 转账 50 块钱 在系统中的表现形式就是 A -50,B +50 所以他们的余额 A 50, B 150 这是一笔转账。 再假如,A 还是有 100,他要给 100 个新开户的新人转账 1 元。 这时需要 A 同时给 100 人转账 1 块钱 第 1 笔 A -1,第 1 个人 +1 所以他们的余额 A 99,第 1 个人 1 第 2 笔 A -1,第 2 个人 +1 所以他们的余额 A 98,第 2 个人 1 第 3 笔 A -1,第 3 个人 +1 所以他们的余额 A 97,第 3 个人 1 以此类推 ...... 第 100 人 A -1,第 100 个人 +1 所以他们的余额 A 0,第 100 个人 1 理论上要转账 100 次,而且下一次的转账都必须要先完成前一笔,不然账户余额就无法保证一致性,会混乱,有没有多转,余额够不够转出等。 理论上,随着交易笔数的增长,执行所需要的时间就越多。 3.什么是 UTXO 模型 前面也有提到,很多老牌主流用的是 UTXO,而这个圈子的老祖宗比特币也是用的 UTXO 模型,顺便提一下,我们国家的发行的法定数字货币 DCEP 也是基于 UTXO 模型做的,所以这个模型必然有它的独特之处。 UTXO 全称 Unspent Transaction Output,意思是“未花费交易输出”,他的模型简单说有点像日常生活中的现金体系,举个栗子: 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 的优缺点 账户模型优点: 合约以代码形式保存在 Account 中,并且 Account 拥有自身状态。这种模型具有更好的可编程性,容易开发人员理解,场景更广泛。 批量交易的成本较低。设想矿池向矿工支付手续费,UTXO 中因为每个 Input 和 Out 都需要单独 Witness script 或者 Locking script,交易本身会非常大,签名验证和交易存储都需要消耗链上宝贵的资源。而 Account 模型可以通过合约的方式极大的降低成本。 账户模型缺点: Account 模型交易之间没有依赖性,需要解决重放问题。Ethereum是怎么解决的,我们清楚Ethereum是采用的是唯一的Nonce值的方法,每个交易Tx中有一个Nonce字段,对于每个用户来说,这个Nonce都不能重复,从而避免了重放攻击。 对于实现闪电网络/雷电网络,Plasma 等,用户举证需要更复杂的 Proof 证明机制,子链向主链进行状态迁移需要更复杂的协议。 UTXO 优点: 计算是在链外的,交易本身既是结果也是证明。节点只做验证即可,不需要对交易进行额外的计算,也没有额外的状态存储。交易本身的输出 UTXO 的计算是在钱包完成的,这样交易的计算负担完全由钱包来承担,一定程度上减少了链的负担。 除 Coinbase 交易外,交易的 Input 始终是链接在某个 UTXO 后面。交易无法被重放,并且交易的先后顺序和依赖关系容易被验证,交易是否被消费也容易被举证。 UTXO 模型是无状态的,更容易并发处理。 对于 P2SH 类型的交易,具有更好的隐私性。交易中的 Input 是互不相关联的,可以使用 CoinJoin 这样的技术,来增加一定的隐私性。 UTXO 缺点: 无法实现一些比较复杂的逻辑,可编程性差。对于复杂逻辑,或者需要状态保存的合约,实现难度大,且状态空间利用率比较低。 当 Input 较多时,见证脚本也会增多。而签名本身是比较消耗 CPU 和存储空间的。 5.账户模型和 UTXO 简要区别有哪些 账户余额 账户模型:可以简单明了的看到账户底下有多少钱。 UTXO 模型:统计该地址底下有多少个 UTXO ,把他们汇总起来的结果才是余额。 当交易笔数指数级上升时 账户模型:会越来越吃力。 UTXO 模型:天然支持高并发。 从智能合约/开发者角度出发 账户模型符合开发者的逻辑习惯,相对容易写逻辑 UTXO 脚本编程较为复杂
账户模型 VS UTXO 模型
1.目前的链用的都是哪些模型
以太坊,EOS,Solana 这些大家所熟知的链都使用的是账户模型,甚至可以说90%以上的项目都使用的是账户模型,而只有一些老牌项目用的是 UTXO 模型,如,BTC,DOGE,LTC,当然也有一些比较新的项目也用的这个模型,如 Layer2 中使用 OP 方案的 FUEL。
2.什么是账户模型
简单理解,就是银行账户那套系统,比如银行之间的转账,支付宝、微信的转账等等都属于账户模型。下面我举个栗子:
假如 A 有 100,B 有 100
这时 A 给 B 转账 50 块钱
在系统中的表现形式就是
A -50,B +50
所以他们的余额
A 50, B 150
这是一笔转账。
再假如,A 还是有 100,他要给 100 个新开户的新人转账 1 元。
这时需要 A 同时给 100 人转账 1 块钱
第 1 笔
A -1,第 1 个人 +1
所以他们的余额
A 99,第 1 个人 1
第 2 笔
A -1,第 2 个人 +1
所以他们的余额
A 98,第 2 个人 1
第 3 笔
A -1,第 3 个人 +1
所以他们的余额
A 97,第 3 个人 1
以此类推
......
第 100 人
A -1,第 100 个人 +1
所以他们的余额
A 0,第 100 个人 1
理论上要转账 100 次,而且下一次的转账都必须要先完成前一笔,不然账户余额就无法保证一致性,会混乱,有没有多转,余额够不够转出等。
理论上,随着交易笔数的增长,执行所需要的时间就越多。
3.什么是 UTXO 模型
前面也有提到,很多老牌主流用的是 UTXO,而这个圈子的老祖宗比特币也是用的 UTXO 模型,顺便提一下,我们国家的发行的法定数字货币 DCEP 也是基于 UTXO 模型做的,所以这个模型必然有它的独特之处。
UTXO 全称 Unspent Transaction Output,意思是“未花费交易输出”,他的模型简单说有点像日常生活中的现金体系,举个栗子:
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 的优缺点
账户模型优点:
合约以代码形式保存在 Account 中,并且 Account 拥有自身状态。这种模型具有更好的可编程性,容易开发人员理解,场景更广泛。
批量交易的成本较低。设想矿池向矿工支付手续费,UTXO 中因为每个 Input 和 Out 都需要单独 Witness script 或者 Locking script,交易本身会非常大,签名验证和交易存储都需要消耗链上宝贵的资源。而 Account 模型可以通过合约的方式极大的降低成本。
账户模型缺点:
Account 模型交易之间没有依赖性,需要解决重放问题。Ethereum是怎么解决的,我们清楚Ethereum是采用的是唯一的Nonce值的方法,每个交易Tx中有一个Nonce字段,对于每个用户来说,这个Nonce都不能重复,从而避免了重放攻击。
对于实现闪电网络/雷电网络,Plasma 等,用户举证需要更复杂的 Proof 证明机制,子链向主链进行状态迁移需要更复杂的协议。
UTXO 优点:
计算是在链外的,交易本身既是结果也是证明。节点只做验证即可,不需要对交易进行额外的计算,也没有额外的状态存储。交易本身的输出 UTXO 的计算是在钱包完成的,这样交易的计算负担完全由钱包来承担,一定程度上减少了链的负担。
除 Coinbase 交易外,交易的 Input 始终是链接在某个 UTXO 后面。交易无法被重放,并且交易的先后顺序和依赖关系容易被验证,交易是否被消费也容易被举证。
UTXO 模型是无状态的,更容易并发处理。
对于 P2SH 类型的交易,具有更好的隐私性。交易中的 Input 是互不相关联的,可以使用 CoinJoin 这样的技术,来增加一定的隐私性。
UTXO 缺点:
无法实现一些比较复杂的逻辑,可编程性差。对于复杂逻辑,或者需要状态保存的合约,实现难度大,且状态空间利用率比较低。
当 Input 较多时,见证脚本也会增多。而签名本身是比较消耗 CPU 和存储空间的。
5.账户模型和 UTXO 简要区别有哪些
账户余额
账户模型:可以简单明了的看到账户底下有多少钱。
UTXO 模型:统计该地址底下有多少个 UTXO ,把他们汇总起来的结果才是余额。
当交易笔数指数级上升时
账户模型:会越来越吃力。
UTXO 模型:天然支持高并发。
从智能合约/开发者角度出发
账户模型符合开发者的逻辑习惯,相对容易写逻辑
UTXO 脚本编程较为复杂
BTC
ETH
LTC
登录解锁更多内容
登录
浏览最新的加密货币新闻
⚡️ 参与加密货币领域的最新讨论
💬 与喜爱的创作者互动
👍 查看感兴趣的内容
邮箱/手机号码
注册
登录
热门话题
非农就业数据来袭
9M 次浏览
5,927 人讨论中
比特币在非农数据公布后上演冲高回落走势,当前价格受困于10.5万美元这一关键阻力位。从4小时技术图形分析,RSI指标已进入超买区域,同时MACD动能指标出现顶背离现象,双重信号表明短期上涨动能正在显著衰减。若比特币价格无法有效突破10.5-10.55万美元阻力区间,极有可能构筑双顶形态,进而引发深度回调行情。 在关键点位方面,10.5万美元已成为多空双方激烈争夺的分水岭。下方10.4万美元作为首道防线,一旦该支撑位失守,价格可能加速下行,试探10.2-10.3万美元的次级支撑区间。尽管当前市场情绪整体偏乐观,但技术指标释放的超买信号不容忽视,投资者需高度警惕高位回调风险。 操作策略上,持有空单的投资者可继续持仓,将止损位设置在10.56万美元上方以控制风险。风险偏好较高的激进型交易者,可在10.5万美元阻力位附近轻仓布局空单,目标价位可看至10.3万美元。多单持有者建议在10.5万美元附近适当减仓锁定利润,若价格跌破10.4万美元关键支撑,则应果断离场观望。今晚交易时段,建议重点关注10.5万美元关口的攻防态势,该点位的突破或失守将直接影响短期走势方向。#我的COS交易 #非农就业数据来袭 #Metaplanet拟筹资增持比特币 #Metaplanet拟筹资增持比特币 #特朗普马斯克分歧
杨杰看趋势
1次点赞
3.2k 次浏览
Metaplanet拟筹资增持比特币
230,861 次浏览
277 人讨论中
特朗普马斯克分歧
1.6M 次浏览
1,704 人讨论中
查看更多
实时新闻
VanEck等呼吁SEC恢复先到先审机制以促进市场公平
--
美联储哈克担忧财政赤字及经济数据质量下降
--
以太坊净流入1080万美元,Polygon PoS净流出480万美元
--
苹果、X、Airbnb和谷歌洽谈整合稳定币,Circle股价涨超40%
--
Circle 股价短时突破 118 美元,涨超 42%
--
查看更多
热门文章
最新Alpha最详细磨损最小的刷分技巧
咔咔不卡
最戏剧性分手,马斯克呼吁弹劾川普 毫无疑问,这是当今世界最戏剧性的分手了。好莱坞最出色的编剧,估计都写不出最新的白宫恩
看不懂的sol
分析下现在在分数越来越高的原因 1.有利润,新人源源不断的进来,都在拼命地卷 2.工作室、多号党(杀不完,但是平台也
Timi2020
ETH深夜惊魂300点!大户砸盘还是消息作祟?别慌,真相在这!
铁鹰说币
Alpha竞争太激烈,新策略来了!让你一个月磨损省下120U #币安Alpha上新 现在 #Alpha 的竞争已经
阿台丶努力活着Bluebird
查看更多
网站地图
Cookie偏好设置
平台条款和条件