区块链是比特币的底层技术,不等同于比特币。有人说比特币就是一场泡沫,甚至放话「比特币是传销」。区块链作为继互联网后的新一波技术浪潮,本身无罪,况且炒币只是区块链里最初级的玩法。读完这篇文章,我们就能弄懂大部分区块链基础知识,从而离保守和狭隘远一点。

区块链是一个去中心化的账本

我们首先需要弄清「去中心化」和「分散式账本」两个概念。去中心化相对「中心化」而言。借用之前写的《用PG Two买夹克和熊本熊借钱举例,图解分散式账本》的插图,我们来看看中心化和去中心化体系的区别。

网购夹克的整个流程依托于支付宝展开,因此,这个买卖过程是中心化的。无论是PG TWO还是卖家君,在这点上只能完全信任支付宝和它背后的马云。往大了说,中心化系统由资金雄厚和技术实力强大的机构、企业做信任背书。

中心化体系具备管理高效的优势,但它的不足也比较明显。仍以支付宝为例,全部交易记录和账本都存储在支付宝伺服器上,假设某天所有相关的伺服器不幸被坏蛋捣毁,那么PG TWO付的款(或卖家君还没有到手的夹克钱),还有其他买家、卖家的资金,甚至你我存在余额宝的钱,都会消失在这个互联网世界里,连灰都不剩。

该找谁说理去?就算我气汹汹地找到支付宝对质:「我还有5万在余额宝里面!」 可中心账本已经被彻底破坏,谁又能证明我的话为真呢?若得不到有效证明,最终我也只能忍著泪跟这沓钱say goodbye了。

这时,去中心化系统的优势就凸显出来了。

设想一下,如果全网路存在许多的记账节点,能够共同记录支付宝上每一笔交易、转账和提现等,也就是说支付宝所有账本在全世界有很多备份;就算伺服器被黑客攻击,相同的账本副本也都好好地保存在其他节点上。在区块链的世界里,不需要大企业做信用背书。

区块链是一个分散式账本

因此,我们也可以说:作为分散式账本,区块链是创造信任的工具。从字面上理解,「分散式」是指分布在不同的地方、各节点分开干活。我们先把问题简单化,用借钱举个例子,讲讲分散式账本的工作原理。

1 比卡丘借给熊本熊10块钱。

2 比卡丘和熊本熊分别在账本上记下:「比卡丘 → 熊本熊:10円」

3 比卡丘把这条交易信息广播给其他节点;

4 区块链上其他节点验证这条交易信息,确认无误后便记在各自账本上。

在第2步,如果借钱方熊本熊为了买零食,在自己的账本上虚报5円呢?想赖账不容易,因为接下来比卡丘会把 这条「比卡丘 → 熊本熊:10円」 的交易信息广播给全网节点,接著各节点再去验证。通过验证的信息一旦记在区块链上,就很难篡改了,除非——熊本熊有一台超过全网总算力51%的超级计算机(文末还会提及这个问题)。

那为什么是比卡丘广播,而不是熊本熊去广播?节点协助记账,是为了防止欠债人耍赖等损害信任的情况出现;一般来讲,谁把钱借出去,谁到最后可能遭受财产损失,谁广播。

到了约定的还款日,如果熊本熊食言说没有借钱,比卡丘就可以祭出区块链了,拿账本上的交易信息来对质。

密码学确保区块链资料库(几乎)无法篡改

弄懂了去中心化分散式账本,我们继续探究区块链技术中的两个密码学概念:哈希函数和非对称加密。颠覆性的区块链技术当然不止这些,但区块链入门要求我们需要先掌握这两个概念。

只有先了解哈希函数和非对称加密,后面我们纳入相关定义解释区块链的运作原理时,大家才不会一脸蒙圈。

1)哈希函数

哈希也可以写作hash,哈希函数属于密码学范畴,用来验证交易信息是否被人动过手脚。哈希函数具备以下特征(如果看不明白可跳过这段):

1 如果明文A对应的哈希值为H(A),那么,通过A可以算出H(A),而通过H(A)无法逆推出A;

2 如果明文A ≠ 明文B,那么,H(A) ≠ H(B);

3 如果对明文A做了可以忽略不计的篡改,那么,计算出的哈希值与原H(A)完全不一样。

上文中,明文好比我们登录知乎时输入的账号、密码,它们是可以看懂的一串字元。而哈希值是一个长度固定、由数字和字母组成的字元串。根据以上特征,下方的例子能帮助你理解:

