对当下区块链世界的几点看法

2018-05-10 11:15:18 +08:00
 onc

现在区块链世界还是一样的火爆。 很多中小投资人都还未进场,大家都在跃跃欲试中。

其中有多浮躁.....

所以写点技术文章泼泼水。

公链的开发不是一蹴而就的

什么是公链? 我的定义是公链是一套分布式存储系统。比特币、以太坊等等数字货币背后都有一套公链来作为账本,去记录它们自己货币的使用情况。 这个公链作为分布式存储系统一般要保证以下目标:

  1. 数据一旦记录,任何人不可修改 为了实现这个最主要目标,公链一般使用分布式系统,将数据存储于 N 个硬件之上,这样保证了硬件不属于某一个或某几个人。从而避免硬件持有人直接修改原始数据的问题。

  2. 数据记录要正确,要可查找。

  3. 数据存储要稳定,不能丢失。

公链的开发实际上就是一个分布式存储文件系统的开发,或者说是分布式数据库的开发。 老的几个公链,比特币、以太坊都有性能过低的问题。如果按照一个现有的存储系统来评判,那它们的设计都过于笨拙,所以性能瓶颈很大。 现在公布出的新公链的开发,都是以提高性能为前提。 甚至,对于数据的存储也不再仅限于账本式的数据,而是面向所有的普通文件数据。

这里问题就来了,开发一个分布式存储系统简单吗?

答案肯定是:不简单。

我们现在可以看到的文件系统有: https://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E5%88%97%E8%A1%A8

数据库系统有: https://en.wikipedia.org/wiki/Database

这些都是公链作为存储系统可以参考的代表。 从上面的链接里,我们可以看到一个长长的列表,这个列表里的项目大都开始 10-30 年以上的时间了。

再说公链:比特币始于 2008 年,以太坊始于 2013 年,可以预见,再开发一个新的公链并不容易。 一个公链就相当于一套底层平台。所以,最后能存活下来的公链应该不超过 3 个。

开发公链的人需要什么?

  1. 开发者有很强的编码能力。 没有实现能力,你的理论都是镜花水月。
  2. 开发者有远大的目标。 你是做一套公链,是纯底层的东西。没有远大的目标,很容易被别人替代。
  3. 开发者有探索精神。 像公链这样的分布式存储系统,整个 IT 历史上也不太多,成功的更加少之又少。你可参考的资料会非常的少。也许你只能设计一个看起来差不多的系统,然后就是不断的尝试与改进。
  4. 一个社区。 既然是分布式系统,那就需要足够多的客户来参与。这些客户可以说是这个系统的零部件。形成一个社区,来吸纳用户参与进来,这是每个公链都要解决的问题。POS 也好,POW 也罢,这些都是公链设计的重要元素。

比特币毫无疑问已经是一种投资品

比特币以及其他的数字货币由于无法抑制价格的波动,毫无疑问的变成了一种投资品。

对比真实的普通货币: 普通货币在现实世界是有国家在背后做支撑,可以调节货币的兑换价格,总体保持货币价格的稳定。但对于比特币这些数字货币来说,它没有这个机制,所以无法保障它的价格平稳,导致了它无法作为货币去使用。 还记得那个当年花了 10000 个比特币买了块披萨的朋友吗?如果是真的,那他应不应该非常后悔呢? 同样,现实世界中的货币,例如委内瑞拉的玻利瓦尔大幅贬值,也失去了作为货币的意义。

当然,如果有很大的比特币持有者做庄,并且他要维持价格稳定,可能可以一定程度改变这一现象。

比特币在设计的时候特别加了生成的限制机制,就是每 10 分钟生成 N 个比特币,并且随着时间的推移,这个 N 值会越来越小。这虽然不会让比特币由于过量发行而贬值,但却造成了比特币的数量不足,所以价格上涨也成为一种必然趋势。

比特币设计的时候,还没有考虑货币交易所。但后来,货币交易所的出现将比特币等数字货币完全带入了投资品的行列。

