学习
实践
活动
专区
工具
TVP
写文章

分片思路那么多,哪个靠谱一些?

小链君每日精心分享

之前已经介绍了关于分片的许多必备知识,不过分片的坑真的多,各种分片方法层出不穷,究竟哪个更靠谱呢?

交易分片

交易分片,顾名思义,就是将将要确认并出块的交易分割到各个分片中,这个思路的优点主要是交易说到底还是区块链的核心,直接交易分割对于交易处理比较灵活而有效。相关的项目是Elastico。没听说过?

虽然最著名的分片区块链是下一代以太坊项目,但最早的分片项目是Elastico,其提出时间在2016年底。该方法在BTC应用的PoW上直接增加一层分片,分片内使用PBFT共识,以期达到增加TPS的目的。

为了回避跨片交易的问题,此时的分片策略均采用UTXO。UTXO因为类似现实中收银台,对于片内交易和跨片交易处理效率相当,显得比较简洁。不过UTXO自身的问题在于对于大额交易,会拆分成许多小交易进行,大大增加了交易数量,使得总体交易频率不如其宣称的N倍那么优秀。

为了防止在不同分片中双花攻击,需要对不同分片的交易进行对比,防止出现一个节点发起相同的两笔交易,但接收者不同的情况。不过总体来说,对于交易分片的研究较为成熟,并且允许多种共识在其机制上运作。

网络分片

网络分片更加简单,某种意义上源于互联网和局域网之间的层级关系,只需要将网络分割成若干分片,各个网络中自行建立共识,再汇总到主链上。很显然,在这种机制之下,如果发生了串通作弊的现象,去中心化程度大大下降的分片网络是很难检测到的。所以网络分片只允许主链采用PoW这种统一性和可用性高而分片容忍度低的共识机制。

除此之外,为了降低串通作弊的可能,必须要用足够安全的随机方法将各个节点随机分配,根据上文中提到跨片交易的问题,为了保证随机性就必须牺牲片内交易的概率,这就大大降低了通过分片增加TPS的效率。

这两者各有各的问题,不过都相对成熟,特别是网络分片,就是直接从中心化服务器转化来的思路。但有没有账号机制?当然有,但它比前面两者更复杂。它叫状态分片。状态分片,自然就需要账号来保存节点状态了。有时间小链再介绍。

文/烨煌

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180730G0BO0700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券