五千年(敝帚自珍)

主题:【原创】【整理】从央行官方解读看数字货币(已完结) -- 初心

共:💬93 🌺571 🌵11
全看树展主题 · 分页首页 上页
/ 7
下页 末页
家园 穆长春对Libra太苛刻的,Libra的设计整体可行

以公链处理能力来说,VISA也只有每秒2000次,银联每秒实际处理也只有2000~3000次。大家不要觉得这个数字很低,实际上每秒2000次,一天要有1亿多次交易。

Libra之所以每秒处理能力低,不是因为我们的技术水平低,架构差,恰恰相反,我们的水平很高,但你如果把服务器加在北欧,南美,韩国,北美,中国,南欧等地,弄十几个节点就知道了,等这些节点取得共识,电波来回跑几次,延时都将近1秒了。BFT一旦把节点部署在同一个国家,速度马上上到2000次每秒,部署到同一个公有云, 速度到1万,部署到同一个机房的公有云,到10万也不难。

因此不要无端嘲笑老美顶尖的IT技术人员,起码目前为止人家的综合水平比我们还要高。央行的每秒十万次交易,其实就是自己同一个机房的数据库在做同步,这样的速度实在算不了什么。马云的双十一,峰值交易每秒200万!

至于存储容量,估算用的每秒10000次交易是银联交易量的5倍了,何况这么大的数据其实不算太大,经过简单地压缩,就只有十分之一了,也就是8GB多一点, 对于运行拜占庭共识的节点来说不算多,何况我们还可以把比如说1年前历史数据放在云上,仅仅是需要读取的时候才读,这样的存储在工程上轻而易举。

Libra的将来可以部署侧链, 比如把一个国家的交易放在一个侧链上,这样可以把交易容量提升几十倍,或者把小额交易采用闪电网络的模式,把小额交易先记下来,等累积到一定的数量才写区块链,这样也可以把交易容量提升几百倍。

国内做到每秒1000次交易,轻松处理各种交易的公链有不少,我就不一一说了。总之,交易速度和交易容量对于Libra来说不是问题。现在对公链真正的挑战是DEX,去中心化交易所,因为要提升流动性,就必须有量化交易,而量化交易动辄每秒10000次的交易频度,这一点DEX做不到,因此目前所有的DEX都交易清淡。

央行目前的离线Token模式我其实不看好,没有看过详细的介绍,估计类似于PBOC钱包的思路,就是我们交通卡的路子加上了联网Token交易,这样的现金没有任何隐私性,也有被黑客攻破的可能性。要到全世界攻城略地,我还是不看好。

在公链世界,有一个算法叫联邦拜占庭,或者形象地说叫分组拜占庭算法,可以开放任意多的节点,彼此信任的节点组成一个小组,这些小组投票选择真账本,一旦投票胜出,所有人同步这个真账本。人数多了,就根据彼此的信任关系组成了多个小组,不同的小组选择的账本一旦不同,跨小组的人就面临账本改变,所有变色龙立即失去投票权,这样集体作弊的小组也出局,最后胜出的一定是正直的人。

这样的架构,400个节点哪怕最后396个叛变,最后4个也能守住真账本的底线。

这种基于拜占庭投票的算法,哪怕节点增加到1000个,每秒处理能力还在1000以上,可以轻松面对绝大多数挑战。V神曾经在推特上公开表示对这种共识算法的推崇。

至于对Libra跨境汇款的汇率稳定,也是过于担忧了,本来这样的网络,上百万金额的汇款会立即收到KYC和AML的审核,哪有那么快!大额汇款,专业投资人员可以用对冲工具平衡可能的异动,有千分之几的变动,也可以在汇款手续费里面得到补偿。

何况在Libra主要面对的日常支付,都是Libra进,Libra出,唯一的差别在于不同国家需要转换成对应的货币,支付给企业,否则当地政府收不到税,要杀人的。这样的购物,造成的汇率差忽略不计。

家园 哈哈,原来陈王在Facebook

“Libra之所以每秒处理能力低,不是因为我们的技术水平低,架构差,恰恰相反,我们的水平很高” :)

家园 蹭点热度

估计还有比俺更菜的,科普一点SHA算法(科普都算不上)。

比方说,有一个函数,如果输入个位数8,输出8,如果输入26,太长,中间剪成2+6,输出还是8。换言之,就算知道结果是8,但是输入是8呢,26呢,还是71呢。不可逆大约就是这意思。

