04 BTC-实现

基于交易模式

UTXO:

说明:unspent transaction output,未被完全花费的交易输出

寻找条件:产生这个交易的HASH值与这个转账输出是第几个输出

UTXO中 输入 = 输出(比特币个数)

输出-输入 = 交易花费数额

基于账户的模式

ETH

区块:

块头信息

交易的默克尔树

挖矿条件

  • 调整块头的nonce。
  • 调整coinbase的指定数值。
  • 前一个区块的哈希值

挖矿的概率分析

  • 伯努利实验

  • 多次伯努利

  • 近似泊松分布:每次的挖矿成功的概率都相等,前面的工作对于下一次挖矿没有任何影响,算计强只是可以尝试的次数比较多,所以才能够更容易挖到区块。

  • 如果不是概率相等:那么算力强的矿工,可以一直进行保底,前面贡献越多,保底的概率越大,对于其他小矿工是是分不公平的。

挖矿

  • 维护区块链。

记账权可能的操作

zero的确认

  • 说明:交易发布,但是区块未进行上链。
  • 常用的认证操作。
  • 原因:区块链首先接受接受先收到的交易。

伪造别人的签名

多次花币(回滚操作)

  • 说明:
  • 防范:

故意不发布某些合法的交易

  • 可以在下一个区块进行发布。

selffish mining

  • 挖到区块等待发布。
  • 风险太大。
  • 51%
  • 好处:浪费别人算力、减少竞争。

04 BTC-实现
https://prelearn-code.github.io/2024/07/22/BlockChain/BTC/04 BTC-实现/
作者
prelearn
发布于
2024年7月22日
更新于
2024年8月8日
许可协议