產品訊息

→新聞中心

 

揭開區塊鏈的神秘面紗:篩選利益,範例和選擇

您可能已經聽說區塊鏈會破壞從銀行到零售到身份管理的所有內容。您可能已經看到過IBM的商業廣告,宣傳區塊鏈的供應鏈追踪效益。[i]幾乎每個行業都在投資,採用或實施區塊鏈。有人可能告訴過你,區塊鏈可以完全改變你的業務!這種炒作或區塊鏈真的會產生如此巨大的影響嗎?在此分析中,我們將探索實現這種快速開發技術的實際和人為的例子。我們還將解釋區塊鏈提供的兩個主要好處,以及何時在其他地方尋找合適的解決方案。我們將解釋主要區塊鏈的主要區別特徵,以幫助您選擇最適合您的區塊鏈。

誰使用區塊鏈?

加密貨幣可能是區塊鏈使用的最著名的例子,但它們不是唯一的。美國運通於2018年5月推出了與其會員獎勵計劃相關的區塊鏈。[ii]該計劃與傳統貨幣兌換和積分獎勵系統有很多相似之處。但是,將積分獎勵系統集成到區塊鏈中可以提供超出交易的額外數據。美國運通使用它來提供對合作夥伴產品的深入了解,而合作夥伴則可以獲得對客戶行為的類 與該交易相關聯的數據對於獎勵計劃所有者和促進獎勵的合作夥伴都是有價值的。產品製造商可以這種方式使用區塊鏈系統通過自己的渠道接受獎勵購買,而程序所有者可以更多地了解庫存數據。可以簡化向所有各方的數據共享,豐富整個生態系統。[iii]

不僅金融機構投資區塊鏈。能源部門也在製定計劃。LO3 Energy正在努力改變能源的分配方式,特別是在當地區域。[iv]利用這項技術,它們可以促進消費者之間的能源交易,減少效率低下和依賴非本地來源。西門子於2017年12月宣布對LO3 Energy進行額外投資。他們將共同努力建立微電網社區和當地能源市場。[v]區塊鏈不僅存儲能源交易記錄; 它還可以促進和實施業務規則,在用戶之間創建事務的自動執行。

即使您未來的通勤也可能受到區塊鏈技術的積極影響。汽車行業正在大力投資區塊鏈。2018年5月2日,移動開放區塊鏈計劃宣布成立一個汽車製造相關合作夥伴聯盟,以標準化行業中的區塊鏈使用。[vi]該公告列出了幾個即將開展的項目:

  • 車輛身份,歷史和數據跟踪
  • 供應鏈跟踪,透明度和效率
  • 自動機器和車輛付款
  • 安全移動生態系統商務
  • 自動駕駛和人駕駛的數據市場
  • 汽車共享和乘車歡呼
  • 基於使用的移動定價和車輛,保險,能源,擁堵,污染和基礎設施的支付

其中許多項目與數據管理有關。這是一個顯而易見的應用,因為區塊鍊是一種以數據為中心的結構。最近,福特獲得了與該合作夥伴關係相關的專利。[vii]在該專利中,該公司提出了一種車輛到車輛合作的系統來控制交通。

圖1:福特專利申請中的交通擁堵圖。資料來源:福特全球技術。

為了減少擁堵,每輛車可以相互通信以協調運動,從而改善交通流量。該系統還允許車輛基於優先級進行協作。如果駕駛員匆忙,那麼車輛可以協調交通流量以達到該個人的速度。一個有益的應用可能是緊急響應者。

區塊鏈仍然處於起步階段,但已經在某些行業中佔據了一席之地。您不需要成為程序員就能理解其價值。有許多用例,在您確切了解區塊鍊是什麼以及它解決了哪些問題之前,其中一些用例並不明顯。將區塊鏈應用於正確的問題可能會對您的成功產生重大影響。將區塊鏈應用於錯誤的問題可能會降低您的效率並浪費時間和資源。

什麼是區塊鏈?

我們不是用技術術語(如nonce,哈希函數,merkle樹和其他復雜概念)來解釋區塊鏈,而是從一個簡單的商業類比開始。

四家公司同意設計,印刷,交付和銷售2020年新年假期卡的商機。每家公司都負責自己的產品部分。如果產品在12月31日之前設計,印刷,交付和銷售,他們將獲得巨大的利潤。但是,如果任何一家公司退出或未能履行其任務,那麼整個項目都會失敗 - 從而導致重大損失。

假設在同意發運卡片後,送貨公司會收到一份新的,更有利可圖的報價。機會的利潤抵消了假日卡的任何損失。其優先級也相應改變。剩下的三家公司現在必須處理一個不能履行協議的不可靠成員的後果。當他們依賴別人而又不相信他們能夠遵循時,他們怎麼能達成協議呢?

