防篡改
在单点数据库系统中,几乎不用考虑数据被篡改的问题。因为,无论是数据库开放的用户或者是接入的上层系统,都是经过严格审核的,“都是自己人”。
但是,对于这种完全开放式的分布式数据库系统,理论上任何人都可以开启节点参与,成为区块链数据库的一个节点。如何避免数据不被恶意篡改?
简单地说,是通过算力和共识保证不被篡改的。
从算法的角度来说:验证一个结果比产生一个结果简单很多。某个节点,计算得出一个结果,其它节点验证该结果,超过50%的节点认同这个答案,产生结果的节点获得奖励。
这样,把交易信息(数据库信息)与期待的答案关联,只要节点产生出了正确的答案,就能获得奖励。
在利益的驱动下,节点为了获得奖励(金钱),就会尽力确认交易信息,而不是去伪造或篡改。
除非——
它的算力超过50%。那样的话,篡改将成为可能。可以参考下面的文章了解更多。 zhuanlan.zhihu.com/p/151293651
那么,51%算力攻击真的有人做吗?
理论上来说,要执行51%算力攻击,首先需要拥有比网络其他矿工更强的算力。
这意味着要有非常多的挖矿设备,大量挖矿设备本身就会消耗大量的资金。
而且除了设备,还需要大量的电力能源消耗。
由于电价上涨以及能源需求的增加,在过去几年里获得足够的电力来运营矿场变得愈发地困难。
当比特币网络还很小的时候,或许有可能获得足够的电力来运行提供51%算力的设备,但随着时间的推移,比特币网络消耗的电力持续增长,攻击者需要获得大量电力才能成功执行攻击,这种可能性也就越来越小。
发动算力攻击也是为了有利可图,但从经济角度来看,51%算力攻击的成本太高,利润太少,无法产生大量资金,并且会有受到重大损失的风险。
由于所涉及的成本和风险,进行51%攻击确实没有任何意义,而诚实挖矿则有利可图的多。