区块链的TPS

2024-05-15 00:17

1. 区块链的TPS

众所周知,比特币每秒只能进行大约7笔交易,以太坊稍微好一些,也就10-20笔。作为一个支付系统,这是远远远远不够的,经常也有人拿这点来说事,认为区块链效率低云云。
  
 其实现在有很多的方案在试图解决TPS的问题,比如说fabric可以到数千的TPS,石墨烯系列可以到上万的TPS,比特币和以太坊的Off-chain方案理论上支持无限的TPS。那么是不是说这些新的技术才是区块链的未来呢?这个问题总是很难回答,要说一大堆共识,分布式,安全之类的事情。
  
 过年期间看了BM的一个访谈,他提到了VB的一个理论,Scalability,Decentralization和Security在区块链中不能兼顾,类似于分布式系统里面的CAP理论。
  
 我发现这个理论用来解释区块链技术真是简单粗暴而有效。
  
 比如说:联盟链通过准入机制,控制了验证节点的数量,通过牺牲Decentralization提升了Scalability;石墨烯系列的DPOS,RippleNet的共识也是同理;比特币通过提高每个区块的容量,也可以达到扩容的目的,但结果是对矿机提出了更高的要求,形成自然的准入门槛,实际上也是牺牲了Decentralization;比特币和以太坊挖矿难度都可以调整,降低挖矿难度实际上也可以提升Scalability,但付出的代价是抗攻击能力下降了,牺牲的是Security。
  
 但这个理论放在off-chain类型的方案上就失效了,比如说闪电网络(雷电网络),以太坊的plasma还有R3 Corda(这个比较特殊,直接把链都省了)。对off-chain方案原理感兴趣的童鞋移步这里, http://www.8btc.com/ln-rn-corda 。大致方案就是交易双方锁定准备金,把海量的交易打包以后上链,链上只保存交易的最终结果。通过智能合约和线下的多重签名机制,作弊方将会被罚没准备金。
  
 Off-chain方案看上去很完美,保证Decentralization和Security,同时无限扩展。
  
 但天下没有免费的午餐,我们以闪电网络为例(事实上plasma我还没完全理解😅),至少它有下面几个缺点:
  
 1.闪电网络中锁定的比特币只能用在闪电网络中,只有交易通道关闭的时候才能真正成为链上承认的货币,这在理论上会出现类似银行挤兑的情况。如果大家对闪电网络失去信心,集中关闭通道,会拖垮比特币网络。但,这个似乎也不是很大的问题,只要闪电网络没有爆出什么漏洞,比如说签名算法被攻破之类的。
  
 2.交易是在链外执行,链上无法验证提交的交易是否最新版本,虽然脚本保证了提交旧版本交易的攻击者有被罚没准备金的风险,但前提是要防御者监控网络并提交更新版本交易的证据。也就是说从原来比特币的被动防御(私钥不丢失就能保证资金安全)转变成主动防御。从这个角度看也算是降低了Security吧。这个主动防御的操作交给用户也不太现实,最终必然会衍生出一些服务公司,代替用户保存链外交易凭证,并防止作弊。某种意义上面又从“去中介化的信任”转变为需要信任中介了。这个角度看,似乎也是牺牲了Decentralization。
  
 3.闪电网络中只有保存最终的资金状态保存,中间的交易细节全部被忽略,支持者认为是保护了用户的隐私,反对者认为是损失了交易数据。
  
 4.因为通道需要准备金维持,不可能任意两个用户间都存在交易通道,用户之间转账可以通过中转的方法,最终很可能会有大资金形成中心化的中转节点。

区块链的TPS