這是區塊鏈解決的問題。區塊鏈不是依賴於政府等中央機構進行驗證和執行,而是以分散的方式解決了這個問題。它消除了信任貢獻者或任何權威的需要。它被稱為無信任網絡,這意味著不需要任何信任,因為任何成員都可以驗證所有信任。無信任系統的概念如何運作?

貢獻協議稱為共識。即使一個成員不同意,無論是出於惡意目的還是通過誤傳,都會達成共識。區塊鏈的主要功能是保證數據的共識和不變性。通過需要證明或投票閾值的一致性算法獲得共識。我們將討論具體的人口普查算法及其後續工作方式。

區塊鏈可以被認為是數據的分類帳,因此確保數據不會被篡改(不變性)可以驗證分類帳狀態。沒有人可以回去改變這些書。傳統上,分類賬被視為金融交易的記錄。但是,該概念適用於任何類型的數據。人們可以輕鬆地將文檔,圖像,日誌文件或其他項目存儲在區塊鏈中。甚至可以存儲分散的程序,也稱為智能合約。智能契約允許在區塊鏈上執行代碼,但代碼本身及其輸出只是一種特殊類型的數據。

圖2:存儲配方指令的簡化區塊鏈。Previous Hash和Stuff字段生成Hash字段。此哈希成為下一條記錄的一部分。

區塊鏈只有兩個基本要求:

  • 可驗證的塊鏈
  • 共識模型

塊只是存儲數據。在我們的示例中,塊存儲了四家公司的協議。對於加密貨幣,此數據是貨幣交易。對於新鮮農產品運輸公司,數據可能是傳感器日誌,以驗證正確的處理和環境控制。在某些不明顯的實現中,即使是看似無形的對象,例如可收集的紙牌遊戲中的規則,資產和用戶選擇,也可以存儲為塊。[viii]

僅僅因為一個塊包含數據並不能使它值得信賴。每個塊,更具體地說是其數據,需要所有客戶獨立驗證以確保達成共識。這個概念需要數據不變性。如果客戶無法驗證阻止,那麼它必須信任一些權威,最終打破分權的原則。同樣,為了避免技術術語,我們需要理解的是,塊可以通過散列唯一地標識。將散列視為未分配但未計算的唯一標識號。每個客戶端都可以使用相同的算法計算同一塊的相同哈希值。如果有的話數據更改,即使是單個字符,哈希也會完全更改。通過計算和存儲散列,所有各方都可以驗證數據沒有改變。(原則上,根據所使用的散列函數,有一個很小的機會,可以使用相同的散列識別多個塊。但是,可能性非常小,以至於對當前SHA-256哈希值的強力嘗試需要比宇宙時代更長的時間。)

我們也可以驗證整個“鏈”塊。因為任何塊的散列都只是數據,所以它可以添加到下一個塊的數據中。通過將一個塊的散列添加到下一個塊,我們可以互連所有塊的數據。任何塊的數據都取決於鏈中的所有先前數據。如果有人篡改任何前一個塊中的數據,那麼該塊的散列會像其父塊的散列一樣發生變化,從而一直向上延伸。無需獨立驗證每個塊的數據,我們可以計算每個散列並驗證所有數據的完整性。

但是,知道數據沒有改變不足以確保原始數據仍然完好無損。例如,心懷不滿的員工可能希望創建自己的區塊鏈並從記錄中刪除項目。在集中式系統中,我們可以限制對可信方(例如數據庫管理員)的寫訪問。在涉及多個公司或個人的分散系統中,限制使得該控制水平不切實際。有幾種方法可以達成共識,但分散區塊鏈有兩個主要類別:

  • 中本式共識(彩票)
  • 拜占庭容錯(投票)

第一類是Nakamoto式的共識,以第一個區塊鏈文章的作者命名。[ix]這種方法類似於使用具有一些可驗證的“成本”相關聯的彩票系統。由於加密貨幣是區塊鏈最常見的實現,因此成本歷來基於挖掘加密貨幣所需的處理能力,但也可能是存儲空間或時間等資源。

第二種共識方法是拜占庭容錯,這是一種基於當前網絡容錯研究的模型。儘管彩票類似於Nakamoto模型,但投票給拜占庭容錯模型也是如此。每種模型都有其優缺點,這在選擇共識模型時非常重要。我們將在後面的分析中描述主要的共識實現。

Nakamoto風格和Byzantine容錯共識都有幾種實現可供選擇。無論我們選擇哪種實現,一旦達成共識,這些塊就可以鏈接在一起,創建一個不可變數據的單個分類帳。可能存在多個鏈,但只有一個鍊是一致的。額外的鏈可以由偶然事件或惡意行為者製作,但網絡只能認為一條鍊是正確的。

下圖顯示了對來自模擬器的工作量證明共識模型的失敗攻擊。綠色節點都同意使用基於共識模型的最長鏈。由於工作量證明模型中的高處理成本,被描述為紅色節點的不良演員無法打破其他成員的共識。注意綠色或“誠實”節點都只是通過選擇工作最多的最長鏈來同意最新塊。

