这是一篇针对小白的区块链科普文,不论你是学的专业是什么,希望这些生活中通俗的比喻都能帮助你认识区块链。

区块链是什么?区块链是一条信息经过多方确认后,最终存储在存储于多个地方,是一种可以解决交易时信用问题的工具。 这么说很多人可能还是不懂,下面来慢慢解释。

一.区块链是怎么诞生的?

我们把人类社会比作一个小村庄。以前,村里的老村长手里有一本帐本,当村里人之间买卖交易的时候都要去找老村长给他们记账。可是老村长年纪大了眼花,有时候会把帐给记错或者漏掉。老村长还有个不成器的儿子,有时候还会偷偷和外人勾结篡改账本做假账。大家也都知道这件事,可是除了村长他们也找不出其他能够让全村人都信服的人来记账了。

村委会想了个办法:规定每个村民都有一个账本。当两个村民交易时,这一笔交易先记录在交易双方的账本上。每天晚上村民带着自己的账本去广播站,把自己这一天记录的交易广播给所有人,所有人都在自己的账本上记录上这样的信息。这样所有人的账本都广播之后,每个人手中的账本都记录着相同的信息。

村民们一合计:下一次村长再眼花记错了信息,要想知道这笔交易是不是真的发生时,只要借周围人的账本看一看就知道了,不用再只看村长的账本了,总不至于全村人都眼花记错了吧。要是村长的账本记错了,就提醒他改回来,这样所有人账本上的信息就都是一样的了。下一次村长儿子再做假账,只要有人发现他的账本信息和大部分人的不一样,就知道他偷改了,这时候再找几个靠谱的人看看他们的账本,就知道真正的账本信息是怎样的了。

结果村民不论是有意还是无意修改了自己的账本信息,其他人的账本都不会受到影响,也就不会出现错误和腐败了。

以上是一个简单的比喻,省略掉了细节,但能够把区块链的主要原理通俗的表示出来。下面我们看一下真正的区块链是怎样的。

区块中包含了交易信息和时间信息,通过时间信息让所有的区块有了先后顺序,前后连接就成了区块链。以比特币网络为例,比特币系统中有一个记账人,这个记账人是不断变换的。系统给所有节点(村民)一个数学难题,率先解出答案的节点就是这个时间段的记账人。

记账人把这一时间段的所有信息打包成一个区块,通过时间戳接到上一个区块的后面。当这个区块产生后,其中的所有信息会被同步到各个节点中(账本信息广播给其他村民)。下一次有谁想知道某一笔交易信息时就可以检查自己同步的区块信息,如果怀疑信息被篡改就可以向其他节点请求信息验证。这就是一个典型区块链网络的运行机制。

二.区块链和比特币的区别

前几年区块链这个词还没有走进大众视野,大部分人关注的是炒的火热的比特币。很多对区块链不了解的人甚至直接把区块链和比特币划上等号,这是一种错误的认识。那么区块链和比特币到底有什么区别呢?

简而言之,比特币只是区块链一个应用,比特币不等于区块链。比特币是一种加密货币,而区块链是比特币所运用的技术。

之前关于区块链的比喻可以转化成比特币版本。

比特币网络中,村委会每天给全村人出一道数学难题,最先解决出来的成为当天的记账人(挖矿)。当天所有的交易信息存放在一个一天内无法篡改的安全地方,到了晚上记账人去广播站给大家广播全天的交易信息,全村人确认无误后在自己的账本上添上当天的交易信息。

因为记账是一件辛苦活,所以每次交易的双方都要给记账人一点辛苦费,村委会也会每天给记账人一点酬劳(激励机制)。比特币就是这个村内流通的货币,比特币的发行就是村委会每天给记账人的酬劳。而区块链是这一整套机制,这种机制使得没有村长(中心化机构)的情况下,各节点(村民)之间能够相互信任。

三.区块链的技术原理

  • 点对点技术(p2p)

中心化的技术是几台大型的服务器负责系统中所有的运算,而点对点技术则是依靠网络中每一台设备的计算能力和带宽。P2P网络中的所有的客户端都提供资源,包括带宽,存储空间和计算能力等。所以系统中接入的节点越多,请求越多,整个系统的容量越大、计算能力越强。

  • 哈希算法

