粒子說區塊鏈2:去中心化記賬流程

摘要

 

在上一篇文章中,我們介紹了區塊鏈的基本概念,一種去中心的記賬技術。在本文中,我們首先介紹幾個日常生活中常見的場景,這些場景使用傳統的方法都很難解決。緊接着引入了虛構的小故事來介紹去中心化的記賬流程,在這個流程中會穿插的介紹與之相對應區塊鏈方面的專業說明。

 

 

問題

 

在生活中,我們經常會遇到這樣的問題:

 

問題1:陌生人之間如何實現相互信任?

小李上班路上太遠,手頭的資金也不寬裕,於是想買輛二手車做代步,賣家說自己的車子沒有經歷過任何事故和維修,纔開了不到一萬公里,小李該如何判斷?

 

問題2:已經發生的交易記錄如何不被篡改?

艾女士居住在洪都拉斯,她住在自家房子很多年,某天,艾女士遭到法院傳訊。D向法院申請驅逐艾女士,原來國家產權局登記的是C的名字,隨後房屋被拆毀。但後來經過法院查證,房子其實就是人家艾女士的,但房子已經毀了......

 

問題3:如何證明我媽是我媽?

劉先生一家三口準備出境旅遊,需要明確一位親人爲緊急聯絡人,於是他想到了自己的母親,需要書面證明他和他母親是母子關係。問題來了,陳先生在黑龍江的戶口簿,只顯示自己和老婆孩子的信息,而父母在雲南老家的戶口簿,早就沒有了陳先生的信息。陳先生如何證明我媽是我媽呢?

 

類似的情況還有要證明你沒犯過罪,要證明你沒結過婚,要證明你沒有要過孩子,要證明你沒買過房...... 這樣那樣的證明,聽起來讓人心碎,辦起來更讓人奔潰。

 

 

島民的買賣經

 

在一個遠離大陸的小島裏,村民也遇到了同樣的問題。因爲這個村子很原始,目前還在使用黃金來進行商品交換。

 

需要買一個西瓜的時候,需要拿着一根金條去交換,然而金條挺重的,抱着跑來跑去很不方便,金條儲存在家裏又佔地方。

 

有一天,村長想出了一個好主意,他告訴全體村民,在小島上設立一個全島的大賬本,村民們上交金條,在賬本上做記錄,以後村民之間買賣東西的時候,都在村長的大賬本上記錄一下就好了。比如小張拿兩個金條換小李的一頭牛的時候,就給村長打個電話說明情況。村長看看賬本,先得確定小張是否真的有兩個金條,如果有就劃歸到小李名下,再打個電話告訴小李。而小李得知轉賬成功後,再把牛給小張。

村民們都很信任德高望重的村長,於是紛紛把金條交給村長家,村長家的大賬本正式運營起來了。

 

一個春天過去了,一切交易都井然有序地進行着,只是村長一個人漸漸應付不了繁多的記賬和電話,就僱傭了幾個帳房先生管理賬本。
 

村長的賬本就是傳統的中心化記賬,類似於現在的銀行,記錄了所有人的賬戶資金變動情況

 

可是沒想到夏天的時候出了個事故,一個帳房先生偷偷把別人家的金條記在自己家的賬上,被人抓住了,民情激憤之下村長當機立斷開除了這個帳房先生,並宣佈自己親自監督和審查每一筆交易,這才穩住了民心。

 

村長家的賬本能夠被賬房先生偷偷的篡改,銀行的賬本完全由銀行控制,同樣有着被惡意篡改的風險

 

秋天收穫了,盛產莊稼的某村和盛產水果的隔壁東村開始有了頻繁的商品交易,村民們懶得換現金,就請求村長把賬本業務拓展到隔壁村。沒想到,當村長拿着賬本到了東村的地界,東村村長根本不認村長的賬:“俺們村也有賬本,但不是這麼記的。你們這種記法俺們看不懂。還有啊,你們都用金條做買賣,我們村都是用銀條做買賣”。這時候,村民們開始有點沮喪。

 

每一家銀行都有自己的賬本,不同銀行之間的賬本是相互獨立的,賬本無法通用。不同國家之間的賬本更是五花八門的完全不同了。不同國家使用的貨幣也不一樣,交易太困難了。

 

雖然經歷了種種波折,但終於捱到了過年,在年夜這天傍晚,村長又在村口召開了一次村民聯歡晚會,想要回顧一下這一年的賬本計劃,重振一下村民對賬本模式的信心。可是還沒等他說完,他家寶貝小兒子就因爲玩炮仗把他家給炸了,賬本也給毀了......

 

銀行的中心化賬本,如果由於意外被毀了,那所有的賬目都沒有了......

 

全村人都傻眼了,連村長都不值得信任了,今後到底該咋辦?

 

 

大家一起記賬

 

