區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?

區塊鏈究竟是什麼?

有觀點認為,區塊鏈與人工智能、大數據是金融科技三大支柱,區塊鏈或許會是10年後的“互聯網”

下文用簡潔的語言和圖片,向大家解釋究竟什麼是區塊鏈技術。

本文為書摘,摘編自《圖說區塊鏈:神一樣的金融科技與未來社會》,中信出版集團出版,不代表小編觀點。

近年來,包括摩根大通、花旗集團、高盛集團、納斯達克等在內的金融巨頭,都表達了對區塊鏈技術的熱衷。這些巨頭們熱衷的區塊鏈技術,又被稱為分佈式賬本,那麼分佈式賬本究竟是什麼呢?我們先從另外一件事說起。

1

區塊鏈與騎自行車的人


區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


華爾街上騎自行車的人


在納斯達克成立之前,人們用自行車馱著裝滿債券的包,在華爾街騎來騎去,目的就是儘快完成清算。後來業務越來越多,自行車就忙不過來了。20世紀60年代,華爾街每週只交易4天,每天4個小時,就是為了能讓清算速度跟上交易量。

這樣發展下來,大家覺得不行啊,自行車肯定跑不過計算機。1971年,有人就開會說,咱們想想辦法吧,於是提出了DTC(美國存管信託公司)清算系統。這個系統的辦法就是所有的交易都要在系統內進行,包括經紀人也要接入這個系統,現在納斯達克還在用。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


中心化的DTC清算系統


這個系統提高了交易的效率,但是並沒有改變交易的中心化結構。當交易足夠多、經紀人足夠多的時候,這個系統也有癱瘓甚至崩盤的危險。

於是專家們想,自治式、分佈式的系統會不會好一點呢?答案是肯定的。區塊鏈就是一個分佈式的賬本,每個節點都可以顯示總賬,然後維護總賬,而且不能篡改賬本,除非你控制了超過51%的節點,但這是不可能的。

再簡單一點,假如你們家裡有個賬本,讓你來記賬。在以前,就是爸爸媽媽把工資交給你,讓你記到賬本上。中間萬一你貪吃,想買點好吃的,可能賬本上的記錄會少十幾塊,然後你想買個手機,賬本上就少記錄幾千塊。這只是舉一個例子,我相信小時候大家都想從爸爸媽媽的口袋裡拿點錢來花。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


2

中心化的家庭賬本

有了分佈式賬本後,上述說的問題就不會有了,因為你在記賬,你爸爸也在記賬,你媽媽也在記賬,他們都能看到總賬,你不能改,爸爸媽媽也不能改,這樣想買菸抽的爸爸和想貪吃的你都沒辦法啦。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


分佈式家庭賬本


區塊鏈本質上是一個去中心化的分佈式賬本,其本身是一系列使用密碼學而產生的互相關聯的數據塊,每一個數據塊中包含了多條經比特幣的網絡交易有效確認的信息。

3

中心化與去中心化

前面我們說到了區塊鏈的本質是一個去中心化的分佈式賬本,那麼,所謂的中心化又是什麼呢?我們首先思考這樣一個問題,你要在網上買一本書,交易流程是什麼?

第一步:你下單之後把錢打給了支付寶。

第二步:支付寶收款後通知賣家可以發貨了。

第三步:賣家收到通知後給你發貨。

第四步:你收到貨之後很滿意,於是確認收貨。

第五步:支付寶收到了你的通知並打錢給賣家。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


中心化的交易流程


我們可以看出,在這個過程中,雖然你是在和賣家交易,但是整個交易都是圍繞支付寶展開。因此,如果支付寶系統出了問題,比如天上降下來一塊隕石,把支付寶的服務器全砸了,或者由於全球經濟危機支付寶倒閉了,無奈的支付寶只好淡然地表示不存在這筆交易,那麼這筆交易就會以失敗告終,到時候買家賣家就會糾纏不清,雙方無法自證。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


中心節點毀壞會導致交易失敗


4

模擬一個區塊鏈小城市

為了說明去中心化的區塊鏈是如何運行的,我們先把整個去中心化的分佈式結構簡化為一個極端的情況來探究。我們假設有一個去中心化的小城市,在這個城市裡有5個可愛活潑的小夥伴,他們互相借錢的時候,是這麼幹的:

