01Libra:比比特币更接近支付工具的数字货币

  • 时间:
  • 浏览:43

  你好,我是穆长春。欢迎来到我的得到课程。

  这一讲,我们会来讲一个关键问题,那就是Libra的技术路线。

  首先,在前面我们讲到,Libra自称自己的基础技术是区块链,但事实上,目前根据我们掌握的信息,可以作出下面这样的判断,那就是,?Libra采用的不是纯粹的区块链技术,而是一个混合式的架构,所以它不能算严格意义上的区块链加密货币?。

  但是,也正因为这样,它才有可能成为一个真正的支付工具。

  我们先来讲,为什么区块链技术,不适合用来做支付。

  区块链不适合用来做支付

  Facebook在白皮书里号称,Libra现在的技术能支持每秒1000笔交易,每笔交易完成需要确认的等待时间是10秒钟。

  这个数字听起来你可能觉得没什么,但是你可以对比一下:比特币完成一笔交易需要等待60分钟。

  即便如此,Libra现在这个速度,做支付仍然不理想。

  当然,每秒1000笔的交易,应该是Facebook设定的一个目标,其实我们央行的数字货币研究所在Libra的代码发布后,也下载了它的代码,搭建了同样的环境,去做了测试。

  我们曾经做过一个区块链实验,就是把所有的节点都放在一个局域网之内,这样就去掉了带宽的限制,只有四个节点,节点之间不加载任何协议,我们用的服务器是八核的CPU,256G的内存。

  但就是在这样好的环境下,我们也只能做到每秒3万笔的交易,而对目前的Libra来说,它的区块链还没有进行优化,用同样的配置,它的交易并发量一下子就下降到了60笔每秒。

  不过,即使是在3万笔每秒的情况下,这个速度依然满足不了我们“双十一”那样的交易量,比如2018年“双十一”,网联并发量的峰值,是九万两千多笔每秒。

  这也就是我要说的,区块链第一个最大的缺陷,就是可扩展性比较差。

  可扩展性是什么意思呢?

  举个简单的例子,一个人算十道数学题,每算出一道题一分钟,一共就要十分钟。如果两个人来算这十道题,假设算力相等,都能算对,就是五分钟。五个人来算呢?就是两分钟了。随着投入的算力越多,计算能力一定是一个线性增加的过程,这就叫可扩展性。也就是通过扩展资源,比如CPU、服务器,来实现算力的增长,实现效率和性能的增加。

  但是区块链,它有另一个叫法,叫分布式账本,它的可扩展性就比较差,原因就是所谓的分布式造成的,每一笔交易,系统中所有节点,都要去记一次账,都要对数据进行全量的计算和存储。

  这样一来,通过增加节点就不会线性地提高算力,这就有点像木桶理论,当然这个比喻不是特别准确,但也有相似之处,就是如果共识算法做得不太优化,性能低的节点就可能会拖累整个区块链的性能。

  这意味着,如果我们用区块链技术去做支付的话,就可能会很慢。

  打个比方,你去超市买一瓶水,付款的时候可能需要等个几分钟,才能确认你这笔交易完成。甚至说,你可能只需要等10秒钟,这个体验依然还是很不好的,因为如果每笔交易都要等10秒钟或者几分钟,那收银台排队也要排出好几里。

  你可能问:我算力增加,CPU个数往上堆,内存往上堆,能不能在区块链领域实现摩尔定律呢?我们的结论是,目前来说难度很大,因为最终决定区块链性能的,不仅是算力,还有带宽。

  你可能还会问了,那好,既然你说是带宽造成的问题,我们是不是解决了带宽问题,就能在区块链领域实现摩尔定律呢?还是很难,原因是我前面说过的木桶理论,也就是说,它可能被处理能力最低的那个节点所限制。

  分布式账本同时也带来了存储的问题。前面我说了,因为每一个节点要保存系统里所有的交易信息,这就对数据存储量要求很高。

  比如以太币,现在要求一个节点50个G。比特币就更大了,一个节点要100多个G。而且比特币和以太币毕竟还是少数人在用,交易量也不大,都已经到这个存储的级别了。那如果是Libra,你想象下,可能是27亿人在用,即使我们打个折,至少也有几亿人在用,这样的话,对数据存储量的要求就会非常高。

  事实上前面我们说的可扩展性差的问题也好,存储的问题也好,都是分布式账本天然的缺陷,你可能说,那你怎么不说它的优势呢?

  比如大家原来就觉得,区块链的安全性和隐私保护是最好的。但这一点上很多人的理解实际上也有偏差。

  它的安全性是说改不了账本,你只要记上就不可篡改、是不可逆的。并不是说它对个人的信息和安全性保护得就很好,否则的话,也不会有哪个交易所被盗多少亿的资产了,历史上确实出现过好几次这样的事故。

  这主要是因为,区块链并没有原生的一个加密机制,它还是要依靠传统的加密机制。

  比如你把你的比特币存在一个热钱包里面,你还是要好好地保存好你的私钥,也就是说保存好你的密码,如果你的私钥被人攻破了,依然可以盗走你的比特币。

  所谓的安全性,并不是指你私人资产的安全性,而指的是账本不被篡改的安全性。小偷偷了你的比特币,那个账也记在上面,也不能改,偷了就是偷了,你是追不回来的。

  还有一个问题,就是常说的51%算力攻击。也就是当系统中有合作关系的、恶意节点控制的算力,如果超过一半,就可以对系统进行攻击。

  51%算力是不是很难被突破呢?其实并不是,比如最高的时候,曾经90%以上挖矿的算力都集中在中国。

  当时所谓的矿场,夏天的时候都放在贵州,是因为夏天贵州处于丰水期,水电便宜,山里面气温也低,不用投入太多制冷成本,就可以实现降温。冬天的时候去内蒙,因为冬天的时候,内蒙的风电便宜。

  除了安全性,普通人最关心的还有隐私保护的问题。关于隐私保护,存在许可链和公有链的区别,比如比特币就是公有链,没有授权机制。许可链,就是要有授权才能加入,Libra就是许可链。

  比特币这种公有链,它的节点信息是完全公开的,我只要变成其中一个节点,我就可以把所有其他节点的数据全都拷过来。那其实是没有任何隐私可言的。

  你可能说:可我是匿名的,你不知道我是谁,你也不知道我用比特币买了什么。但是你别忘了,你在交易所上的交易,哪怕是在暗网上进行的交易,比如毒品交易、武器交易、贩卖人口交易,这个过程中你一定会在网络上留痕的,无论你留的是IP地址,还是MAC地址,还是Email地址,甚至其他所有大数据所能涉及到的所有痕迹,一定都可以通过数据挖掘来锁定你是谁。

  在美国就有一家公司叫Chain Analysis,这个公司曾经协助FBI、CIA破获了几起暗网的非法交易事件。这家公司掌握了目前80%以上的比特币交易人员的真实身份,它就是靠大数据以及交易所数据,再加上节点数据,挖出了你在现实世界的真实身份。

  所以从这个角度来说,公有链上没有秘密可言。

  那许可链是不是就有隐私保障了呢?刚才说了,区块链没有原生的加密机制,所以理论上攻破也是不难的。

  在支付领域,对区块链来讲,最致命的问题是结算最终性的问题。

  什么是结算最终性呢?国际清算银行在《金融市场基础设施原则》里讲过一个原则,就是你要明确每一笔交易完成的时间点,这个时间点确定了,那就能确定这笔交易最终完成的那个时间点,这个点也是不可回退的一个点。

  如果你没有这么一个明确的时间点,就会导致在法律上、经济上产生一系列的问题。

  比如一家公司今天宣布破产了,根据一些国家破产法律规定,破产机构被宣布破产之前的零点起发生的交易是无效的,是要回退的。那如果你没有明确的时间点来确定一笔支付完成的时间点的话,就会出问题。

  可是用区块链来做支付的话,从法律上来说很难确定究竟在哪个时间点上才算这笔交易最终完成。相关区块链节点投票更新完之前,严格意义上来讲,你就不能确定这个时间点到底在哪。所以区块链作为支付工具,不太合适。

  区块链用于支付,还有其他问题,包括系统之间的交互性,以及业务连续性。这些我就不一一解释了。总之,区块链用来做支付,有太多的难题需要解决。

  Libra:不完全是区块链,而是混合式架构

  刚才我们讲了用区块链做支付的种种缺陷,那么回到Libra这个话题,它宣称自己是“可扩展的区块链”,是怎么回事呢?

  前面我已经提到,Libra白皮书发布了以后,Facebook也在开发社区发布了Libra的代码,我们的数字货币研究所,当时就下载了这个代码,搭建了测试环境,也发现了很多问题,基本上是跑不通的。

  同时,在代码发布的第一天,Libra的开发社区就提交了52个问题,后来明确其中bug有33项。

  讲这个是为了说明,目前来看,Libra还处在很早期的阶段,代码质量也不是很稳定,包括有些技术它也没披露,比如说,它没说最后会不会用高速专用网络,节点怎么治理。目前也没有一个可行的方案,连时间表都没有。

  但是我想提醒的是,它的进步一定会很快,它会充分利用全球所有码农的智力和热情,帮它优化系统,帮它写代码。

  根据目前我们掌握的信息,我们基本上可以下这么一个结论:Libra规避了区块链的技术短板,采用的是一种混合架构。

  Libra不可能是一个纯粹的区块链,或者说不是原教旨主义的那种区块链——它底层用的是中心化的架构,只有到最上面,就是最终结算那一层,它才用一下区块链。

  因为要实现它号称的1000笔每秒,只有用这种架构才能办到,也就是说它有很多约束条件导致它只能采取这种技术架构,不太可能走别的路。

  原因就是前面说的,纯粹的区块链技术根本支持不了零售级别的应用。即使以后它能达到1000笔每秒,那也只能用于国际汇兑或者是跨境汇款,因为只有在跨境汇款场景下,你才不会那么在意速度。

  这个技术架构,如果用比较完整的表述,应该叫做“中心化的分布式处理架构和区块链技术相结合的分层混合技术路线”。

  听起来有点拗口。但你只要知道,它是分层的,因为只有分层才能提高处理性能,底下的交易采用的都是中心化处理,因为中心化处理,速度会很快,到了最上层,也就是最终结算那一层,用的才是区块链,而且节点不会很多,因为节点越多速度越慢。

  如果还想再提高速度,极端的情况下可以把节点集中在一个机房里面,那实现1000笔/秒就非常容易了。

  本讲小结

  这一讲我们说了,区块链并不适合用来做支付,Libra也并不是纯粹的区块链架构。

  Libra对外宣称自己是区块链,可能更多是为了吸引眼球,利用区块链的招牌,表明自己善于利用新技术。而且它确实在一定程度上用到了区块链,你也不能说它一点都没用到。

  好,理解了Libra的技术原理,下一讲,我们就来看看,Libra是根据什么定价的。