圖3:工作量證明模擬顯示儘管有惡意行為者的共識。

比較用例:好與壞

塊內的數據類似於數據庫中的記錄。許多場景可以通過使用傳統數據庫來完成,在某些情況下更適合這樣做。何時使用適當的區塊鏈,何時不使用?我們可以將這個問題歸結為兩個原則:

  • 業主權力下放
  • 缺乏信任

任何需要集中化和嚴格控制的系統都不適合區塊鏈。在許多情況下,我們可以使它工作,但我們會更好地尋找其他地方。集中式系統依賴於某些權限來決定什麼是有效的。它可以簡化,效率極高。通過使用區塊鏈,我們必須放棄權力,失去效率或保持權威,打破區塊鏈的主要好處。還有一些灰色地帶必須達到平衡。讓我們看看好的和壞的用例並進行比較。

權力下放:好的

愛麗絲擁有一家醫院,每週為數千名患者提供服務。醫務人員需要清楚地了解每位患者的病史,以便做出有效和安全的決策。當患者第一次進入時,會詢問他們記錄的常規醫療問題。當患者返回時,記錄由工作人員檢索和審查。但是,患者有時難以記住關鍵細節或遺漏重要信息。醫院可以向以前的醫療服務提供者索取信息。在時間敏感的情況下或當患者無法提供幫助時,這可能是不切實際的。患者可能有一個或多個他們已經忘記的提供者,讓工作人員不了解某些病史。

這是權力下放原則的一個例子。愛麗絲的醫院無法控制其所擁有的任何醫療數據。該數據取決於患者和其他醫療從業者的準確性。愛麗絲也無法控制其他從業者。她依賴於他們的及時合作。每個實體都需要確保數據是最新的和準確的,而不是由另一個負責。誰對整個病史有最終決定權?愛麗絲怎麼知道她是否擁有這一切?對問題肯定有集中解決方案,但患者數據流的分散性很好地適用於區塊鏈解決方案。針對這個問題的一些解決方案已在進行中。[x]

權力下放:不好

Bob是達拉斯地區連鎖餐廳的老闆。為鼓勵客戶回歸,他推出了獎勵制度; 顧客可以在任何一家餐館花錢賺取積分。他們可以使用積分來支付或減少他們的下一個賬單。作為獎勵,他希望這些積分可以轉讓給其他顧客。認識到他的積分系統和加密貨幣之間的相似性,Bob實施了一個區塊鏈來跟踪積分的分配和轉移。會員可以在獲得積分時加入他的區塊鍊網絡。他們可以通過將更改提交到網絡來支出積分。鮑勃甚至不需要點名。只要業主保留他們的帳戶密鑰,他們就可以自由地將積分轉移給任何人。

這種情況看似類似於加密貨幣實施和美國運通獎勵系統。然而,相似之處讓鮑勃感到困惑。他的顧客和個人餐館被認為是分散的。但是,鮑勃是所有餐廳的所有者,並為他們做出所有商業決策。這不是所有者的權力下放,而是管理的權力下放。在美國運通獎勵計劃中,每個合作夥伴都有自己的代理商。美國運通不控制他們或他們的行為。這是業主權力下放的一個例子。此外,鮑勃的客戶也不是獨立於鮑勃。如果Bob決定只提供披薩,那麼客戶將對他們可以訂購的產品有限制。即使作品具有不同程度的自主性,Bob也是整個系統的權威。他當然可以讓經理提供他們自己的菜單,但他們對他負責。Bob設想的系統未能實現分散化原則。

鮑勃可以實施他的積分系統嗎?當然。但是,他沒有獲得使用區塊鏈的許多優點,同時失去了傳統數據庫實現的效率和靈活性。他可以將積分加載到任何人都可以隨身攜帶的獎勵卡上,而不是區塊鏈。數據庫可以跟踪卡的當前餘額。在批准任何積分購買之前,每家餐廳都可以查看數據庫。這是一個簡單有效的系統,已被證明相當強大。鮑勃的案例可能不是一個好的候選人,但簡單的改變可能會改變這種情況。如果鮑勃沒有擁有所有的餐館怎麼辦?如果積分可以被酒店連鎖店等合作夥伴使用怎麼辦?這些新功能將Bob視為一個中心權威 - 為區塊鏈解決方案提供了更好的理由。

信任:好

卡羅爾擁有一家雜貨店,只想從她的供應商處購買最新鮮的農產品。然而,有時她在產品庫存之前看不到產品的質量,在接受交貨後。她的供應商堅持認為產品質量良好,在交貨時應該提出任何問題。他們不同意誰對劣質產品有過錯。這可能是農民的不當儲存,托運人對貨物的監督,或者卡羅爾的雜貨店工作人員沒有檢查貨物。為了解決這個問題,Carol和她的供應商創建了一個區塊鍊網絡來跟踪農產品的處理。存儲傳感器可測量存儲單元的濕度和熱量,以及從農場到最終交付的時間戳。當產品轉手時,