位数长一点,类似“中间剪成2+6”这些步骤设计复杂一点,例如某部分的数值互换再叠加。找对输入的工作量太大。如果将来硬讲软件发展到威胁安全,可以加长位数,记得当年做SHA功课题好像不是256,好像128?只是上学做过一次SHA功课练习。本人金融经济计算机互联网区块链电子货币通通都不懂,但感觉中国是时候应该折腾,老老实实肯定强不起来。

家园 对存储压力也很大

不是每个节点都有能力几TB几TB地往上加数据

家园 【区块链与央行数字货币】后续一(完结)

非常感谢大家捧场!针对陈王的部分点评,我在这里对一些数字货币社区的最新概念做一下简要点评。

【1】关于公有链和私有链系统的分类:目前的公有链系统基本上都是以比特币的共识算法为基础,进行部分修改和扩展,代表作为比特币、比特币现金、莱特币、以太坊等等。这类公有链系统最最显著的特征是:它们都有一套挖矿”的手续。这个所谓的“挖矿”,其实是共识算法里面的一道必备的程序。由于公有链系统没有准入机制,因而为了限制某些“邪恶节点”的影响力,系统的共识算法故意将取得共识的难度加大,以至于很难出现一个节点或者组织能够“主导”系统。而Libra、Hyperledger等系统都是基于传统的(P)BFT共识算法,该类共识算法性能高但扩展性差,因而需要准入机制,所以它们都是私有链系统。

【2】目前公有链系统和私有链系统都有针对账本数据的压缩研究。但是目前两者系统最大的瓶颈其实还不在最终的存储策略上,而是运行共识算法的过程中的通信问题。公有链系统因为各个节点都需要拿到实时的新数据,因此网络传输的总数据量过大;而私有链系统的问题则是网络延迟过大:海底光缆一个来回就几百毫秒,整个共识算法需要数据传输好几个来回,这样总延迟就要超过1s,这就要求共识算法不能一次只处理一条交易,否则吞吐量实在过慢。然而这就又引出了下一个问题:

【3】交易是有先后逻辑顺序的。由于每笔交易都要把钱从一个账户转移到另一个账户,如果其中某个账户又进行了其他的交易,那么交易顺序必定会影响交易的成败。比如说,A账户有100元,B账户有0元,并且有以下两笔交易:A先给B转100元,B转50元给C。但是,如果第二笔交易发生在第一笔之前,而这时B账户并没有这么多钱,则这次交易必定失败。大家可能会奇怪:为啥会出现这种情况呢?因为网络延迟的问题,真实的交易信息到达分布式记账系统的时候往往是乱序的,可能B以为自己还有足够的钱,但是B可能有别的转账交易被系统提到了前面先执行了,结果造成余额不足。对于交易批处理问题,系统往往首先需要对这批交易的有效性做验证,剔除那些无法实现的交易,而这个过程本身就需要一个共识算法去解决,解决掉这个问题,系统才能对这个共识出来的结果再投一次票。你可以理解前者是人大某个委员会审查“草案”的过程;后者是人大全会针对这个“草案”再投票,把它变成“法律”的过程。两个共识算法一起折腾下来,系统的可扩展性就会变得更差了。这也是为啥Libra折腾了这么老半天还是没法提供10000笔每秒这一级别的交易吞吐量。

【4】上面的“草案”问题,其实可以通过一个中心化的序列化系统去解决。但是既然我们有了这么个系统,那再搞私有链系统的意义在哪里???这其实也是央行直接质疑Libra的一点,虽然穆长春并没有直接说,但是私有链系统的各种缺点在上亿用户这一级别的高并发的确是暴露无遗的。

【5】侧链是一种提高系统性能的“动议”。侧链的核心思想是:让大量侧链来收集用户的交易信息,当收集完毕后,再统一放到主链上。至于侧链的问题,我们就要开始讨论共识算法的一些基本理论了。(P)BFT(用于私有链系统)有一个经典理论,就是说一个存在恶意节点的系统中,如果假设我们有f个恶意或者错误节点,那么系统必须至少拥有3f+1个总节点才能得出正确的结果,或者说,一个系统的恶意节点的数量严格不能超过1/3。这个理论证明很复杂,我在这里就不在赘述了。这里大家要注意到:剩下的2f+1个节点是绝对不能出错的,即使过大的网络延迟也不行,否则就会被划入到错误节点里面去。这个理论说明了什么呢?如果在侧链里,节点数量过少,那么只需要有很少量的恶意或者错误节点就可以弄瘫这个侧链。进而,侧链提交的数据会变得不准确,而主链的没有义务查验侧链数据是否准确,主链关心的只是提交的数据会不会和主链上的数据产生逻辑矛盾,至于侧链干了啥坏事,主链一概不过问。对于公有链系统,那就更麻烦了:由于侧链的存在是为了降低延迟和提高交易吞吐,想做到这一点,根据目前的共识算法,唯一的可能性就是减少侧链的节点数量或降低侧链节点达成共识的难度,无论哪一点,都有机会对侧链的安全性造成毁灭性的打击,因为公有链系统没有准入机制,黑客想在侧链上搞事情要比在主链上容易多了。

