區塊鏈-技術簡介

RonTech發表於2018-03-30

1、什麼是區塊鏈?

區塊鏈技術是利用塊鏈式資料結構來驗證與儲存資料、利用分散式節點共識演算法來生成和更新資料、利用密碼學的方式保證資料傳輸和訪問的安全、利用由自動化指令碼程式碼組成的智慧合約來程式設計和運算元據的一種全新的分散式基礎架構與計算正規化。簡單來講, 在區塊鏈系統中, 每過一段時間, 各參與主體產生的交易資料會被打包成一個資料區塊, 資料區塊按照時間順序依次排列, 形成資料區塊的鏈條,各參與主體擁有同樣的資料鏈條, 且無法單方面篡改,任何資訊的修改只有經過約定比例的主體同意方可進行,並且只能新增新的資訊,無法刪除或修改舊的資訊,從而實現多主體間的資訊共享和一致決策, 確保各主體身份和主體間交易資訊的不可篡改、 公開透明。

區塊鏈發展到今天,已經湧現出許多形形色色的區塊鏈專案, 這裡梳理了這些區塊鏈專案在技術上的共性: 區塊、 賬戶、 智慧合約、 共識, 這 4 個主要部分構成了目前的區塊鏈系統的通用模型 。

  • 通過鏈式結構記錄狀態的變更歷史,每一次變更的狀態“快照”都以“區塊” 的形式記錄;

  • 通過非對稱金鑰對錶示參與者身份,以某種形式的狀態資料庫記錄當前的資訊, 這部分被稱為“賬戶” ;(注: 以太坊、 Fabric 是賬戶模型, 而比特幣是 UTXO 模型)

  • 通過鏈上編碼定義參與者之間的承諾,這部分被稱為“智慧合約” ;

  • 通過某種演算法在多節點之間達成狀態一致, 這個過程被稱為“共識” 。

2、區塊鏈有哪些特點?

從技術構成的角度來觀察區塊鏈有助於我們揭開它的神祕面紗, 實事求是地分析區塊鏈, 並揭示它的本質特點,理解其價值發揮的內在邏輯。 如前所述, 區塊鏈並不是一個全新的技術, 而是結合了多種現有技術進行的組合式創新,是一種新形式的分散式加密儲存系統。

區塊鏈本質上是一種健壯和安全的分散式狀態機,典型的技術構成包括共識演算法、 P2P通訊、密碼學、 資料庫技術和虛擬機器。這也構成了區塊鏈必不可少的 5 項核心能力:

  • 儲存資料:源自資料庫技術和硬體儲存計算能力的發展,隨著時間的累積,區塊鏈的大小也在持續上升,成熟的硬體儲存計算能力, 使得多主體間同時大量儲存相同資料成為可能;

  • 共有資料:源自共識演算法,參與區塊鏈的各個主體通過約定的決策機制自動達成共識, 共享同一份可信的資料賬本;

  • 分散式:源自 P2P 通訊技術,實現各主體間點對點的資訊傳輸;

  • 防篡改與保護隱私:源自密碼學運用, 通過公鑰私鑰、 雜湊演算法等密碼學工具,確保各主體身份和共有資訊的安全;

  • 數字化合約:源自虛擬機器技術,將生成的跨主體的數字化智慧合約寫入區塊鏈系統,通過預設的觸發條件, 驅動數字合約的執行。

3、區塊鏈適合解決哪些問題?

通過對比分析、 研究國內外各領域的典型應用案例及相關參考文獻,獲得了一些有助於在業務中推廣及應用區塊鏈的經驗, 並推薦具有以下特點的應用場景或問題,應該積極考慮嘗試區塊鏈技術:

  • 業務開展需要進行跨主體協作

當需要為開展跨主體的業務建設 IT 系統時, 傳統的解決方案通常是兩種思路。要麼建立和運營一箇中心化的系統來處理各個參與方的業務需求,業務資料由中心化的組織維護;要麼採用 SOA 架構, 由各個參與方釋出服務介面,並相互呼叫,資料仍然維護在各個參與方。如果採用中心化的方案,若是業務的參與方之間是相對獨立平等的,要開發建設一箇中心化系統是很困難的, 包括協調、 立項、 成本分攤等問題。 如果採用 SOA 的方案, 則技術實踐上比較複雜, 技術方案缺少通用性, 難以支援複雜的業務。 此外,從資料的角度來看,無論是中心化的方案還是 SOA, 都難以實現資料防篡改。

在業務參與方之間相對獨立平等的跨主體業務協作的場景下, 利用區塊鏈的共有資料、防篡改、 分散式和數字化合約的特點, 能夠把一些以往需要在業務層面協調解決的問題, 放到技術層面來解決, 使得問題的解決過程更高效、靈活以及更具客觀性。

  • 業務開展需要參與方之間建立低成本信任

大多數業務開展都需要建立一定的信任基礎,尤其是跨主體的場景下。 對信任建立困難、信任維護成本高的應用場景, 區塊鏈可以提供非常有效幫助。

