学习区块链知识~区块链分片技术

飞翔的小鸟
个人专栏
热度: 7018

结合网上一些内容,以及自己的理解和认识,聊聊分片技术,望各位指正

大家好,我是飞翔的小鸟,一个想要学习也正在付出行动的菜鸟,一个走在成长路上的新人。

Hello, everyone, I am the flying bird, a newbie who wants to learn and is taking action, a newbie on the way to growth.

分片技术,是数据分区的一种形式,就是将一个大的数据库分割成若干小的、可处理的部分,从而提高性能,缩短相应时间。

在区块链行业,有一个不可调和的三角关系,去中心化,安全,性能。这三者在目前的区块链应用,特别是底层公链上,是无法完全兼顾,达到我们期望的那个比较完美的层次。

这三者中,去中心化是区块链一个独有的特点,也是其主要的特点。安全,是所有的应用都要求的,如果安全无法做好,那肯定不会被用户信任,也不会被大规模的推广开来。所以,这其中,就需要牺牲性能了。这也是正是区块链行业发展初期,比特币和以太坊被人诟病的一个点,太慢了。也是因为在保证去中心化和安全的基础上,牺牲了一部分性能的缘故。

而分片技术,就是用于提升性能的。

在一个底层公链中,整个区块链就相当于一个数据库,而所有的节点就相当于一个独立的服务器。

区块链的正常操作是:每一个节点都会运行这个区块链,确保所有的数据都有备份在每一个节点。然后,每一个交易都会被所有的节点争相确认,以获取抢先出块的奖励。同时,在其中一个节点抢先出块后,其他所有的节点也都需要再次确认,并且将这个区块添加到自己储存的链后面。

所以,正常的操作中,每一个区块链节点都要重复的工作,所有的节点去抢着算出那刻的那个含有交易数据的唯一的区块。在这个过程中,很多节点是在做着“无用功”。

而分片技术就是针对节点和交易而设的。

分片,就是将所有的节点进行分区,每个区保证有一定数量的节点,然后将整个链上的交易数据确认的工作也进行分配,确保每个区都能有一定数量的交易数据确认的工作。这时,所有的的区都能同时的工作,并且每个区的所进行的工作是不一样的,也是不重合的。这就使得链上的交易确认速度大大的提升,也就提高了链的运行性能。

但是,分片可能会导致一些问题的发生。

1, 可能会形成一个片区内的算力霸主。因为整个链由整体分成了若干个区,可能其中那些原本在链上算力就很强大的存在,到了分片的区内,就能拥有超过区内51%的算力,从而形成算力的控制。而这,也就具备了作恶的条件。对此,可能需要在分区前就确定相关分片机制,或形成一个滚动分区的机制,避免一个区内长时间由相同的节点把控,形成可作恶的条件。

2, 不同区间的通信问题。由于这是一条链的不同区,可能会存在双花的问题。这个时候就需要片区间的沟通了,而不同区之间需要实现通信,这也需要一定的技术支持,类似跨链一样的跨分区通信,这会使得链更加复杂,开发的难度上又有所增加。

注:以上内容是结合部分网络上的摘录,以及自己的一些认识和见解。如果其中表达或认识有误,请各位看官指正。

声明:本文为入驻“火星财经 专栏”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
本内容旨在传递行业动态,不构成投资建议或承诺。
关键字:性能分片