区块链数据不可篡改的详细解释
背景介绍
本人新人一枚,学习区块链的过程中,在网上看到了很多讨论区块链区块数据不可篡改的文章,以比特币为例哈,主要存在2种解释:
解释1:由于哈希指针的存在,假设存在某节点修改的了当前区块数据,带来的后果就是其后所有N级子区块的数据要全部修改,代价巨大云云…
解释2:由于哈希指针的存在,假设存在某节点修改的了当前区块数据,要往父区块回溯,修改父区块直到创世区块,而创世区块是链的开始,是无法更改的(不然就不是这个链了)。
暂且不说谁说的是正解,反正我乍一看,搞得浑身热血沸腾,觉得哈希指针老牛逼了!应该给哈希指针颁一个联合国和平奖啥的。
通过仔细的学习和思考以及请教两位专家博哥和锋哥(感谢两位的答疑解惑),发现这些文章其实根本回答不了区块链数据不可篡改的真正原因,因此在这里有必要写点东西以正视听!
关于防篡改
由于文章有点长,且如果没有基础可能会不好懂,为了避免大家没耐心,我先说结论——区块链防篡改的真正原因可以从2个层面上解释(以比特币为例):
(1)从全网的角度分析——分布式P2P网络是关键:以比特币为例,全网所有节点的(虽然只有全节点有完整数据库)都存有一份“相同”的区块头,想作恶的话不是少数一批节点可以做的。整个网络的架构决定了数据要篡改只能使用算力攻击,因为P2P网络的数据维护是靠算力竞争记账权并全网复制的。这就最大程度保证了安全性!想攻击网络,必须要拥有大量的算力,但是拥有大量算力的节点还有必要做“偷鸡不成蚀把米”的事吗?就好比一个公司的大股东为什