假設B向A借了1塊錢,這個時候,城市裡的人怎麼辦呢?A在人群中大喊:“我是A,我借給了B1塊錢!”B也在人群中大喊:“我是B,A借給了我1塊錢!”

此時城市裡的其他人C、D、E都聽到了這些消息,他們拿出了手中的小賬本並默默記下:“某年某月某日,A借給了B1塊錢。”

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


去中心化城市的記賬


當我們把一個去中心化的模型極度簡化之後,我們就會發現,在這個只有5個人的城市中,已經建立了一個去中心化的系統,這個系統不需要銀行,也不需要支付寶。這個模型不需要信任關係,也不需要一個擁有公信力的組織。當分佈式結構中的每個人都記賬的時候,篡改賬本是不可行的。比如B突然不認賬了:“我不欠A的1塊錢!”這個時候,人民群眾C或D或E就會站出來說:“不對,我的賬本上明明記錄了你在某年某月某日向了A借了1塊錢,並且沒有查到你還款的記錄。”

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


去中心化賬本無法篡改


說到這裡,你有沒有發現一個問題,在這個模型中,所謂的1塊錢根本不重要,也沒有人在意,“1塊錢”已經變成了一個變量,它可以被替換成任何概念,只要大家承認這是一個有價值的東西即可。

比如A在這個城市中大喊一聲:“我創造了一個巴拉拉能量!”城市中的其他人都聽見了,於是大家紛紛在自己的小本子上記下“某人有一個巴拉拉能量”,大家甚至不用知道巴拉拉能量是什麼,A竟然真的有了一個巴拉拉能量。

A還能幹什麼呢?A可以再大喊一聲:“我給了B一個巴拉拉能量。”只要城市中的B、C、D、E,即城市裡的所有人都承認了這個交易,那麼這個交易就真的成立了,雖然現實生活中並沒有巴拉拉能量。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


巴拉拉能量的流通


5

小城市裡的幾個問題

當然,區塊鏈的世界不會這麼簡單,它還有其他的規則來相互制約,我們先來解決下面這幾個問題:

問題一:憑什麼幫你記賬?

憑什麼你對著天空大喊一聲,別人就要幫你記賬,別人的時間不要錢嗎?別人的小本子不要錢嗎?於是,為了讓大家都幫我記賬,我增加了一條新的規則,我決定給第一個聽到我喊話並且將其記錄在小本子上的人獎勵。獎勵機制也很簡單,第一個聽到我喊話並記錄下來的人,可以得到一個巴拉拉能量的獎勵。

這個巴拉拉能量不是白給的,是對你勞動的報酬,就像打工可以掙錢一樣,你幫我記賬,整個系統都會給你報酬。你要做的事情,有這樣幾點:

首先,你要搶在所有人之前聽到了我的喊話並記在了自己的小本子上;

記錄之後,你還要馬上告訴整個城市裡的人——這句話我記錄完了,你們再記錄也沒有用了,別人就會放棄這筆賺錢的生意;

與此同時,你還要做一件事,就是給自己的記錄加一個獨一無二的編號,然後把記錄和編號一起喊出來,於是,下一個人再記錄的時候,就會帶著這個記錄和獨一無二的編號繼續下去。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


記賬獲得獎勵


在這條新的規則開始實行之後,一定會有這樣一些人,他們為了得到巴拉拉能量,開始屏氣監聽周圍發出的各種聲音,只為了能在第一時間記下一條新的記錄。

這個時候,對區塊鏈有所瞭解的讀者是不是想到了這樣的名詞——“比特幣挖礦”。沒錯,這就是比特幣挖礦的簡單說明。

關於比特幣挖礦的話題,知乎用戶“玲瓏邪僧”的一篇文章舉過一個更生動的例子,大致是這樣的:單身男士們要找女朋友,“國民岳母”說,我有好多膚白貌美、乖巧可愛的女兒,這樣吧,我給你們出一個曠世難題,解出一個就給你們其中一個姑娘的微信號。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


“國民岳母”的曠世難題


於是,單身男士們瘋狂競爭,想破腦袋去解這道曠世難題。只要其中一位單身男士解出一道題,就立馬得意揚揚地昭告天下,示威全部單身男士,這個姑娘的微信號是我的啦,先到先得,你們放棄吧。其他單身男士雖然已經算到一半了,但是沒有辦法,速度不夠快啊,只好立馬去解下一道題。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


