评论区块链,你得先读懂白皮书(一)

引言

专栏第一篇文章,不想写的太重。 一来不想让你们觉得我是个无趣的人,二来不想给自己开头起的太高,然后就坚持不下去了(经常发生)。之所以开这么个专栏,是因为我发现很多人都对区块链颇有微词或者赞赏有加,然而他们的论据却都是错误的。这些人包括鹅场的小编,包括美国TED的某一期区块链演讲,这些例子在之后的文章里都会写到。今天我只想和大家一起过一下<Bitcoin: A Peer-to-Peer Electronic Cash System>,比特币白皮书的Abstract(概要),不过在这之前,我想先探讨一个问题,那就是为什么我们要先读懂白皮书。

  • 为什么白皮书?

现在有很多媒体都会对区块链技术发表自己的观点。有些会发表类似于区块链技术无法落地,一文不值的观点。尽管这类文章推导逻辑和论据引用都有很多漏洞,但是会有其一部分追随者。这些支持者大部分是因为数字加密货币暴涨没有上船的人,他们不愿意去了解区块链技术的核心知识,一心只希望比特币价格早日归零以求心理平衡。所以在唱衰区块链的文章下面,你会看到有很多留言是这样的。

《评论区块链,你得先读懂白皮书(一)》
《评论区块链,你得先读懂白皮书(一)》

当然也会有另一个极端的人,他们早早地坐上了炒币的诺亚方舟,资产翻了100,1000倍仍然坚定持币,他们是区块链的信仰者。你会在《大佬预测比特币将在2018年达到10万美元》这类文章下面看到他们积极正面的回复。

贴一个今天早晨,朋友给我的截图(真实性未考证),大家一起感受一下。

《评论区块链,你得先读懂白皮书(一)》
《评论区块链,你得先读懂白皮书(一)》

“去中心化”翻译自英文单词”Decentralized”, “点对点”翻译自英文”Peer to Peer”。所以Mr.OK说这是一个重大翻译误导,我只能说,It’s not really OK.

再扯一个比较远的话题,我平时喜欢看英超,是一个曼联球迷。2014-2015赛季,一位名叫杰西·林加德的球员进入了球迷的视线。当时因为表现并不是很出彩,媒体/专家/评论员/解说对其的评价是“努力但天赋贫贫”,一夜之间,你看到所有的球迷对其的评价都是“哎,可惜天赋一般”。我当时很好奇,所以就发帖问了,你们没见过他青训的样子,就凭一场比赛看出来天赋吗?当时没有人能回答我为什么。2017-2018赛季,杰西林加德屡次关键时刻救主。于是各种评论出现了。有人说他”涨球“了,有人称他为”梅西林加德“,但我没有看到一个人站出来承认:”当初对他的判断是错误的,这是一位极具天赋的球员。“

聊了这么多英超,无非是我比较感兴趣,但这和我想表达的观点是一致的。在评论一件事,一个人的时候,我们不应该一味地选择我们愿意相信的东西去相信,而是应该去了解它的本质,结合自身所学,公平公正地做出自己的判断,这一点我认为尤为关键。

比特币白皮书 —- 区块链信仰者的圣经

比特币白皮书是一个名叫中本聪的人在2008年11月1日发布的。至于中本聪是谁,我唯一能告诉你的是,百度百科告诉你的那个魔性老头就是中本聪,是不对的。既然未识庐山真面目,我为了让这个专栏能够蹭一些未来、科技、穿越主题的热度,我决定相信中本聪是一个来自于未来的智者,找不着也是因为他回到了未来。

《评论区块链,你得先读懂白皮书(一)》
《评论区块链,你得先读懂白皮书(一)》

一言不合就扯远,回归正题,Abstract!

Abstract. A purely peer-to-peer version of electronic cash would allow online

payments to be sent directly from one party to another without going through a

financial institution. Digital signatures provide part of the solution, but the main

benefits are lost if a trusted third party is still required to prevent double-spending.

  • 一种纯粹的,点对点的电子现金可以让网络支付,避开第三方金融机构,直接从一点(付钱的)支付给另一个点(收钱的)。数字签名可以提供一部分解决方案,但是如果我们在支付时仍然需要一个第三方(如银行、支付宝)去避免双重支付的话,整个系统会失去意义。

这里简单解释一下双重支付。举一个相对好理解的例子吧。

