大家好,这里是链客区块链技术问答社区。
链客,专为开发者而生,有问必答!
分布式存储要解决的3个基本问题
1.网络结构2.数据不可篡改性
3.最终一致性
网络结构
去中心化的分布式存储是指整个发行的电子货币,以及货币交易数据有不同机构,不通个人的成千上万的计算机共同存储,共同维护了同一份相同的数据,只有共同维护的这份相同的数据才是认为最终正确的数据,任何个人篡改自己的数据都没有意义,并且存储的数据所有人都可访问。
BitCherry分布式生态基金正式成立:2021年3月26日,BitCherry官方宣布正式成立“BitCherry分布式生态基金”,旨在培养更多有价值、有潜力区块链商业应用,来完善BitCherry分布式商业生态。BitCherry分布式生态基金决定投入1000万美金用于链上生态应用的开发、竞赛、孵化以及投资,为生态上的开发者们提供资金、技术及运营推广等多方位的支持。[2021/3/26 19:19:56]
比特币采用了一种更加简单直接的方式,利用P2P协议维护整个比特币网络集群,不需要某个中心节点协调节点之间的通信,不需要所有机器投票维护集群状态。而是通过P2P协议进行节点之间的数据传输,任何节点都可以随时加入或者离开比特币网络集群,而不会对比特币网络集群产生影响,也不需要特意去修复这个集群中的故障机器。
四方精创:2019年分布式架构及区块链占全年研发投入64.71%:四方精创(300468)近日发布2019年年度报告,公告显示,2019年公司加大力度研发分布式架构微服务平台及区块链技术,占全年研发投入的64.71%。公司在报告期内已推出面向金融行业的分布式架构微服务PaaS平台PU(Platform Universe)及建制在其上的模块化银行业务平台,具备了面向未来银行发展的技术能力。(证券时报)[2020/4/1]
利用P2P协议进行节点之间数据传输主要有两个功能点:
现场 | 工信部总经济师王新哲:将成立全国区块链和分布式记账技术标准化委员会:11月8日,工业和信息化部总经济师王新哲在可信区块链峰会上表示,目前区块链发展面临的挑战包括技术尚不成熟,在性能、可扩展性和安全性等方面有待改善,另一方面,区块链与各行各业融合还需要逐步加深,区块链生态体系还需要培育。[2019/11/8]
a.把需要存储的数据广播到所有节点上进行储存。b.查询整个网络集群中所有节点的最新数据,如果自己节点的数据与大部分节点的数据不一致,则更新自身的数据与大部分节点存储的数据一致。
动态 | 华为和招行携手成立分布式数据库联合创新实验室:据华为官网消息,招商银行周天虹表示,随着移动互联、云计算、大数据、人工智能、区块链等新技术的蓬勃发展,招商银行在以区块链为代表的新兴技术领域开展了探索和实践,在金融科技的驱动下,招商银行全面开启了零售金融转型3.0经营时代。
目前,华为和招行携手成立分布式数据库联合创新实验室,致力打造一款全球领先的数据库产品,目前已经发布全自研高性能企业级内核版本以及分布式高可用版本,并已实现在招商银行两个重要业务系统的上线投产。[2018/11/30]
比特币是去中心化存储,最大的风险是整个比特币网络集群被破坏,篡改了整个网络存储的数据。但是上述第二个功能点能够有效的防止这种风险,由于系统会自动更新为整个集群中大部分节点存储的相同数据,所以要篡改数据,必须要同时篡改整个网络一半以上的数据,这不是说做不到,但是比特币利用区块链的方式再加上利益博弈机制,当你拥有这种能力的时候,也不需要去做篡改这种投入产出比这么低的事了,在数据不可篡改性一节中再详细描述。
数据不可篡改性
在设计了比特币系统运行的网络结构之后,需要考虑数据的不可篡改性,因为这种数据存储是去中心化的,任何人都可以访问,那么就容易被篡改,上节描述了在这种网络结构的运行机制下,要篡改数据,必须同时更改这个网络集群上一半以上的节点数据,如果每个节点没有一个安全的保护机制的话,那是很容易做到被同时修改网络集群中据很容被更改。
为了防止上个账本的数据被篡改,产生新的账本需要依赖于上一个账本中的所有交易记录的hash值,这样一旦上个账本的数据发生变化就与新账本对应不上。但是账本中所有交易记录计算hash值是一件耗时的计算,因此比特币采用了merkle树对某个账本中的所有交易记录进行hash计算。它主要是解决账本中交易记录hash计算的效率问题。
最终一致性
是分布式存储就绕不开CAP理论,比特币也一样,比特币采用P2P协议进行节点之间的数据传输,放弃了CAP中的Consistency,采用了AP两个维度。如果放弃了Consistency这个属性,那么就产生了拜占庭将军问题,这么多节点如何达成数据一致性。拜占庭军队都是一个个小分队组成,每个小分队都有一个将军负责,将军们通过号令兵传达一系列行动,但是当中出现一些叛将,故意破坏号令怎么办?
分布式存储系统和拜占庭将军问题一样,做到一致性是很难的,在比特币开放式的全球化部署的系统集群更是如此。所以比特币放弃了强一致性,并且通过P2P点对点通信,没有中心节点,整个集群中的服务器故障,离开,加入集群都不会对整个集群产生影响。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。