zoukankan      html  css  js  c++  java
  • 比特币基础知识(1)

    Mercle Tree:

    mercle tree(计算机科学家 Ralph Merkle)提出,用于完整性的校验;

    Git 版本控制系统,ZFS 文件系统以及我们自己下载电影常用的点对点网络 BT 下载,都是通过 Merkle Tree 来进行完整性校验的。

    二叉树的形式,从叶子节点开始向上构建,使用双SHA256计算hash;

    如果叶子是单数,则会复制最某位的那个,确保是双数;

    好处:避免了对所有的交易来进行hash,可以单独拿分支来对部分数据进行校验,只需要分支就可以计算出root hash然后比较,最后还是落到了效率上。

    不足:传统的merkle树的限制是,它们虽然可以证明包含此交易,但无法证明任何当前的状态,如bitcoin。因此,以太坊改进使用的是Merkle Patricia Tree (MPT) ,叫前缀树或者是字典树,具体有待学习。

    ----------------------------------------------------------------

     比特币交易的构成:

    要点:

    (1)txid其实就是交易数据的hash,交易中tx_in中会包含输入使用的交易id,因此,不能有同样的交易id,如果在coinbase中构建了相同的交易的话,那么其实只能用其中一笔;

    (2)sequence指代的是交易的版本号,用于在交易被写入block之前更改交易,另外lock_time指代锁定的交易的时间或者block数目,判断的界限是5×10的8次方。

  • 相关阅读:
    HDU 2852 KiKi's K-Number (主席树)
    HDU 2089 不要62
    Light oj 1140 How Many Zeroes?
    Bless You Autocorrect!
    HDU 6201 transaction transaction transaction
    HDU1561 The more ,The better (树形背包Dp)
    CodeForces 607B zuma
    POJ 1651 Mulitiplication Puzzle
    CSUOJ 1952 合并石子
    Uva 1599 Ideal path
  • 原文地址:https://www.cnblogs.com/zhang-qc/p/8563877.html
Copyright © 2011-2022 走看看