版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第16讲|深入技术(八):UTXO与普通账户模深入浅 进入课10:31在第2讲“ 长的例子就是UTXO模型的一个简化版本。 网络中有两种记账模式,除了UTXO模型还有AccountBased结构,也就是普通账户模型,也叫账户余额模型,前者在比特币系的数字货币中被广泛使用,后者是用在智能合约型的上。先从传统的账户模型出发来聊聊是如何记账的,假设 两个账户,村长账户里有100万,现在要转账给 10万,这检查村长的账户余额是否大于10把村长的账户扣除10万变成90万,然后发送一笔转账消息 的账户余额加10万 成一个事务,见到的银行账户、系统、系统、各种类应用,理如果以上的步骤中,村长和的账户分属两个不同的系统,例如从A银行到B银行,就1和3的,如果3操作失败,还需要从2到1的状态,这个情况叫做冲正普通账户模型具有自定义数据类型的优点,但是却需要自己设计事务机制,就是上述所说的冲正。而接下来所讲的UTXO模型则恰恰相反。UTXOUTXO全称是:“UnspentTransactionOutput”,这指的是:未花费的输出。这里面三个单词分别表示“未花费的”“”“输出”,接下来来详细讲解一下UTXO的UTXO的设计思路是无状态,它记录的是,而不记录最终状态,也就是有点像MySQLBinlogBinlogRedis 如果要记录本身,那么 可以构造一笔,这笔中村长转账10万给的同时,90万转给自己。 100万-->10-->村 90这里其实有三条子记录,左边一条,右边两条,左边叫做输入,右边叫做输出。对于村长来说,首先构造的输入输出,满足上述条件,然后广播到全网,接收方自行判断是否属于自己。这里满足约束条件构成的模型,也就是村长记录的三条转账就是UTXO模型。UTXOUTXO易用性,UTXOUTXO合高效的UTXO组装算法,这个算法要求尽可能降低输入输出的个数,还要让“零安全性,UTXO,UTXO本身具备ACIDUTXO似乎天然是为数字货币设计的,具有较高频次跨账户转移场景都使用UTXO会比较好,考虑到智能合约的普适性,UTXO与智能合约并不能很好地兼容,但是这也对开发者UTXO借用比特币开发者文档中UTXO模型 图示,来看看UTXO实际的构造形式上图中,所有的都可以找到前向,例如TX5的前向是TX2,TX2中Output1TX5Input0意思就是TX2中的付款人使用了Output1中指向的比特币转移给TX5TX5TX6TX6Output0也可以发现,TX6中的收款人还没有产生TX7,也就是说Output0还没有被 终于得到了UTXO的真正语义:UnspentTransactionOutput,未花费的这时候可以发现UTXO也同样能表示余额,不过是重演计算的方式,它用不同的方式 把一个地址上所有的UTXO全部 还可以发现,无论是TX5还是TX2,都已经成为,它们都忠实客观地记录了两笔,这两笔代表的是,而不是余额状态转移,这是看到的最直观的 这是上一笔真实的例子,它记录了一笔450ETP的转账记录 村长转账给下图是为JSON格式的样子,可以看到Previous_output是放到Inputs数组里12"hash": "height" "inputs"[ "address":89 16
"previous_output"{"hash":"770a72f35d3e3a78bd468949bad649f03b241cf7e2a84cc2d6fdabacdcc47f06""index":0"script":"[ "sequence":"lock_time":"outputs"[ "address":"attaent"{"type": "index":"locked_height_range":"script":"duphash160[63ab0013d183f2592e4b46a358df01e88a09c0b8]"value": "address":"attaent"{"type": "index":"locked_height_range":"script":"duphash160[ f6bb464cba]"value": 42"version":}这一笔比特币包含6个输入,几十个输出,一共3.5kb,的输入输出会影响交易大小,比特币的费是根据字节的,尺寸越大越贵,而尺寸主要和输入输出的个数有关,也就是说,算法上并不规定输入输出的个数,而只有区块尺寸限制。在比特币中将小于100kb的称为标准,超过100kb的称为非标准。它的前向input以及生成一个out约占用161~250bytes。所以在比特币中,大约的inputs/ouputs的最大数目限制为100KB/161B~=600个。从计算的角度来说,UTXO具有非常好的并行支付能力,也就是上文中所说的如果没有尺寸限制,一笔可以包含任意笔输入输出,同时也没有次序要求,在一笔中哪一个UTXO,哪个在后面不影响最果。从的角度来说,UTXO具有较好的可裁剪特性,可裁剪性指的是UTXO类型的,如果从最老的那一笔UTXO开始截断数据库,那么之前的数据可以删除掉了。 可以在任意位置截断,记录UTXO对应的哈希即可,然后从其他节点获取并校验UTXO,这也是SPV轻钱包工作的基础之一。中并没有使用比特币的这种UTXO设计,这与的有关,的目标是V神了UTXO的缺陷,一共有三类UTXO只能是已花费或者未花费状态,这就没有给需要任何其它状态的多阶段合约或者留出空间,这也意味着UTXO只能用于建立简单的、的合约,UTXO更UTXO的只能看到自己这条轨迹,无法看到的数据的全貌,这导致了功能性扩展受到了限制,在花费比特币的过程中需要翼翼的组合UTXO,这也导致了UTXO不能提供非常精细的金额控制,基于账户模型的余额在花费过程中,可以任意而UTXO要求必须全部移动,如果要满足一个目标值金额,对组合UTXO算法的要求会比较高,采用许多有不同面值的UTXO,一方面要求尽可能地精确,另一方面又要求输入UTXO是比特币上的原生设计,在以前是没有这种逻辑数据结构,UTXO的出现给了人们看待数据转移的不同视角,但UTXO不是所有所必需的,公链开发过程中的是否选用UTXO模型可以根据业务场景进行判断。 分别介绍了普通账户模型和UTXO模型,并从不同角度比较了二者的优从技术选择上来看,比特币选择UTXO是为了满足支付的安全性,选择普通账户最后留给你一个问题,上UTXO或账户模型是否过比较严重的使用缺陷呢?你可 不得售卖。页面已增加防盗追踪,将依法其上一 第15讲|深入技术(七):哈希与加密算下一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目管理改进建议函3篇范文
- 企业财务管理规范操作方案
- 工业生产环境质量检测与优化手册
- 跨境电商运营策略与操作技巧手册
- 食品安全管控措施到位承诺函(3篇)
- 都市治理环境保护承诺函(6篇)
- 项目风险评估及防范执行方案
- IT数据备份与恢复指南
- 汽车维修技术基础指导书
- 人力资源管理实践与操作手册
- 制图员(五级)技能理论考试复习题库(含答案)
- 莫斯科保卫战讲解课件
- 2024-2025学年福建省厦门市大同中学下学期八年级数学期中考试卷
- (正式版)DB14∕T 3538-2025 《旅游饭店客房清洁服务规范》
- 检察机关知识产权培训课件
- 房产抖音培训课件
- 中亚地区-教学课件
- 文书模板-诗词学会会员入会申请书
- 感染性休克诊治指南
- 江苏省低空空域协同管理办法(试行)
- 肿瘤代谢与营养
评论
0/150
提交评论