标签:问题 大型数据库 log 区块链 需要 系统 分享图片 提取数据 bubuko
区块链技术经历了几个阶段的更新发展,技术上有了很大的革新,但区块链技术发展的一个难题就是扩容问题。面对这个问题是要提升区块大小还是分叉?这是比特币曾经面对的难题,但好在“隔离见证+闪电网络”让比特币有了喘息之机。不过随着用户群体逐渐变大,交易量也不断上升,如何解决扩容问题迫在眉睫。
以太坊在面对扩容难题时,则采用了分片的方式,从侧面提高区块链系统的可扩展性。
下面小编就给大家讲讲分片的相关知识。
分片是传统数据库分区的一种,它将大型数据库分成更小、更快、更容易管理的部分——数据碎片。那区块链分片技术就是基于数据库分片概念的一种扩容技术。
分片基本思路是把网络中的节点划分为不同的碎片,每个分片能够并行处理不同交易,这样一来就能够并行处理相互之间未建立连接的交易,从而提高网络并发量。分片的特点表现是,网络吞吐量会随着节点数目的增加而增加。
核心难点在于数据分片的关键特征值确定,还有因元数据在片区之间通信的延迟而引起的不一致性问题,频繁的跨碎片之间的通信会使得区块链网络性能大幅度下降。因为每个片区里的数据是分开更新的,在设计应用逻辑时必须确保信息的成功更新,同时也需要预留出一定的鲁棒性,用来应对一个达成最终一致性过程中可能出现的不一致性。
在区块链中的分片根据对象可分为交易分片、网络分片和状态分片,其中在区块链中采用网络分片技术,即是将矿工分成几个子网络,分别负责验证该碎片上的交易,需要保证恶意节点的数目足够小,所以在分配矿工的规则上需要注意保证随机性。
在区块链中应用分片技术,还需要考虑的问题是对各种攻击如女巫攻击,DDOS攻击、双花攻击的防御,需要在权衡效率的同时,保证每个分片内的总节点数目足够多,并且诚实的节点占大多数,分片技术对安全性要求极高,区块链系统中的节点数目比传统数据库中的可能要多,而且面临带宽的限制。需要充分考虑到延迟带来的不一致性导致的性能和安全性问题,这也是为什么鲜少有区块链服务落地的相关项目。
不管是区块链领域还是数据库领域,分片时要进行的首要步骤均要提取数据的关键特征值,然后把关键特征值按照一定的规则来划分给不同的碎片来处理。关键特征值的选择十分重要,因为它关系着数据的表示唯一性保障以及分片的效果。
原文链接:http://blog.sina.com.cn/s/blog_195d7fdc00102y2pz.html
标签:问题 大型数据库 log 区块链 需要 系统 分享图片 提取数据 bubuko
原文地址:https://www.cnblogs.com/qqqkl/p/9917062.html