据我所知,区块链中的数据存储在数据库中。例如,这 post声明Ethereum使用LevelDb或RocksDb。我预计通常唯一的访问该数据库的方法是通过智能契约,但是有什么东西可以阻止人们修改底层数据库,例如,使用数据库附带的API吗?那样的话会发生什么?更改不会传播到数据库的其他副本吗?难道这不等于一次黑客攻击吗?区块链是如何从这样的黑客保护的?
发布于 2019-08-28 05:01:36
那样的话会发生什么?
你的副本就无效了。您可能会用来自节点的一些奇怪的响应来欺骗自己,但是网络对故障节点漠不关心。您所做的任何事情都不会改变网络的其他成员所商定的历史记录。
更改不会传播到数据库的其他副本吗?
不是的。正确的功能节点将忽略从节点发出的无效块。
难道这不等于一次黑客攻击吗?
区块链是一个数据结构,有一种内置的完整性,将打破你的带外编辑。你就不可能成功了。
区块链是如何从这样的黑客保护的?
整个网络都同意所有发生的事情的历史,并对可能发生的事情有严格的规定。你的带外编辑将被认为是不可接受的。它可能有助于考虑到,远离典型的集群,块链节点不一定相互信任,多达49%的节点可以故意对网络怀有敌意--网络不会移动。
也许其他人会加入更多的技术资源来解释这是如何运作的。
希望能帮上忙。
发布于 2019-08-28 04:19:52
您可以修改您的数据库,以便例如,您有更多的硬币比其他人。
然而,每个使用区块链的人都知道这是不正确的,所以不管你有什么交易,都不用花你没有的硬币。
拥有区块链意味着运行一致的软件:每个人都同意运行的软件。这个软件检查什么是有效的和什么是无效的,并将防止你被黑的变化影响区块链。
https://ethereum.stackexchange.com/questions/74322
复制相似问题