带你走进区块链

 BFT   2019-03-02 05:42   236 人阅读  5 条评论

区块链俨然成为了2017-2018年最火爆的热门词汇,就连中国大妈们也热烈拥抱了。然而究竟是什么是区块链?区块链对于这个世界的价值是什么?和普通人的生活有什么关系?很多人只是觉得这是谈资、是投资的机会,可是能够大概说明白一二的人却是甚少。其实对于一些真正了解区块链的人来说,区块链是以后的方向,是他们的信仰。


如果你是一个小白,即使对于技术再不感兴趣,在投身于这个行业之前,请一定要对区块链有基础性的了解。


区块链(Blockchain)的概念最早可以追溯到2008年末,化名为中本聪的神级人士,发表了《比特币:一种点对点的电子现金系统》(被称为白皮书),首次提出了区块链的概念。


一、什么是区块链?


工信部于2016年10月发布了《2016中国区块链技术和应用发展白皮书》。在白皮书中这样解释:


广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。


一句话来说,区块链本质上是一个去中心化的分布式数据库。


首先,区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。


其次,任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。


(通常提到节点,指的是区块链网络中的计算机,包括手机、矿机、台式机和服务器等等。)


这里涉及到一个最核心的理念就是去中心化;


区块链是一种分布式数据存储结构,没有中心节点,所有节点都保存全部的相同的区块信息,完全实现去中心化。去中心化就是去掉第三方机构,让系统中人人平等,没有任何一个人有更高的权利,所有节点的权利和义务都相等,任意节点停止工作都不会影响系统整体的运作。


举个例子:


支付宝就是一个中心化的典型代表,买家与卖家之间都必须通过淘宝和支付宝的中心来进行交易,否则在买家与卖家之间存在巨大的信用风险。


而区块链下的去中心化——


在去中心化的网络下,每个用户之间都可以是直接联系并发生交易,不再有任何第三方的参与。这时候你可能会问,这不是又回到了淘宝的原始状态吗?之前有支付宝帮我记账对账,会统一存在支付宝后台系统中。现在我已经把钱支付给商家了,那么谁来记账并证明?


通过区块链技术,现在由每一个系统中的参与者帮你记账,大家都有同一个账本,账本中同步了淘宝里的所有账目。因为有了全系统的人帮你记录,并且所有的交易都是公开可查的,所以不再需要支付宝来记账了。


这个时候可能你又会担心,如果我的交易记录被别人修改了呢?在这个系统中数据是安全的吗?


这个时候又要提到区块链的另一个重要特性:数据的不可篡改性


区块链采用密码学的方法来保证已有数据不可能被篡改。


这个部分的两个核心要点是:


(1)密码学哈希函数;


(2)非对称加密;


哈希(Hash)函数


区块链由一个个区块(block)组成。区块很像公布账簿中的一页,每次写入数据,就是创建一个区块。


每个区块包含两个部分。


区块头(Head):记录当前区块的特征值


区块体(Body):实际数据


区块与哈希是一一对应的,每个区块的哈希都是针对"区块头"(Head)计算的。也就是说,把区块头的各项特征值,按照顺序连接在一起,组成一个很长 的字符串,再对这个字符串计算哈希。


这里,你需要理解什么叫 哈希(Hash),这是理解区块链必需的。


所谓 Hash 就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 Hash 长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的 Hash 一定是不同的。


得出两个重要的推论。


推论1:每个区块的哈希都是不一样的,可以通过哈希标识区块。


推论2:如果区块的内容变了,它的哈希一定会改变。


这一点对区块链有重大意义。


如果有人修改了一个区块,该区块的 Hash 就变了。为了让后面的区块还能连到它,该人必须同时修改后面所有的区块,否则被改掉的区块就脱离区块链了。由于后面要提到的原因,Hash 的计算很耗时,同时修改多个区块几乎不可能发生,除非有人掌握了全网51%以上节点的计算能力。


非对称加密:


对称加密就是有个密钥,可以理解成保险箱钥匙,你把消息加密变成密文,没有人能看懂这是啥,然后同一把钥匙解密成原来的消息。

非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你还是解不出来另一把钥匙是啥。原理基本上是基于一些困难数学问题。

非对称加密除了用于信息加密之外,还有另一个用途,就是身份验证。因为通常情况我们假设一对公私钥,公钥是公开的,而私钥只有本人有,于是一个人如果有对应的私钥,我们就可以认定他是本人。其中一个重要的应用就是数字签名;某个消息后面,发信人对这个消息做哈希运算,然后用私钥加密。接着收信人首先对消息进行哈希运算,接着用相应的公钥解密数字签名,再对比两个哈希值,如果相同,就代表这个消息是本人发出的而且没有被篡改过。


所以在区块链的加密算法下,看看能不能篡改数据?


举个简单的例子:


假如在区块链账本中,小张有50元钱,而这50元钱里有20元是来自小李的,30元是来自小王的,小李的20元有3元是来自小刘的,17元是来自小孟的。


如果小张想把这50元钱改为50万元,他要做的第一件事情是控制全网51%以上的节点,这个从概率上来推算基本是不可能的。假设小张的运气非常好,他真的控制了全网51%的节点,下面有另外一个更严峻的挑战:拿到用户的私钥。需要把小张之前的小李的,小王的,小刘的,小孟的;总之和这50元相关的所有的人的私钥都窃取到,然后把数据篡改掉,才能骗过所有人。


正是通过这种密码学的方式,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。


区块链其他特性:


集体维护


区块链的系统是由其中具有维护功能的所有节点共同维护的。节点是任何人都可以参与的,每一个节点在参与记录的同时也来验证其他节点记录结果的正确性。


可靠的数据库


系统中每一个节点都拥有最新的完整数据库拷贝,修改单个节点的数据库是无效的,因为系统会自动比较,认为最多次出现的相同数据记录为真。


匿名性


由于区块链各节点之间的数据交换遵循固定且预知的算法,可以基于地址而非个人身份进行数据交换;区块链技术带来的变化是,它用分布式计算的一致性算法和区块链的链式数据存储机制,让参与各方(也就是在数字世界中代表我们的计算机)基于算法形成了信任。从而创造一种全新的信任共识机制,不需要第三方参与。全面颠覆了过去的那一套中心化的信任机制。


通过区块链技术建立一种网络结构,所有人都可以参与成为无数节点之一,进行认证、确权、交易、追溯和调整等一系列动作。它公开透明、没有权威可以篡改、伪造、取缔记录。


区块链专家、以太坊顾问董事威廉穆贾雅在《商业区块链》认为,这给互联网增加了一个信用层(the trust layer),用他的话说:信用的去中心化使得无须中介的价值流动成为可能。

本文地址:http://jiangdeyong.cn/?id=32
温馨提示:文章内容系作者个人观点,不代表非凡之家对观点赞同或支持。
版权声明:本文为转载文章,来源于 BFT ,版权归原作者所有,欢迎分享本文,转载请保留出处!
NEXT:已经是最新一篇了

 发表评论


表情

 评论列表

  1. 黑幕曝光维权网
    黑幕曝光维权网  @回复

    感谢站长分享网站很好,希望本站越办越好。 www.qqw0.com

  2. 文娱帝国
    文娱帝国  @回复

    写的很好,支持下

  3. 免费ssr账号
    免费ssr账号  @回复

    太给力了赶紧收藏

  4. 妙文屋
    妙文屋  @回复

    如此好文章一定要留下名啊

  5. 访客
    访客  @回复

    文章不错,非常喜欢