卡羅爾不相信產品交付狀況良好。供應商不相信Carol正確存儲產品。如果每個實體都可以驗證正確的存儲,則不需要信任。卡羅爾可以通過有限的檢查決定是否根據其儲存記錄接受產品。農民可以根據運輸過程中的溫度控制錯誤來防止不合理的退貨。此方案符合參與者之間的信任原則。還可以添加額外的測量值,例如各個階段的產品的重量和圖像,以進一步驗證。如果我們假設供應商為許多雜貨店服務並且Carol從多個供應商處購買,那麼我們對分散化原則也有更強的理由。

信任:壞

泰德希望創建一個體育卡交易網絡。用戶需要證明他們合法擁有這些卡。通過在區塊鏈中註冊該卡,所有用戶都可以跟踪誰擁有哪個卡並驗證所有權,如果有人聲稱擁有稀有或有價值的卡。Ted創建了一個區塊鏈來維護所有權數據。當有人交易卡片時,會更新記錄以反映更改。

乍一看,這種情況類似於卡羅爾的產品問題。必須交付物理項目,並將詳細信息存儲在區塊鏈中。但是,Carol可以選擇在接受交付之前驗證日誌數據。如果存在分歧,則日誌數據可以證明誰有錯並且他們承擔了成本。然而,泰德想跟踪物理對象。任何分歧都將與交付和位置有關,而不是交付和存儲的質量。如果Ted發送了一張卡,網絡會相信他會相應地更新記錄。如果網絡更新,則買方和賣方都信任該卡已交付。此交易系統中的數據無法獨立驗證。如果存在分歧,則網絡內無法追索。卡的物理位置以及物理和區塊鏈交易的時間都很重要。在Carol的系統中,只有日誌數據和需要驗證的日誌數據的總和很重要。她回答了這個問題:“你有沒有將產品交付給規範?”只有這樣才能完成交易。卡羅爾的追索權不是接受交付。在Ted的情況下,卡可能在錯誤的手中註冊 - 無法糾正網絡。

類似的系統可以為泰德工作嗎?絕對。一種解決方案是進入一些灰色區域並為系統添加一點信任。但是,任何所需的信任都會產生依賴關係,因此我們的目標是盡可能減少對信任模型的依賴。如果Ted使用數字交易卡而不是實體卡,他可以將信任因子降低到零。整個系統可以包含在網絡中,從而消除了對信任的需求。如果他必須保持實體卡,那麼他可以從鑽石行業的例子中學習。從2018年初開始,鑽石行業實施了區塊鏈,以便以有限的信任度跟踪從礦山到零售的100顆鑽石。[xi]每個實體都需要在每個里程碑上傳數據,從而創建一種驗證方法。在這種情況下的信任減少了,但沒有消除,並允許多個利益相關者了解他們所擁有的鑽石。Ted可以採取類似的方式來要求交付證明階段進行有效的交易。交付證明越難偽造,系統需要的信任度越低。來自網絡外部的任何數據都需要某種形式的信任。Ted可以平衡他對物理跟踪的需求與對外部交付驗證的額外信任。

節日賀卡

節日賀卡的例子如何與分散和信任原則相結合?應該清楚的是,這四家公司都有自己的代理商。他們不回答同一管理層或董事會。缺乏集中化表明區塊鏈可以提供傳統數據庫無法提供的價值。然而,信任原則有點難以確定。當然,他們缺乏信任,每個人都會完成他們簽約的工作。但是,他們可能會關注其他信任問題。各方能否真正履行其義務?誰在跟踪利潤?如果一方未能履行合同,其他人如何恢復?可以使用區塊鏈實現來解決這些問題中的每一個。為了掩蓋他們所有這將是一項艱鉅的任務,特別是在這些技術的早期階段。資產跟踪可以像我們討論的鑽石跟踪系統一樣得到解決。可以類似於流行的加密貨幣實施來跟踪財務。合同違約處罰可以使用智能合約納入業務邏輯 - 假設可以克服法律障礙。剩下的是能夠衡量是否可以首先履行義務。每個公司都可以將相關資源加載到區塊鏈中以供另一個區域鏈檢查。遺憾的是,這需要非常信任正確輸入數據。可以進一步開展工作以減少這種信任差距,但這些系統需要設計並證明在主要交易中是可行的。可以類似於流行的加密貨幣實施來跟踪財務。合同違約處罰可以使用智能合約納入業務邏輯 - 假設可以克服法律障礙。剩下的是能夠衡量是否可以首先履行義務。每個公司都可以將相關資源加載到區塊鏈中以供另一個區域鏈檢查。遺憾的是,這需要非常信任正確輸入數據。可以進一步開展工作以減少這種信任差距,但這些系統需要設計並證明在主要交易中是可行的。可以類似於流行的加密貨幣實施來跟踪財務。合同違約處罰可以使用智能合約納入業務邏輯 - 假設可以克服法律障礙。剩下的是能夠衡量是否可以首先履行義務。每個公司都可以將相關資源加載到區塊鏈中以供另一個區域鏈檢查。遺憾的是,這需要非常信任正確輸入數據。可以進一步開展工作以減少這種信任差距,但這些系統需要設計並證明在主要交易中是可行的。剩下的是能夠衡量是否可以首先履行義務。每個公司都可以將相關資源加載到區塊鏈中以供另一個區域鏈檢查。遺憾的是,這需要非常信任正確輸入數據。可以進一步開展工作以減少這種信任差距,但這些系統需要設計並證明在主要交易中是可行的。剩下的是能夠衡量是否可以首先履行義務。每個公司都可以將相關資源加載到區塊鏈中以供另一個區域鏈檢查。遺憾的是,這需要非常信任正確輸入數據。可以進一步開展工作以減少這種信任差距,但這些系統需要設計並證明在主要交易中是可行的。