这里我举一个干坏事的例子:假如某一个侧链被黑客绑架了,商家A卖了货给了商家B,B把钱给了A,在侧链上已经把交易写入了,A确认后把货发了,B收到货后马上联系黑客,把侧链上的交易抹去(实际操作是回滚交易)。要知道:如果该侧链被劫持,基于目前的共识算法,只要恶意节点的数量或者算力足够,此类操作是完全可行。这样,B又把钱拿回来了,而且还拿了货,B就可以把这笔钱花第二次去买别的东西。这个过程,就是著名的Double-spending。注意到:Double-spending在主链也可以发生,所谓比特币51%攻击指的就是这个,因为如果某一个组织掌握了51%的算力就可以抹去比特币区块链上任何的交易信息,这是由比特币的共识算法决定的。

然而,这个可怜的A陪了货,于是TA以后学聪明了,不在信任乱七八糟的侧链,只有数据写入主链并确认以后在发货。如果是这样,那交易的延迟就取决于主链的延迟了。试问:一个交易延迟长达一小时的公有链系统,如何去赢得市场???一个稍稍扩展就比1000笔每秒还慢的私有链系统,如何赢得市场???

【6】后来又有人提出“联盟拜占庭”的想法,是对PBFT算法的扩展,想法是大家先组成一堆小团体,小团体内部先投票,各个团体之间有一些节点是“脚踩两条船",联盟拜占庭通过一定的算法把那些乱投票的恶意节点从系统里面剔除掉,这样“理论上”剩下的节点都是正常节点,这样小团体自己内部投票就可以决定要不要把数据放到区块链里面去了,而不用大家一起投票。至于联盟拜占庭的问题,其论文假设每一个团体都能够reach一个agreement,其原始论文明确提出:对于这个团体,f=1,即团体内部最多只有一个恶意或者错误节点,根据我上面提到的3f+1计算,4个节点就构成一个小团体来保证共识算法的正确性。我想问一下论文作者:你哪来的自信能够确定每一个团体只有一个恶意或者错误节点?不说别的,Raft这种应用在不存在恶意节点环境中的共识算法,一般都要假设至少一个错误节点(比如说突然崩溃了或者网络大延迟或者断线)。如果联邦拜占庭要放在公有链上,请问:如何来保证每个团体中f=1?要知道当时比特币为了让公有链系统成为现实,不得不另寻出路,连正常的(P)BFT都不敢用,就是因为你无法保证一个公开的系统中恶意节点的数量,尤其是系统首发的时候。更糟糕的是,如果整个系统绝大部分团体都是恶意团体把持,【民主投票】之后,这系统到底是谁的天下啊???

(ps:联邦拜占庭的结构和CDO很像......)

【7】最根本一点,这种涉及国家信息安全的数据系统,是永远不可能上公有链系统的,除非国家全部都消亡了,世界大同。

【总结】目前区块链的绝大部分改进论文,都是在2015年之前就已经发布了,整个社区、学术界和工业界其实研究了很长时间,但是目前最靠谱的还是:公有链系统-比特币类;私有链系统-(P)BFT类。绝大部分改进都无法提供真正严格的证明,来确保系统的可靠性和稳定性。但是,这并不意味着目前的探索一无是处,更不意味着比特币毫无价值(其实比特币的意义很大)。我会在后面对这一点再进行详细阐述。

后续二

后续三

终章

通宝推:尚儒,独立寒秋HK,唐家山,桥上,
家园 先回答你的问题:这玩意不会国际化的。

更进一步说, 如果rmb最忠诚了数字货币, 那它就自己断了国际化的念想了。

道理很简单, 一个货币如果成功国际化, 靠要各国政府和结算单位(受各国政府监管或直接拥有)认可和背书。 谁会认为任何一个外国政府或等量国际组织原意自己的交易明细被其他国家掌握吗?有任何个人或组织原意自己的交易明细被一个(很可能是意识形态敌对的)政府所掌握吗?

弯道超车太频繁, 翻车就是大概率事件。在人类社会还没有准备好走出资本市场阶段, 在自己还没有成为领头羊的实力之前, 不要步子跨得太大。扯着了蛋修养修养还能再跑, 要是一个劈叉从路基上滚下去了, 可能会尸骨无存的。

