天天看點

區塊鍊核心概念注解

一、綜述

從2017年下半年開始,由于比特币幾次漲跌大起大落,外加國家國家相關部門對比特币的幾次發聲,導緻區塊鍊這個詞非常頻繁地出現在各大媒體上。2017年已經過去,轉眼之間我們來到2018年,2018年是區塊鍊落地的一年,很多公司相繼推出了自己的區塊鍊産品。如今,區塊鍊正處于如日中天的階段,緊跟時代步伐,我将按照以下思維導圖對區塊鍊進行介紹。 

二、區塊鍊的定義

  • 狹義:區塊鍊是一種按照時間順序将資料區塊以順序相連的方式組合成的一種鍊式資料結構, 并以密碼學方式保證的不可篡改和不可僞造的分布式賬本。
  • 廣義:區塊鍊技術是利用塊鍊式資料結構來驗證與存儲資料、利用分布式節點共識算法來生成和更新資料、利用密碼學的方式保證資料傳輸和通路的安全、利用由自動化腳本代碼組成的智能合約來程式設計和操作資料的一種全新的分布式基礎架構與計算方式。
  • 通俗了解:區塊鍊技術是一種整個系統内所有個體都參與記賬的方式。系統内所有個體(成員)都有一個在系統内部公開的資料庫,我們可以把這個資料庫看成是整個區塊鍊的賬本。在日常生活中,大部分系統都是中心化的,例如:我們去銀行取錢,記賬的是銀行。我們使用的微信,負責記賬的是騰訊。我們使用的支付寶,是阿裡在記賬。在區塊鍊系統中,系統中的每個個體(成員)都可以有機會參與記賬。在一定時間段内如果有資料變化,系統中每個個體(成員)都可以來進行記賬,系統會評判這段時間内記賬最快最好的個體(成員),讓他把記錄的内容寫到賬本,并将這段時間内賬本内容對整個系統進行公開,任何個體(成員)都可以随時檢視。這樣系統中的每個個體(成員)都了一本完整的賬本。就這樣,區塊鍊技術解決了中介信用問題,這也是區塊鍊的一個重大突破。在區塊鍊之前,比特币可能已經被大家所熟知,比特币是區塊鍊技術的一種實踐,區塊鍊不是比特币。

三、區塊鍊的特點

  • 去中心化:由于使用分布式核算和存儲,不存在中心化的硬體或管理機構,任意節點的權利和義務都是均等的,系統中的資料塊由整個系統中具有維護功能的節點來共同維護。
  • 開放性:系統是開放的,除了交易各方的私有資訊被加密外,區塊鍊的資料對所有人公開,任何人都可以通過公開的接口查詢區塊鍊資料和開發相關應用,是以整個系統資訊高度透明。
  • 自治性:區塊鍊采用基于協商一緻的規範和協定(比如一套公開透明的算法)使得整個系統中的所有節點能夠在去信任的環境自由安全的交換資料,使得對“人”的信任改成了對機器的信任,任何人為的幹預不起作用。
  • 不可篡改和加密安全性:一旦資訊經過驗證并添加至區塊鍊,就會永久的存儲起來,除非能夠同時控制住系統中超過51%的節點(少數服從多數),否則單個節點上對資料庫的修改是無效的,是以區塊鍊的資料穩定性和可靠性極高。
  • 匿名性:由于節點之間的交換遵循固定的算法,其資料互動是無需信任的(區塊鍊中的程式規則會自行判斷活動是否有效),是以交易對手無須通過公開身份的方式讓對方自己産生信任,對信用的累積非常有幫助。

四、區塊鍊的發展曆程

  • 區塊鍊1.0——數字貨币
  • 區塊鍊2.0——智能合約與金融領域(數字資産)

智能合約是以區塊鍊技術為基礎,能夠自我執行的條約;一旦滿足條件,就可以自動觸發行為或付款。不久的将來,智能合約将能利用資産GPS資料等實時資訊觸發事件,比如轉移所有權和資金。

  • 區塊鍊3.0——泛行業去中心化應用(區塊鍊+)

五、區塊鍊的類型

公有區塊鍊(PublicBlockChains)

公有區塊鍊是指:世界上任何個體或者團體都可以發送交易,且交易能夠獲得該區塊鍊的有效确認,任何人都可以參與其共識過程。公有區塊鍊是最早的區塊鍊,也是目前應用最廣泛的區塊鍊,各大bitcoins系列的虛拟數字貨币均基于公有區塊鍊,世界上有且僅有一條該币種對應的區塊鍊。