解出難題獲得獎勵


同時,首個成功破解曠世難題的幸運的單身男士不僅不用付一二十萬元的彩禮,被其才華征服的“國民岳母”還會給這位單身男士一筆鉅額財產做嫁妝,也就是比特幣挖礦中的比特幣獎勵。

問題二:分叉問題聽誰的?

在這一段的論述中,我們引用了知乎用戶“汪樂–LaiW3n”的說法。在這個廣闊的小城市裡,一定還會存在這樣的問題,B和C幾乎同時記錄完了,於是同時向天空大喊了一聲,“這個編號89757的巴拉拉能量歸我了”。但是,由於這個城市太廣闊了,有的人會認為這個編號89757的巴拉拉能量歸B,也有的人認為這個編號89757的巴拉拉能量歸C,但是編號89757的巴拉拉能量只有一個啊,只有一個人能得到,怎麼辦呢?一人一半?當然是不可能的,這個時候我們會採用更原始簡單的規則來解決,誰長聽誰的。

在不加任何限制條件的情況下,這件事件會發展成這樣:一部分人認為這句話是B說的,在聽到這句話之後開始記賬,之後他們所做的所有事情都是基於B有了編號89757的巴拉拉

能量這個事實,並且隨著這個信息一次次地傳下去,這條信息鏈會越來越長;而另外一群認為C先說這句話的人,也會按照這樣的趨勢發展。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


分叉問題聽誰的?


這下事情嚴重了,原本是一條唯一的、編號順序嚴謹的總信息鏈,在B和C喊出“這個編號89757的巴拉拉能量歸我了”這句話之後,硬生生地分叉了!這還得了,要是這種情況延續下去,每個人手裡的賬本都變得不一樣了,而且根本沒法確定哪個是真的!

為了解決這個問題,小城市又追加了新的區塊鏈規則,記錄的時候必須頂格寫,而且要保證,中心在離田字格上邊緣0.89757毫米的位置上,於是,每個人寫字的時候都要拿刻度尺量好之後再寫,這非常困難,每個人的記錄需要5分鐘才能完成,因此,寫這句話所用的時間變得不同了。於是,只要有人高喊“我寫完了!那句話是某某某寫的”,其他正在寫這句話的人便會停筆,然後在小本子上重新開始寫“那句話是某某某寫的,上一句的編號是×××”。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


每次記賬的規則都很複雜


問題三:雙花問題

雙花問題是指一筆數字現金在交易中被重複使用的現象。

如果我同時向B和C都喊了一句,我給你一個巴拉拉能量,怎麼辦呢?巴拉拉能量只有一個,如何保證一個巴拉拉能量在實際的交易中只被支付了一次呢?

我們以比特幣為例,中本聰在《比特幣白皮書》第五小節中是這樣說的,運行比特幣網絡的步驟如下:

1.新的交易向全網進行廣播;

2.每一個節點都將收到的交易信息納入一個區塊中;

3.每個節點都嘗試在自己的區塊中找到一個具有足夠難度的工作量證明;

4.當一個節點找到了一個工作量證明,它就向全網進行廣播;

5.當且僅當包含在該區塊中的所有交易都是有效的且之前未存在過的,其他節點才認同該區塊的有效性;

6.其他節點表示他們接受該區塊,而接受的方法則是跟隨在該區塊的末尾,製造新的區塊以延長該鏈條,並將該區塊的隨機散列值視為新區塊的隨機散列值。

也就是說,交易發生的一刻起,比特幣的交易數據就被蓋上了時間戳;而當這筆交易數據被打包到一個區塊中後,就算完成了一次確認;在連續進行6次確認之後,這筆交易就不可逆轉了;在比特幣中,每一次確認都需要“解決一個複雜的難題”,也就是說每一次確認都需要一定的時間。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


6次確認後不可逆轉


在這種情況下,當我試圖於把一筆資金進行兩次支付交易的時候,因為確認時間較長,後一筆交易想要與前一筆交易同時得到確認幾乎是不可能的,而這筆資金在第一次交易確認有效後,第二次交易時就無法得到確認。區塊鏈的全網記賬需要在整個網絡中達成共識,雙花問題是無法產生的。

區塊鏈:幾個故事告訴你,區塊鏈究竟是什麼?


分享到:


相關文章: