2018年,区块链的扩容是个非常热门的话题。“分片”(sharding)由VM提出,除了在以太网社区引起轰动以外,有非常多的公链也开始以分片作为自己的特色,号称通过分片技术能极大的扩展目前的以太的TPS局限,同时保障安全性。
市场上目前的分片项目包括(排名不分先后,以项目英文拼为序列出):elrand、Harmony、Monoxide、MultiVac、Near、QuarkChain、Zilliqa
“分片”和“多链”的概念其实越来越模糊,很多分片项目的“分片”其实就是用“链”的形式来进行的。在本文中,没有列出那些“多链”的项目,如PChain、Kadena、Cosmos、Polkadot等。
分片项目不少,每个都与其他项目在实现分片的实施方式上有所区别。然而,没有一个项目是及其突出的。这就带来一个问题:生态的开发者为什么要在一个特定的项目上进行开发呢?
回归公链,技术很重要,但不是决定性的,社区的号召力和规模才是。
而社区的号召力和规模,是需要时间来沉淀的。
1. elrond
采用PoS。
2018年Q3 原型上线,2019年Q2测试网上线。投资方包括币安、NGC等。
CMC 1837 万美元,0.001896/枚(ERD),流通量97亿,总供应量200亿 。
- 采取了MetaChain、shards的架构。分Validator(处理交易,达成共识)、Observer(提供读取、relay区块信息的接口,没有奖励)、Fisherman(发现非法块)三类角色。
- 跨分片转账使用异步模型。
- 根据账户地址末尾的数字决定分片的id。
- 动态调整分片数量和分配。
- 采用了BLS的多签,pBFT共识在两轮内可以达成。
- 智能合约兼容EVM
- 处理时间分Epochs(24小时)、Round(5秒钟)。每个Epochs的开始,节点的分片分配会打散重新分配(不超过1/3的节点)。也会动态调整分片数量。
- 官网:https://elrond.com/
2. Harmony
2018年Q2建立,2019年2月份 testnet 上线。采用PoS。全方位分片方式。
CMC 1635 万美元,0.0056/枚(ONE),流通量29亿,总供应量126亿 。
- 采用FBFT(Fast Byzantine Fault Tolerant)共识算法,基于BLS(Boneh-Lynn-Shacham)多签方式。通信成本为O(n)。
- 网络层采用了纠删码的方式(Erasure encoding)
- 参与共识的节点,抵押的代币打散成许多细小的部分,并随机分配到多个分片里,这样任何人就无法把他抵押的代币集中到单一分片内,从而无法攻击单一分片。抵押者并非按照实际抵押量来获得奖励,而是按照”有效抵押“获得奖励。有效抵押,是取用户抵押数量的中位数,所有抵押的代币数量都在这个中位数上下 15% 的数值之内。
- 随机数产生采取VDF。
- 跨分片交易时由分片直接互相通信
- 用户在每个分片上都有账户。
- 官网:https://harmony.one/
3. Monoxide:
最新品牌名为为asensys.com,引入了Asynchronous Consensus Zones的概念,相当于多分片/多侧链。应该还处于学术研究状态。没有经济模型对外公开。采用PoW方式。
- 通过用户公钥的前几位为K,自动分配到不同的“Zone”中。
- 跨zone转账时,先在发起方达成共识,生成自己zone的交易区块,然后生成对外的Outbound-relay区块。目标zone接收到Outbound-relay区块后,加入自己的交易区块中。
- 利用Chu-ko-nu Mining模式,激励矿工为全网络提供挖矿服务,而非仅仅focus在自己的zone,从而减小因本zone挖矿算力减少而可能形成的51%攻击。
- 相关文章可参见:https://www.usenix.org/system/files/nsdi19-wang-jiaping.pdf
4. MultiVac:
利用网络/交易/状态分片的全方位分片(All-Dimensional Shard),提供高可用性的公链。2018年6月白皮书。投资方包括IDG,NGC,hashed等。采用PoS方式。
CMC 195万美元,0.000592/枚(MTV),流通量33亿,总供应量100亿 。
- 节点分轻节点(及客户端)、挖矿节点(分片共识)、存储节点(分片数据的存储)。
- 挖矿节点通过VRF动态分配到分片中。
- 采用修改过的UTXO模型
- 采用Byzantine方法达成共识
- 客户端通过公钥地址的区分被分配到不同的分片中
- 官网:https://www.mtv.ac/
5. Near Protocol
全方位分片方式。采用PoS方式。
- 节点分Block producers(根据所有的chunk产生区块)、validator(确认区块数据的准确性)。另外还有fishermen可以查询非正常的数据提交。
-
采用了Nightshade的分片方式,一个区块包含了所有分片的交易,但按照分片被分开保存到“chunk”里面。一共100个 block producer,轮流出块。每个shard 4 个validator轮流出chunk。
- 夜影使用最重链共识。当一个出块人产生一个区块时,他们可以从其他出块人和验证人中收集签名,作为对前一个区块的证明。
- 采用了独创的Doomslug 的共识机制,允许一组区块生产者只需要一轮通信就可以创建区块,每个区块都不可逆。而且即使有 50% 的区块生产者不在线,也依然可以完成。
- 通过 VRF 对验证人进行随机分配,隐藏验证人分配到分片的信息。这样节点只知道验证人的存在,却并不知道每个验证人所对应的分片是哪个。这些隐藏的验证人是对块进行签名,而不是具体的段,这样也会隐藏验证人具体是验证了哪个分片。
- 网络层采用了就删码的方式(Erasure encoding)
- 官网:https://nearprotocol.com/
6. Quark Chain
2018年年初发布白皮书和测试网V 0.1,投资者包含分布式、BlockVC等。采用PoW。
CMC 993 万美元,0.00414/枚(ZIL),流通量24亿,总供应量100亿 。
- QuarkChain 由两层区块链结构组成,第一层为分片层(可以理解为子链层),用于交易
记账;第二层为一条根链,用于确认分片中的交易。在不影响根链的情况下,分片层的分片
数量可以动态增加,从而来提高系统的整体吞吐量。 - 支持图灵完备的智能合约,并采用了以太坊虚拟机(EVM)
- 用户账号在每个分片中都有钱包地址。为了方便使用,定义了主账户(默认分片中用户的地址和余额)、次账户(剩余分片中用户的其他地址)。如果交易之后在次账户中存在余额,则用户的大多数交易将从主账户发起,暂时转移到次账户中的地址进行交易,交易结束后余额将被移回主账户。这可以确保用户的余额大部分时间都在主账户中,因此用户不需要管理次账户地址中的余额。此功能由智能钱包执行。
- 根链在全网算力中占有很大的比例(超过 50%)。恶意矿工需要至少 50%* 51%= 25%以上的算力来执行攻击。
- 共识机制叫做Boson,参见https://github.com/QuarkChain/pyquarkchain/blob/master/papers/boson.pdf
- 官网:https://quarkchain.io/
7. Zilliqa
实现了网络分片、交易分片,但没有实现状态分片。
CMC 7495 万美元,0.00755/枚(ZIL),流通量99亿,总供应量210亿 。
- 采用PoW进行生成节点的选择;但共识采用的是类似PBFT的机制。
- 其他详情可以参见另外一篇文章《zilliqa,第一个实现了分片技术提升性能的公链》