聯盟(行業)區塊鍊(ConsortiumBlockChains)

行業區塊鍊:由某個群體内部指定多個預選的節點為記賬人,每個塊的生成由所有的預選節點共同決定(預選節點參與共識過程),其他接入節點可以參與交易,但不過問記賬過程(本質上還是托管記賬,隻是變成分布式記賬,預選節點的多少,如何決定每個塊的記賬者成為該區塊鍊的主要風險點),其他任何人可以通過該區塊鍊開放的API進行限定查詢。

私有區塊鍊(privateBlockChains)

私有區塊鍊:僅僅使用區塊鍊的總賬技術進行記賬,可以是一個公司,也可以是個人,獨享該區塊鍊的寫入權限,本鍊與其他的分布式存儲方案沒有太大差別。目前(Dec2015)保守的巨頭(傳統金融)都是想實驗嘗試私有區塊鍊,而公鍊的應用例如bitcoin已經工業化,私鍊的應用産品還在摸索當中。

側鍊(sidechains)

側鍊(sidechains)實質上不是特指某個區塊鍊,而是指遵守側鍊協定的所有區塊鍊,該名詞是相對與比特币主鍊來說的。側鍊協定是指:可以讓比特币安全地從比特币主鍊轉移到其他區塊鍊,又可以從其他區塊鍊安全地傳回比特币主鍊的一種協定。顯然,隻需符合側鍊協定,所有現存的區塊鍊,如以太坊、萊特币、暗網币等競争區塊鍊都可以成為側鍊。

六、區塊鍊涉及到的技術

  • 密碼學

    加密:加密簡單而言就是通過一種算法手段将對原始資訊進行轉換,資訊的接收者能夠通過秘鑰對密文進行解密進而得到原文的過程。按照加密方和解密方秘鑰相同與否可以将加密算法大緻分為三種子類型:對稱加密、非對稱加密、對稱加密與非對稱加密混合。

    哈希(hash):哈希能夠實作資料從一個次元向另一個次元的映射,通常使用哈希函數實作這種映射。通常業界使用y = hash(x)的方式進行表示,該哈希函數實作對x進行運算計算出一個哈希值y。

  • 分布式賬本:分布式賬本是一個記錄交易資訊的資料庫,在多台電腦之間共享和同步,無需集中管控。各方都擁有一份相同的記錄,如有任何新增内容,所有記錄都會即時自動更新。
  • P2P動态組網:P2P技術是區塊鍊技術的基石。提起P2P,很多人會想起網絡借貸、資訊中介等概念,會想起陸金所、宜人貸、人人貸等平台。實際上,作為區塊鍊基石的此P2P并非彼P2P,而是指對等網絡。
  • 共識機制

    PoW( Proof of Work)工作量證明:依賴機器進行數學運算來擷取記賬權,資源消耗相比其他共識機制高、可監管性弱,同時每次達成共識需要全網共同參與運算,性能效率比較低,容錯性方面允許全網50%節點出錯。

    PoS(Proof of Stake)權益證明:主要思想是節點記賬權的獲得難度與節點持有的權益成反比,相對于PoW,一定程度減少了數學運算帶來的資源消耗,性能也得到了相應的提升,但依然是基于哈希運算競争擷取記賬權的方式,可監管性弱。該共識機制容錯性和PoW相同。它是Pow的一種更新共識機制,根據每個節點所占代币的比例和時間,等比例的降低挖礦難度,進而加快找随機數的速度。

    DPoS(Delegated Proof of Stake)股權授權證明:有别于比特币特定的共識機制,DPoS有一個内置的股權人實時投票系統,就像随時都在召開一個永不散場的股東大會,所有股東都在這裡投票決定公司決策。與比特币相比,比特股系統的投票權牢牢掌握在股東手裡,而不是雇員。

    PBFT(Practical Byzantine Fault Tolerance)實際拜占庭容錯:在保證活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容錯性。在分布式計算上,不同的計算機透過訊息交換,嘗試達成共識;但有時候,系統上協調計算機(Coordinator / Commander)或成員計算機 (Member /Lieutanent)可能因系統錯誤并交換錯的訊息,導緻影響最終的系統一緻性。

    傳統分布式一緻性算法應用:傳統分布式一緻性算法大多不考慮拜占庭容錯(Byzanetine Paxos除外),即假設所有節點隻發生當機、網絡故障等非人為問題,并不考慮惡意節點篡改資料的問題。傳統分布式一緻性算法是面向日志(資料庫)的,即更通用的情況,而區塊鍊共識模型面向交易的,是以嚴格來說,傳統分布式一緻性算法應該處于區塊鍊共識模型的下面一層。

  • 智能合約:智能合約是一種用計算機語言取代法律語言去記錄條款的合約。智能合約可以由一個計算系統自動執行。如果區塊鍊是一個資料庫,智能合約就是能夠使區塊鍊技術應用到現實當中的應用層。傳統意義上的合同一般與執行合同内容的計算機代碼沒有直接聯系。紙質合同在大多數情況下是被存檔的,而軟體會執行用計算機代碼形式編寫的合同條款。智能合約的潛在好處包括降低簽訂合約、執行和監管方面的成本;是以,對很多低價值交易相關的合約來說,這是極大降低人力成本。通俗地講,就是合約制定者将合約制定以後,将合約内容轉化為程式設計語言存在區塊鍊平台上(需要用區塊鍊返給制定者的私鑰進行簽名),合約通過P2P的方式在區塊鍊全網中擴散,每個節點都會收到一份(相當于無數個人儲存并監督這份合約的内容),當時間合适且滿足合約内容時,就會自動執行這一份合約。
  • 激勵機制:以比特币為例,比特币中的挖礦就是在記錄交易資訊,而每次挖成功的塊中的第一條交易被稱為coinbase交易,這個交易中是比特币網絡給礦工的獎勵,這個獎勵每四年減半,我們已經到了第三個四年了,是以,每個區塊的獎勵是12.5個比特币。我們知道,比特币的發行上限是2100萬枚。某一天達到上限時,系統則不能再利用産生的比特币來獎勵給礦工了,這時候系統則會使用交易費用來獎勵給礦工。
  • 跨鍊技術:跨鍊技術就是實作價值網絡的關鍵,它是把聯盟鍊從分散單獨的孤島中拯救出來的良藥,是區塊鍊向外拓展和連接配接的橋梁。