區塊鏈選項

你已經確定你對區塊鏈有好的理由。怎麼辦?你建立自己的嗎?你是否背負當前的基礎設施,如比特幣腳本或以太坊合約?創建自己的令牌?各有利弊。幸運的是,需求創造了可以簡化實施的市場。您需要哪種類型的區塊鏈?

公共,私人,許可

區塊鏈有三種主要類型:公共區域,私有區域和許可區域。公共區塊鍊是最知名的。比特幣,以太坊和大多數其他加密貨幣屬於這一類。它們通常對公眾開放,沒有任何限制。私人區塊鏈不向公眾開放。網絡的貢獻者定義明確,不允許外部實體。組織可以在內部或選定組建立私人區塊鏈以解決業務需求。使用一組規則向公眾提供許可的區塊鏈。節點被清楚地識別,減少了匿名性。訪問僅通過邀請或請求提供。允許的區塊鏈可能對個人或節點組的允許行為有額外的規則。

上市

公共區塊鏈適用於一勞永逸的解決方案,特別是如果您不太關心誰參與網絡。您可以構建自己的或非常容易地分叉當前的區塊鏈。以太坊智能合約等技術有很多支持,甚至可以為企業級開發製定標準公共區塊鏈的一個主要缺點是缺乏對網絡行為和上傳數據的控制。有一些方法可以部分解決這些問題,但它們可能會變得複雜並限制您可以使用哪些技術的選項。最常見的公共區塊鏈技術是比特幣,具有有限的腳本支持擴展,以及以太網,具有更靈活的智能合約支持。

優點

  • 由於網絡參與而提高了安全性,特別是在Nakamoto風格的共識模型上
  • 無論個人貢獻如何,網絡都可能保持活躍
  • 許多可以使用或學習的當前實現

缺點

  • 無論個人貢獻如何,網絡都可能保持活躍
  • 對網絡的未來缺乏控制
  • 內部行為和數據是可見的,難以隱藏

私人的

如果您正在開發私有區塊鏈,那麼使用數據庫解決方案可能會更好。為什麼?在承擔複雜性和速度降低的同時,私有區塊鏈失去了區塊鏈的大部分安全優勢。他們通過內部活動獲得更多隱私,但這些好處也可以通過許可的區塊鏈獲得,當然也可以控制您自己的數據庫。這個建議的一個值得注意的例外是內部測試和原型設計。如果您正在進行原型設計,測試,試驗或以其他方式了解區塊鏈技術,私有區塊鏈可以成為您的個人沙箱。例如,您可以使用硬編碼的難度等級編譯自己的以太坊網絡,以私下測試您正在開發的新合同。您甚至可能希望為暫存創建一個私有區塊鏈,併計劃將來打開它。從這個角度來看,有些人可能會選擇在短期內接受安全措施,以確保長期可靠性。

從安全角度來看,假設只有受信任方可以為私有區塊鏈做出貢獻,這是錯誤的。通過使用網絡釣魚,殭屍網絡和雲服務,惡意攻擊者可以進入您的私有區塊鏈並執行Sybil和51%攻擊等攻擊。[xii]由於私有網絡固有的規模不足,這些攻擊可能不僅僅是有可能,但也相對便宜。這種針對私人區塊鏈的針對性攻擊尚未公開發現; 然而,針對較小的公共區塊鏈也進行了類似的攻擊。[xiii]如果選擇私有區塊鏈路線,可以通過簡單的方法實現這一目標,而無需重新發​​明輪子。一種方法是克隆任意數量的區塊鏈解決方案,例如以太坊,並將客戶端配置為連接到自定義網絡。

