区块链TPS性能已无瓶颈?姚期智团队有点粗心

2018-12-27  本文已影响0人  月光星辉

    2018年8月,清华大学的一个团队发表了一篇文章《Scaling Nakamoto Consensus to Thousands of Transactions per Second》,宣称突破了区块链的性能瓶颈,其共识算法的TPS达到6400。

文章里甚至表示:共识算法已经不是瓶颈,节点处理能力才是瓶颈。

    这可信吗?

    答案是:部分可信。

    下面将描述其实现逻辑

一、Conflux项目共识算法步骤

    S1:所有节点随便打包,假设交易间不会相互冲突

    S2:形成DAG结构

    S3:使用GHOST算法确定主链

    S4:确定叔块的高度(或者说epoch)

    S5:删除掉冲突的交易

    看起来就是,以太坊的GHOST共识协议浪费了叔块的贡献,Conflux项目把它们给收罗进来

二、Conflux项目测环境配置

全球20个城市

800台亚马逊EC2虚拟机(每台25个全节点)共2万个节点,3.规模类似于现在的BTC和ETH

各个节点算力一致

每个全节点默认20Mbps带宽,随机连接10个全节点

节点发送消息前靠程序模拟网络延迟

为了和POW对比,POW出块使用泊松过程模拟

看起来就是,实验环境挺严谨的,在BTC里面,每个节点外连8个节点,而Conflux项目连接了10个

三、Conflux项目实验内容

    测试指标包含三大部分:吞吐量、确认时间、扩展性。特别地,要考虑跟Bitcoin、Ghost相比,性能如何。

吞吐量=区块大小 * 区块产生速度 * (1-废块率)

区块从1M增大到8M,20秒/块,运行两小时

出块时间从5秒到80秒,4M/块,运行两小时

确认时间

无恶意算力,出块时间从5秒到80秒,4M/块,假设用户要求99%确认

无恶意算力,区块从1M增大到8M,20秒/块,假设用户要求99%确认

恶意算力从10%到40%,出块时间10秒,4M/块,假设用户要求99%确认

恶意算力20%,出块时间10秒,4M/块,等待确认时间与风险的统计关系

扩展性(网速增加会怎么样,节点增加会怎么样)

出块时间2.5秒,4M/块,节点带宽提升到40Mbps,节点数量1万个,无恶意节点,考核吞吐量和确认时间

出块时间10秒,4M/块,节点数量从2500到2万,无恶意节点,考核确认时间

出块时间10秒,4M/块,节点数量从2500到2万,无恶意节点,考核网络宽度

网络宽度:一个块传递给了99%节点的时间

从实验内容来看,其设计也很完美,然而问题出现在计算吞吐量(TPS)时,用错了公式。

吞吐量=区块大小 * 区块产生速度 * (1-废块率)

然而其共识算法当中,将所有的叔块都纳入考虑,所以废块率为“0”,这也是其根GHOST协议不同的一个地方。

且其共识算法当中,仍需

S5:删除掉冲突的交易

所以这个公式需要改成:

吞吐量=区块大小 * 区块产生速度 * (1-废块率)*有效率

    有效率表示区块打包的交易中,剔除相互冲突的Transaction之后,有效Transaction的比重。

上一篇下一篇

猜你喜欢

热点阅读