家园 美元也没有在主要大国内部流通,不代表美元没有国际化

另外,银行间结算不预设技术路线,人民银行并没有明确银行间结算的系统设计,数字人民币作为M0替代,和M1、M2技术路线应该是不同的。

顺便提一句,VISA和Mastercard都是美国的,NSA监控的,大家不也用得挺好的。

家园 主要是替代现钞M0

数字货币是法定货币,依法所有场所都应该接受,将挤压第三方支付的空间,为银行亲儿子扳回一局

极好
家园 国内短线炒股主要走概念

所以紧跟概念走短线应该没错,因为每次都是一个板块不分个股好坏一起动,市场盲目性太大。

但是要小心。区块链目前实际靠谱的项目和公司太少了,短线操作一下就好,不要入长线坑,除非对某些公司了解很深。当然如果想买彩票的话就另当别论了。

家园 那些是M1、M2的问题

理论上沿用目前的系统是没问题的,如果央行想更进一步玩大的就重构一下系统,但是这块实际数据量没那么大,难度低很多。

家园 数字人民币的目的是取代M0,目的就是有序监管

换句话说,央行可以宣布纸币退出流通。然后整个数字货币系统的交易对央行是透明的。如果后面央行再针对M1和M2的流通进行升级,央行就可以全面掌握整个社会的流通了。

另外,VISA是要联网的。央行数字人民币不需要,有电就行。而且数字货币可以定向流通啊,这想象力多了去了,比如说食品人民币只能在食品工业系统流通,房产人民币只能买房子等等。

区块链,数字货币,去中心化,匿名,这些都是独立的概念,千万不要相互挂钩,这是这个圈子故意放的烟雾弹。比如CNN这种把自由和民主挂钩的,明明就是两个概念嘛~~~

通宝推:桥上,
家园 在联邦拜占庭算法中,多数节点叛变不影响最后的数据安全

因为它是分组的,最后该组的账本选择是错误的账本,但是该组选出的代表参与其他小组的表决,绝大多数情况下失败,女巫计划失败。

如果在少部分情况下参与另一个小组再胜利,另一个小组选择错误的账本,派出自己的代表参加新的小组,失败,该代表选择的账本被翻转成正确的账本。

按照规则,任何翻转过的节点失去投票权,这样组和组之间的联系断绝,最后剩下的两个或多个小组的共识账本,系统默认选取被信任做多的那些节点,通常也是最早的那些共识极点。这样的方法等于我们在基层通过层层选举,最后选出国家领导人。哪怕有西西里这样的恐怖地区,我们也不担心意大利会有黑手党领导。

联邦拜占庭的算法是绝对可靠,可以用形式逻辑证明的。 但是一般没有币圈人士宣传,因为在联邦拜占庭结构里面,有点节点比其他节点更平等,这个有违币圈的政治正确,因此一般语焉不详。

交易先后次序在很多链的代码中是有序号的,这样可以判断先后,另外,即使是先后次序导致交易失败,也不过是重新发送,这样的交易失败案例仅占日常的万分之几,一般人根本感觉不到。以平均单次交易耗时2秒,确认3秒,一共不过5秒,和平时支付宝微信的时间基本相当,即使重新来一次,也不过10秒, 和网络卡顿类似,用户体验完全可以接受。

Libra从联盟链转向公链很简单,对多数攻击有信心,开放节点介入即可,没有什么技术上的障碍。实际运行上只要开放观察节点,让他们同步运行,考察结果,带数据成熟,随时可以转变成公链。

Libra的每秒交易速度低,不是架构上的原因,主要是异地服务器。你让央行把4台分布式服务器放到世界各地再试试?

说老实话,把几十个博士关在一起,搞3年区块链,最后的结果不可能比全世界水平都要高,最多的可能是大家差不多。央行那些人, 自视太高,心态未必有多开放, 最后的结局恐怕是略差于世界先进水平。

家园 如果联邦拜占庭能够保证f=1,理论上是可以的

但是问题就是出在这里。公链系统里面,没有任何人能够保证f=1,或者更严谨点点,如果联邦拜占庭能够保证给定f,每个小团体的节点总数N严格大于等于3f+1,那么我们还是可以考虑采取该算法。但是系统一开始就可能被一大群恶意节点掌控,公链根本是不可能去做有效验证的,倒是这些恶意节点在后面能把诚实节点通过投票的方式踢出去。

这些恶意节点就好像被买了票的选民一样,是选不出来好领导的。

家园 谢谢详细分析。希望下次能讲到比特币还值得拥有吗?
全看树展主题 · 分页首页 上页
/ 7
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河