借助Hash计算工具,我输入明文123456,得到相应的哈希值(按SHA256):

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92

目前,人类还没有办法逆推这个乱七八糟的字元串;也就是说,任何人都无法推算出这个哈希值对应明文123456。

接著我在明文框输入:1234567;虽然只增加了一个7,得到的哈希值却完全不一样了:8bb0cf6eb9b17d0f7d22b456f121257dc1254e1f01665370476383ea776df414

建议你亲自尝试,3秒钟就能明白以上内容:移步 哈希计算工具https://1024tools.com/hash :输入一串明文(连「我爱你」也可以加密哦),关注第三列SHA256的结果即可;再改动其中一个字元,对比两次出现的哈希值结果。

2)非对称加密

这是相对于对称加密来说的。对称加密指你有一把密钥,通过密钥可以加密一段信息;想要破解这个信息,只有拿到你手中这把密钥。从始至终加密、解密用的是同一把密钥,因此称「对称加密」。

而在区块链世界里,每个人都拥有两把独一无二的密钥:公钥和私钥。

公钥:可以简单理解为银行卡号,这是可以给别人看的;

私钥:相当于银行卡密码,必须拚死保密,只能自己知道。

再记2条规则:

1 私钥能生成公钥和地址(有了地址,对方才能给你打钱);

2 私钥加密,公钥解密(加密、解密不是同一把密钥,因此称「非对称加密」);

3)无法篡改的交易数据

仍然以「比卡丘借给熊本熊10块钱」为例,我们来看看比卡丘具体是怎样向熊本熊的地址打钱的。

1 比卡丘对明文 「比卡丘 → 熊本熊:10円」 进行哈希加密,得到一个64位的字元串;

2 比卡丘用自己的私钥对这个字元串再次加密,获得另一个字元串,这叫做「数字签名」;

3 比卡丘把以下交易信息打包发给熊本熊,并广播给全网记账节点:此次交易明文、比卡丘的公钥和数字签名;

4 熊本熊和其他节点收到这条打包消息;

5 熊本熊和其他节点对明文进行哈希计算,得到哈希值字元串H(A);

6 熊本熊和其他节点用比卡丘的公钥解密数字签名,得到字元串H(B);

7 熊本熊和其他节点验证 H(A)= H(B),交易信息为真;

8 交易完成。

比卡丘的公钥能够解开私钥加密过的数字签名,证明了这个公钥和私钥是一对,而且都属于比卡丘,这条交易信息是比卡丘创建的:也就是说,熊本熊欠的是比卡丘的钱,而不是可达鸭还是其他谁的钱;而字元串 H(A)= H(B),则说明在区块链网路中传递时,交易信息未被篡改。

进行下一节前,我们总结一下,在公开、复杂的区块链网路中,哈希函数和非对称加密:

1 确保了交易记录没有被篡改

2 确保了交易记录由正确的人发起

区块链上的区块

区块链是由挖矿产生的区块按照时间顺序连接起来的,本身是一个可以不断增长的账本资料库。具体挖矿是什么,可以参考之前写的《比特币挖矿是什么?矿工是怎样挖到比特币的?》,工作原理上可通用,都是通过计算能力挖出区块。

由于系统的初始设定,不同区块链产生区块的速度不一样。比如比特币区块链大概每10分钟挖出一个区块,而以太坊区块链的出块时间约14秒。

每个区块包含这段时间内产生的所有交易记录,如一个新挖出的比特币区块就包含了前10分钟内的交易信息。除此之外,还包含时间戳和前一个区块的哈希值,等等(关于区块的组成,我们在后续文章再详细了解,这里先把握基础知识)。

这是很聪明的设计:每诞生一个新的区块,就会被盖上相应的时间戳,新产生的区块按照区块挖出的时间顺序连接到链条上去。这样,区块链无限延长,账本资料库也能无限扩大、容纳无穷尽的交易信息。

更令人拍案叫绝的是,新区块里的每一笔交易数据,都由相应的交易发起方进行数字签名,链上所有人都可以用交易发起方的公钥(上文说过,公钥是公开的)验证该数字签名的真实性。

此外,之前挖出的区块里的交易数据将永久记录在区块链上,几乎无法篡改。一个区块内含众多交易信息,然而根据哈希函数的特征,就算你只对其中一条交易数据移动一个小数点,生成的哈希值都会完全不一样,整个区块及其包含的所有交易信息都会变成无效数据。

