【链得得独家】传说中的“分片技术”,离拯救区块链还有多远?

2009 天前
988

扩容是区块链技术落地并走向商业化的必备条件,为此开发者们煞费苦心,先后提出侧链、子链、闪电网络、DAG、分片等链上、链下的扩容方案。随着各项技术的提出与测试,开发者们又将视线集中在分片上:一种在互联网中相对简单,但在区块链实现难度极高的数据处理技术。

与此同时,以太坊2.0、Zilliqa、QuarkChain、MultiVAC、Alephium、Ontology等知名分片公链,纷纷上线测试网、主网,将分片技术的声势推向高潮,却也将分片推入了争议漩涡。一面是高涨的呼声,一面是质疑的漩涡,分片技术真的是区块链性能优化的良方?

分片扩容方案,现阶段最优选择?

自以太坊白皮书问世,提出“世界计算机”概念开始,区块链应用落地就成为舆论核心,与此同时,暴露出来的还有区块链网络瓶颈,安全性、去中心化、可延展性之间的不可能三角。为了突破瓶颈,开发者们提出了DPOS、DAG、闪电网络、分片等多个技术方案,尝试在安全性、去中心化、性能中间进行权衡和取舍。

提升性能的方案众多,但是核心只有一个:保证安全性和去中心化的前提下,不要再要求每一个节点都重复一遍整个网络的工作量,否则全网的性能极限就是单机性能和容量;只有让不同节点去负责网络的不同部分,才是大幅提升性能的关键。

DPoS共识放弃了去中心化,以极少数大节点在设备性能和网络优势,获得较高的交易处理能力。DAG改变了传统区块链的数据结构,从链式结构变成有向无环图结构,却需要面对双花攻击的问题;而闪电网络减少主链上的冗余数据,提升了效率,但受限于特定业务场景,一旦不满足假设交易,反而降低效率。

各种方案落地相继受阻,分片技术自然而然走入了开发者的视野当中。MultiVAC CTO应翔在接受链得得采访时表示,“分片技术的高涨是开发者认知升级的结果,此前链下扩容是主流,多链、侧链、子链等方案比较火热,而后开发者逐渐意识到链上扩容的发展空间,分片、DAG成为主流方案。”

分片技术本来是中心化数据库技术中的一种,将大型数据库数据进行切分,并分布在特定的服务器当中,以提高数据库性能。而区块链技术中的分片技术则最早起源于2015年,当时新加坡国立大学的一对师生,在国际顶尖安全会议CCS上发表了一篇论文《A Secure Sharding Protocol For Open Blockchains》,首次提出了区块链领域中的分片概念,并在之后开发了公链Zilliqa,第一次将分片技术落地。

分片技术本就是为了解决数据库性能问题而生,理论体系相对完备,应用在区块链数据存储、扩容似乎也是理所当然;而更深一层意义则在于随着区块链交易量、数据量急速膨胀,信息进入到装载爆炸的边缘,分而存之,分而治之也是合理的选择。

理论上的完备并不足以支持分片技术的落地发展,更重要的还在于其能够为区块链网数据扩容带来实际收益。 TOP Network CTO Taylor Wei曾表示,分片技术能够支撑比较强的水平扩展,并且能够在存储、通信、计算等不同层面进行拓展。而应翔也认为,分片技术具备比较强的包容性,能够与闪电网络、侧链等技术共存,组合发挥扩容优势。

分片技术落地,究竟难在哪儿?

分片技术在传统领域由来已久,但在区块链中却是新兴技术,两者在概念相似,在操作上截然不同。单纯在每个分片中放置节点,而不做以处理,之后却极有可能导致恶意节点轻易地通过双花攻击、女巫攻击等恶意操作而带来一系列损失,分片技术面临的挑战格外严峻。

链得得注:双花攻击又称双重支付攻击,攻击者控制算力改写区块,用同一笔钱进行两次交易,并使之前的交易失效。女巫攻击指区块网络中存在恶意节点,并可以伪装成多种身份,进而对正常节点进行攻击。

在中心化服务器诞生的分片技术,大多数情况下,用户无法直接访问、运行这些服务器;同时,中心化主体也会布置多道防火墙和安全配置,分片数据安全较高。但是,区块链系统对所有人开放,也就增加了遭受攻击的可能,这就导致分片技术在区块链中使用会远远高于使用传统中心化服务器分片技术的安全要求。

除却更高的安全要求,分片同时面临着更低成本的安全攻击。当区块链系统分片后,每个分片的算力和节点权益,都只有网络的N分之。如果全网有一百个分片,每个分片只拥有全网1%的资源。那么,利用全网1%的算力或权益就可以完全控制一个分片,进而攻击主网。MultiVAC CTO应翔指出,理论上单个分片的安全性是否会比全网更弱,那么保证安全性关键就在于能否去动态调整分片,调整矿工,或者调整分片的从属关系。

应用实践中,各方的解决方案

如何保证安全?目前方案众多。MultiVAC所采用的是“随机性”方式保障安全问题,在保证分片内节点构成充分随机的前提下,在交易时“随机”选取节点参与确认。同时引入“静默状态”的概念,使得交易节点在交易完成之前对外不可见,从而保证交易安全。Zilliqa则是选择在共识层的调整,引入pBFT+POW共识算法;Quarkchain则是采用了双层架构,将系统划分为根链层和分片层,由根链层来保障分片层的安全性。

在技术、安全层面问题之外,分片项目在应用落地方面同样面临挑战。由于分片技术的特殊性,片内与跨片面临两种不同的环境。分片间节点相对独立,跨片交易需要靠分片间相互验证,其间涉及大量的片间通信。如果采用简单的P2P广播协议,最终导致系统负载,影响交易速度,也就丧失了分片的好处。

Alephium CEO 王成举例称,如果一个项目的跨分片交易采用的是二段提交的办法,那么其钱包以及智能合约设计,就必须考虑到两个阶段提交带来的延迟问题,如何让用户了解并使用也会成为关键。

“分片技术本身比单链技术更复杂,跨分片交易和跨分片通讯作为两个技术难点都会给用户体验、系统设计带来很大的影响。”王成补充道。

认知争议犹在

分片技术虽然被认为是最有可能落地的一项扩容技术。但由于发展时间较短,开发者对其认知尚未完全,分片技术的概念、划分方式等都还存在争议。

应翔在接受采访时明确指出,他并不认可目前分片技术中常见的网络分片、交易分片、状态分片的划分方式。

“在我们看来,区块链分片本质上是计算机体系的一种提升,核心在于三方面:一是由单核向多核结构的过度;二是重新定义数据流,解决存储和传输问题;三是去中心化的保障。网络分片、交易分片、状态分片的划分方式同样是业内人士提出的,但他并不一定是分片专家。”应翔直言。

Monoxide CEO王嘉平博士曾撰文,矛头直指分片公链常用保证安全性的双层架构:“优异的分片设计方案,不应有分层的结构,而是各个分片应该是同质的,在功能上完全一致,地位上也完全平等。”

毫无疑问,分片技术是现阶段解决区块链吞吐量和性能的主要手段。但是,区块链分片技术发展时间有限,缺乏数学运算或论文支撑,缺乏大规模测试的结论难让业内人士信服。在理想状态下,少量节点跑出的数据当做主网数据,必将对投资者、开发者造成无法挽回的伤害。

另外,分片并非“银弹”,本身不能解决所有问题,必须针对系统实际问题进行有针对性的设计和创新。更需与其他扩容方案共存,提升网络整体运行效能。(本文独家首发链得得App)