区块链的困惑

举报
华为云社区精选 发表于 2018/04/20 10:05:59 2018/04/20
【摘要】 20180403 更新:声明一下:对区块链能带来的众多好处,都赞同。所以我们不讨论区块链的价值,只看技术本身。我的困惑在于:1)根据区块链的技术本质,会遇到很多实际的困难。从而导致实现的代价很高2)现在很多应用号称使用了区块链,获得了很多效果。但是没有找到一个实际的应用,详细说明这些应用之间的数据流动过程3)如果用国家信用背书,在这个国家范围内,是不是能代替区块链平台?下面罗仁钧的答复解决了...

20180403 更新:

声明一下:对区块链能带来的众多好处,都赞同。所以我们不讨论区块链的价值,只看技术本身。


我的困惑在于:

1)根据区块链的技术本质,会遇到很多实际的困难。从而导致实现的代价很高

2)现在很多应用号称使用了区块链,获得了很多效果。但是没有找到一个实际的应用,详细说明这些应用之间的数据流动过程

3)如果用国家信用背书,在这个国家范围内,是不是能代替区块链平台?


下面罗仁钧的答复解决了一点我的困惑,是我没有仔细、完整的阅读比特币的材料导致。先感谢罗兄。

但是还是没有解决我所有的困惑。

------------------------------------------------------------------


现在区块链超级火爆,很多组织都声称已经上线运行,比如平安,就说已经大量使用。但是我始终没有明白它们到底是怎么使用区块链,然后带来什么好处的。

本文描述我的困惑,描述也许有错误的地方,路过的大侠请指导。


区块链,大致可以分为3类:公链,联盟链,私有链。不管那一类,原理都是如下:

数据复制多份,存放在多个节点,实现数据可靠性;通过hash链,实现数据不可篡改;通过共识机制,实现数据的有效确认。

这样就必然带来如下特点:

1)效率低:参与共识的节点数越多,数据存储效率低下,单点存储需求量大

2)速度慢:参与共识的节点数越多,共识速度越慢

上述特点,与具体实现方式、实现技术无关、和共识机制无关。就是说,只要是“区块链”,就符合这个特点。


再结合具体的类别看一下:

1)公链。类似比特币,以太币之类的,全球一个大链。

参与共识的节点是百万以上,也许有千万。每存储一份数据,都要在这百万千万个节点中复制。如果只是结构化数据(比如比特币这样的)那还好(即使如此,单节点也有几百个GB了),如果还要存放非结构化数据(比如照片、视频),那这个数据会膨胀得非常厉害。每个节点估计要几个PB甚至EB才行(类似于每个节点都存储了全球所有人的数据),这就没法玩了。

那有人说,可以搞个链接,每个节点都只存放数据链接,这样每份数据就只存放一份。。。显然,这种方式是不可靠、不安全的。而且,即使只是存放一个链接,URL其实也很大,比如100字节,整体的数据量也不小。

所以,对于公链来说,似乎只有虚拟币这一种应用是最合适的。。。


2)联盟链。若干个实体,比如10~20个实体,组成一个链。

显然,在这个小团体类,单节点存储容量大,存储效率低不是大问题;由于参与共识节点数少,速度可以非常快。

问题在于,联盟链1和联盟链2,以及和联盟链N之间,应该怎么取得共识呢?这样就回退到和现在的情况一样了。拿银行举例,这10个银行组成一个联盟,另外10个银行组成另外一个联盟,。。。联盟内部是爽了,联盟间怎么办?和原来单个银行的情况似乎一样?

那么,在联盟之上,再搞一个更高层的联盟好不好?如果全球有10万家银行,那么10*10*10*10*10,也就是5级区块链联盟可以达到目的。具体的操作方式是:

假设:5级联盟链5-10000中的某个银行5-10000-1,想向另外一个银行 5-10001-1转账,过程是:

5-10000-1发起联盟内部事务,5-10000-1向关口银行5-10000-10发起事务,这个事务在5-10000内部取得共识;

然后5-10000-10再向上一级联盟发起事务。。。以此类推

这个效率似乎也很低,和现在区别不大。。。

另外,由于政府的监管等,跨国银行之间直接做联盟链,估计还会遇到很多政治上的问题。

而如果只是国内银行搞,那全部通过银联就好了?

全部通过银联,有人说,速度会有瓶颈。。。其实这个速度,主要受限于现在银行用的大型机的性能,如果是采用分布式软件系统,似乎性能不是问题。

从银行推广到其它应用,也就是说,是只需要一个集中的中央系统(比如银联)就好了,这个中央系统就是政府搞一个可信平台,给所有人使用就行了。


3)私链

这个确实是有一个应用,就是存储系统中的WORM。写入一次就不可更改。只是这个东西用区块链,感觉就如同是炮弹打蚊子。即使能普遍使用,对区块链的流行也没啥帮助,应用场景太局限。


综上,说了半天,似乎也就是证明了网上流传的,区块链的应用就是用来发币。


再说说我个人想法

如果政府搞一个集中的平台,即一个集中的数据库(当然这个数据库可以用私链做)。所有的应用,都可以在这个平台上交互。比如银联,也在这个数据库上。这样就实现了一个类似公链的效果,又避免了公链和联盟链的问题。当然,这个是不跨国界的。

跨国家的应用其实都是受管制的,没有真正意义上的跨国家系统。真要到那一天,就是一个全球的政府了。我们不要太理想。

现在是缺少一个国家运营的平台,现在的信用机制,比如支付宝、淘宝、京东等,还是大企业提供的;其实这一套都可以由政府统一搞。当然,政府不需要关注上面跑的应用,它只是运行好这样一个平台就行了,类似电信网络这样的基础设施。以很低的收费,支持各种各样的应用。


作者|张浩

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。