弄懂本文前,你所知道的区块链可能都是错的!(一文读懂区块链)

免责声明:本文不构成任何投资建议。

小编:记得关注哦!

译者:李晓泉

区区区块链,我也能弄错?

昨天,比特币跌破 S9 矿机的开机价,比特币全网算力陡然蒸发掉三分之一,营长着实为比特币网络的稳定性捏了一把汗。而且有传言说,比特币价格此次崩盘,只是大 BOSS 吴忌寒为加速淘汰老旧矿机而祭出的绝招。

无论这个阴谋论真假与否,在整个区块链行业的凛冽寒冬中,价格的涨跌已经左右了太多的人头脑之中的理智。可是,众人之中,究竟有几个人真正理解了区块链技术的密码学机制与分布式计算?究竟有几个人还会关心区块链在技术上的创新?

尘归尘,土归土。可能只有巨大的泡沫消散之后,区块链才能通过技术创新显示出真正的影响力。让区块链回归技术与应用的本质,这也是区块链大本营一直以来的定位。然而,传播这样的内容和话题,离不开货真价实的技术干货,以及有感染力的人物和故事。

我们今天的内容就来自于这样一个女生:

她是工业与系统工程专业出身,做过顶级投行高盛的分析师,做过著名风投 a16z 的合伙人——这都是许多人梦寐以求的工作。但是,功成名就的路上,她却发现编程才是自己想要的生活。

笨办法学会编程?她没学会。如何用 HTML/CSS 做一个网页?她开始上瘾了。所以,没有选择斯坦福、MIT 的编程学位,她更喜欢 Hack Reactor 的全栈动手实践。先学 JavaScript、React,后面的想法是机器学习、计算机视觉……这个女生就是 Preethi Kasireddy。

接触区块链之后,金融从业背景和全栈编程能力让 Preethi 更加如鱼得水。从 Coinbase 工程师到智能合约设计的自由职业者,究根问底的天性让她开始用最浅显易懂的语言来向大家解释区块链技术的真相,篇篇爆款:

比如这篇,《最全!写给技术小白的以太坊完整工作原理和运行机制!》,原文 “How does Ethereum work, anyway?” 在 Medium 获赞 45000+,区块链大本营已全文译出。

@preethikasireddy/fundamental-challenges-with-public-blockchains-253c800e9428

比如这篇,《区块链尚无法扩展,至少现在不成,但希望犹在》,原文 “Blockchains don’t scale. Not today, at least. But there’s hope.” 在 Medium 获赞 13600+,由技术专栏 “Hacker Noon” 特别约稿。

https://medium.com/@preethikasireddy/why-im-leaving-silicon-valley-72919edb3297

但是,不了解分布式系统的工作原理,不了解人们如何能在分散的网络上达成共识,你始终无法真正理解区块链技术的创新之处。众所周知,密码学和分布式计算都不是什么新鲜事物;那为什么把它们整合在一起的区块链技术,却能够迫使科学家和工程师不得不去重新审视分布式计算的基本范式呢?

接下来,我们就听 Preethi 从分布式系统的基本概念说起,一步一步说到公式算法,特别是中本聪共识的真正精妙之处,进而抓住区块链技术不会随泡沫而飘散的真实内涵:

分布式系统其实不是一个新鲜的话题,有关这个课题的研究已经进行过几十年了。

随着比特币、区块链等话题在网络上风生水起,分布式系统也逐渐走进大众的视野。区块链始于比特币,它本身就是一种新型的分布式系统,它们的流行反过来又促使分布式计算领域的研究发生翻天覆地的变化。

想真正弄懂区块链,充分理解分布式系统是必不可少的。

那么,你又该如何去了解分布式系统呢?

这个话题很难三言两语说清楚,因为它所涉及的知识实在是太广泛、太琐碎了。关于分布式计算的资料文献要么晦涩难懂,要么不成体系。况且,随着应用场景不断拓展,分布式系统又衍生出数百种不同架构,分别服务于数百种不同的需求,这一切让整个问题愈显复杂。

而如何把复杂的问题简单化,把生僻的话题讲明白,也就难上加难了。所以,在区块链概念满天飞的今天,如何 Get 到分布式系统和共识机制的基本概念而不被忽悠,就显得愈加迫切了。

本文正是出于这样的目的来介绍入门区块链的这一基础:

一、什么是分布式系统?二、分布式系统的基本性质三、分布式系统中的共识问题四、一些基本的共识算法(Paxos、Raft、DLS 和 PBFT)五、中本聪共识为什么这么牛?

请记住,如果读读这篇文章,你就想成为行业大拿,这肯是不现实的。

一、什么是分布式系统?

分布式系统是一组不同、分散的的进程,它们之间能够互相协调,通过相互间的信息传递完成一个共同的目标。尽管这些进程是分开的,但呈现给用户的,是一个系统、一个整体。

分布式系统是围绕同一个目标而协同工作的一群计算设备。

进程可以是“节点”、“个体”、“计算机”或“组件”,在本文中,它们的意思都是一样的。与之类似,“网络”与“系统”表达的也是同一个意思。

前文中说过,分布式系统有数百种体系结构。

例如,一台计算机可以看作成一个分布式系统——CPU、内存 和 IO 设备都是独立的进程,它们相互协作完成同一个目标,比如上网、编程、游戏。

再比如,下图中飞机也可以看做是一个分布式系统,各单元共同协作,实现飞机的空间转移。

s/story/lets-take-a-crack-at-understanding-distributed-consensus-dad23d0dc95https://techglider.github.io/review/time-clocks-and-ordering-of-events-in-a-distributed-system/http://www.cs.utexas.edu/~dahlin/projects/bft/#BARhttps://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdfhttp://pages.cs.wisc.edu/~sschang/OS-Qual/reliability/byzantine.htmhttps://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdfhttps://groups.csail.mit.edu/tds/papers/Lynch/jacm88.pdfhttp://pmg.csail.mit.edu/papers/osdi99.pdfhttps://bitcoin.org/bitcoin.pdf

本文来源: 区块链大本营

原文标题:这个女生说:弄懂本文前,你所知道的区块链可能都是错的