区块链的性能是没有天然优势的

区块链也就是公链,正常是个分布式系统。从技术角度讲,其性能如果与现有数据库系统相比较,它没有太多优势,甚至可以说是没有优势!

互联网发展了 30 年,整体性能提高了很多倍,现在支撑着至少 40 亿用户的使用。这中间有硬件的原因,但更多的是架构的进化。我们基本将性能方面的架构设计提高到了很高的等级。

区块链在最开始设计的时候,采用的是最没有效率的架构:把所有的数据都平分到所有的客户端,也就是最分布式的结构。这个分布式的架构接近最终极分布式的形态:没有明显的中间节点,所有的节点都是平等的。这样的结构作为存储系统来说,可以预见:效率最低! 再往后,新的公链设计为了提高效率,肯定要将数据集中化存储。但这样的设计,也超不过现有的数据库系统或者文件系统。只能说是向现有的架构设计靠齐而已。

区块链的作为分布式系统的优势在于利用最多的硬件,就是将剩余的硬件资源利用起来。但这样的设计会有网络传输方面的限制。 如果为了追求更高的 TPS,新的公链一定会在一定程度上集中数据到几个大的节点上。回归到现有的普通数据库的设计架构上来。

再科普一下: 分布式系统有优势,在于可以有很大的容量。例如我们的互联网架构,互联网在设计之初,就是一个分布式系统。如 DNS 系统,可以说是全球使用的一套分布式数据库,它容纳了 40 亿人的域名查询。但它存储数据的效率并不高,一般都需要花费 10 分钟以上的时间,才能让存储数据生效。

我们设计架构,一般要考虑三要素:运算,存储,网络。 其实,我们都是从中心化设计开始的,然后慢慢的向分布式架构转移,转移到一定程度,在中心化与分布式之间取得一个平衡点,就是最终的架构。

中心化 ——>> 分布式

中心化设计的优势是:简单,劣势是:性能有上限。 分布式设计的优势是:性能容易扩展,劣势是:设计复杂。 最开始采用中心化设计一般是为了能尽快上线这个应用。 后期如果遇到性能瓶颈,分布式设计一般就要被引入。

整个 Internat 本身可以说就是一个巨大的分布式与中心化相结合的架构。 我们有 N 多数据中心,N 多骨干网络,N 多的客户端。

每个数据中心就相当于一个中心节点,每当我们在某个中心遇到性能的问题时,我们首先会想到的是能否将该问题切割,切割成平均分的小块。 让每个小块独立运行,这就是分布。将原先集中的东西分布下去,从而可以通过添加更多的硬件来获得性能的提升。 举例来说:1 个服务器有多强,也不可能应对 1 千万的用户,那么我们将这 1 个服务器上的应用想办法切割成分布式,这样我们就可以使用 N 个服务器来服务这 1 千万用户。 很简单的道理。 网络也是如此,你的带宽有多高也不可能应对更高的流量需求,那么我们将服务分布式,让多个数据中心来应对,我们就可以解决这个问题。

总之,整个互联网的发展就是这样,集中,然后分布,再集中,再分布。 现在,互联网的架构应对这几十亿的网络用户没有问题,这个是事实证明了的。 所以,对于主流公司来讲,没有技术需求再去开发一个更加分布式的架构,例如区块链系统。 这样做的意义是什么呢?

原文链接: https://github.com/openerserver/Articles/blob/master/%E5%AF%B9%E5%BD%93%E4%B8%8B%E5%8C%BA%E5%9D%97%E9%93%BE%E4%B8%96%E7%95%8C%E7%9A%84%E5%87%A0%E7%82%B9%E7%9C%8B%E6%B3%95.MD

