“分而治之”——初识分片技术

IP归属:

随着对公链治理以及相关技术细节的逐步了解,分片技术也走进了南枝的视野。作为一个没做过数据库以及程序开发的外行人,我也越发觉分片技术在区块链技术中蕴藏的巨大生命力,那么如何通俗的理解“分片”这看上去生涩而高大上的名词呢?

分片技术的产生

众所周知,随着区块链的发展,在公链开发中,系统的“可扩展性”越来越受到重视。

从存储角度上来看,如果把区块链的一个区块当做是笔记本中的某一页纸,那记录在这张纸上的内容就是这个区块下所能记录的所有交易数据。然而每张纸的容量有限,伴随着交易量的猛增,出现了要在一张纸上写下曾经好几张纸所能记录内容的需求,这就是目前所有公链面临的难题——处理速度慢和存储不足。

在这种情况下,去重构一个既成公链的共识模式和底层设计是不太现实的,就像BTC设计之初定下了1M一区块的规则,想要改变这个规则,就面临着分叉风险。倘若把“1M”变成了“8M”,这还是我们所有人都认可的比特币系统吗?

“分而治之”——初识分片技术配图(1)

为解决此问题,分片技术应运而生。分片技术是在维持原有公链基础上,把系统的节点运算分成多个“片区”分别去处理曾经可能面临的数据处理扎堆问题。

举个例子来说,超市的总账系统是固定的,当很多人同时都有付款需求时,大家需要排队一个个来,这样就会造成结账速度缓慢。于是超市老板新增了几个收银窗口、建立了自助收银台甚至开通网上买单渠道。最后很大程度上分流结账需求,而所有账款数据最终还是在超市的总账系统中一一记录。

分片技术的几种方式

分片技术(Sharding)根据其机制可分为以下几种,各个机制互相之间有所共用,构成了不断“进化”的分片技术。

网络分片

将原有单一的公链交易处理网络划分为多个子网络,这些子网络就可以成为网络的分片。其特点是将原有的所有节点通过一定机制划分到不同的子网络里面,随后将交易分配给子网络进行验证,最终汇总成主网交易记录。

在网络分片中,确保每个子网络的节点数足够多且足够随机是核心,也是影响整个公链安全性的至关因素。目前采用的分配策略有可验证随机函数(VFR, Verifiable Random Function)法。

“分而治之”——初识分片技术配图(2)

交易分片

交易分片属于在网络分片基础上,对网络分片中的交易处理方式进行的改进,它是通过一定方式将产生于公链上的转账需求分配给不同的子网络进行验证,最后所有节点都会记录数据。

目前有基于UTXO系统的交易分片方式和基于账户系统的分片方式。

“分而治之”——初识分片技术配图(3)

状态分片

状态分片相对于前两种分片方式技术上更为复杂,不仅仅在交易确认过程中进行了分片,最终的数据存储也采用分片的方式进行。比较突出的改变是节点不再需要记录全网数据,只需记录该子网络中验证的数据。也就是说全网的数据被分片化存储了,这对区块链的存储扩展提出了可能。

“分而治之”——初识分片技术配图(4)

ETH2.0的分片技术应用

ETH2.0 ETH2.0是南枝比较感兴趣的公链之一,作为在原有ETH公链基础上做出的“颠覆性”改进,技术上肯定是有过人之处。

“分而治之”——初识分片技术配图(5)

其中分片技术主要体现在网络的两层化设计,即原有上层主链不变,在下层对其构筑分片链,用于分片计算及大部分数据存储。其特征在于分片链既承担了验证计算的工作,也扮演了数据存储的角色,属于上文提到的状态分片的应用。

其中分片链上的交易验证由各个子网络独立实现,子网络仅验证各自收到的交易信息,并记录信息,最终将该子网络将所记录的交易信息的头部数据发送给主链进行记录。这有点像把主链的数据变成了一个目录,而各个分块则存储着核心内容。

“分而治之”——初识分片技术配图(6)

当然,南枝这样的描述很容易让人联想到双花交易,如果同一时间同一地址进行了多笔转账,而这些交易又被分配到了不同的子网络进行验证,那最后展现在主网的结果岂不是可能出现非法余额?在这里V神设计了“转账收据”的机制,来进行全局交易的信息收集及更新,以避免此情况发生。

尚存的难点

尽管分片技术能够在不打破原有公链基础上使得扩展性得到了解决,但技术本身也存在着许多不足。南枝理解下来主要为以下三点:

1.安全性

创建分片后,节点的分配是难题,随机性的分配尽管可以在一定程度上避免作恶节点的集中,但却不能完全避免。而且进行一次分片之后节点间是否有可能构成作恶团体的可能?因为本身分块之后节点数目相对于单一主链就大为削减。

2.拥堵问题

跨片交易必然是分片技术需要实现的,这是为了避免单独子网络间信息不对等引发交易双花问题。可是实现这一点又需要所有子网络节点之间能够互通互联,在网络交易数量增多时,可能会形成另一种方式的“拥堵”。

3.去中心化

分片技术的实现是取决于节点的分配,一个分片(子网络)节点在分配完成之后不发生变动还好,倘若一部分节点掉线或者出现节点的更新,那该网络中可以正常连续的开展交易验证的节点数面临骤减的风险,较为少数节点验证的交易可信吗?或者足够满足区中心化特征吗?

总结

即便分片技术为打破区块链技术中“不可能的三角”提供了可能,但是目前的发展上依然充满挑战。我们可以一起期待ETH2.0落地会给区块链世界带来怎样的变化,希望它能够顺利实现公链“升级”跨越式大发展。

声明:本文已加入由力场发起的「 好文流动计划 」。

本文来源:陀螺科技 文章作者:爱不会绝迹
收藏
举报
爱不会绝迹
累计发布内容4篇 累计总热度10万+

陀螺科技现已开放专栏入驻,详情请见入驻指南: https://www.tuoluo.cn/article/detail-27547.html

爱不会绝迹专栏: https://www.tuoluo.cn/columns/author353841/

本文网址: https://www.tuoluo.cn/article/detail-51278.html

免责声明:
1、本文版权归原作者所有,仅代表作者本人观点,不代表陀螺科技观点或立场。
2、如发现文章、图片等侵权行为,侵权责任将由作者本人承担。

相关文章