小链君每日精心分享
之前已经介绍了关于分片的许多必备知识,不过分片的坑真的多,各种分片方法层出不穷,究竟哪个更靠谱呢?
交易分片
交易分片,顾名思义,就是将将要确认并出块的交易分割到各个分片中,这个思路的优点主要是交易说到底还是区块链的核心,直接交易分割对于交易处理比较灵活而有效。相关的项目是Elastico。没听说过?
虽然最著名的分片区块链是下一代以太坊项目,但最早的分片项目是Elastico,其提出时间在2016年底。该方法在BTC应用的PoW上直接增加一层分片,分片内使用PBFT共识,以期达到增加TPS的目的。
为了回避跨片交易的问题,此时的分片策略均采用UTXO。UTXO因为类似现实中收银台,对于片内交易和跨片交易处理效率相当,显得比较简洁。不过UTXO自身的问题在于对于大额交易,会拆分成许多小交易进行,大大增加了交易数量,使得总体交易频率不如其宣称的N倍那么优秀。
为了防止在不同分片中双花攻击,需要对不同分片的交易进行对比,防止出现一个节点发起相同的两笔交易,但接收者不同的情况。不过总体来说,对于交易分片的研究较为成熟,并且允许多种共识在其机制上运作。
网络分片
网络分片更加简单,某种意义上源于互联网和局域网之间的层级关系,只需要将网络分割成若干分片,各个网络中自行建立共识,再汇总到主链上。很显然,在这种机制之下,如果发生了串通作弊的现象,去中心化程度大大下降的分片网络是很难检测到的。所以网络分片只允许主链采用PoW这种统一性和可用性高而分片容忍度低的共识机制。
除此之外,为了降低串通作弊的可能,必须要用足够安全的随机方法将各个节点随机分配,根据上文中提到跨片交易的问题,为了保证随机性就必须牺牲片内交易的概率,这就大大降低了通过分片增加TPS的效率。
这两者各有各的问题,不过都相对成熟,特别是网络分片,就是直接从中心化服务器转化来的思路。但有没有账号机制?当然有,但它比前面两者更复杂。它叫状态分片。状态分片,自然就需要账号来保存节点状态了。有时间小链再介绍。
文/烨煌
领取专属 10元无门槛券
私享最新 技术干货