優點

  • 改善對網絡未來的控制
  • 可以將內部活動和數據指定給受信任的參與者
  • 所需功能可根據業務需求進行定制

缺點

  • 由於缺乏採用而嚴重降低了安全性
  • 比任何類似的數據庫解決方案都慢
  • 代碼和網絡維護

有權限

許可的區塊鏈在公共和私人區塊鏈之間取得平衡。最著名的權限區塊鍊是Hyperledger Fabric,一種區塊鏈框架實現。[xiv] Hyperledger Fabric使組織能夠對區塊鏈的各個部分保持一定的控制,同時獲得更廣泛適應的許多好處。每個細分市場都可以控制自己的共識模型來管理他們的數據,在這種情況下是通過渠道。[xv]這個框架被視為區塊鏈中最成熟的企業就緒商業解決方案之一。[xvi]其他解決方案包括Hyperledger Sawtooth各種公司使用,Quorum和Stellar。[xvii] [xviii]福布斯列出了50家投資區塊鏈的頂級上市公司。[xix]

優點

  • 改善對網絡未來的控制
  • 可以根據網絡的需求對參與者進行審查
  • 提供公共區塊鏈的大部分好處,並在增加信任的情況下進行權衡

缺點

  • 需要對中央機構或財團有一定的信任
  • 基於適應性可能降低安全性
  • 需要承諾保持您的網段活躍

工作證明

任何協議都需要就事實達成共識。區塊鏈維護所有參與者同意的記錄條目。參與者同意這些記錄的方法稱為一致性算法。大多數共識算法花費有限的資源來證明寫入分類帳需要工作。對於區塊鏈中的每個附加塊,都會增加資源。該測量是附加的,因為每個塊必須單獨計算。通過了解每個塊上正在進行的工作的難度,參與者可以計算在整個鏈上完成了多少工作。最長的鏈始終被認為是活躍的鏈。因此,在短時間內,參與者將獲得一致意見,其中構成最長鏈的記錄得到一致同意。

工作證明是最常見的共識模型。這是Satoshi Nakamoto的論文“比特幣:點對點電子現金系統”中提出的第一個證據。[xx]工作量證明算法中使用的主要資源是處理能力,最初由CPU處理。最常見的實現基於SHA-256散列算法。使用SHA-256對每個塊進行哈希處理,目標是生成的哈希小於目標數。根據網絡攔截的速度選擇此數字。如果塊具有低於或等於目標數的散列,則它是有效的並且可以附加到鏈。較低的目標會在每個區塊上產生更高的難度等 這些評級用於確定哪個鏈使用最多的資源,因此是活動鏈。在下面的工作證明中,難度等級代表一個前面有五個零的數字。任何少於五個零的數字都大於目標並且無效。塊的“標題散列”用於此比較。用非專業術語來說,工作量證明會產生一個數學問題並將其變成一個類似彩票的系統。獲勝者是先解決問題的人。它提供了控制區塊鏈寫入速度的獎金,並使用戶能夠選擇相同的區塊鏈。

圖4:來自工作量證明模擬器的哈希結果。有效的標頭哈希以五個零開始。

對工作證明的主要批評之一是其浪費的能源消耗。比特幣的實施消耗了足夠的能量來為670萬個家庭供電。[xxi]這種消費與實施自己的區塊鏈解決方案時的成本直接相關。研究人員尋求替代方案以避免過多的資源成本。這導致了其他一些共識模型。

圖5:與VISA交易功耗相比的比特幣功耗。資料來源:Digiconomist。

經過時間證明(PoET)

經過時間的證明最初是在最初由英特爾開發的Hyperledger Sawtooth中實現的。它是一個共識模型的例子,它不需要過多的資源使用或能量來形成共識。就像工作證明一樣,它屬於Nakamoto共識的範疇。投票系統基於隨機等待時間; 具有最短等待時間的節點創建鏈的下一個塊。

在大多數情況下,不可能保證節點都選擇了隨機等待時間並等待指示的數量。但是,使用受信任的執行環境可以解決此問題。要正確實現安全的可信環境,需要專用硬件。使用Software Guard Extensions(SGX)的英特爾可以在稱為安全區的安全可信環境中執行機器指令。現代英特爾處理器中的SGX指令集可實現可信執行。[xxii]可以在安全區內執行隨機數生成器和等待時間等關鍵功能。它們可以防止攻擊者即使在本地訪問時也可以更改機器指令,從而保持結果的完整性。通過使用證書和簽名,其他人可以進一步驗證輸出確實在安全區內運行。

使用PoET而不是其他Nakamoto一致性算法的主要好處是它的資源使用率低,降低了成本。通過使用隨機等待時間而不是處理週期,實際功耗被最小化。但是,這有兩個缺點:

  • 硬件要求
  • 必需的第三方信任

