【初识区块链】区块链的性能提升(二)

计算比特币的性能

如果快了呢?碰到超过10000TPS的区块链项目,按照比特币的平均统计,一笔交易是300个字节。

这样,10000TPS一秒钟的数据是3MB,一天的数据就是259200MB = 259.2G,一年的数据就是94T。

比特币需要花上1天的时间才能赶上进度。

为什么需要扩容
比特币系统日益增长的交易量问题
衡量指标:每秒钟处理的交易量。
TPS(Transactions per Second)
区块链的大小
区块链:~106GB
SPV(简单支付验证):106MB
未来会有更多的比特币节点存储区块链信息吗?

参数的讨论

1MB的块的大小:
设计到数据的广播,不能太大,也不能太小
太大了广播困难
太小了性能更低
与当年的网络性能平均情况匹配

10分钟一个块的难度设定:
不能太快:容易分叉、广播困难
不能太慢:性能慢
平均性能综合考虑

参数一旦确认,进入正式执行后修改困难。

当前网络已经大幅度改进,1/8M的大小是否合适值得商榷
随着关注人数的增多,比特网络中存在大量的未确认交易等待确认,需要进行扩容
任何一次参数的调整都有可能导致系统分叉。

系统分叉

系统中的参数由于种种原因发生分叉
修改之后面临一个选择:矿工们是否愿意使用新版本的经过参数修改的协议,还是继续使用原有的协议
如果不同意,系统将产生分叉
形成两个不同的系统,相互独立,但是分叉点之前历史是一样的。

比特币扩容修改的思想

直接将区块的大小进行扩容。
存储效率提升
挖矿难度调整(tradeoff)
避开链上的共识限制(off-chain)

存储效率提升(隔离见证)
思想:
包含在区块中的每笔交易的数字签名占据了很多字节。
一旦验证通过了,就没有必要保留这些签名了。
从每笔交易中取出数字签名
节省下更多空间来容纳更多交易。

提高性能,同时也需要提高安全性的性能。

推荐阅读更多精彩内容