区块链的性能提升问题就是如何将共识协议的性能提升。
1.区块链的性能问题(比特币)
挖矿目的:验证双花
挖矿手段:计算哈希函数
挖矿过程: 计算哈希函数-获得区块-广播-其它人验证区块-进行下一个块的挖矿
挖矿周期:10分钟一个块
太多人参与挖矿:调整挖矿的难度,使得每个人的挖矿难得增加,总体还是10分钟一个块。
2. TPS
事务处理系统Transaction processing systems (TPS) :又称为电子数据处理系统(electronic data processing system,EDPS),它是指面向企业最底层的管理系统,对企业日常运作所产生的事务信息进行处理。TPS的最初形式设计范围小,如订票系统、会计成本核算系统,其特点是处理问题的高度结构化,但功能单一,如库存物资统计系统、员工工资发放系统等。它所提供的信息是企业的实时信息,是对企业状况的直接反映。TPS的运行直接简化了人们的日常工作,提高了作业层管理者的工作效率。特定情况下,甚至可以完全取代作业层的手工操作。
慢速的数据库:7TPS for bitcoin,分叉后不超过100TPS,其它的区块链速度类似≤1000TPS,作为对比支付宝12万TPS,VISA 6万TPS
3.可能增加的性能方法
增加区块的大小
降低挖矿的难度,减少出块的时间
进行区块的分片工作
提高共识的速度
离链提高性能
(如果速度快了,碰到超过10000TPS的区块链项目,按照比特币的平均统计,一笔交易是300个字节,这样10000TPS 一秒钟的数据是3MB,一天的数据是259200MB=259.2G,一年数据94T)
4. 为什么要扩容
比特币系统日益增长的交易量问题。
5.参数讨论
(1) 1MB的块的大小:涉及数据的广播,不能太大,也不能太小。 太大了广播困难,太小了性能更低。
(2) 10分钟一个块的难度设定:不能太快,容易分叉、广播苦难; 不能太慢:性能太差;平均性能综合考虑。
参数一旦确认,进入正式执行后修改困难。
6. 系统分叉
(1)系统中的参数由于种种原因发生修改
(2)修改之后面临一个选择:矿工们是否愿意使用新版经过参数,修改的协议还是继续使用原有的协议
(3)如果不同意,系统将产生分叉
(4)形成两个不同的系统,互相独立,但是分叉点之前历史是一样的
7.比特币扩容修改的思路
1) 直接将区块的大小进行扩大
2) 存储效率提升
3)挖矿难度调整
4)避开链上的共识限制
8.存储效率提升(隔离见证)
思想:
1)包含在区块中的每笔交易的数字签名占据了很多字节
2)一旦验证通过了,就没有必要保留这些签名了
3)从每笔交易中去除数字签名
4)节省下更多空间来容纳更多交易