儘管PoET文檔僅列出了SGX,但仍然存在其他平台,包括AMD,ARM和RISC-V。[xxiii]然而,在撰寫本文時,沒有針對這些平台的主要PoET實現,使SGX成為唯一的當前選項。由於此限制,只有現代英特爾處理器才能參與PoET網絡。未來不保證混合可信執行環境。這完全取決於是否在平台之間開發了信任機制。

PoET還需要第三方信任。就SGX而言,節點必須信任英特爾對其安全可信環境以及英特爾服務的實施。對於要驗證的代碼,還必須確認安全容器。該過程需要信任英特爾證明服務(IAS)。在自我證明的情況下,IAS API必須顯示先前已啟用容器。如果先前未啟用自我證明,則將調用API以驗證證明驗證報告的檢索。這兩條路線都需要IAS的可信響應。

圖6:遠程證明流程。[xxiv]

實際的拜占庭容錯[xxv]。

實際的拜占庭容錯採用不同的方法,從分佈式系統的工作中吸取教訓。拜占庭容錯最初設計用於測量分佈式系統的可靠性。正如我們前面所討論的,它更像是一個投票系統,而不是一個彩票。而不是每個節點花費資源來證明工作,選擇交易訂單的領導者可以獲得共識。驗證對等體然後彼此通信,直到對所選交易達成共識。通過驗證同行投票選擇領導者,使網絡可以刪除任何有缺陷或惡意的領導者。與基於資源的模型(如工作量證明)相比,此模型具有一些優勢。主要好處是限制資源使用,這是對許多其他共識模型的主要批評。但是,這種好處需要付出一些代價:

  • 降低對攻擊的抵抗力
  • 缺乏匿名性
  • 增加流量

對許多區塊鏈實施的眾所周知的攻擊是51%或大多數攻擊。通過控制超過50%的網絡,攻擊者可以更改分類帳中的歷史記錄,並對正在挖掘的新塊進行一些控制。相比之下,拜占庭容錯只需要復制三分之一的複制節點。[xxvi]拜占庭容錯會犧牲一些安全性來提高速度和效率,降低攻擊者為破壞網絡而需要滿足的門檻。實質上,如果攻擊者可以控制事務複製的三分之一,則可以破壞事務的有效性或完全阻止有效的共識。

圖7:實際的拜占庭容錯。資料來源:Altoros。

使用拜占庭容錯的第二個妥協是匿名。此模型的性質要求了解節點標識,以便在必要時選擇和刪除領導者。這排除了公共區塊鏈的實施,並建議允許的區塊鏈更合適。

複製節點還會生成大量網絡流量。當領導者決定有效事務時,每個複制節點等待來自其他節點的指定數量的一致響應。這會產生大量的網絡流量,這些流量可能只適用於小型區塊鍊網絡。在拜占庭容錯系統中,大型實施的網絡要求變得難以管理。每個節點必須等到三分之二的節點同意,每個節點相互廣播。許可的區塊鏈減少了與節點子集的通信,從而簡化了參與的網絡要求。

股權證明

利益證明共識採用類似於拜占庭容錯的途徑,並從後者的許多屬性中獲益。利益證明的核心是投票系統,其中令牌的所有權為塊創建機制提供了更多的權重。該算法聲稱具有優於工作量證明的顯著優勢,包括安全性,降低集中風險和能源效率。[xxvii]股權證明避免了通過限制資源使用(例如處理能力)來浪費資源,並且提供了產生比類似交易更快的交易的優勢工作量證明系統。股權完整性證明基於大多數用戶誠實行事的假設。這可能並不總是有效的假設,如在“P + epsilon攻擊”中觀察到的,其中惡意用戶提供獎勵獎勵以購買投票。

聯邦拜占庭協議(Stellar共識協議)

當節點聽到語句足夠次數時,它假定該語句為真,並且任何矛盾都來自故障節點。同意節點稱為仲裁; 法定人數的一部分是法定人數。在傳統的拜占庭容錯算法(例如實際的拜占庭容錯)中,仲裁和仲裁切片是可互換的,因為廣播原始語句的節點被預定義為參與節點同意的領導者。通過允許切片,各個節點可以在不考慮整個網絡的情況下就特定語句達成一致。如果語句來自足夠數量的其他節點,則每個單獨節點可以基於任意標準來建立其協議。如果兩個節點之間存在仲裁交集(仲裁切片之間的重疊節點),則可以跨節點共享協議。換句話說,如果我的朋友信任你,那麼我也會相信你。

:工作證明,股權證明以及聯邦和非聯邦拜占庭容錯共識之間的匿名和信任圖表。[xxxi]

結論

新技術可能令人困惑,興奮可能導致許多過度誇大的主張。區塊鏈雖然有很多承諾,但對於每個問題都不是“一刀切”。使用充分理解的數據庫實現可以以低成本充分地解決許多問題。當實現空間有兩個關鍵元素時,區塊鏈的價值真正閃耀:

  • 業主權力下放
  • 缺乏信任