今天中午,你在宿舍里吃鸡,中午肚子饿了,你的支付宝余额只剩20元了,你随手打开饿了么点了份18元的外卖,继续去跳伞了。这时候你的校花女朋友小红来找你了。说起小红,她是你们学校男生人人都觊觎的女神级人物,你至今都不知道自己是踩到了哪条拉布拉多的狗屎,才有幸追到了小红。小红,清澈的眼神,白皙的皮肤犹如出水芙蓉,最重要的是她那一对傲然挺立的……我要克制,第一篇文章不希望不能发表。她见到你只为自己点了个外卖那是一个气,劈头盖脸就想骂过来,这时机智的你赶紧打开美团又点了份30元的外卖,然后回过身老着脸皮说:”亲爱的小红,刚刚我不饿,所以我先替你点了一……。”话还没说完,支付宝不干了:“你的余额不足,无法下单。”这里的支付宝就起了一个第三方监管的作用,它可以防止你用同一份钱,分别在饿了么和美团点两份外卖(double spending)。但如果要摆脱马云爸爸的“魔掌”,中本聪是怎么设计,来实现他的点对点支付系统的呢?换句话说,为什么第一个收钱的饿了么,相信你不会把这笔18元的外卖钱再去给女朋友买另一份外卖呢?我们继续往下读。

The network timestamps transactions by hashing them into an ongoing chain of

hash-based proof-of-work, forming a record that cannot be changed without redoing the proof-of-work. The longest chain not only serves as proof of the sequence of events witnessed, but proof that it came from the largest pool of CPU power. As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they’ll generate the longest chain and outpace attackers. The network itself requires minimal structure. Messages are broadcast on a best effort basis, and nodes can leave and rejoin the network at will, accepting the longest proof-of-work chain as proof of what happened while they were gone.

  • 整个网络(一个矿工就是一个节点,所有的节点形成整个网络)给每一笔交易打上了一个时间戳(敲了个印有现在时间的章),通过哈希算法,把这笔交易转换成一个哈希值(哈希这里不懂没关系,之后会专门写一篇介绍哈希的文章,这里你只要知道任何东西都可以通过哈希变成一串唯一的字符串就可以)。这个哈希值会被放在一个基于工作量证明的链子上,形成一个记录。如果你想改变这个记录,你就必须重新把工作量证明做一遍。最长的链子不仅仅可以为一连串被目睹的事情提供证据,还能证明这些事情是来自于最大的CPU算力。只要大部分CPU算力是掌控在诚实的节点(不合作攻击网络),这些节点就会形成出一条最长的链子并且甩开攻击者。整个网络只需要一个极小的组成结构,以方便信息尽最大努力广播给网络上的计算机节点,同时计算机节点只需要保存它们离开时最长的链作为历史证据。节点可以随时加入和离开网络。

乍一看有点难理解,莫慌,我们先来理解一下什么是工作量证明(POW)。同样的,之后我会写一篇文章,具体解释工作量证明是什么东西,这里为了方便理解,我们先用一个简单的例子代替现有的概念。中本聪为了让CPU算力可以来证明工作量,他设计了一个游戏。他让全网的节点(矿工/记账者)开始玩小程序跳一跳,谁先跳到1000分的,谁就获得了一个区块的记账权,就能获得该区块的比特币奖励(工资)。所以当你支付给了饿了么18元时,全网的矿工为了能拿到工资,一起开始玩跳一跳。这时矿工小A经过10分钟的努力,终于第一个跳到了1000分。这时小A就把你这笔交易敲上了一个2018年3月12日 13:10分的时间戳。

为什么要设计工作量证明呢?

  1. 为了控制比特币生成的速度。中本聪的设计是比特币最多被细分到小数点后8位,之后将再也无法被细分。且第一个区块会有50个比特币奖励,每过21万个区块,比特币的产量减半。中本聪通过调节工作量证明的难度,使每一个新区块生成大概需要10分钟。所以比特币每四年产出速度减半一次,直到2140年,每一个区块的比特币将不能再被细分,这时比特币就开采完毕了,总量约为2100万个。(等比数列求和,有兴趣的同学可以验算一下)
  2. 如果不设计工作量证明,将无法抵御黑客的攻击。还是那个例子,你在饿了么上支付了18元你的外卖费用。你作为黑客,如果想要修改这一笔交易,就必须重新玩一次这个区块上的新的跳一跳到1000分,且这笔交易所在的区块,之后的所有区块,你都必须完成游戏并修改直到你的链子是全网络最长的一条时,你才修改成功了。(后面会具体写工作量证明的,这里有个大概的理解就行)当然,中本聪实际设计的“游戏”要比跳一跳难的多,他会消耗全网巨大的CPU算力,只要黑客手上的算力无法达到全网算力的51%,要改变任意一笔交易将会变得很难,且难度系数会随着时间成指数增长。说多了,有点剧透的罪恶感。

好了,第一篇文章就写到这里,希望第一次接触区块链的小朋友也能通过此文对区块链有一个初步的了解。下一篇文章我会跟着白皮书的节奏,具体写下Transaction(交易)。欢迎留言讨论、指正、意见等。不多说了,我去找小红了。

《评论区块链,你得先读懂白皮书(一)》
《评论区块链,你得先读懂白皮书(一)》

    原文作者:区块链九尾
    原文地址: https://zhuanlan.zhihu.com/p/34450027
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