p7.BTC-挖矿总结

全节点:

1 一直在线

2 在本地硬盘上维护完全的区块链信息

3 在内存里维护UTXO集合,以便快速检验交易的正确性

4 监听比特币网络上的交易信息,验证每个交易的合法性

5 决定哪些交易会被打包到区块里

6 监听别的矿工挖出来的区块,验证器其合法性

7 挖矿:a 决定沿哪条链挖下去  b 当出现等长的分叉的时候,选择哪一个分叉

 

轻节点

1 不是一直在线

2 不用保存整个区块链,只要保存每个区块的块头,比全节点文件大小小1k倍

3 不用保存全部交易,只保存与自己相关的交易

4 无法检验大多数交易的合法性,只能检验与自己相关的那些交易的合法性

5 无法检测网上发布的区块的正确性

6 可以验证挖矿的难度

7 只能检测哪个是最长链,不知道哪个是最长的合法链

8 占比大

由此可知:

1.如果你不是想挖矿,你存轻节点就可以了。

2.你挖到一半,突然有新的区块发布了,则你需要停止以有的挖矿,重新组装一个候选区块,以新发布的区块开始往后挖,由于挖矿的无记忆性,重新挖矿不影响挖矿成功的概率。

 

比特币的安全性由两方面保证:

1.密码学

非对称性加密,无法伪造前签名(前提是恶意算力不够强大)

2.共识机制

 

挖矿设备的进化

1.CPU挖矿

由于通用计算机的设备占用部分少(一少部分CPU指令,硬盘,大部分内存等其他部件都是闲置的)。随着挖矿难度越来越大,性价比越来越低。

2.GPU挖矿

擅长大规模并行计算,但是里面还是有很多部件是闲置的(如:浮点数计算的部件),随着挖矿难度越来越大,性价比也越来越低。

3.AISC芯片

专门为某一种加密货币设计的挖矿芯片(mining puzzle 一样的货币也行)

可知:挖矿设备的军备竞赛中,最赚钱的可能是矿机厂家。

 

矿池:由一个pool manager 带领多个miner 组成,能够稳定收益。pool manager负责监听网上新发布的交易打包成侯选区块,分配出块奖励,分配任务,miner 负责计算hash。

矿池的出现也使得51%攻击变动容易了,因为pool manager通过降低手续费,管理费等吸引miner,而自己不需要出算力。矿池算力占主导地位的时候还可以发动Boycott攻击。

 

posted @ 2019-06-25 22:48  甜麦地  阅读(317)  评论(0编辑  收藏  举报