「專利解密」華為區塊鏈賬本技術 讓你的資金更安全

【嘉德點評】華為發明的區塊鏈賬本的存儲方法,區塊鏈賬本技術在生活中也有很多的應用場景,這種技術在通過共識性驗證並寫入賬本後,就不能再更改,這樣就可以給企業以及組織節省時間和成本,同時還可以減少風險,使得企業可以構建新收入流來與客戶交互。

集微網消息,區塊鏈是一種將各自包含有若干條交易記錄的多個數據區塊按照時間順序組合而成的分佈式賬本,是一種在網絡成員之間共享、複製和同步的數據庫,分佈式賬本記錄網絡參與者之間的交易,比如資產或數據的交換。

在多個數據區中,後一個數據區塊均包含前一個數據區塊的驗證信息,如哈希值,從而將多個數據區塊組成一個難以被篡改的鏈式數據結構,且多個分佈式節點上均保存有相同的區塊鏈副本以便相互驗證,可以在交易雙方直接交易,也就是沒有第三方信任機構參與的情況下,確保交易的安全性。

目前,每個分佈式節點均需要保存完整的區塊鏈副本,因此,當區塊鏈的數據量較大時,佔用的存儲空間也較大,成本較高。並且,不同分佈式節點的存儲能力可能存在差異,一旦某些分佈式節點存儲空間不足,則無法保存完整的區塊鏈副本,從而降低區塊鏈的安全性。

基於目前分佈式賬本具有的這些難點,華為在19年1月17日申請了一項名為“區塊鏈賬本的存儲方法及裝置”的發明專利(申請號:201910045742.9),申請人為華為技術有限公司。

根據目前該專利公佈的資料,讓我們一起來看看華為的這項區塊鏈賬本的存儲方法吧。

「專利解密」華為區塊鏈賬本技術 讓你的資金更安全

如上圖,為用於存儲區塊鏈賬本的分佈式系統的結構示意圖,該分佈式系統包括6個節點,節點中可為傳感器、監控設備、轉發設備等。有的節點之間存在直接的通信連接,如節點1與節點2、節點3與節點6。當然,也有的節點之間不存在直接的通信連接,如節點4與節點6、節點2與節點5。

下面將會以該分佈式系統為例,先介紹現有的區塊鏈賬本的存儲方法。

「專利解密」華為區塊鏈賬本技術 讓你的資金更安全

如上圖,為區塊鏈賬本的存儲方法的流程示意圖,首先,節點3接收並存儲區塊鏈賬本副本,區塊鏈賬本副本包含頭區塊和數據區塊,頭區塊包含區塊鏈的驗證信息,數據區塊存儲有多條交易記錄。

節點3可以根據新數據更新其存儲的區塊鏈賬本的副本,新數據包括節點3在完成新交易的過程中產生的新增交易記錄,也可以是從上游相鄰節點接收的新增交易記錄。

最後,節點3向其下游相鄰節點轉發上述新數據,以便其下游相鄰節點更新區塊鏈賬本副本。需要說明的是,上述上游相鄰節點和下游相鄰節點是以某一個新數據的傳輸方向為參考的,例如,假定新數據A是由節點2生成的,節點2需要將新數據A發送給節點1、節點3和節點6,則節點2為節點1、節點3和節點6的上游相鄰節點。

但是該方法中部分節點的存儲能力有限,隨著區塊鏈賬本的數據量的增大,部分節點可能沒有足夠存儲空間存儲一個完整的區塊鏈賬本副本。此外,還可能存在部分節點可用存儲空間不足,同時另一部分節點存在大量存儲空間閒置的情況,會導致物聯網中實際存儲的區塊鏈賬本副本的數量下降,從而導致現有物聯網中基於區塊鏈的交易的安全性和可靠性下降。

「專利解密」華為區塊鏈賬本技術 讓你的資金更安全

如上圖,為該專利中發明的區塊鏈賬本的存儲方法所適用的分佈式系統的結構示意圖,該分佈式通信系統包括多個節點簇。其中,每個節點簇包括一個簇頭節點,以及一個或多個普通節點。

簇頭節點用於與分佈式通信系統中的其他節點簇通信,如接收一個區塊鏈賬本,以及存儲區塊鏈賬本中的頭區塊,普通節點用於存儲區塊鏈賬本中的數據區塊。

頭區塊用於存儲區塊鏈賬本的驗證消息,以及每個數據區塊的存儲信息。數據區塊用於前一個數據區塊的驗證消息以及交易記錄,具體的存儲方法如下圖所示。

「專利解密」華為區塊鏈賬本技術 讓你的資金更安全

如上圖,為區塊鏈賬本的存儲方法的流程示意圖,首先,接收第一副本和普通節點上報的可用存儲空間大小,第一副本可以是主控設備下發的區塊鏈賬本副本,也可以是與第一節點簇相鄰的其他節點簇。

其次,根據普通節點上報的可用存儲空間大小和第一副本的數據量,確定普通節點中每個普通節點需要存儲的數據區塊,例如可以根據不同普通節點的可用存儲空間大小,為不同的普通節點分配不同數量的數據區塊。

假定第一副本共計包括4個數據區塊:數據區塊1-數據區塊4,普通節點1和普通節點3分別可以存儲1個數據區塊,普通節點4可以存儲2個數據區塊,而普通節點2可用存儲空間不足,不能存儲數據區塊,則如下圖所示:

「專利解密」華為區塊鏈賬本技術 讓你的資金更安全

可以按照採用如下方式為每個普通節點分配需要存儲的數據區塊:普通節點1存儲數據區塊1,普通節點2不存儲數據區塊,普通節點3存儲數據區塊2,普通節點4存儲數據區塊3和數據區塊4。

當然,除此之外,也可以採用其他的數據區塊分配方式,如普通節點4存儲數據區塊1和數據區塊2,而數據區塊3和數據區塊4分別由普通節點1和普通節點3存儲。

最後,系統需要存儲頭區塊以及數據區塊的存儲信息,存儲信息用於指示每個數據區塊與其所在的普通節點的對應關係。例如上圖中,簇頭節點用於存儲頭區塊,如區塊0,頭區塊包括第一副本的賬本驗證信息,如區塊鏈賬本的主哈希值。

以上就是華為發明的區塊鏈賬本的存儲方法,區塊鏈賬本技術在生活中也有很多的應用場景,這種技術在通過共識性驗證並寫入賬本後,就不能再更改,這樣就可以給企業以及組織節省時間和成本,同時還可以減少風險,使得企業可以構建新收入流來與客戶交互。

(校對/holly)


分享到:


相關文章: