【區塊鏈科普】1. 導讀篇——區塊鏈的What、Why、How

2020-06-03 18:27:17

作為一種新興技術,區塊鏈技術經過十年的發展,已經從數字貨幣開始延伸到數字金融、物聯網、智能製造、供應鏈管理、數字資產交易等多個領域,“區塊鏈”本身也從一個密碼極客們口口相傳的專業名詞一躍成為人盡皆知的新基建技術。但由於具備相當的專業度及複雜度,區塊鏈技術的入門門檻相對較高,許多對區塊鏈懷揣憧憬的朋友難入其門。鑒於此,CoinEx Wallet團隊特推出“CoinEx Wallet學院”系列科普,力求用最簡單易懂的語言為大家帶來有趣有料的區塊鏈科普。

 

今天帶來第一篇《導讀篇——區塊鏈的What、Why、How》,我們將從區塊鏈是什麼、為何而生、如何實現三個角度提綱挈領為大家理清區塊鏈技術脈絡,為未來細緻的科普內容提供理論基礎。

 

區塊鏈為何而生?

 

區塊鏈本質上是一個去中心化的資料庫。

 

資料庫,相信大家或多或少都曾經聽說過。顧名思義,資料庫就是一個存放數據的庫,幾乎每個行業都需要擁有自己的資料庫。

 

比如銀行,銀行系統是一個記載著我們每個人擁有多少資產以及我們資產轉入轉出記錄的資料庫;再比如淘寶,淘寶的背後有一個記載著商品資訊、用戶資訊、交易資訊甚至物流資訊的資料庫;即使是一些傳統企業,比如汽車製造商,也會建立一個記載零配件資訊、供應商資訊、商品售賣資訊的資料庫。

 

上述這些資料庫都是由某個主體(央行、阿裏、汽車廠商)整合數據並存入伺服器,數據的更新和維護工作也由這些主體完成,我們將這種模式稱為中心化資料庫。

 

那麼,為什麼需要去中心化的資料庫?

 

毋庸置疑,中心化資料庫非常方便,但中心化資料庫也存在一定問題。

 

首先是外部風險,傳統的中心化資料庫會把數據集中存放在某一個或某幾個伺服器中,萬一伺服器有個“頭疼腦熱”,出現諸如斷電、設備故障等意外狀況,整個資料庫就將無法訪問甚至崩潰。

 

除了外部風險外,中心化本身對於普通人來說也很不友好。

 

中心化會帶來嚴重的權力不平衡問題,我們平時在各式各樣的促銷活動中經常能看到這樣一句話,“本活動最終解釋權歸XX公司所有”,翻譯一下,這句話基本等同於“我不要你覺得,我要我覺得”。

 

中心化的資料庫同樣如此,身為普通用戶,我們無法確認傳統資料庫中的數據是否被損壞或篡改,我們也無法知曉我們的數據是否遭到洩漏。

 

鑒於此,人們開始思考如何構建一個去中心化、不可篡改、可追溯、公正透明的資料庫,區塊鏈為此而生。

 

如何打造區塊鏈?

 

從技術層面說,區塊鏈系統由數據層、網路層、共識層、激勵層、合約層和應用層組成。

 

 

數據層

 

小學二年級我們就學過,縮句的時候的“字”前面的都可以刪掉,“的”字後面的才最重要。因此,想要構造一個“具有XXX特性的資料庫”,最底層就是數據層。

 

數據層需要負責存儲數據、規定數據的存儲方式,還需要規定一些技術手段來保證數據不可篡改、可追溯、安全透明,主要用到的技術手段包括時間戳、Merkle樹、非對稱加密、哈希演算法等,我們會在以後的文章為大家詳細解釋,這裏暫時不做過多展開。

 

網路層

 

當一個資料庫具備數據存儲功能後,就要考慮數據的傳輸問題,因此接下來要做的就是在數據層上打造網路層。

 

既然區塊鏈是一個去中心化的資料庫,那麼在傳輸方式上就需要設計成點對點網路,讓全網所有參與者都可以自由收發數據資訊,並由所有人共同參與資料庫的維護。

 

由於缺少中心化伺服器,我們必須在網路層上寫入數據的傳輸方式、驗證方式等,確保數據在傳輸過程中安全可靠。

 

共識層

 

在現實中,人們通過政府法律法規或者公司行為規範來防止用戶作惡。但作為一個人人平等的資料庫,區塊鏈系統中不存在一個可以制定規則的強力機構,我們需要一個人人認可的機制來約束用戶行為。

 

如果存在一個完全沒有法律、道德約束的孤島,人性之惡將被無限放大,世界將充滿無序與混亂。毫不誇張地說,共識層是一個區塊鏈網路中最核心的部分。

 

目前最主流的共識機制是工作量證明機制(PoW)和權益證明機制(PoS),除此之外還有像拜占庭容錯(PBFT)、委託權益證明(DPoS)等機制。

 

共識機制各有優劣,一個區塊鏈系統採用哪種機制很大程度上取決於開發者想要達成什麼樣的目的,這個我們以後再說。

 

激勵層

 

有了數據層、網路層和共識層後,一個基本的去中心化資料庫就已經構建完成。在這個資料庫上,我們已經能保證數據的安全存儲、自由流通、更新維護。但這個資料庫是不完美的,它要求每個節點用愛發電,自願消耗資源參與資料庫的建設維護。

 

這種模式顯然是不可持續的,所以我們需要向參與網路的節點提供一定程度獎勵,讓他們有動力繼續建設維護區塊鏈,激勵層由此而來。

 

激勵層需要考慮比較長遠,從區塊鏈誕生的那一刻起,我們就需要明確發行什麼代幣、代幣總量多少、通過什麼形式發放、釋放速度如何。我們通常將這一系列設定稱為代幣經濟模型,設計經濟模型需要慎之又慎,經濟模型的好壞很大程度上會決定一個區塊鏈的成敗。

 

應用層和合約層

 

有了數據層、網路層、共識層和激勵層後,我們的目標已經初步達成,“一個人人平等、不可篡改、可追溯、公正透明的資料庫”,這樣就已經足夠了嗎?

 

遠遠不夠,我們在“區塊鏈為何而生”中說過,每個行業都需要資料庫,這才是資料庫最大的意義。在構建一個我們滿意的資料庫後,接下來的問題就是如何將之運用到各個行業中,這就是應用層。

 

但在打造應用層時,我們會遇到另外一個問題,就是每設計一個應用時,我們都需要從頭開始設計整個區塊鏈系統,這種做法相當吃力不討好。就是像我們現在要設計一個類似於淘寶的電商平臺,卻被告知要自己先做一臺電腦一樣可笑。

 

因此,我們需要先打造一臺屬於區塊鏈世界的“超級電腦”,這臺“超級電腦”就是合約層,我們將各種腳本、代碼、演算法機制及智能合約寫入其中。在實現區塊鏈可編程化的基礎上,再在合約層的基礎上打造應用層。

 

 

數據層、網路層、共識層、激勵層、合約層、應用層,這六個層級就像是樂高積木,我們可以選擇替換其中任何一塊,設計各式各樣的區塊鏈系統。

 

 

接下來一段時間,我們將以每個層級及其相關技術概念為線索進行科普,帶大家一窺區塊鏈究竟,敬請期待。