币读说人话之科普系列一:到底什么是分片技术?

前段时间参与的区块链峰会,以太坊社区的爱好者给币读菌科普了什么是分片技术,听得币读菌是一愣一愣的,专业术语太多了,完全听不懂哇。

今日币读菌联系到一位技术大咖,给大家以最简单易懂的方式把分片技术介绍给大家。

由于分片技术涉及到大量的专业知识,本文打算抛弃这些概念,直接站在山顶的最高峰,俯瞰“庐山”真面目。

不过,首先还是让我讲讲分片的由来。分片技术的由来

分片又称Sharding,它首先出现在数据库领域。起初,所有的数据都放在一台服务器上,如下图所示:

虽然不同的用户访问的是不同的数据,但是只有一台服务器提供服务,随着用户访问的不断增加,即使这台服务器是超人,在客官的不断所求下,也会累趴下。

那么人们想到最容易的改进办法就是:将不同数据放在不同的服务器上,如下图所示:

此时,访问不同的数据就会由不同的服务器提供服务,从而突破单节点数据服务器I/O能力限制,系统处理能力得到线性增长。

以上就是分片,它就是这么简单!!!

只不过此时是对数据进行分类,将不同类的数据放在不同的服务器,提供并行处理能力,这类分片的学术名称叫做“垂直分片”。

既然有垂直,那可能也有“水平分片”。

可以进一步想象,随着访问同一类数据的请求越来越多,单台服务器依然会成为瓶颈,那么可以进一步将数据分为多个部分,分布到多台服务器,这就是水平分片。

简而言之,分而治之就是分片的核心思想

例如1只大蚂蚁想要搬送一块大蛋糕可能一辈子都无法完成,但是如果有一百万只小蚂蚁并行工作,那在很短时间之后,就可以躺在蚁窝,吃着美味。

区块链扩展性问题

以上我们了解了分片技术在数据库领域的用法。我们不要忘了主题,我们是要讲区块链!!!那么分片和区块链有什么关系呢?

那不得不来唠唠现在区块链的处理能力(在这里主要指公有链),一句话,那就是比牛还慢!!!我们熟悉的比特币、以太坊每秒只能处理小于10笔交易。

这又有什么问题呢?

最近火热的以太坊虚拟猫游戏CryptoKitties以及6月中旬的Status的爱西欧,短时间内产生大量的交易,使以太网络极度拥塞,造成普通用户无法正常使用。

这就是说,现在区块链的吞吐能力还不能满足应用的需求。相比之下,像Paypal、VISA、MasterCard等这样的工业界产品的支付能力在1200-50000 Tx/s之间,这之间的巨大鸿沟不是简简单单靠调整参数就能解决(很多altCoin就是这么干的)。

区块链最核心的内容就是分布式共识算法。

那么什么是共识?

一句话讲,就是你干你的,我干我的,我们怎样才能保证我俩干的结果是一样的。接下来我们来讲讲专业知识。

目前在分布式领域主要存在两类共识,以比特币为代表的中本聪共识和经典拜占庭共识(BFT)算法。

如下图所示,中本聪共识虽然能够扩展到成千上万节点,但是其吞吐还不如一台笔记本电脑;

拜占庭共识每秒能够处理上万笔交易,但是其性能随着节点的增加呈指数降低。

而我们想要的共识算法,是随着节点的增加,其处理能力也相应增加,就如数据库领域,当我们增加服务器后,就能响应更多的请求。

那这样一种理想的共识算法是否存在?答案是让人失望的,到目前为止,还没有任何一种成熟的共识算法能够实现上述需求。

但是,从历史经验出发,将分片技术用于区块链,也许会将这个伟大的梦想变为现实。

分片技术如何带来质的提升

目前的公有链大部分都是单链结构,所有矿工都在相互竞争去延伸下一个区块,如下图所示:

由于产生区块的平均时间是固定的,例如比特币平均每10分钟产生一个区块,随着越来越多的矿工加入挖矿行列,挖抗难度得到提升,以保证每10分钟产生一个区块。

