这是一篇针对小白的区块链科普文,不论你是学的专业是什么,希望这些生活中通俗的比喻都能帮助你认识区块链。
区块链是什么?区块链是一条信息经过多方确认后,最终存储在存储于多个地方,是一种可以解决交易时信用问题的工具。 这么说很多人可能还是不懂,下面来慢慢解释。
一.区块链是怎么诞生的?
我们把人类社会比作一个小村庄。以前,村里的老村长手里有一本帐本,当村里人之间买卖交易的时候都要去找老村长给他们记账。可是老村长年纪大了眼花,有时候会把帐给记错或者漏掉。老村长还有个不成器的儿子,有时候还会偷偷和外人勾结篡改账本做假账。大家也都知道这件事,可是除了村长他们也找不出其他能够让全村人都信服的人来记账了。
村委会想了个办法:规定每个村民都有一个账本。当两个村民交易时,这一笔交易先记录在交易双方的账本上。每天晚上村民带着自己的账本去广播站,把自己这一天记录的交易广播给所有人,所有人都在自己的账本上记录上这样的信息。这样所有人的账本都广播之后,每个人手中的账本都记录着相同的信息。
村民们一合计:下一次村长再眼花记错了信息,要想知道这笔交易是不是真的发生时,只要借周围人的账本看一看就知道了,不用再只看村长的账本了,总不至于全村人都眼花记错了吧。要是村长的账本记错了,就提醒他改回来,这样所有人账本上的信息就都是一样的了。下一次村长儿子再做假账,只要有人发现他的账本信息和大部分人的不一样,就知道他偷改了,这时候再找几个靠谱的人看看他们的账本,就知道真正的账本信息是怎样的了。
结果村民不论是有意还是无意修改了自己的账本信息,其他人的账本都不会受到影响,也就不会出现错误和腐败了。
以上是一个简单的比喻,省略掉了细节,但能够把区块链的主要原理通俗的表示出来。下面我们看一下真正的区块链是怎样的。
区块中包含了交易信息和时间信息,通过时间信息让所有的区块有了先后顺序,前后连接就成了区块链。以比特币网络为例,比特币系统中有一个记账人,这个记账人是不断变换的。系统给所有节点(村民)一个数学难题,率先解出答案的节点就是这个时间段的记账人。
记账人把这一时间段的所有信息打包成一个区块,通过时间戳接到上一个区块的后面。当这个区块产生后,其中的所有信息会被同步到各个节点中(账本信息广播给其他村民)。下一次有谁想知道某一笔交易信息时就可以检查自己同步的区块信息,如果怀疑信息被篡改就可以向其他节点请求信息验证。这就是一个典型区块链网络的运行机制。
二.区块链和比特币的区别
前几年区块链这个词还没有走进大众视野,大部分人关注的是炒的火热的比特币。很多对区块链不了解的人甚至直接把区块链和比特币划上等号,这是一种错误的认识。那么区块链和比特币到底有什么区别呢?
简而言之,比特币只是区块链一个应用,比特币不等于区块链。比特币是一种加密货币,而区块链是比特币所运用的技术。
之前关于区块链的比喻可以转化成比特币版本。
比特币网络中,村委会每天给全村人出一道数学难题,最先解决出来的成为当天的记账人(挖矿)。当天所有的交易信息存放在一个一天内无法篡改的安全地方,到了晚上记账人去广播站给大家广播全天的交易信息,全村人确认无误后在自己的账本上添上当天的交易信息。
因为记账是一件辛苦活,所以每次交易的双方都要给记账人一点辛苦费,村委会也会每天给记账人一点酬劳(激励机制)。比特币就是这个村内流通的货币,比特币的发行就是村委会每天给记账人的酬劳。而区块链是这一整套机制,这种机制使得没有村长(中心化机构)的情况下,各节点(村民)之间能够相互信任。
三.区块链的技术原理
1.点对点技术(p2p)
中心化的技术是几台大型的服务器负责系统中所有的运算,而点对点技术则是依靠网络中每一台设备的计算能力和带宽。P2P网络中的所有的客户端都提供资源,包括带宽,存储空间和计算能力等。所以系统中接入的节点越多,请求越多,整个系统的容量越大、计算能力越强。
2.哈希算法
哈希算法接收一段信息后后,可以把信息转化成一段固定长度的数据(哈希值)。而且这个过程不可逆,也就是说即便你知道了一段信息的哈希值,你也没有办法知道原始的信息是什么。区块链通常不直接保存原始的数据和交易记录,而是保存其哈希值。
3.共识机制—工作量证明机制
目前的共识机制已经有很多,包括pow(工作量证明,power of work)、pos(权益证明,power of stake)等。这里简化说明,以pow共识机制为例。
pow机制就是前面说的没有村长时,村民们能够相互信任完成记账的过程。
这个机制大致有以下几个过程:
(1)节点记录全网数据记录,通过基本合法性验证的数据记录将其暂存。(村民把交易信息暂时存放在一个安全的地方,保证信息在一天内无法被篡改)
(2)节点消耗自身算力(运算能力)完成哈希计算,最终找到符合条件的哈希值。(村民们努力解决村委会给的难题,争夺当天的记账权)
(3)生成区块信息,包括区块头和交易数据,全网广播同步。(解决了难题的记账人把当天所有的交易信息记到自己的账本上)
(4)对外部广播出新产生的区块,其他节点验证通过后,链接至区块链中。(广播站广播当天的所有交易信息,全村人确定当天的交易信息无误后把信息记到自己的账本上)
(5)然后所有节点继续进行下一个新区块的循环,包括进行工作量证明和区块产生。(到了第二天凌晨,村委会公布难题,全村人竞争记账权;一天结束,记账人广播数据,账本上又添了一页)
4.时间戳(timestamp)
相当于账本上的时间记录。今天村里的账本上记录了交易信息后,加了今天的日期,比如2018年1月1日,然后盖上一个钢戳,这样账本上的这个时间信息就无法修改了。
5.非对称加密算法
村民张三和李四,他们各有两把钥匙,一把白钥匙(公钥)一把黑钥匙(私钥)。两把白钥匙是公共的,放在村门口的保安亭里,任何人都可以使用。每对黑白钥匙配上一把锁这把锁上锁和打开只能用不同颜色的钥匙。比如你用了黑钥匙锁上了,只能用相对应的白钥匙打开。
张三想要给李四发一条信息,先用把信息写在纸上放在一个小暗盒里,用李四的白钥匙配的锁锁上(加密)。再把小暗盒放在大箱子里,在大箱子外面加了一把自己黑钥匙配的锁(签名)。
当李四拿到这个箱子时,先用张三的白钥匙打开箱子外面的的锁,能打开说明这个信息确实是张三发的,也就证明了发信人的身份(证明签名)。再用自己的黑钥匙打开里面的暗盒,看到了张三发来的信息(解密)。
整个发送信息的过程中,信息发送者(张三)用自己的私钥对信息进行签名,使用信息接收方(李四)的公钥对信息加密。信息接收方(李四)用信息发送者(张三)的公钥验证信息发送者的身份,使用私钥对加密信息进行解密。
6.智能合约(smart contract)
村委会想要编写一部法律来规范村民的交易,可是不知道怎么写。这时候律师跳出来说我不知道怎么写,但是我知道一步法律应该有哪些组成部分,用哪些术语。
村委会和律师一块把这部法律弄出来后给每个人发了一部,告诉大家说咱们村没有法院,现在每个人都是法官,大家背下来以后好执法啊。村民们认为这部法律保护了自己的利益,于是下次有违法的交易发生时,所有看到的人自觉的去执行法律的内容。这部法律就是智能合约。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约被部署在区块链上后,一旦满足合约中的条件,系统会自动进行一些操作。这使得在没有第三方的情况下,系统内也能进行可信交易,并且这些交易可追踪但不可逆转。
四.区块链的特点
1.去中心化
以前村里有个村长记账,现在人人都可以记账,这就是去中心化。以前一旦村长生病了,临时又没有大家都信任的人来记账,大家就只能干瞪眼了。毕竟不能让自己信不过的人当临时村长,又不能进行买卖赚钱。现在普通人可以记账,村长病倒了还有李四,李四病倒了还有张三。以前中心化系统出现问题整个系统崩溃的现象再也不会出现了。
2.去信任
两个死对头现在交易也不成问题了。以前互不信任的两个人交易都怀疑对方有着鬼心思,怕对方不认账或者去贿赂村长。现在只要两个人把自己的交易信息交给记账人,晚上一广播全村人都知道你们的交易,再也不怕对方耍手段了。这就是去信任。
3.开放性
以前账本放在村长的家里,普通人想看一眼很麻烦,还不知道记录的信息是不是真的。
现在人人都有一本账本,随时能查看之前确认的账目。你想看看谁是全村最有钱的人,翻翻自己的账本,看谁买东西花的最多,基本就知道他是不是在隔壁村有矿了。
开放性就是整个系统是完全开放的,除了交易方必要的私有信息被加密外,链上的数据对所有人公开,任何人都可以通过公开接口或者应用来查询信息。
4.自治性
以前村长独大,全村的治理靠的是村长的权威性。现在每个村民都参与到全村的管理当中,自治性相对于以前有了很大的提升。
5.信息不可篡改
你只能改掉自己账本中的数据,你没法改掉全村人手中的账本。所以你改了也是给自己看,对整个村子的交易没有任何影响。整个村庄共同的账本来说你是无法更改的。
一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
6.匿名性
现在交易不需要信任对方,即便对方是自己的死对头也不用怕被坑。死对头都不怕,害怕其他人坑我吗?相当于无论是和谁交易都不怕被坑,那么对方的身份也就不重要了。区块链网络的匿名性由此而来。
由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,完成交易。
五.区块链的应用
区块链解决的是信任问题,任何涉及到信任的机制中都可以使用区块链技术。区块链的应用非常广泛,以下只列举两个方面。
1.金融
以跨境支付结算为例。
目前的跨境支付有这些痛点:手续费高、周转期长、诈骗行为多、中间环节多。
当区块链技术运用在跨境支付时,由于区块链本身不需要第三方中心机构就能完成交易方的交易,所以免除了中转银行这一环节,这意味着剩下了很多中间费用。
其次,因为不需要在银行中转,银行之间的竞争会加剧,会导致手续会和外汇利润的降低。对于交易者来说总成本会降低。
此外,区块链的分布式账本技术让整个支付结算的安全性得到提升。点对点的直接交易以及中间环节的省略会让交易时间大大缩短,让交易更加便捷迅速。
2.物联网:
物联网是最近几年比较火的一个领域,其应用非常广泛,从大数据分析,到智能家居、智能交通、智能医疗等。如今,任何一个行业巨头都不愿意自己的设备接入到其他人控制的私有网络,腾讯不会在qq里提供淘宝的接口,百度也不会参加谷歌设立的私有网络。
有了区块链,试想下下面的场景:我要从机场回家打不到车,只能使用共享汽车。我打开手机,向自动驾驶汽车的智能合约支付预付款,汽车收到指令,把我的手机接上交通网络。中间汽车经过一个收费站,管理汽车的智能合约从我的预付款里自动扣除过路费,并把费用发送给收费站的智能合约,收费站收款放行。汽车送到家后,智能合约计算路程总费用,并将剩余的预付款转到我的手机上。
在这个场景中,经营自动驾驶汽车的公司并不需要自己从零开始建造物联网的基础设施,而只需接入协议;收费站也不需要自建物联网就可以收到过路费放行车辆。接入协议之后,任何公司的汽车都可以方便地支付过路费。
如今的以太坊就为以上的应用场景提供了技术支持。以太坊开放、中性、无需信任的特点,可以通过物联网的开放协议连接全球的设备,让人类社会的运行更加高效。
如果发现文中的错误或者有疑问,欢迎私信交流。
如果你是一个区块链小白,关注我的公众号:链数据,学习更多的区块链知识。