通过前面的文章我们了解了一些区块链的基本技术细节,今天这篇文章我将带你一起看看区块链争议的最大内容——去中心化与区块链交易性能。
比特币和以太坊的 TPS 一直被技术领域的人所诟病,或许这与工程师“高性能高并发”的情节有关。
那么说,去中心化与高性能 TPS 是否真的可以做到鱼和熊掌的兼具呢?区块链业界又采取了哪些方案进行改善呢?围绕这两个主题,我们开始聊聊今天的话题。
再谈去中心化
说到区块链的最大标签,莫过于“去中心化”,在任何讨论区块链的场合,这个词几乎都会被提起。
今年 3 月份,全球顶级数字资产交易平台 OKEX 的负责人徐明星曾经发文,他表示业界应该避免使用“去中心化”这样的词汇,而改用“点对点”,“点对点”一词后来甚至被直接冠到了比特币白皮书的标题上。
去中心化与点对点有区别吗?我认为是有的,去中心化是包含了一定政治主观色彩的词汇,点对点只是一个中性词汇,更适合用来描述系统的性质。
去中心化这种说法树立了一个无形的靶子,这个靶子可大可小,大到政府机关,小到小商小贩。
正如我们说的是 P2P 网络,而不是去中心化网络。所以在技术领域使用点对点,而不是去中心化,可以避免这种概念被过度消费,
说到了“过度消费”,我认为“去中心化”已经演变成了区块链行业对外宣传的消费概念,这是一种情怀消费,它消费了人们对强权者的不满,例如店大欺客的商家、死皮赖脸的中间商、缺乏诚信的供应商。
这些内容,你或多或少都在生活中经历过,当“去中心化”的口号响起的时候,人们终于找到了一个发泄口,强烈的共鸣放大了区块链的光环,造成了区块链能掀起一场大革新的错觉。
革新肯定是有的,但去中心化只是表象,如果我们加深层次去理解,就可以发现数字货币和数字资产带来更多的是交易效率的成倍提升。
人类的现代文明是建立在交易的基础上的,没有交易就意味着直接回到了农耕社会。所以交易效率的提升才是区块链的根本所在,那么说,区块链本来是这样看似低效的 TPS,为什么说它提高了交易效率呢?
我们先回到传统的交易模式来看一看。
交易首先是基于中心化平台的,当我们进入某个中心化平台,在这个平台内部,交易效率是提升了,但是我们回顾整个交易的生命周期,就会发现这个平台可能只是交易的一环,平台和平台之间的协作似乎并不是那么顺畅。
跨境支付便是典型的例子,市值长居 Top3 的区块链项目 Ripple 就是为了解决跨境支付的难题而产生的。
我们再来看区块链点对点的交易模式,它的 TPS 看似低效,但是它提供了全局无缝衔接的资产流转过程,这减少了整个交易生命周期的步骤,这也是区块链提升交易效率的关键所在。
所以说,虽然中心化系统能提供优秀的高性能服务,但是慢在人工审核、平台之间衔接、内部审计,平台之间的协作业务推进,想必你一定也深有体会。
技术上的去中心化
我们在聊 DPOS 共识机制的时候,提到过一个 TPS 的计算公式,
TPS = (block_size * network_bandwidth * witness_performance) /
(block_time * witness_count)
其中 witness_count 记账节点的数目与准入门槛在业界的争议比较大,如果完全去中心化的话,首先就意味着记账节点没有准入门槛,记账的节点可以无限多,当然这只是一个理想环境,工程实施的可行性几乎为零。
比特币全球的全节点 1.2 万个,大大小小的挖矿节点只有几十个,常出块的只有 5 大矿池,但是比特币依然没有限制记账节点的准入门槛,以太坊也是如此。而在 EOS 中,既规定了记账节点的数目,又规定了门槛。
可以这么说,控制了记账节点的数量和准入门槛,就等于决定了区块链 TPS 的大小。
为了帮助你深层次地理解去中心化与 TPS 的关系,这时候我们再次回到之前一直提到的 CAP 定理中。
CAP 定理中,C为最终一致性,决定了出块时间的长短。A 是可用性,这个是必选的,必须要保证区块链 7 X 24 X 365 全部可用。
P 是网络分区容忍性,P 的含义在区块链上有两层,第一层是必须保证分区可容忍,也就是一旦出现因为网络分区而导致区块链分叉,必须有一种机制可以合并区块链;第二层含义是如果我们尽量避免出现网络分区,那么就可以避免 P 的出现,从而提升 C 的性能。
C 和 P 是可以相互调整的,有两种情况。
情况 1,如果我们选则调整 C,也就是拉长了最终一致性的确认时间,那么对 P 的要求就会减弱,也就是网络产生分区不要紧,反正区块链有足够的时间恢复最终一致性。
情况 2,如果我们选则调整 P,也就是限制较少的记账节点的数量,并且对记账节点之间的带宽提出要求,降低出现网络分区的可能性,那么对 C 的要求就会减弱,就可以降低出块时间。
情况 1 就是比特币和以太坊的典型思路,情况 2 就是 EOS 的典型思路。
区块链属于分布式系统,通过简单分析我们可以知道,区块链交易 TPS 与去中心化的具有不可调和性,任何一个号称 TPS 过万的区块链项目肯定是极其中心化的(至少技术上是的)。
所以,那些试图兼具高性能与去中心化的工作大多都是徒劳的。