區塊鏈特質:在不信任中創造信任
當前,關于區塊鏈的定義有很多。比如:
·分布在全球各地、能夠協同運轉的去中心化的數據庫存儲系統;
·分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式等;
·防篡改的、共享的數字化賬本,記錄公有或私有對等網絡中的交易;
·存放在非安全環境中的分布式數據庫,采用密碼學的方法來保證已有數據不可能被篡改,采用共識算法來對于新增數據達成共識;
……
這些定義從不同角度對區塊鏈進行了解釋,但是大都過于專業,難免枯燥,一般讀者想要得到是較為明確的說法,卻看到了更多不太容易理解的技術名詞。我們嘗試從區塊鏈最大的特質出發,通過形象的小故事做解釋,先引導大家對區塊鏈運作的基本機制有個感性的理解,在此后的有關章節中再逐步介紹相關技術。
在山的那邊、海的那邊,有一個小村莊:烏特村,大概100余戶、500余人居住在那里,民風淳樸,男耕女織,自給自足。
村民使用的貨幣是一種石頭,我們就暫且稱之為“石頭幣”。這種石頭具有一種特殊的紋理,每個都不相同,石頭材質來源于村西邊的石山上。在老村長的主持和村民的監督下,石匠將石頭打磨成兩種大小的石頭幣,一種是大的,一種是小的,后者重量相當于前者的一半。
大家日常交易的過程,如同我們使用紙幣一樣,用石頭幣來買小到針頭線腦、大到雞鴨牛羊的生活物品和生產資料,一手交幣、一手交貨。交易場景是這樣的:
李鐵匠:張屠戶,牛肉多少錢1斤?
張屠戶:2.5個石頭幣。
李鐵匠:好的,成交。
李鐵匠給了張屠戶5個石頭幣,買了兩斤牛肉。
石頭幣雖然是石頭,但在使用過程中也會有損耗,需要不斷以舊換新進行補充。這項工作是由村里的石匠來完成。村里只有一戶石匠,手藝是祖傳的,現在石匠年事已高,膝下的孩子不愿意做這項單調乏味的工作,都想翻過山、渡過海,看看世界有多大。
于是,烏特村遇到了一個難題,石匠手藝的后繼無人導致石頭幣沒有辦法正常使用了。如果更換其他物品作為貨幣,不是難于攜帶、就是更容易損耗;雖說民風淳樸,但也沒有到了每個人都是道德完人的地步,所以,在沒有技術防偽的情況下,用紙幣代替也不太可行。
老村長苦思冥想,頭發都全白了,卻一直無計可施,村民也沒有良策。一日酒酣入夢,老村長遇到一自稱“仲本村”的老者,耳語數言,醒后,老村長醍醐灌頂地找到了解決方案:
1.廢除石頭幣,為每個村民發一個賬本,用直接記賬的方式代替石頭幣購買物品,采用一定的機制保證賬本的安全和有效。
2.考慮到記賬也需要一個單位,就虛擬地提出了“烏特幣”,請記住:烏特幣沒有任何物質載體。
3.將村民每個人的現有財產,按照1個石頭幣等于1個烏特幣記錄在每個人的賬本上。每個村民的賬本上都記載了所有村民現有的財產額度。
4.每個人保管自己的賬本。
5.在村中心最大的大樹上安裝一個大喇叭,每家每戶發一個小喇叭。
以后村民交易的場景變成了如下這樣:
李鐵匠:張屠戶,來斤牛肉,多少錢?
張屠戶:2.5個烏特幣。
李鐵匠:好的,我準備買2斤。
(兩人跑到了村中心最大的大樹旁)
李鐵匠用大喇叭向全村廣播:“我準備買張屠戶牛肉,花費5個烏特幣。”
接著張屠戶用大喇叭向全村廣播:“李鐵匠買了我的牛肉,我收到了5個烏特幣。”
接著,張三、李四、王五、周六等村民都聽到了這個交易,于是在自己的賬本記上了:“某年某月某日李鐵匠和張屠戶有交易”,同時將李鐵匠的賬戶減少5個烏特幣,將張屠戶的賬戶增加5個烏特幣。
所有村民記載后,都拿出小喇叭,向李鐵匠和張屠戶反饋:“收到,已記載,確認。”
到此為止,李鐵匠和張屠戶的這次交易完成了,村民的賬戶上關于兩人的烏特幣金額都有了變化。如果此次交易后,李鐵匠已經沒有烏特幣了,那么下一次,李鐵匠就無法購買物品了,因為所有村民的賬戶上關于他的金額是0,如果想要作弊,就得設法修改所有村民的賬本,成本是相當高的。
目前,大家只需看到并理解烏特村的這些變化就可以:廢除了石頭幣,沒有一個中心化的烏特幣制作機構,村民實現了新交易形式,賬本是不可篡改的,或者說篡改成本大到等于不可篡改。
通過上述變化,可以發現,在一個并不是人人都是道德完人的環境下,通過制度設計實現了村民之間的信任,進而保障了交易的正常進行。或許大家通過烏特村的例子能夠或多或少地理解了一些諸如分布式賬本(每個村民都有賬本)、共識機制(所有村民都同意交易)、非中心化的貨幣(烏特幣并不存在,如同此前的有石匠制作的環節),等等。
不少人看到這里也許有一些疑問,比如環節太多、過程太麻煩、村民的隱私沒有保障,等等。故事化解讀是為了更通俗地讓大家理解主要的、基礎的概念,介紹區塊鏈運行的基本原理,其他一些復雜的問題,我們會在后續的內容中逐步談到。