我們從三個方面來考察區塊鏈如何建立低成本信任:

1、資料可信

傳統的解決方案中,資料通常是以中心化的方式儲存,本應共有的業務資料卻被強勢的參與方持有。 這種模式下,資料的可信度是由資料持有者的商業/社會信用來保證的, 只能建立主觀的可信,對於一些重要的領域, 仍需要付出額外的成本來規避資料被惡意篡改的風險。

區塊鏈的解決方案是結合了密碼學雜湊和數字簽名,以區塊鏈條的形式將資料的變更歷史按時間先後鏈在一起, 並通過共識協議使得參與的各方都共同擁有這些資料。

由於多方分別持有相同的資料副本, 並且資料被簽名確認, 並記錄資料的“指紋”(雜湊值), 以密碼技術保證了資料無法被篡改, 資料因此變得可信。

區塊鏈使資料持有變得去中心化,以技術手段實現資料客觀“可信”。

2、合約履行

通常的合約(或者契約、 協定、合同) 的履行從根本上是由法律來保障的。合約被自覺履行一般都是因為有利益、 道德或法律後果, 受許多主觀因素影響。 商業活動中為了防止違約、或對違約進行追索, 需要付出高昂的成本(擔保、保險、律師費、漫長司法程式等等)。

區塊鏈智慧合約的本質是一套數字化形式的契約,由計算機確保嚴格執行。執行方式上, 通常的合約是事後以人的主觀意願來執行;而智慧合約是在觸發條件被滿足後,由計算機程式來保證合約及時地執行,具有客觀性。

我們把資產數字化到區塊鏈或與區塊鏈錨定, 採用智慧合約來描述對資產關係的承諾,同時智慧合約的執行過程和結果被區塊鏈嚴格記錄,這樣便可以降低履約成本和確保高效履約。

區塊鏈智慧合約帶來的是“契約” 的一種新的更精確的表示形式, 以及一種更客觀、 更嚴格的執行方式。由於契約是我們社會活動的基礎,因此這種變化將會帶來更廣泛的社會影響。

3、歷史可證明

區塊鏈固化了交易歷史,並提供對交易歷史的追溯查詢,保證交易的不可篡改和不可抵賴。

如果某個事件發生時,這個事件連同時間戳一起被記錄到區塊鏈中,將來就可以通過區塊鏈證明這件事確實在這個時間發生過。因此區塊鏈為參與交易的各方保留了可信的歷史記錄。

  • 業務過程存在長交易、 長週期鏈條

業務在多主體間流轉時, 難以確定間接主體的真實性和有效性,同時由於多主體間的業務隔離, 難以延伸出多級業務。區塊鏈從技術上保證整個長交易、 長週期鏈條的各參與主體身份真實,資料可信, 實現信用的多級傳遞, 促進業務鏈條扁平化,提升業務效率。

比特幣作為區塊鏈技術的一種典型應用, 在交易市場上市值已達千億美元,這樣的一個高市值系統卻是以開源的方式在公共網路上執行了多年, 表現出了良好的安全性和健壯性。比特幣系統的表現揭示了一個重要事實——以客觀區塊鏈技術為手段可以直接建立信任, 而不需中介背書。

如果我們把區塊鏈技術推廣運用到更廣泛的產業、金融、 公共服務等場景, 將使社會的生產分工方式產生巨大變化,這些變化包括:

  • 商業交易過程更容易達成信任, 從而降低風險, 使交易更具確定性;
  • 商業交易中間環節被縮減, 多方交易可直接達成;
  • 傳統中介的中心化的服務模式將發生鉅變。

這種影響目前已經逐漸顯現, 隨著區塊鏈的逐漸成熟和應用的不斷豐富,這種影響力將會像蝴蝶效應一般逐步放大和深入到整個社會, 推動去中心化或多中心化主體間的高效協同和共識決策。 人類因掌握“工具” 而發展文明,我們相信區塊鏈是一種新的“工具” ,最終將促進人類社會的進步發展。

4、區塊鏈發展面臨的挑戰

目前人們已經廣泛認識到區塊鏈巨大的應用價值,但是區塊鏈的技術發展卻還沒有到達成熟階段, 尤其在企業級應用方面, 區塊鏈的交易併發能力、 資料儲存能力、通用性、 功能完備性、 易用性都還存在明顯不足。

  • 交易併發能力

目前開源的區塊鏈系統的高併發交易能力普遍不高, 其中,共識演算法是制約效能的重要方面。在區塊鏈中使用的典型共識演算法主要有: PoW、 PoS、 DPoS、 PBFT 等。

制約效能的另一個重要因素是賬本結構。 目前典型的區塊鏈賬本設計為區塊的單鏈結構, 意味著從全域性來看所有的交易都只能順序地被處理。 由於交易處理缺少並行度,因而難以獲得接近於傳統中心化系統的效能表現。