哈希算法接收一段信息后后,可以把信息转化成一段固定长度的数据(哈希值)。而且这个过程不可逆,也就是说即便你知道了一段信息的哈希值,你也没有办法知道原始的信息是什么。区块链通常不直接保存原始的数据和交易记录,而是保存其哈希值。

  • 共识机制—工作量证明机制

目前的共识机制已经有很多,包括pow(工作量证明,power of work)、pos(权益证明,power of stake)等。这里简化说明,以pow共识机制为例。

pow机制就是前面说的没有村长时,村民们能够相互信任完成记账的过程。
这个机制大致有以下几个过程:
(1)节点记录全网数据记录,通过基本合法性验证的数据记录将其暂存。(村民把交易信息暂时存放在一个安全的地方,保证信息在一天内无法被篡改)
(2)节点消耗自身算力(运算能力)完成哈希计算,最终找到符合条件的哈希值。(村民们努力解决村委会给的难题,争夺当天的记账权)
(3)生成区块信息,包括区块头和交易数据,全网广播同步。(解决了难题的记账人把当天所有的交易信息记到自己的账本上)
(4)对外部广播出新产生的区块,其他节点验证通过后,链接至区块链中。(广播站广播当天的所有交易信息,全村人确定当天的交易信息无误后把信息记到自己的账本上)
(5)然后所有节点继续进行下一个新区块的循环,包括进行工作量证明和区块产生。(到了第二天凌晨,村委会公布难题,全村人竞争记账权;一天结束,记账人广播数据,账本上又添了一页)

  • 时间戳(timestamp)

相当于账本上的时间记录。今天村里的账本上记录了交易信息后,加了今天的日期,比如2018年1月1日,然后盖上一个钢戳,这样账本上的这个时间信息就无法修改了。

  • 非对称加密算法

村民张三和李四,他们各有两把钥匙,一把白钥匙(公钥)一把黑钥匙(私钥)。两把白钥匙是公共的,放在村门口的保安亭里,任何人都可以使用。每对黑白钥匙配上一把锁这把锁上锁和打开只能用不同颜色的钥匙。比如你用了黑钥匙锁上了,只能用相对应的白钥匙打开。

张三想要给李四发一条信息,先用把信息写在纸上放在一个小暗盒里,用李四的白钥匙配的锁锁上(加密)。再把小暗盒放在大箱子里,在大箱子外面加了一把自己黑钥匙配的锁(签名)。

当李四拿到这个箱子时,先用张三的白钥匙打开箱子外面的的锁,能打开说明这个信息确实是张三发的,也就证明了发信人的身份(证明签名)。再用自己的黑钥匙打开里面的暗盒,看到了张三发来的信息(解密)。

整个发送信息的过程中,信息发送者(张三)用自己的私钥对信息进行签名,使用信息接收方(李四)的公钥对信息加密。信息接收方(李四)用信息发送者(张三)的公钥验证信息发送者的身份,使用私钥对加密信息进行解密。

  • 智能合约(smart contract)

村委会想要编写一部法律来规范村民的交易,可是不知道怎么写。这时候律师跳出来说我不知道怎么写,但是我知道一步法律应该有哪些组成部分,用哪些术语。

村委会和律师一块把这部法律弄出来后给每个人发了一部,告诉大家说咱们村没有法院,现在每个人都是法官,大家背下来以后好执法啊。村民们认为这部法律保护了自己的利益,于是下次有违法的交易发生时,所有看到的人自觉的去执行法律的内容。这部法律就是智能合约。

智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约被部署在区块链上后,一旦满足合约中的条件,系统会自动进行一些操作。这使得在没有第三方的情况下,系统内也能进行可信交易,并且这些交易可追踪但不可逆转。

四.区块链的特点

  • 去中心化

以前村里有个村长记账,现在人人都可以记账,这就是去中心化。以前一旦村长生病了,临时又没有大家都信任的人来记账,大家就只能干瞪眼了。毕竟不能让自己信不过的人当临时村长,又不能进行买卖赚钱。现在普通人可以记账,村长病倒了还有李四,李四病倒了还有张三。以前中心化系统出现问题整个系统崩溃的现象再也不会出现了。

  • 去信任