4527 次点击
所在节点    区块链
22 条回复
hcj4xhu0jerome
2018-05-10 11:49:01 +08:00
game11
2018-05-10 11:49:20 +08:00
后悔当年没买币。
slwchs
2018-05-10 11:55:58 +08:00
EOS 了解一下 我是坚定的 DPOS 阵营拥护者
zarte
2018-05-10 11:58:53 +08:00
泛泛而谈
ob
2018-05-10 12:01:28 +08:00
好文
clino
2018-05-10 12:05:23 +08:00
联盟链私链才真有前途
公有链的前途就是洗钱和投机,但是市场也不会小
haxiwa
2018-05-10 12:13:49 +08:00
泛泛而谈+1,里面提到的很多东西你弄明白再来写文章也不迟,还有就是对区块链的理解过于单薄了,在你的脑海里区块链就是个分布式数据库
murmur
2018-05-10 12:20:48 +08:00
@haxiwa 是不是泛泛而谈难想,但是有一个好想的,就是现有的架构有没有缺陷?
银行已经用两地三机房解决了容灾问题
剩下的要么是政策要么是法律问题
所以说区块链是无政府主义一点不为过
em70
2018-05-10 12:24:51 +08:00
@yliangmin 买了你也留不住,增值是对抵御诱惑和承担风险的奖励,你要能做到,投资啥都能赚钱
onc
2018-05-10 12:27:28 +08:00
@zarte
@haxiwa

请你们也具体说说,区块链或者公链有哪些高大上的东西?

本身区块链的开发也不是一群搞科研的人搞出来的,就是一帮普通程序员而已。
他们用到的技术,用到的概念没有逃脱现有的技术框架与体系,算法也是一样。

国内的很多人就是包装过度,喜欢包装过度。
msg7086
2018-05-10 12:56:42 +08:00
@onc 要不然怎么捞一票呢……
tabris17
2018-05-10 13:00:53 +08:00
技术归技术,金融归金融

没有技术含量不等于没有金融价值
gggxxxx
2018-05-10 13:18:08 +08:00
我说一句这些都是皇帝的新衣有人来教育我么?
这玩意儿到底有啥意义?凭什么要各个行业都采用?
以比特币的例子,一笔交易要消耗非常长的时间来记录,没有一个人说一句,这算法不是纱布么?
johnnie502
2018-05-10 13:43:43 +08:00
天天拿用一万个币买披萨的人做例子教育你要赶快进场当韭菜,但怎么没人说卖披萨得一万个币的人,这人按理说应该是币圈首富了,doge
mars0prince
2018-05-10 13:59:15 +08:00
老子只想割韭菜,你却跟我讲公链,只要币价涨,管你什么毛链,币价一跌,再好的技术有鸟用
zarte
2018-05-10 16:53:06 +08:00
@onc 你不觉得当节点数足够多的时候历史记录几乎不能被更改这一特点很好么?区块链不是一种技术?你说的包装是对于那些币来说的,而不是区块链。
之所以说是泛泛而谈,因为你就是个标题党,中心点就开头那几句,炒币的人不会关心啥技术,开发成本。做技术的嘛。。。区块链的分布不是一般的百度出来的提高性能容灾。
onc
2018-05-10 19:10:54 +08:00
@zarte 记录不能更改并不是节点足够多的原因。

比特币与区块链,以及后来的以太坊里面引入了一些比较有趣的新概念,这个是我们可以参考的。

现在,国内很多团队上来就是说做公链的,可看看他们的白皮书....

我想说你们太想割韭菜了。

其实,真的榻下心来慢慢来做公链,未必不行。
bucky
2018-05-10 23:40:17 +08:00
区块链到底可以用来做什么有商业价值的事情,第一次看见只说技术不说产品的
webfamer
2018-05-12 16:58:52 +08:00
现在的 80%区块链都是骗人的,有邀请机制的都是垃圾币
-----来自长期被割韭菜的发言
xuhp
2018-05-14 13:27:43 +08:00
区块链到目前为止都没有真正的使用场景出现,代币更是一个个的炒概念。一个技术、理念都还不健全的东西,除了嘎韭菜还能干点别的么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/453696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX