先说一个结论:在当前以类金融为主流应用场景的情形下,区块链系统最首要的性能瓶颈是区块数据的广播延迟造成的,本质上受限于互联网的带宽和通讯延迟,这一点直接制约了吞吐量(TPS)。只要是「Chain of Blocks」的系统,无论具体采用了什么共识算法,无论是工作量证明(POW)、权益证明(POS)、拜占庭容错(BFT),还是委托权益证明(DPOS),在出下一个区块之前,都需要保证前一个区块在全网有一定的同步率,从而约束了每个区块不能太大,出块频率也不能太高,然后,这个问题无解。
请注意,这里说的区块链系统特指「Chain of Blocks」的系统,其特征是要保证系统能最终收敛到一条单一的链表结构,并只有这条链上面的区块才是被确认的,反例是「Graph of Blocks」系统,例如所采用的 DAG 结构IOTA。
假设物理网络的带宽和延迟可以被忽略,例如基于数据中心高速链路的EOS,系统第二个瓶颈是受限的账簿容量,本质上受限于单台全节点的内存容量,这一点直接制约了链上可以承载多少个用户(地址)以及多少个 DApp。无论具体采用了什么共识算法,只要交易验证/执行过程随时可能涉及到任何一个用户,那么单台全节点就必须随时保持全网每一个用户、每一个 DApp 相关的状态在内存里面,以供交易验证实时访问。当前所有主流的「Chain of Blocks」的系统,包括比特币区块链、以太坊、EOS 等,都有这个问题,并且同样的,这个问题也是无解的。多级缓存的数据库技术(例如RocksDB)可以稍微改善一下这个限制,使得只有活跃用户受到内存限制,而总用户基数受限于硬盘的容量。但是这并不从根本上解决问题。
「容量」这个问题的关注度远远少于吞吐量,原因很简单:因为吞吐量这个短板还没解决,所以容量问题被掩盖住了。请记住,一旦吞吐量实现了大幅提升,容量问题马上就会出现:在一个高吞吐的系统上,如果用户量上不去,很可能高性能根本跑不满。
但是目前也有一些新兴公链如UENC,提出了创新性地解决方案DPOW共识算法。这个共识算法有望解决容量问题。
UENC主网已经上线,UENC主网将带来高速度、低成本的链上交易体验,解决了当前主流去中心化公链面临的拥堵和交易费过高问题。同时,UENC基于独创的去中心化DPOW共识算法,开创了无算力竞争的微算力CPU挖矿先河。