当前位置 > CPDA数据分析师 > “数”业专攻 > “区块链技术”究竟是什么?通俗版解读来了!

“区块链技术”究竟是什么?通俗版解读来了!

来源:数据分析师 CPDA | 时间:2018-03-05 | 作者:admin

区块链,是“比特币”的核心技术之一。

 

比特币的发明初衷,是为打破以银行为中心的传统货币体系,开创一种“去中心化的”新型货币体系 。

 

那银行是怎么运作的呢?

 

比如A付100人民币给B,银行就在A的账户上,标一个:“付了100人民币给B,余额还剩1900人民币”,在B的账户上,标一个:“收到A的100人民币,余额增至600人民币”,就可以了。

 

简单讲,货币交易的过程,就是一个记账的过程。

 

之所以通过银行,是因为他权威、可信,不会透过作弊,擅自给谁标个:“收到马云1个亿,余额增至1个亿零3毛。”

 

但是,银行的记账之所以能不出错,也是借助了一些外力的。比如,你透过网银付款,银行怎么确信就是你付的呢?还是借助了密码、验证码等计算机、互联网方面的技术。

 

既然如此,为什么不一步到位,干脆用更厉害的计算机、互联网方面的技术,一举取银行而代之呢?

 

没错,中本聪就是这么想的!

 

中本聪来了个“群狼战术”,试图集全球互联网上成千上万台计算机的力量,与拥有专门人力、物力配置的银行,拼上一拼。群狼合力,如何统一协调,成了最大问题。成立一个专门的机构,统一管理?那就违反了“去中心化”的初衷,等于又走了银行的老路。

 

于是,“区块链”技术,便应运而生了:

 

计算机“群狼”中的某一台,收到A发来“付100块钱给B”的请求后,他需要先确认两个问题,然后才能决定是否执行请求,帮A记这个账。

 

①这个请求,是否真是由A发出来的。这个简单,计算机领域已经有一种叫做“数字签名”的技术,只要A能提供某个只有他自己才知道的“私钥”,计算机就能够确定——这个请求确实是A发出来的。

②A的请求,跟目前整个记账系统上的所有既存信息,是否矛盾。比如,系统上显示A的余额只有99块,A却请求支付100块,这肯定不行。

 

问题②怎么解决,相对麻烦一点。因为每台计算机,都属于整个系统的一部分,一旦出现矛盾,谁都认为自己是“目前整个记账系统上的所有既存信息”之一,要求别人“不许和我矛盾!”那究竟以谁为准?

 

比如,A在余额还有100块钱时,请求支付100块钱,去买什么什么。紧接着,他却又请求再支付100块钱,还要再买另外什么什么。由于存在网络延迟之类的问题,计算机们难以确定,这两条请求,究竟哪条在前。但反正,在后的那条,肯定是无效的。因为前面既然已经付了100,余额已经用光了,哪还能执行在后那条“再支付100”的请求?

 

“区块链”技术怎么解决这个问题呢?简单粗暴:做题定胜负——

 

先把两条请求都记录在案,但不要忙于确认。

 

系统出一些公费,雇甲、乙两人来对赌——分别押注那两条自相矛盾的请求。然后让两人分别运用自己计算机的算力,比赛做题。谁计算机算力强,而且运气好(解题成败具有一定的随机性),先把题解出来了,这笔公费就归他了。同时,他押注的那条请求,也就被系统“确认”了,另外一条请求呢,就相应地“作废”了。这就是所谓“挖矿”。

 

如果甲、乙两人旗鼓相当,不分高下,怎么办?那就再雇丙、丁两人,接着比。丙跟在甲后面,丁跟在乙后面。如果丙赢了,丙和他前面的甲,就都赢了。就那最终“确认”的,就是当初甲押注的那条请求。如果丁赢了,丁和他前面的乙,就都赢了。就那最终“确认”的,就是当初乙押注的那条请求。

 

如果丙、丁又打平了呢?那就再雇戊、己,重复上述过程。总不可能,永远都打平吧。

 

刚才举的是简化的例子,现实中,那些记账请求,往往是几条并在一块,一起处理的。所以,可以把这些并在一块的记账信息,叫做一个个“区块”。而新请求的记账信息,总是不能违逆前面既存的记账信息,只能通过矿工们的“做题比赛”,押注“确认”过后,跟在既存信息的后边。

 

这样一来,许多的信息“区块”,按“被确认”的先后顺序,连接在一起,不就成了“区块——链”。

 

区块链是什么

 

从本质上讲,“区块链”就是:一种透过精心设计的计算机互联网协作机制,确保新登记信息与整个系统庞大的既存信息之间,不发生矛盾,进而使整个系统保持惊人的“整体一致性”,的一种信息技术。

 

比特币世界的“计算机群狼”们,要保证步伐一致,全靠“区块链”这根锁链,死死拴着啊。