美文网首页区块链@IT·互联网@产品
区块链 - 区什么,块什么,链什么

区块链 - 区什么,块什么,链什么

作者: 灯下鼠 | 来源:发表于2018-02-23 22:39 被阅读1724次

    两年前,金融博物馆搞过一个活动,在网上征集大众的意见,要为 “区块链” 重新起个中文名字。那活动搞的很热闹,也有结果,金融博物馆最终选择的名字是 “公信链”。

    当然,“区块链” 还是叫 “区块链”,没人会去改口。习惯的力量总是巨大的,叫顺口了,人们懒得去换名字。再说,名实不符的事,在这世间那可太多了,也不多这一个区块链。

    “区块链” 这个名字,用来称呼由 “比特币” 带来的一系列以 “去中心化” 为目标的技术,委实不贴切。可为什么大家就称之 “区块链” 呢?

    “区块链” 的概念,是中本聪少有的原创思想之一。 在他的论文中,是这么说的:

     The solution we propose begins with a timestamp server. A timestamp server works by taking a hash of a block of items to be timestamped and widely publishing the hash, such as in a newspaper or Usenet post [2-5]. The timestamp proves that the data must have existed at the time, obviously, in order to get into the hash. Each timestamp includes the previous timestamp in its hash, forming a chain, with each additional timestamp reinforcing the ones before it.

    中本聪的意思,是将多个 “交易” 放到一个数据 “块” 中存储,然后用时间戳服务器生成 “块” 的哈希值,每个 “块” 中包含前一个 “块” 的哈希,这样就前后勾连起来了,形成 “区块链”。但实际上,中本聪的论文中,并没有 “Blockchain” 一词。

    从中本聪论文来看,比特币用的技术集合,也可以称之为 “P2P 账本”,还可以称之为 “分布式共识网络”,这些称呼与 “区块链” 一样,都描述了这个技术集合的一个特征。只是 “区块链” 更加形象,有画面感,易于记忆和传播。

    让我们先来仔细审视 “Block - 区块”。 “区块” 存在的意义是什么?它是 “去中心化” 系统的本质吗?

    从两个极端情况来讨论。第一个极端情况是直接用一个交易来挂前一个交易,交易即区块,可以吗?第二个极端是一千万个交易,打包一个区块,可以吗?

    中本聪的 POW,工作量证明机制,是比特币系统解决 “双花难题” 的核心思路。 而 POW 可以视为打包区块的服务器之间的竞赛。只要是竞赛,就一定要有节奏。用一个交易来做区块,或者一千万个交易做区块,是不可行的。这个道理,和人们的赛跑,不能用一厘米,也不能用一光年当做赛程,是一样的。

    所以,区块的存在,是中本聪要为 POW 竞赛维持一个节奏。它并非 “去中心化” 的本质所在。

    现在的 DAG (有向无环图) 技术,就舍弃了区块,DAG 中,没有 POW,它不需要竞赛。

    那么 “链” 呢?“链” 的意义是什么? 看下论文中的句子:

    each additional timestamp reinforcing the ones before it

    中本聪要通过新的区块,勾连上一区块,从而加固上一区块数据的安全性。而仅仅 “勾连成链” ,这个链并不能让交易数据安全,加固靠的还是 POW,靠的是工作量证明。推翻每个区块,都要运算本块的工作量,还要运算之后区块的工作量。所以,勾连成链让推翻前面的老区块,更加困难了。

    DAG 虽然不用区块,本身也不是比特币的单向 “链” 形式,而是 “有向无环图”,但前后勾连,以保护前面发生时间早的交易,这个思路与 “链” 是一致的。只是 DAG 上有多条链,构成了 “图” 而已。

    但是 “闪电网络”,所谓天下武功最快的闪电网络,却不用 “链”。 而是就在 P2P 两个节点,或者多个节点之间,通过加密签名交易数据,就构造出可靠交易了。思路之精妙,更令人惊叹。当然,闪电网络还是要依靠比特币的链来做交易的最终确认,但闪电网络的精髓 “序列到期可撤销合约” RSMC(Revocable Sequence Maturity Contract),与“哈希时间锁定合约” HTLC(Hashed Timelock Contract)是不是可以脱离链条而独立运行? 不知道,拭目以待。

    但我觉得某些银行类的中心化系统,完全可以采用 RSMC 和 HTLC 的思路,来做小额支付,以降低中心服务器的压力。一个感觉是,用闪电网络的思路,TPS 完全是无上限的。跑题了,出于审美上对中心化组织的厌恶,咱们不提中心化系统。

    说到底,中本聪在比特币中解决的最核心问题,乃是在去中心化环境中,攻克了双花问题。双花问题是之前的尼克萨博、乔姆等大牛的冤家,他们在虚拟货币设计上,对此问题一直束手无策。

    解决的思路是用 “工作量证明”算法 + “区块链”数据结构,来保证已发生的交易数据是绝对无法篡改的。

    而其中的规则是,如果存在双花,那么就承认先入账(区块)的那笔交易。这就是以太坊白皮书中所说,比特币是一个 “first-to-file” 系统。

    至于交易的合法性、匿名以及安全等特性,则依赖非对称加密算法。

    当我们观察一个复杂系统时,很容易陷入繁杂的技术和概念细节中,令我们难以洞察系统的根本目标是什么。用一句油腻的话来描述就是 - 我们忘记了初心。 那么中本聪,他老人家机关算尽,他的初心是什么?

    他的论文标题已经告诉我们了:

    Bitcoin: A Peer-to-Peer Electronic Cash System

    比特币是 P2P 的电子现金系统。而 P2P,就是去中心化的一个必要条件。从下图可以看到,比特币的种种技术,都是服务于 “去中心化” 的。 

    诸如双花等种种麻烦,在中心化系统下,则完全不存在。

    在论文中,中本聪是这么说的: 

    While the system works well enough for most transactions

    在中心化系统中,一切都工作的很好!

    以太坊白皮书中的标题,也再次强调了 “去中心化” 这个目标:

    A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM

    以太坊 (Ethereum ):下一代智能合约和去中心化应用平台。

    那么,我们自然要问,“去中心化” 是为的什么? 为何我们舍弃 “中心化” 的便利,而追求 “去中心化”,惹来如此多的麻烦?

    有人说,是为了实现网络上的 “信任”。我也经常这么说,区块链是为了 “共识”,是为了实现 “信任”。其实,这么说都是蒙人的,是为了让人能听懂而已。

    区块链技术,并不是为的信任,相反,是为的 “去信任”。还是让我们回到经典文本,比特币论文中去寻找答案。

     While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model.

     What is needed is an electronic payment system based on cryptographic proof instead of trust,allowing any two willing parties to transact directly with each other without the need for a trusted third party.

    中本聪的 “去中心化” 是为的实现 “无需信任” 的交易系统。大家要知道,“信任” 从来都是 “欺骗” 的前奏。人类因为 “信任”,千百年来,血肉横飞,堆骨如山。夫妻也好,朋友也好,一旦说出 “我那么信任你”,那就是撕逼开始的战斗檄文啊。

    我们的生活不要依赖 “信任” 了,好不好? “去中心化” 的系统,也不是为了针对 “北传销” 和 “南诈骗” 开展的打黑运动。现在我中国,都出现 “去中心化” 跑路了,妈的,这个梗真是让我笑了一天那。

    那么 “去中心化” 到底为了什么目的? 

    这个目的是 - 解决 “权力” 分配的问题。 

    在中心化的情况下,“权力” 全然属于某个中心组织。 而 “去中心化” 的目标,是削弱中心化的 “权力”,实现 “权力” 的制衡,将 “权力” 在众多参与者之间按照公平、公正的理想进行分配。

    而前面所说, P2P 部署,是比特币 “去中心化” 的一个方面。 其实,中本聪在论文中,叫 P2P Cash 还是有些低调了,他就该直接叫 “去中心化现金”。 到了以太坊,V 神人家就不再用 P2P,而是叫 “Decentralized Application Platform”。 P2P 只是 “去中心化” 系统运行时的特征,而 “去中心化” 的理念,要贯穿在系统的代码开发、维护和运行,系统的数据存储、交易以及计算等多方面,包括技术层面,商业应用模式层面,以及系统开发的组织层面。

    让我们看一看,在比特币系统中,有那些权力分配:

    - 任何计算机都可参与,都有成为节点的权力 (公开链条)

    - 每个节点都有保护用户隐私的权力 (公私钥)

    - 每个节点都有访问全部数据的权力 (全账本下载)

    - 每个节点都有互相获取数据的权力 (P2P 部署)

    - 每个节点都有验证交易的权力 (交易验证)

    - 每个节点都有打包记账的权力 (矿机挖矿)

    - 每个节点都有货币发行权 (货币发行及矿机挖矿)

    - 每个节点都有选择分叉的权力 (比特币客户端的选择权)

    在比特币生态中:

    - 每位参与者都有阅读开源代码的权力 (比特币客户端代码开源)

    - 每位开发者都有参与写代码的权力 (参与开源社区的开发)

    - 每位黑客都有攻击系统的权力 (最珍贵的权力)

    在我们现实社会中,“权力” 似乎是为人诟病的,人们厌恶 “权力”,但普遍热爱法律,渴望生活在法制的社会,要用法来统治,而不是 “权力” 来统治。

    这种热爱法律,且以法为万能的观点,乃是无知的幼稚病啊。所有的法律,最终都要落实到 “权力” 的魔爪上来执行。没有 “权力制衡与分配” 机制来护航,法制只会是空谈。因为,法的各个环节,都需要 “权力” 来执行。

    美国的建国之初,国父们最关注的,并非是法律,也并非是民主,他们投入最大热情的,是如何对 “权力” 进行制衡,如何分配 “权力”。看下美国宪法就知道,里面绞尽脑汁的,都是如何分配权力,防止权力形成独断。

    如果中本聪写出了比特币系统,告诉大家比特币完全遵守公平、公正的法则。可是呢,代码是他自己写的 - 法律由他制定;数据记账打包是他的服务器 - 法律由他执行;数据存储也只存在他的服务器上 - 法由他来解释。

    那还是 “去中心化” 系统么?当然不是。

    “去中心化”,就是要将这些权力分配出来,而不是把持在某个中心组织手上。

    所以,现在谈区块链技术,重要的是必须数据公开,源代码开源。可以说,不公开源代码的区块链,都是在耍流氓。

    只有在各个环节,都做到 “去中心化”,才能实现 “权力制衡” 与 “权力分配”。

    那么我们再问,“权力分配” 的目的是什么? 我们为什么要做 “权力分配” ? 是为了效率?是为了安全?是为了富强繁荣昌盛?

    中本聪设计一个 “去中心化” 的比特币系统,是为了全球的 GDP 增长吗? 显然不是。

    中本聪的目的,是为保护 “个体自由”。密码学在诞生之初,是服务于军事目的。但薪火相传,到了密码朋克小组那里,就已成为保护 “个体自由” 的武器了。

    从奥地利经济学派的观点看,自由市场带来经济繁荣,越少政府干涉越好。 我宁愿相信,自由带来繁荣是一个巧合,自由还需要目的吗?自由本身就是目的。

    比特币,是一个传奇。它最大的意义在于,它是这个地球上,罕见的,无需暴力保护,也未被暴力消灭的自治系统。它就是自由,如微弱的火苗摇曳在暴力的狂风骤雨中。人类终于证明了,不动用任何暴力,人们也能实现自我治理。

    区块链,是带着使命诞生的,要去挑战 “去中心化”,要去进行 “权力分配”,那么为什么有些 “中心化的组织” 竟然欢迎区块链呢?

    很多人问我这个问题。

    答案很简单,因为你的肉身无法上链,你翻不了天的。

    相关文章

      网友评论

        本文标题:区块链 - 区什么,块什么,链什么

        本文链接:https://www.haomeiwen.com/subject/amvotftx.html