区块链100讲:区块链的TPS性能

image

最近在做一个区块链系统的底层设计,有一个绕不开的问题是,就是我的系统能提供多少个tps。为此,我收集了一些现有区块链(当然也包括DAG等分布式账本技术)的tps数据。

1

ripple

号称转账神器的ripple,转账快速,并且手续费也很低,所以我本人经常用它来做不同交易所之间的转账。从ripple官网的数据看,大概有1500tps:

image

xrp的tps数据,来自ripple官网

2

Eth

以最高的日期算,当日的tps是1349890/24/60/60.0=15.616666666666667。

image

eth的tps数据,来自etherscan.io

3

steemit

来自2018年4月的数据,在最高点是180万左右,算下来tps是20.8。

image

4

bitshares

bitshares这个就比较有趣了,因为它在15年时候就号称自己10万tps了,而btc/eth等还在10附近玩耍,查着四个数量级呢,那么它这10万tps是如何得来的呢?

image

bts做tps压测的方式

大意是,我们创建了20万个账户,各执行5此次操作,加起来就是100万次操作。在没有任何签名的情况下,我们每秒钟能处理18万次操作,用了更好的cpu之后,能再提高25%,因为我们认为10万tps是妥妥的。还有啊,现实环境中的nasdaq也才6万tps啊,他们的目标也才10万tps。而我们已经轻松的达到了10万tps。另外,我们在有签名的情况下,也能每秒轻松的达到2000 tps(您是不是有疑惑,为何瞬间从10万降到2000了?)。而在当前发布的版本中,我们人为的限制到了1000tps。

我们就会有疑惑了,2000tps是如何测试得到的呢?是否考虑到了p2p网络的延迟呢?看样子,似乎并没有考虑这一点,可能仅仅是内网几台witness(或者说记账节点吧)之间的延迟呢?

image

bts的testnet如何获得了20tps的超高性能

这篇文章有一部分介绍了bts 2.0发布时,在测试网络(p2p网络)测出了20tps的超高性能,并花了大量篇幅来解释为什么离号称的10万tps相差甚远。并不是我们处理交易的能力不行,而是p2p网络太慢了,要达到10万tps,需要千兆低延迟网络连接,并且需要有30MB的网络吞吐,而我们测试环境都只有一些低端的vps节点。

看到才发现,bm这个人真是大忽悠啊。bts一方面采用dpos(从而是中心化的),只有少数节点拥有记账权,在一个节点记账的时候,需要其他节点对它生产的块进行签名,这必然是要走p2p网络的,于是bts开发者大胆假设网络是可以优化的,毕竟想要成为记账节点,怎么也得下点血本来优化一下网络吧。而btc和eth则要分散的多,并且有众多的小节点,区块扩散要慢得多。

号称百万tps的eos,最终又能到多少tps呢?看到数据的时候,还是要多看看多想想,数据是如何得来的,测试的方式是否科学。

5

使用DAG技术的iota

这里引用的一条tweet,说iota在250个节点的网络中能到100tps这个数量级,并且可以发起1000tps的测试(iota应该是节点越多、交易越多反而tps越大):

image

6

btc/bts/steemit/eth统一比较

image

image

btc/bts/steemit/eth每日交易量

整个市场在2018年1月达到最高,从上面的eth图也可以看出,在1月份之后,每日交易量下跌非常明显,说明市场非常低迷。包括bm本人也承认steemit的每日交易量不到2million,也就是tps不到25,而实际上,峰值的tps也不到20,而是只有惊人的18.3个。而号称tps很高的bts,也只有13个tps而已,连测试网络的20个都没有达到。

7

总结

目前区块链系统(不考虑xrp这种中心化的分布式账本和采用DAG的iota),每天的交易量最高的都不超过180万,tps最高也就20附近。我看到微信钱包在最高峰时候能处理20万tps,支付宝在双11的时候时为12万tps,而bts或者说eos之类的分布式p2p系统就号称10万、百万tps,确实有点故意吸引人眼球的意思。

我们以steemit为例,他每天处理了180万笔交易,这个量级对于一个互联网应用而言是很少的,但是却也依然运行良好,原因可能就在于,tps其实指代的都是写入操作,对于steemit而已,很多请求都是读取操作,如果仅仅是读取区块链,那么任何一个全节点都可以读取,这个做sharding就非常方便了。

我们还要想一个问题,公链是否真的那么有价值?现在很多区块链应用都是在eth或者eos之类的公链上开发的,导致eth和eos价格都炒得非常高。但是公链本身性能都不太好的情况下,区块链应用又如何能够跑起来呢?加上一点点攻击就能把整个网络堵死,可用性就太差了。

内容来源:知乎

原文作者: 老污

原文链接:http://t.cn/RDfq00d

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值