另一方面,篡改数据难于上青天,成本极高。有意者必须足够财大气粗,并且拥有至少全网51%的算力。而要达到这样的计算能力,知乎李占亮同学表示:矿机成本+电费+其他,成本约5.5亿RMB。

综上, 在这样一个充满不信任感、危机四伏的网路环境里,区块链或许是当前解决信任问题的最佳方案(之一)。

总结

最后,我们来总结区块链的核心理念

1 账本分布存储于全网的节点上,某个节点账本的破坏,不会影响任何其他节点正常运作;

2 各节点均可参与记账、共同维护区块链资料库;

3 各节点相互监督,构建trustless(免信任的)系统。

至此,我们已经讲了区块链70%的基础知识。内容有点超载,建议大家先消化。

区块链网路上的陌生人出于什么承认区块的有效性?他们为什么愿意苦哈哈地帮助记账?剩下30%(包括共识机制和奖励机制等)将放在下节具体讲解。

如果读完本文有收获,欢迎分享到朋友圈;科普区块链,有你的功劳哦!


本文系区块链观察网www.blockob.com原创稿件,版权属本站所有。欢迎转载本站内容,但转载时须注明:原文链接、作者及来源。


刚好昨天学习了一下,我就为你讲解一下吧。

区块链既然被称作链,那可想而知它是由一个一个区块串起来的,既区块链的基本构成单元是区块,那什么是区块呢?每个区块都有自己的标记、也就是有自己ID。这个ID可不是随便定的,而是整个区块的hash值(经过一种函数定下的值),也就是将这个区块的所有信息hash之后所得的那个数字,这个hash值是唯一的,并且与此区块绑定。

而一个区块所包含的信息有三层: 第一层:上个区块的hash值,第二层:自身区块上的交易记录,第三层:一个随机数 这三层的信息最后再生成一个hash值,用于写入下一个区块第一层

看到这里你就明白区块链是怎么形成了的吧!上一个区块的hash值作为下一个区块的第一层信息,如此循环你可以想像区块是如何成链了吧!

区块链的含义就像账本,因为它把每十分钟的交易都打包成一个区块加到区块链中,既记录了这十分钟的账,而且这是不可篡改不可伪造的,因为如果这样做了那么系统就会发生很大的混乱,所以它本身具有的演算法(这里不细讲了)会尽量阻止这样的事发生。

不知道我这样讲对你有没有帮助。


这个问题我用俗话,给您讲一下。

我们在淘宝购买东西,我们如果和卖家产生的争议,那你想到的首先解决的方案,就是打淘宝热线,那这就是我们说的中心化,遵循淘宝规则。

再比如我们在银行存钱,那是不是我们要遵循银行的一些规则呢?并且也存在的,这种可能性就是银行把我存钱的数目记错了,因为银行自己的数据在储存时,难免会有错误。

那么区块链是一个什么思想呢?就是说,这个链就是一幢楼,我们家都在这个楼市里。我们要维护这幢楼的卫生,还有楼的资金收入。这幢楼里我们没有富人,也没有穷人。从楼上到楼下,不管遇到什么问题啊,我们都统一解决,统一协商。只有当我们意见达成一致才可进行下一项。充分发扬了民主。这就是区块链。


实际上就是分散式存储。与传统的分散式存储的区别就是,多了个加密(加入了密码学的思路)而已。

另外那些代币(比特币、莱特币等)的出现就是鼓励大家贡献出电脑来存储数据。

每个人的电脑都运行一个程序,这个程序就是负责接收、存储数据、验证数据,这就是挖矿了


区块链是比特币使用的底层技术,叫1.0,就是一个分散式记账本,在以后的区块链2.0和3.0时能解决社会上各个行业之间的信任合约问题,能完美的去除中间机构,比如银行,律师,中介,支付宝等中间机构将逐渐消逝,完全去中心化,即可以真正的点对点,用户对用户,还不能耍赖。

目前港口大数据观察在思考如何应用区块链,大数据并思考落地,有兴趣的读者可以关注头条号


最近很多这种广告媒体在推广区块链~ 大家懂为什么么!? 是不是以为众人拾柴火焰高?? 呵呵~ 钓鱼的都知道 要让鱼上钩 得特么的先做窝!!! 祝那些不好好对待生活 只想著骗人的 跟像跟风捞钱的 亏的倾家荡产 !!


推荐阅读:
相关文章