這時候,一個叫中本聰的聰明人突然不知道從哪裏冒了出來,賊兮兮的說:“我來給你們出個解決方案吧,我叫它區塊鏈。這個方法我已經在我開發的比特幣體系中實踐和應用了,剛好可以拿來解決你們村的問題。”

 

中本聰的提議並不複雜,各家還是把現金轉化成賬上的記錄,但是從此就不在村長家的大賬本上記賬了。而是告訴全體村民,大家一起都來記賬,大家的賬本都是一樣的。每一條新的賬目都需要超過全體村民一半以上的人同意纔行,否則大家都不認可這條賬目。

 

從村長家記賬,改爲全體村民一起記賬,就是從中心化記賬改爲分佈式記賬。大家的賬本都是一樣的,每一條新增加的賬目,都需要超過一半以上的人認同纔行

 

當張三要拿兩個金條換李四的一頭牛時,張三在村裏的大喇叭向全村喊話,全體村民都聽到了這次喊話。中本聰懸賞一定的金額讓大家幫着檢驗記賬,第一個驗證出“張三確實有兩個金條並且確實把兩個金條給了李四”的人是趙六,他被授予“礦工”稱號並獲得一定獎賞。趙六需要把這一筆交易寫在一張編號001的紙條上,並且在大喇叭上向全村喊話,我已經記好了,你們都按照我的001號紙條都抄在自己家的賬本上就可以了。其他村民收到趙六的001號紙條之後,都會看一下紙條上的內容是不是和剛纔張三在大喇叭裏面喊的話是一樣的,如果是一樣的,就把這個001號紙條抄在自家的賬本上。如果不一樣,那就說明這個趙六有鬼,直接把這張紙條丟進垃圾桶。

 

這是分佈式記賬最核心的記賬流程。每一筆新的賬目需要記錄的時候,首先會廣播給所有記賬的人。大家都會去驗證這條賬目上的簽名,是不是正確的。對於正確的賬目,大家都搶着去記賬,並且把自己記錄的小紙條廣播給所有記賬的人。其他人收到這個小紙條之後會再次驗證紙條上記錄的賬目和之前收到的賬目是不是正確的。對於正確的紙條,就把這個紙條上的內容抄到自己的大賬本上,正式成爲賬本上新的賬目。然後麻溜的去搶着記錄下一條賬目

 

第二天李四拿出一個金條找王二買一隻雞,李四在村裏的大喇叭向全村喊話,村民們便搶着翻閱賬本和編號001的紙條,第一個驗證成功“李四確實有一個金條並且給了王二”的人是陳七,他被授予這一輪的“礦工”稱號並獲得一定獎賞。陳七把交易內容寫在編號002的紙條上,並在紙條上寫上“之前交易內容見001號記錄”,並且大喇叭上向全村喊話,我已經記好了,你們都按照我的002號紙條都抄在自己家的賬本上就可以了。其他村民收到陳七的002號紙條之後,都會看一下紙條上的內容是不是和剛纔李四在大喇叭裏面喊的話是一樣的,如果是一樣的,就把這個002號紙條抄在自家的賬本上。如果不一樣,那就說明這個陳七不是個好人,直接把這張紙條丟進垃圾桶。

 

以此類推。這時候只要賬本的“初始狀態確定”,每一張紙條的記錄都是全體村民認同的,那麼全體村民的賬本是保持一致的,這個公開的賬本就可以安全的記錄全村的所有賬目。

 

 

村民們琢磨了老半天,聽上去很NB的樣子哦,可是我們有幾個問題不明白:

 

第一個問題,以前村長家的賬房先生私自改了賬本,你這個方法可以解決嗎?中本聰搖頭晃腦的說到,每次買賣東西的時候,都是在大喇叭裏面喊話了,你們都聽到了對不對?如果記賬的人耍心眼兒胡亂記賬,你們都知道他記錯了,你們就不要抄他記賬的紙條就好了。

 

第二個問題,以前村長家的小兒子把他家都給炸了,賬本也沒有了,這個你可以解決嗎?中本聰摸着下巴說,村長家的賬本沒有了,你們家不是還有一本賬本嗎,你家隔壁小花家裏不是也還有一本賬本嗎?

 

 

小結

 

本文引入了一個虛構的小故事來介紹去中心化的記賬流程,並且點明瞭其中的關鍵點:一是所有人都保存了一份賬本,二是隻有大家都認可的賬目纔會加入到賬本之中。

 

 

About

 

粒子說區塊鏈”系列文章由粒子區塊鏈編輯整理,目標是打造最簡單易懂的區塊鏈入門教程,讓沒有任何區塊鏈知識的朋友也能夠理解區塊鏈。只要您對區塊鏈感興趣,想要了解區塊鏈是什麼,以及區塊鏈的基礎概念和原理,都可以來閱讀這個系列的文章。歡迎您留言反饋任何意見或建議,您的支持是我堅持下去的最大動力。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章