分散的地點是不夠的。單個企業可以擁有分支機構資產,例如分支機構或組織結構。實體之間需要明確區分控制。長期以來,數據庫已經證明能夠跨地域工作。但是,當中央數據庫很難(如果不是不可能)實施時,區塊鏈可以提供一致的機制。

任何具有假定信任的系統也不適合區塊鏈。即使中央數據庫不是一個選項,檢索數據和同步數據庫的接口仍然比區塊鏈快幾倍。您只需要相信數據現在或將來都沒有被篡改過。如果其他各方都有激勵措施,例如經濟優勢,那麼信任就會減少,而區塊鏈可能有助於克服信任障礙。

確定使用哪個區塊鏈並不容易。如果您只想發布獎勵積分等數字獎勵,那麼構建在加密貨幣之上的令牌可以發揮作用。如果您需要復雜的規則,那麼EOS和以太坊等智能合約支持的網絡可能就是您所需要的。可以在各種Hyperledger框架上找到靈活性,隱私和企業就緒支持。在某些情況下,即使是私人建造的區塊鏈也是合理的選擇。您選擇Nakamoto式共識或拜占庭容錯,加上對隱私,速度和規模的關注將有助於指導您的決策。重要的是要隨時了解區塊鏈能做什麼和不能做什麼。在您展示權力下放和缺乏信任問題之前,數據庫應該是您的首選。選擇區塊鏈以發揮其優勢可以積極地改變您的業務。在不適合的地方實施區塊鏈可能會對企業快速擴展和有效運營的能力產生破壞性影響。

 

----------------------------

 

[i] https://www.ispot.tv/ad/doiE/ibm-blockchain-smart-supply-chain

[ii] https://www.coindesk.com/american-express-upgrades-rewards-program-hyperledger-blockchain/

[iii] https://www.americanbanker.com/news/has-amex-found-a-data-gold-mine-with-its-rewards-blockchain

[iv] https://lo3energy.com/

[v] https://www.siemens.com/press/en/pressrelease/?press=/en/pressrelease/2017/energymanagement/pr2017120121emen.htm

[vi] https://docs.wixstatic.com/ugd/bd1fb8_4e16d895b37e4b2a9d4dafdbb82cef2a.pdf

[vii] http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=1&p=1&f=G&l=50&d=PTXT&S1=9,928,746.PN。 &OS = PN / 9928746&RS = PN / 9928746

[viii] https://novablitz.com

[ix] https://bitcoin.org/bitcoin.pdf

[x] https://medicalchain.com/en/

[xi] https://www.debeersgroup.com/media/company-news/2018/de-beers-group-successfully-tracks-first-diamonds-from-mine-to-r

[xii] https://en.bitcoin.it/wiki/Weaknesses

[xiii] https://www.mcafee.com/enterprise/en-us/assets/reports/rp-blockchain-security-risks.pdf

[xiv] https://www.hyperledger.org/

[xv] https://www.ibm.com/developerworks/cloud/library/cl-blockchain-private-confidential-transactions-hyperledger-fabric-zero-knowledge-proof/index.html

[xvi] https://www.ibm.com/blockchain/hyperledger

[xvii] https://medium.com/coinmonks/comparison-of-permissioned-blockchains-6537a0694df0

[xviii] https://docs.google.com/spreadsheets/d/12PPUxqDaTSR2K2gNQJ7EqIN1ezCiwwa51GZTcN3O6T8/edit#gid=0

[xix] https://www.forbes.com/sites/michaeldelcastillo/2018/07/03/big-blockchain-the-50-largest-public-companies-exploring-blockchain/#4cbf04e42b5b

[xx] https://bitcoin.org/bitcoin.pdf

[xxi] https://digiconomist.net/bitcoin-energy-consumption

[xxii] https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs

[xxiii] https://sawtooth.hyperledger.org/docs/core/releases/1.0/introduction.html

[xxiv] https://software.intel.com/en-us/articles/code-sample-intel-software-guard-extensions-remote-attestation-end-to-end-example

[xxv] https://blockonomi.com/practical-byzantine-fault-tolerance/

[xxvi] http://pmg.csail.mit.edu/papers/osdi99.pdf

[xxvii] https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs

[xxviii] https://blog.ethereum.org/2015/01/28/p-epsilon-attack/

[xxix] https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs

[xxx] https://en.wikipedia.org/wiki/Proof-of-stake

[xxxi] https://medium.com/@lkolisko/in-depth-on-differences-between-public-private-and-permissioned-blockchains-aff762f0ca24

資料來源:https://securingtomorrow.mcafee.com/other-blogs/mcafee-labs/demystifying-blockchain-sifting-through-benefits-examples-and-choices/