qidao123.com技术社区-IT企服评测·应用市场

 找回密码
 立即注册

区块链100问之交易机制/账户

[复制链接]
发表于 2025-5-19 18:35:08 | 显示全部楼层 |阅读模式
区块链100问之交易机制、账户


  
比特币和以太坊的交易机制分别是什么?

答:


  • 比特币交易模型是UTXO
  • 以太坊交易模型是Account —>同盟链也是
    更多是用在智能合约型的区块链上
Account模型运行机制?

答:
Account:Account Based


  • 传统账户模型:余额作为状态
  • 中心化体系中,甚至在同一个数据库中,会直接退化成一个事件
  • 特点:交易只是事件自己,不包含结果,交易的共识和状态的共识本质上可以隔离的。
  • 缺点:

    • Account 模型交易之间没有依靠性,需要解决重放问题
    • 实现闪电网络/雷电网络,Plasma 等,用户举证需要更复杂的 Proof 证明机制

UTXO模型运行机制?

UTXO:“Unspent Transaction Output“


  • 思路:无状态,只记录交易事件而不记录最终状态,需要用户自行计算余额。
  • 输入输出满足条件:

    • 任意交易至少一个输入、一个输出
    • 输入全部移动 输入金额= 输出金额之和 + 交易手续费

  • 构造交易之后广播到全网

​ 上述交易TX中,每笔交易都可以找到向前交易,TX4的向前交易是TX2,TX2的向前交易是TX0;可以发现TX6的收款人未花费,则output0就是UTXO的真正语义---->Unspent Transaction Output,未花费的交易输出


  • 特点:

    • 较好的并行支付能力,一笔交易可以包含任意笔输入输出,同时也没有序次要求
    • UTXO 具有较好的可裁剪特性,可以压缩数据。在任意位置截断,记录 UTXO 对应的交易哈希即可,然后从其他节点获取并校验 UTXO,这也是 SPV 轻钱包工作的基础之一

  • 缺点:

    • Blockchain-blindness:只能查看自己的历史轨迹
      将比特币体系上的所有交易执行一遍,将所有由自己解锁的,同时还没有被“花费”的交易输出收集得到自己余额
    • Value-blindness:不能提供非常精细的金额控制


矿工上块时就会验证。
交易是怎样确认的?怎样评估?怎样上链?

答:


  • 假如请求少,则等10min,下一个区块就确认上链;假如请求多,拥堵就需要列队,矿工不断从等候记录的转账交易选手续高的举行转账;一旦已经交易确认,已被网络处理,不太大概被打消(后续的每一个区块都是对这个交易的确认)。
  • 小额交易,则单块确认;大额交易,需要6个区块举行确认(也就是1小时)
什么是SPV?怎样运作?

答:轻钱包SPV(Simplified Payment Vertification)


  • 存储交易数据的节点,判断交易真实性,发请求Merkle Block Message
  • 存储交易数据的客户端收到请求,将验证路径返回

    • 查交易,找区块TX1

      • 数据结构=>关系型数据库,用sql查询
      • 时间戳定位区块位置
      • 可以借助中介(第三方网站)

    • 查抄区块是否在网络的最长链条里
    • 取出所有交易天生的Merkle Tree,get Proof方法得到交易验证路径
    • 验证路径发送回请求端

  • SPV得到路径,做merkle校验,确认无误认为可信
除了SPV验证,Merkle Tree还有什么作用?

答:

  • 最直接的就是判断数据是否被篡改
    在区块内部存放各层各交易的哈希值以及root哈希值,由于高一级的hash被下层交易锁影响,下层交易修改,高一级哈希不再匹配


  • P2P下载
    从多个节点下载的数据块,怎样验证未被修改?

    • Hash List:计算每个数据块的哈希值作为一个列表,并做一个根哈希,雷同merkle tree 的逻辑结构
    • 下载方吸收到根哈希和哈希列表(种子文件),来验证自己下载的区块完备性

  • 成员从属证明(Proof of Membership)
    整棵树不完备的情况下快速判断数据块是否正当

                                         总结点数                            n                                     T                            r                            e                            e                            _                            h                            e                            i                            g                            h                            t                            −                            1                            =                            ⌈                            l                            o                                       g                               2                                      n                            ⌉                            =                            验证需要的                            H                            a                            s                            h                            值个数                                     时间复杂度为                            O                            (                            l                            o                            g                            (                            n                            )                            )                                  总结点数n \\ Tree\_height-1=\lceil log_2n\rceil=验证需要的Hash值个数\\ 时间复杂度为O(log(n))                     总结点数nTree_height−1=⌈log2​n⌉=验证需要的Hash值个数时间复杂度为O(log(n))
交易的分类?

答:


  • 发行铸币(50BTC)
  • 转账
没有销毁机制
怎样解决双花问题?

答:双花指的是double spent,攻击者同时将一笔钱作为不同的交易或抹掉自己给别人的转账记录。
中本聪提出==>


  • 每次交易都要向整个网络广播
  • 在P2P网络中最早打上时间戳并挖矿成功的那个交易为交易成功
  • 等候多次确认
比特币上账户地址天生用什么哈希算法?

极客时间版权所有: https://time.geekbang.org/column/article/6224
答:


  • 在非对称算法中,私钥一般是通过一个随机数产生的,这个随机数也叫做种子,从这个角度来说,知道了这个随机数也就等于知道了私钥,不过私钥的产生范围非常大,在比特币中是 2 的 256 次方,差不多在 10 的 70 方数量级上。
  • 假如你产生随机数的算法富足均匀分布,私钥碰撞的大概性比中了 1 亿大奖同时被雷劈中的概率还要小数亿倍。所以区块链对产生随机数的算法要求比较高,它要求真实的均匀随机分布,而不是计算机伪随机数。

假如我们有了私钥,接下来就如图所示:


  • 私钥到公钥,是由非对称加密算法保证的,这种算法在比特币中选择的是 ECDSA 算法,ECDSA 算法中选择的椭圆曲线名为 secp256k1。
  • 从公钥到地址,是由哈希算法保证的,在这一步使用了 SHA256 和 RIPEMD160。椭圆曲线加密算法 ECC 使用了“寻找离散对数”的难解性提供了单向不可逆性
  • 58base编码得到最闭幕果
比特币和以太坊对比?

比特币以太坊编程不支持循环支持智能合约(solidity)哈希函数SHA256、RIPEMD-160、ECDSA(Secp256k1)Keccak-256交易模型UTXO(不可分,缺少状态)Account难度2016块调整(≈2weeks)自反馈机制 PS

Token:Token 确实是数字资产的承载情势,但交易并不是数字资产的唯一资产。
区块链基础技能:P2P 网络、共识机制、哈希与加密算法、记账模型(UTXO)
PoS 共识机制改变了 PoW 工作量证明的验证方式,验证区块Token 对应的 Stake,用以替代 PoW 的工作量证明
极客时间版权所有: https://time.geekbang.org/quiz/question?sheet_id=799286&quiz_id=4731

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199|浙ICP备20004199号 )|网站地图

GMT+8, 2025-8-11 10:16 , Processed in 0.084290 second(s), 32 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表