# 区块链应试笔记 第四 UTXO与以太坊account **Published by:** [InfinitePlus](https://paragraph.com/@infiniteplus/) **Published on:** 2022-10-25 **URL:** https://paragraph.com/@infiniteplus/utxo-account ## Content 一、UTXO比特币的单位是一聪(Satoshi),为10的8次方,UTXO必须为它的整数倍 coinbase交易为挖矿交易,它没有输入 比特币有两种节点:全节点和轻节点 在点对点的网络中,节点的角色既是交易者,也是消费者 1.定义 UTXO(Unspentransaction outputs)未花费交易输出 2.交易过程 每次交易,完全消耗之前交易生成的UTXO,生成新的UTXO; 在交易前后,UTXO的数量可能增多可能减少; UTXO是无法被分割的,只能够被消耗; 可以通过UTXO一直向前追溯,直到挖矿(coinbase交易) UTXO的账户余额=所有属于该地址的未花费UTXO集合 3.UTXO结构 交易输入包含:UTXO的来源+解锁脚本 交易输出包含:UTXO的币值+锁定脚本 交易包含:交易输入+交易输出+哈希(数字签名) 4.UTXO的优点 匿名性 UTXO是独立的数据结构,利于并行处理,交易本身是无状态的 交易易于验证无法被重放 5.UTXO缺点 可编程性差,无法实现复杂的逻辑 当输入Input较多时,见证脚本也会增多,消耗CPU和存储空间二、以太坊的Account模型链的状态在区块中以StateRoot和 ReceiptRoot等形式进行共识 账户分为外部账户(EOA)和合约账户 1.优点 账户自身拥有状态,更利于编程 批量交易的成本较低 2.缺点 账户的状态与交易没有依赖性,需要解决重放问题 Account模型的重放问题,ETH引入 nounce来解决,每笔交易对应一个 nounce,随着交易依次递增 ETH用户发送多笔交易,如果第一笔交易打包失败,将引起后续多笔交易都打包不成功三、两者比较1.Bitcoin本身的交易多为P2SH,且Witness Script是非图灵完备的,不存在循环语句,计算简单 ETH则为图灵完备,计算复杂 2.UTXO中,只能在交易中保存状态 ETH中,状态保存在节点中 3.UTXO计算在链外 ETH计算多在链上 习题 1.比特币交易中,任何一笔交易的交易输入总量与交易输出总量的关系是? A 等于 B 大于 C 小于 D 无关 2.“双花”指的是在数字货币系统中由于数据的(),使得系统可能存在同一笔数字资产因不当操作而被重复使用的情况 A 多样性 B 可复制性 C 差异性 D 随机性 3.Bitcoin本身的交易多为P2SH,且Witness Script是(),不存在循环语句 A 非图灵完备的 B 图灵完备的 C 跳转脚本 D 单循环脚本 4.Account模型每一笔交易都只需要(),交易的输入和输出都是地址,能够节省存储空间 A 一个私钥 B 一个公钥 C 一个签名 D 一个网址 5.在Ethereum中,用户发送多笔交易如果第一笔交易打包失败,将引起() A 没有影响 B 后续多笔交易都打包不成功 C 后续一笔交易打包不成功 D 系统崩溃 6.UTXO模型中,只能在()保存状态 A 交易中 B 交易前 C 交易后 D 节点 7.Account模型的状态是在()保存 A 交易中 B 交易前 C 交易后 D 节点 8.UTXO是()的,只能被消耗掉 A 不能减少 B 不能增加 C 不能生成 D 不能分割 9.每笔交易的输入和输出都是有关系的,可以通过()不停往前追溯,直到挖矿 A Account B UTXO C HASH D SIGNATURE 参考: https://wiki.mbalib.com/wiki/%E5%8F%8C%E8%8A%B1%E9%97%AE%E9%A2%98 https://codeantenna.com/a/HOxalU76mm https://zhuanlan.zhihu.com/p/57272282 ## Publication Information - [InfinitePlus](https://paragraph.com/@infiniteplus/): Publication homepage - [All Posts](https://paragraph.com/@infiniteplus/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@infiniteplus): Subscribe to updates