七、區塊鍊涉及到産業

  • 應用服務層

    可程式設計貨币:在可程式設計貨币中,數字貨币是我們比較熟知的概念了。可程式設計貨币既數字貨币,其不同于電子貨币,是一種價值的資料表現形式,通過資料交易并發揮交易媒介、記賬機關及價值存儲的功能,但它并不是任何國家和地區的法定貨币,也沒有政府當局為它提供擔保,隻能通過使用者間的協定來發揮上述功能。而電子貨币是将法定貨币數字化後以支撐法定貨币的電子化交易,是以二者并不等同。目前數字貨币的主流是以比特币為代表的去中心化的數字貨币。

    可程式設計金融:可程式設計金融應用是指區塊鍊在泛金融領域的衆多應用。基于區塊鍊可程式設計特點,人們嘗試将智能合約添加到區塊鍊系統中,形成可程式設計金融。智能合約的核心是利用程式算法替代人執行合同。這些合約需要自動化的資産、過程、系統的組合與互相協調。合約包含三個基本要素:要約、承諾、價值交換,并有效定義了新的應用形式,使得區塊鍊從最初的貨币體系拓展到金融的其他應用領域,包括在股權衆籌、證券交易等領域開始逐漸有應用落地。

    可程式設計社會:可程式設計社會應用是指随着區塊鍊技術的發展,其應用能夠擴充到任何有需求的領域,包括審計公證、醫療、投票、物流等領域,進而到整個社會。區塊鍊是價值網際網路的核心,能夠對于每一個網際網路中代表價值的資訊和位元組進行産權确認、計量和存儲。價值網際網路的核心是由區塊鍊構造一個全球性的分布式記賬系統,它不僅僅能夠記錄金融業的交易,而是幾乎可以記錄任何有價值的能以代碼形式進行表達的事物。

  • 中間協定層:共識機制、激勵層、合約層。
  • 基礎網絡服務:資料層、網絡層。

八、總結

區塊鍊是一個比較複雜的體系,本文僅對比較核心的一些概念進行了簡單介紹,文中所提到的每一個概念如果進行深究都可以形成一篇比較有深度的文章。文中大量引用了網際網路上比較通俗的解釋外加自己的了解,配圖全部是自己手工繪制而成,如果需要原稿可以與我取得聯系。

原文釋出時間為:2018年03月08日

本文作者:滇池孤鴻

本文來源:

CSDN

,如需轉載請聯系原作者。