要理解區塊鏈,我們可以從最熟悉的互聯網開始。
在當前的互聯網上,我們會通過手機銀行或者第三方支付機構(如PayPal,支付寶)進行轉賬,那麼試想一下,如何不依賴於中介機構也能實現資產在線上自由流動呢?簡單說就是,如果沒有銀行,沒有支付寶或PayPal,我們如何實現自由轉賬呢?
於是,人們開始思考如何通過去中心化的方式實現點對點的交易?
加密貨幣之王“比特幣”首先成功實現了這種方式,於是基於比特幣的系統設計,人們抽像出“區塊鏈”的概念。
“區塊鏈”是什麼?讓我們來一探究竟。
區塊鏈的本質就是一個去中心化的分佈式數據庫。去中心化,具體怎麼理解呢?
假設X 先生全家,包括 X 先生,X 夫人,X 爺爺, X 奶奶,各自的賬本上都記錄了大家的開支。因為X先生全家互相不信任。 X 先生每個月都會給X夫人上交家庭支出費用,可X夫人可能會收到1000美元卻記收到100美元,那這個家庭賬本不就不准了?
那如何用區塊鏈如何解決這個問題呢?
假如某天 X 先生給了1000美元給 X 夫人,他只要在向全家都通知一聲—— X先生給了X夫人1000美元,請大家在各自的賬本上記下“X先生給了X夫人1000美元”。
於是 X 先生全家每個人都成了一個節點,每次 X 先生家的交易都會被每個人(每個節點)記錄下來。每次晚上誰洗了碗(工作量證明)之後就可以在公共賬本上結賬,而且洗碗還有報酬,必須在前一天大家都公認的賬本後面添加新的交易,而且其他人也會參與驗證當天的交易。
自然會有人問,能否進行惡意操作來破壞整個區塊鏈系統?比如不承認別人的結果,或者偽造結果怎麼辦?
比如X夫人某天忽然說X先生沒給她1000美元,那麼全家人都會站起來斥責她。如果X夫人某天洗完碗想在結賬的時候動手腳,其他參與驗證的人也會站起來斥責她(除非她能收買超過一半以上的人),被發現作假會導致她那天的碗就白洗了,報酬也會拿不到,很可能第二天還要繼續洗碗。最後那個公認的賬本也只會增加,不會減少。後續加入的家庭成員都會從最長的那個賬本那裡繼續結賬。
所以,在以上例子中區塊鏈承擔著一個分佈式大賬本的作用,能夠記錄全家人的賬本並且保證賬本的透明度和信任度。
理解了去中心化,我們還要理解“區塊鏈”這個詞背後的原理,即區塊(Block) 和鏈(Chain)。
區塊是什麼?
區塊其實就好比一個個小小的賬本,上面記錄著每一筆交易數據。賬本中的每個區塊都通過密碼鏈接到上一個區塊。簡單來說,每一個新區塊都必須包含上一個區塊的某種數字指紋(哈希),也就是每個小賬本之間都是互相關聯的呢。由於每個數字指紋都指向上一個數字指紋,因此最終會鏈接成一串區塊,也就是一個個小小的賬本最終構成了一個龐大的地球村賬本,酷一點的說法就是區塊鏈啦。
因為牽一發而動全身,每個交易區塊都是環環相扣,這就保證了這個龐大的分佈式數據庫不會被篡改數據。理解了區塊,你就理解了最重要的概念,因為往後你在加密世界的每一筆交易都會成為鏈上的一個個區塊,如果要查看自己的交易記錄,可以隨時在區塊鏈瀏覽器上查看這個區塊上的交易信息。
而正是因為區塊鏈“不可篡改”的特性,保證了在沒有中介巨頭擔保見證的情況下,任何一筆交易發生時,區塊鏈背後的算法以及激勵機制吸引大量其它人來參與記賬、保障交易的順利進行,對交易雙方而言,這筆交易是點對點(Peer-to-Peer)的直接交易,無需將資產轉移到中間人賬戶。
舉個實際的例子,如果通過互聯網的方式轉賬,你需要綁定銀行卡,而銀行開戶流程基本是“提交身份資料——開設銀行賬戶——提供銀行卡號——設置銀行卡密碼——開戶成功”。如果你需要轉賬,那麼你需要知道對方的銀行卡賬號或者收款二維碼,而這背後始終都需要對方已經開立銀行賬戶。每一次交易及轉賬,銀行系統或第三方機構系統都會記錄下流水數據。
而區塊鏈的方式,只要雙方都擁有一個加密地址,即可相互無國界轉賬,無需繁瑣的銀行開戶和身份認證方式。
通過以上講解,您是否理解了區塊鏈呢?那就通過實踐完成您的第一筆區塊鍊網絡轉賬吧。