企業場景下的交易併發量通常要求在每秒處理數百至數千筆以上的交易, 遠高於目前包括公有鏈、聯盟鏈在內的典型區塊鏈的表現,而且還要求區塊鏈的效能表現可以隨著業務規模的增長而動態伸縮。 因此, 現實和目標之間存在數量級的差別, 需要持續優化和提升區塊鏈系統高併發交易效能。

  • 資料儲存能力

在資料儲存能力方面,由於區塊鏈的資料只有追加而沒有移除,資料只增不減, 隨著時間推移, 區塊鏈系統對資料儲存大小的需要也只能持續地增大,在處理企業資料時這一趨勢增長更甚。

不同於公鏈數字貨幣的主要內容是“賬戶餘額” , 企業場景下的資料包含結構化和非結構化資料,資料量十分龐大。以電商供應鏈為例, 主要電商入口的每日資料記錄條數通常都在千萬級以上, 如再沿著供應鏈條進一步展開時,每延伸一級資料量都會進一步放大。

目前典型的區塊鏈系統在實現對賬本資料的儲存時,典型的實現方式是基於檔案系統或者簡單的 KV 資料庫儲存, 沒有采用分散式儲存的設計,因而資料儲存能力與實際需要之間也存在較大的差距, 需要探索更為有效的大資料儲存方式。

  • 通用性

區塊鏈需要適應多樣化的業務需求,滿足跨企業的業務鏈條上的資料共享,這意味著區塊鏈對資料的記錄方式要有足夠的通用和標準,才能表示各種結構化和非結構化的資訊,並能夠滿足隨著業務範圍擴充所需的跨鏈要求。

目前市面上的區塊鏈系統大多采用特定的共識演算法、 加密演算法、 賬戶模型、 賬本模型、儲存型別,缺少可插拔能力, 無法適應不同場景要求。

  • 功能完備性

縱觀現有區塊鏈平臺, 模型抽象單一, 難以適應業務系統快速開發的要求。 另外, 缺少對企業應用中常見的一些功能的支援,例如使用者認證、 多級授權等。 再者,涉及到企業業務協作時, 跨企業的事件通知機制顯得尤為重要,但少有區塊鏈平臺支援。

  • 易用性

區塊鏈是由多種技術構成的,導致學習成本高、 實施難度大、 人才稀缺。如何讓使用者快速理解區塊鏈,低成本學習區塊鏈,並將區塊鏈技術快速應用到自身的業務中去,目前來看有很大的挑戰。區塊鏈技術需要降低學習和使用門檻,支援快速實施部署,提供貼近業務的介面,推廣使用。

從比特幣的提出到今天為止, 人們嘗試了非常多樣化的應用場景。 最初是幣(coin) 的應用,各種數字貨幣的出現和熱炒引起了廣泛關注和討論。人們發現,作為比特幣底層技術的區塊鏈可以用來解決現有業務的一些痛點, 創新業務模式, 於是金融和產業領域開始形成一些組織聯盟, 如 R3、 Hyperledger 等。 技術圈也逐漸將更多的關注從“幣” 轉到了區塊鏈的企業級應用。

人們在許多領域進行了廣泛的嘗試, 例如供應鏈管理, 網際網路金融,證券和銀行業務,貿易融資,保險,醫療健康, 資產管理, 數字版權保護,公益慈善,政府公共服務, 監管合規性與審計,遊戲,公益等等。 但是,目前已經成功落地的區塊鏈應用比較少,無論是技術還是業務都還處在摸索階段。

業界的積極實踐進一步鞏固和加深了人們對區塊鏈潛在價值的認識,但卻鮮有成功的落地案例,大多數停留在理念或 POC 階段, 這種狀況的形成受許多因素影響:

1、不適用的、不可持續的場景

有不少案例是為了區塊鏈而區塊鏈, 而不是從解決業務痛點出發,導致案例缺少有效價值,例如對一些不需要公開的資訊進行存證。 或者沒有結合區塊鏈的特點來設計業務創新,仍然以傳統的思路來設計業務模式,例如仍然用中心化影響力來把業務簡單地搬到鏈上,不能高效地擴充業務邊界。

2、錯誤的實施方法

沒有充分認識區塊鏈的技術特點, 無法設計出合理的技術方案。比較典型的例子如把區塊鏈簡單地當做資料庫,把原來中心化系統資料直接搬到區塊鏈上。

3、技術不成熟

沒有充分認識區塊鏈技術目前的成熟度現狀,過於樂觀地選擇技術方案。目前區塊鏈在效能、擴充套件性、易用性、功能完備性、運維成本等許多方面都還有待完善, 更合理的應用方式應該是以應用層業務系統為主,區塊鏈底層完善優化為輔, 開展區塊鏈技術應用。

4、人才稀缺

區塊鏈是個多學科綜合技術解決方案,包括分散式、儲存、密碼學、網路通訊、晶片技術、經濟學、法律等,技術專業能力要求高,技術學習、 人才培養、 實踐經驗積累週期長。

目前影響區塊鏈應用落地的因素有很多, 以上僅簡單列舉幾點,以此說明區塊鏈的發展仍然任重道遠。

相關文章