这就造成,即使投入更多的计算机,整个系统的处理能力并没有得到提升。

将分片技术引入区块链,此时,系统处理如下图所示:

首先,将所有矿工节点进行随机分配,形成多个分片,并挑选一个Boss分片。各个分片可以并行处理不相关的交易,并产生子区块,然后将子区块发往Boss分片。

Boss分片负责处理子区块,检查是否有效,最终产生区块n+1。从而,随着投入节点的增加,可以划分出更多的分片,也就能处理更多的交易。

以上介绍的就是采用分片技术的ZILLQA项目的核心思想

此外,在以太坊发展规划中,将在2020年前开发以太坊2.0,其中将采用分片技术提升区块链的处理能力,但与ZILLQA项目有本质区别。

V神介绍到“笼统简单地来说,你可以把分片看成是,设置一个区块链,在其中有一百个各自不同的宇宙,每一个宇宙都是一个独立的账户空间。

所以你可以在某个宇宙中拥有一个账户,也可以在数个宇宙中持有一个合约,当然,你还可以在数个宇宙间发起一笔交易,而这笔交易仅仅会对涉及到的这几个宇宙产生影响。

但是,这一百个宇宙不仅仅是割裂分散的区块链,它们在内部相互联系并组成系统。特别值得注意的是,它们彼此间形成共识。

所以如果要打破其中一个宇宙,你就必须打破这一个整体”。

预知以太坊2.0与ZILLQA的区别,下次分享

已下是研究分片的主要学术文章,欢迎有兴趣的读者讨论。

参考文献:

以太坊:https://github.com/ethereum/sharding

ZILLQA:https://www.zilliqa.com/

Elastico: Luu L, Narayanan V, Zheng C, et al. A secure sharding protocol for open blockchains[C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. ACM, 2016: 17-30.

Kokoris-Kogias E, Jovanovic P, Gasser L, et al. OmniLedger: A Secure, Scale-Out, Decentralized Ledger[J]. IACR Cryptology ePrint Archive, 2017, 2017: 406.

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏区块链技术指北

区块链和数据库

本文由币乎社区(bihu.com)内容支持计划奖励。 这是「区块链技术指北」的第 15 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时...

4435
来自专栏比原链

比原链设计思考: 扩展性UTXO模型

用户模型是比原链在最初就需要确定的重要数据结构, 团队的选择还是聚焦在两种典型的模型系统中,Account模型和UTXO模型,和其他大多数区块链设计一样, 选择...

1064
来自专栏汇智网教程

决定以太坊未来的三个关键扩容项目

1723
来自专栏区块链大本营

深度解析区块链架构、跨链和演进

5978
来自专栏区块链大本营

区块链智能资产的“硬链接”思考

38113

更好地构建:区块链用例的简单指南

根据德勤最近的一项研究显示,在过去两年中创建的26,000个区块链项目中,92%已经失败。

3375
来自专栏极客编程

以太坊的3个重要项目:Casper(POS共识机制)、Plasma(子母链)、Sharding(分片)

在过去的几年里,以太坊已经成为加密货币领域最重要的项目。 作为市场中大多数代币的 底层基础设施,以太坊网络的健康对于加密数字币生态系统中的其他环节至关重要,以太...

1283
来自专栏腾讯TrustSQL

是什么限制了区块链技术的应用?

2017年已经匆匆离去,回顾过去一整年,似乎区块链应用一直处于隐忍未发的状态,很多项目的落地已处于验证阶段,万众期待的爆点却一直没能出来。

2.7K9
来自专栏区块链技术指北

关于近期币安事件的思考

这是「区块链技术指北」的第 26 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会...

3205
来自专栏区块链大本营

未来互联网再不需要中心化服务器了!因为Web3技术栈来了

目前还没有关于Web3技术栈的详细分析,所以我想尝试对Web3技术栈进行细致的解读。下图是Web3技术栈示意图,这幅图肯定不是完整的,而且可能会存在一些不准确的...

1643

扫码关注云+社区

领取腾讯云代金券