两个死对头现在交易也不成问题了。以前互不信任的两个人交易都怀疑对方有着鬼心思,怕对方不认账或者去贿赂村长。现在只要两个人把自己的交易信息交给记账人,晚上一广播全村人都知道你们的交易,再也不怕对方耍手段了。这就是去信任。

  • 开放性

以前账本放在村长的家里,普通人想看一眼很麻烦,还不知道记录的信息是不是真的。

现在人人都有一本账本,随时能查看之前确认的账目。你想看看谁是全村最有钱的人,翻翻自己的账本,看谁买东西花的最多,基本就知道他是不是在隔壁村有矿了。

开放性就是整个系统是完全开放的,除了交易方必要的私有信息被加密外,链上的数据对所有人公开,任何人都可以通过公开接口或者应用来查询信息。

  • 自治性

以前村长独大,全村的治理靠的是村长的权威性。现在每个村民都参与到全村的管理当中,自治性相对于以前有了很大的提升。

  • 信息不可篡改

你只能改掉自己账本中的数据,你没法改掉全村人手中的账本。所以你改了也是给自己看,对整个村子的交易没有任何影响。整个村庄共同的账本来说你是无法更改的。

一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。

  • 匿名性

现在交易不需要信任对方,即便对方是自己的死对头也不用怕被坑。死对头都不怕,害怕其他人坑我吗?相当于无论是和谁交易都不怕被坑,那么对方的身份也就不重要了。区块链网络的匿名性由此而来。

由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,完成交易。

五.区块链的应用

区块链解决的是信任问题,任何涉及到信任的机制中都可以使用区块链技术。区块链的应用非常广泛,以下只列举两个方面。

  • 金融

以跨境支付结算为例。
目前的跨境支付有这些痛点:手续费高、周转期长、诈骗行为多、中间环节多。
当区块链技术运用在跨境支付时,由于区块链本身不需要第三方中心机构就能完成交易方的交易,所以免除了中转银行这一环节,这意味着剩下了很多中间费用。
其次,因为不需要在银行中转,银行之间的竞争会加剧,会导致手续会和外汇利润的降低。对于交易者来说总成本会降低。
此外,区块链的分布式账本技术让整个支付结算的安全性得到提升。点对点的直接交易以及中间环节的省略会让交易时间大大缩短,让交易更加便捷迅速。

  • 物联网:

物联网是最近几年比较火的一个领域,其应用非常广泛,从大数据分析,到智能家居、智能交通、智能医疗等。如今,任何一个行业巨头都不愿意自己的设备接入到其他人控制的私有网络,腾讯不会在qq里提供淘宝的接口,百度也不会参加谷歌设立的私有网络。

有了区块链,试想下下面的场景:我要从机场回家打不到车,只能使用共享汽车。我打开手机,向自动驾驶汽车的智能合约支付预付款,汽车收到指令,把我的手机接上交通网络。中间汽车经过一个收费站,管理汽车的智能合约从我的预付款里自动扣除过路费,并把费用发送给收费站的智能合约,收费站收款放行。汽车送到家后,智能合约计算路程总费用,并将剩余的预付款转到我的手机上。

在这个场景中,经营自动驾驶汽车的公司并不需要自己从零开始建造物联网的基础设施,而只需接入协议;收费站也不需要自建物联网就可以收到过路费放行车辆。接入协议之后,任何公司的汽车都可以方便地支付过路费。

如今的以太坊就为以上的应用场景提供了技术支持。以太坊开放、中性、无需信任的特点,可以通过物联网的开放协议连接全球的设备,让人类社会的运行更加高效。

如果你是一个区块链小白,关注我的公众号:链数据,学习更多的区块链知识。

关注公众号,回复“资料”,免费送你10G的区块链学习资料。

