ioppppp-960x426

分片(Sharding)技术解释

比特币和以太坊属于缓慢的区块链网络。分片可以将掘矿能力划分为小的分片部分,每个小分片能够同时处理分片前的工作量。所以:分片=速度!

分片:区块链加速扩容技术

由于区块链技术缺乏可扩展性,每秒只能处理几笔交易,导致区块链技术较难获得大规模使用。比特币(BTC)每秒只可处理5笔交易(tps),而 以太坊每秒只能处理12笔交易,因此现有的区块链技术相比于传统的中心化付款系统如Visa及以AWS作为云端计算软件的服务难以竞争。例如随着2017年CryptoKitties的普及就已经大大降低了只有数千名使用者的以太坊网络速度。这对于使用以太坊作为服务的公司来说无疑是一个问题。

当前,维护比特币和以太坊网络的每部电脑,都在同一公共账簿(public ledger)上工作。换句话说,每个节点都必须处理每宗交易。将更多电脑或运算力添加到网络中,只能提升安全性、而不能提高交易处理效率。这涉及到所谓区块链「三难困境」(Blockchain Trilemma),即是目前没有一个区块链可以同时实现快速扩充(scalaibility)、安全性(security)和去中心化(decentralization)。

比特币和以太坊是受工作量证明( Proof-of-Work)保护的区块链网络。世界各地有数十万台电脑及专用的挖矿机处理交易。比特币和以太坊是一个既安全又去中心化的点对点(P2P)付款系统/世界电脑。但是,它们并不能立即扩大至社区使用。为了提高使用度,市场已提出许多解决方案。例如,BitcoinCash(比特币的硬分叉)增加了区块链内每个区块的大小,允许区块内能处理更多的交易;而另一开发的第二层闪电网络(Lightning Network)则利用链下支付的渠道来减轻主链的负担;而最受欢迎的方法--- 分片,则由不同的区块链项目,包括以太坊、Zilliqa、Quarkchain等开发的。

分片(Sharding)技术解释

分片是一种横向进行的分区(partitioning)设计,作为一种数据库设计原则,主要用于分隔数据库伺服器以分散运算负担,让区块链解决扩充能力偏低、交易处理延迟的问题。

在区块链中实施分片技术,即是将网络分为不同的片区(shards),并行处理交易。每个节点将只有区块链网络的部分数据、而非全部数据,可以同时处理更多交易。例如,假设一个具有1,000个节点的网络,可以将网络划分为10个片区,每个片区由100个节点组成,如此而来整体网络的处理速度应增加10倍。

一个具有1,000个节点的网络,可以将网络划分为10个片区,如此而来整体网络的处理速度应增加10倍。

单片区接管攻击(Single-Shard Takeover Attack)

实施分片的网络会产生新的运作风险,包括单片区接管攻击。

单片区接管攻击,即是指网络当中一个片区被恶意节点控制,该片区的交易可能会被篡改。

防止单片区接管攻击,应对方法是防止攻击者将其杂凑运算能力(hash-power)集中到单一片区。

将节点分配到不同片区的方法是当中关键。以太坊(Ethereum)的分片解决方案,会在每个片区上随机抽出验证者(validators)。足够的随机性可以确保验证者不会知道他们将预先进入哪个片区。同样,以太坊分片要求每个片区的三分一验证者,来确认区块的正当性。

除此之外,分片在设计上应该限制每个片区的最小验证者数量规模,以减少将恶意节点分配给同一片区的可能性。综合上述措施,区块链网络的效率会大幅提升,同时不会牺牲安全性。

总结

私有系统通常会使用分片技术,将数据库或搜索引擎作横向分隔、减轻负载,但是将其实施到公共区块链中仍然是一项挑战。要维持系统去中心化、运作机制透明,会使同时保持系统安全水平变得困难。除了单片区接管攻击外,分片技术的开发人员还面临例如跨片区资料传输等其他问题。

分片被视为解决区块链运作难题最可行的解决方案之一。假如分片技术成功实施,网络交易成本将会大幅降低,并且让程式开发者可以建立更复杂的去中心化应用程式(DApp)。

相关资讯:

Sharding FAQs – Ethereum
https://github.com/ethereum/wiki/wiki/Sharding-FAQs

The Zilliqa Design Story Piece by Piece: Part 1 (Network Sharding)
https://blog.zilliqa.com/https-blog-zilliqa-com-the-zilliqa-design-story-piece-by-piece-part1-d9cb32ea1e65

Ethereum Sharding: Overview and Finality – Hsiao-Wei Wang
https://medium.com/@icebearhww/ethereum-sharding-and-finality-65248951f649

Written by Charlie Tsang, Trader at Genesis Block
For any queries please contact charlie.tsang@genesisblockhk.com / @GBCharlie