比特币-共识机制

问题1: 数值货币与传统的现金支付区别?

数字货币实际上就是一个文件,他与传统的现金最大的区别在于:数字货币是可以复制的。
对于数字货币可复制特性就会产生double spending attack。

问题2: 怎么防范double spending attack ?

在这里插入图片描述
解释:第五个区块中B向G与H交易,那么第五个区块的B交易会向前面区块检查,发现在第三个区块中已经将B的比特币交易给了C与D所以第五个区块中的B交易是非法交易,避免了double spending attack。

问题3:A向B转账需要哪些参数信息?
  1. A的签名
  2. B的公钥,通过B的公钥进行hash计算,经过转化可以推算出B的地址(也就相当于现金社会中的银行账户)
  3. A的公钥,目的是证明A的比特币来源
    在这里插入图片描述
问题4:怎么验证两个交易通过呢?

用A交易的输入脚本与前一个交易输出的脚本放在一起执行,执行通过证明交易合法,反之不合法。

区块包含:block header与block body
block header包括:

  • 区块版本version
  • hash of previous block header
  • merkler root hash
  • 挖矿难度target
  • 挖矿nonce(随机数)

注:hash of previous block header计算的时候只算前一个区块的block header
在这里插入图片描述
block body:

  • 交易列表
 问题5:谁有权利将交易写入区块中?

解释:每个人本地维护一条区块链(账本)?这样不行,原因是不同的区块(账本)会发生对不上的现象,一致性不能得到保证,为了解决这个问题,必须实现分布式共识,也就是比特币协议
协议如下:比特币都可以将自己认为合法的交易写入候选模块中,然后通过寻找不同的nonce争取到记账权。

问题5:有没有block header与block body检查后都满足要求,但是这个区块还是不能接受的情况?
解释:若区块不在最长的合法链中不被就收,该特性避免了分叉攻击。

问题6:两个节点同时获取记账权,同时发布区块会怎样?

在这里插入图片描述
这种情况该状态会维持一段时间,直到有节点在下一次竞争中胜出。
在这里插入图片描述

发布了25 篇原创文章 · 获赞 27 · 访问量 2187

猜你喜欢

转载自blog.csdn.net/m0_38053092/article/details/93324859
今日推荐