写给小白的区块链科普文相关推荐

  1. EOS大神,C++写的高发并行区块链

    EOS大神,C++写的高发并行区块链 EOS 团队于 2017 年 7 月 28 日推出了单机测试版,基于此单机版开发者可以 完成用户注册.转账等简单功能.OracleChain 团队在第一时间对代码 ...

  2. vue标准时间改为时间戳_区块链科普005:什么是时间戳?白话通俗讲解时间戳是什么意思?...

    原标题:区块链科普005:什么是时间戳?白话通俗讲解时间戳是什么意思? 八宝饭区块链:什么是时间戳 时间戳是什么?可能很多人都没有听过,但是作为办公一族应该掌握这个技能.时间戳技术就是数字签名技术一种 ...

  3. 用java写一个简单的区块链(下)

    用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...

  4. 看完就能出去神侃,来自研发第一线的“区块链”扫盲文(二)

    (图片出自网络,版权归原作者所有) 原文摘自公众号,<区什么块什么链啊>之<看完就能出去神侃,来自研发第一线的"区块链"扫盲文(二)> 共识机制,是不是听上 ...

  5. ctf 区块链_区块链科普002:什么是区块?白话通俗讲解区块是什么意思?

    原标题:区块链科普002:什么是区块?白话通俗讲解区块是什么意思? 八宝饭区块链科普:什么是区块 区块链的价值已经获得多方认可,各项行业应用都在探索尝试,因此形成了基于不同底层架构.针对不同行业应用的 ...

  6. 用200行Go代码写一个自己的区块链!

    区块链是目前最热门的话题,广大读者都听说过比特币,或许还有智能合约,相信大家都非常想了解这一切是如何工作的.这篇文章就是帮助你使用 Go 语言来实现一个简单的区块链,用不到 200 行代码来揭示区块链 ...

  7. 只用200行Go代码写一个自己的区块链!

    "用不到200行 Go 代码就能实现一个自己的区块链!" 听起来有意思吗?有什么能比开发一个自己的区块链更好的学习实践方法呢?那我们就一起来实践下! 因为我们是一家从事医疗健康领域 ...

  8. 区块链科普系列之1—区块链的由来

    文章目录 区块链的历史 比特币白皮书 传统交易存在的问题 比特币的解决方案 总结 区块链的历史 2008年10月31日,一个密码学极客中本聪在"metzdowd.com(密码朋克)" ...

  9. 只用120行Java代码写一个自己的区块链

    区块链是目前最热门的话题,广大读者都听说过比特币,或许还有智能合约,相信大家都非常想了解这一切是如何工作的.这篇文章就是帮助你使用 Java 语言来实现一个简单的区块链,用不到 120 行代码来揭示区 ...

  10. 区块链推文@2019.1.24

    加密货币交易所Binance推出至少20BTC的场外交易服务(OTC): 加密货币交易所HitBTC将在24号12.00至15.00UTC期间对lot大小进行更新,届时将会有几分钟的交易服务停止,更新 ...

最新文章

  1. 网络营销外包下不同类型企业网站有着不同的网络营销外包重点
  2. Google Capture The Flag 2018 (Quals) - Beginner's Quest - Reverse - Firmware
  3. 电纸书kindle相关产品调研(没搞完)
  4. Windows与Linux下进程间通信技术比较
  5. C++笔记-C++11中default及delete的使用
  6. CodeForces - 1517B Morning Jogging
  7. SQL Server调优系列基础篇(常用运算符总结)
  8. c语言综合性程序设计,《C语言程序设计》综合性实验报告撰写格式
  9. 解决Mac下Parallels Desktop的Host-only网络问题
  10. RESTful API 设计规范
  11. 利用Vmware workstation安装MS-DOS使用Turbo C 2.0
  12. Processing自画像
  13. 用matlab解线性规划题目,用MATLAB软件解线性规划范例
  14. 期货量化交易matlab,【策略分享】Matlab量化交易策略源码分享
  15. 债券价格和到期收益率的关系_债券市场价格与到期收益率
  16. (八)Mybatis当中#{}常用属性的用法
  17. 【牛客竞赛】Increasing Subsequence题解
  18. [转载]关于如何选择5D2和6D的忠告_我是亲民_新浪博客
  19. 海外推广运营的技巧汇总
  20. 小程序下拉刷新没有三个小圆点的加载动画

热门文章

  1. 计算机主机插槽图,图片解说看个透 教你认识主板上的插槽
  2. 微信小程序开发部署发布可以在10分钟内完成
  3. 电脑开启热点手机显示不可上网
  4. Ubuntu虚拟机下载(清华大学开源软件镜像源)
  5. 优化 | 线性化:两个0-1变量相乘的线性化
  6. Python 中的列表(一)
  7. 外卖cps项目的玩法淘宝客经验分享
  8. 短消息类新旧服务代码对应表
  9. stack Error: EACCES: permission denied
  10. Android Fingerprint完全解析(二) :Fingerprint启动流程