区块链里的分布式数据存储, 并不是简简单单地把同样的数据复制出N份出来那么简单。它依靠的是共识机制这个东东。这个机制是用来让整个分布在世界各地的多个节点之间, 对什么写入操作、还有什么读取操作, 最终能够达成一致意见的。
这里头核心要解决的根本问题始终就是那一个: 在没有中心机构去提供信任背书的情况下, 到底该怎么去确保存放的数据绝对不会被非法修改, 而且在全局范围内所有节点看到的状态都是一模一样的、完全一致的。
分布式数据存储怎么做
节点在收到具体的交易消息以后, 首先要在本地完成各项数据的校验工作, 等到确认无误之后才向整个网络进行广而告之式的广播操作。这些数据包要依据它们携带的时间戳信息被打包归类成一个个区块, 然后借助哈希链接这种技术手段将它们串联成一个环环相扣的链式整体结构。

正因为存在这样的关联机制, 所以一旦系统中任何一个地方的任何字段遭到了人为的篡改或者变动, 都会立刻引发连锁反应, 导致紧跟在其后面的所有区块的哈希值全部失效并不可信, 这就意味着攻击者想要单方面修改数据, 所需要的付出成本和代价将是极其高昂的、几乎是不可能的任务。
在实际进行部署工作的时候, 存储空间被划分成了两个不同的层面, 其中全节点会负责保存完整的链上账本数据, 而轻节点则只保留区块头相关的信息, 轻节点需要借助SPV协议向全节点发起请求以获取Merkle证明, 这样做能够大幅降低那些终端设备在存储资源和网络带宽方面所承受的压力。
分布式数据存储可靠吗
即便只有一个独立的节点发生了宕机故障, 也不会导致数据出现丢失的情况,因为账本的副本已经被分散地存储在了成百上千个彼此独立且互相关联的节点上面。
拜占庭容错这样的机制发挥着至关重要的作用, 它确保了即使系统中出现了占比达到三分之一的恶意或者作恶节点, 整个系统依然能够保持正常的新块生成操作, 并始终维持住底层数据的一致性与完整性。
人们需要认识到, 真正的关键障碍是扩展性问题, 因为比特币主链上的数据会在每年增加几百GB的量级, 这会导致运行全节点的计算机其硬盘空间被持续占用的状况不断恶化, 虽然目前在技术上采用了如分片技术、侧链以及Layer2这样的多种解决方案来尝试分担存储在节点端的压力, 但是这些方法距离真正彻底解决掉所有相关问题还有很长的一段路要走。
分布式数据存储的那个最底层的东西, 已经变得很成熟啦。现在各个公链在更新迭代的时候, 那个最主要的力量就是想要突破一个瓶颈, 这个瓶颈就是链子变长了之后, 数据存储会随着线性的方式一直增长下去。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://zmdyd.cn/zbimqbxz/10580.html
