區(qū)塊鏈存儲的工作原理解析
將數(shù)據(jù)存儲在大型集中式數(shù)據(jù)中心會帶來性能、可用性和可伸縮性以及高資本或運營成本問題。集中的數(shù)據(jù)也會招致復(fù)雜的網(wǎng)絡(luò)攻擊。由于這些原因,公司正在尋找分散數(shù)據(jù)存儲的方法。區(qū)塊鏈存儲是一種方法。
區(qū)塊鏈存儲仍然是一項相對年輕的技術(shù),但它的受歡迎程度正在提高。為了提高數(shù)據(jù)存儲的安全性和可靠性,潛在的企業(yè)用例已經(jīng)開始出現(xiàn)。了解這項技術(shù)是如何工作的,是確定該技術(shù)是否適合您的組織的第一步。
區(qū)塊鏈存儲是如何工作的
區(qū)塊鏈?zhǔn)且环N分布式分類賬技術(shù),用于記錄兩個或多個參與方之間的交易。直到最近,這項技術(shù)還主要用于支持比特幣等加密貨幣,但現(xiàn)在它在其他領(lǐng)域也取得了進(jìn)展。
區(qū)塊鏈分類賬作為一個分散的數(shù)據(jù)庫,用于維護(hù)每個交易的詳細(xì)信息。這些交易按時間順序加到分類賬上,并以一組數(shù)據(jù)塊的形式存儲。每個塊引用前面的塊以形成一個相互連接的鏈。
由于區(qū)塊鏈的分布式特性,它被吹捧為P2P、分散存儲的天然選擇。
分類賬分布在多個節(jié)點上,每個節(jié)點維護(hù)一個完整的副本。區(qū)塊鏈自動同步并驗證所有節(jié)點上的事務(wù)。該分類賬對所有參與成員都是透明的,并可由所有成員核查,從而消除了對中央權(quán)力機(jī)構(gòu)或第三方核查服務(wù)的需要。
由于它的分布式特性,區(qū)塊鏈被吹捧為一種適合點對點(P2P)的分散存儲。在這個場景中,區(qū)塊鏈提供了創(chuàng)建地理上分散存儲資源的邏輯存儲池所需的結(jié)構(gòu),這些存儲池充當(dāng)區(qū)塊鏈節(jié)點。
下圖概述了區(qū)塊鏈存儲的工作原理。
基于區(qū)塊鏈的存儲系統(tǒng)為存儲準(zhǔn)備數(shù)據(jù),然后將其分布在分散的基礎(chǔ)設(shè)施上,這個過程可以分為以下六個步驟:
1. 創(chuàng)建數(shù)據(jù)分片。存儲系統(tǒng)將數(shù)據(jù)分成更小的段,這個過程稱為分片。分片涉及到將數(shù)據(jù)分解為可管理的塊,這些塊可以分布在多個節(jié)點上。分片的確切方法取決于數(shù)據(jù)類型和進(jìn)行分片的應(yīng)用程序。關(guān)系數(shù)據(jù)庫的分片不同于NoSQL數(shù)據(jù)庫的分片或文件共享上的文件分片。
2. 每個分片都進(jìn)行加密。然后,存儲系統(tǒng)對本地系統(tǒng)上的每個數(shù)據(jù)分片進(jìn)行加密。內(nèi)容所有者完全控制這個過程。我們的目標(biāo)是確保除了內(nèi)容所有者之外,沒有人能夠查看或訪問分片中的數(shù)據(jù),無論數(shù)據(jù)位于何處,以及該數(shù)據(jù)是處于靜止?fàn)顟B(tài)還是處于運動狀態(tài)。
3. 為每個分片生成一個哈希值。區(qū)塊鏈存儲系統(tǒng)根據(jù)分片的數(shù)據(jù)或加密密鑰生成一個唯一的哈希值——一個加密的固定長度輸出字符串。哈希值被添加到分類賬和分片元數(shù)據(jù)中,以將事務(wù)鏈接到存儲的分片。生成哈希值的確切方法因系統(tǒng)而異。
4. 復(fù)制每個分片。存儲系統(tǒng)復(fù)制每個分那篇,這樣就有足夠的冗余副本來確??捎眯院托阅埽⒎乐拱l(fā)生性能下降和數(shù)據(jù)丟失的情況。內(nèi)容所有者選擇為每個分片創(chuàng)建多少個副本,以及這些分片位于何處。作為這個過程的一部分,內(nèi)容所有者應(yīng)該為要維護(hù)的最小副本數(shù)量設(shè)置一個閾值,以確保不會丟失數(shù)據(jù)。
5. 分發(fā)復(fù)制的分片。P2P網(wǎng)絡(luò)將復(fù)制的分片分布到分散地理上的存儲節(jié)點,可以是區(qū)域的,也可以是全局的。多個組織或個人擁有存儲節(jié)點,他們租用額外的存儲空間,以換取某種補(bǔ)償——加密貨幣。沒有一個實體會擁有所有存儲資源或控制存儲基礎(chǔ)設(shè)施。只有內(nèi)容所有者才能完全訪問其所有數(shù)據(jù),無論這些節(jié)點位于何處。
6. 把交易記錄到分類賬上。存儲系統(tǒng)記錄區(qū)塊鏈分類賬中的所有事務(wù),并跨所有節(jié)點同步該信息。分類賬存儲與交易相關(guān)的詳細(xì)信息,如分片位置、分片哈希值和租賃成本。因為分類賬是基于區(qū)塊鏈技術(shù)的,所以它是透明的、可驗證的、可追蹤的、防篡改的。
雖然步驟6是最后列出的,但是區(qū)塊鏈集成是一個正在進(jìn)行的過程,具體的方法取決于存儲系統(tǒng)。例如,當(dāng)存儲過程第一次開始時,它可能首先在區(qū)塊鏈分類賬中記錄事務(wù)。然后,當(dāng)事務(wù)變得可用時,它將使用信息(如唯一哈希值或特定于節(jié)點的詳細(xì)信息)更新事務(wù)。然后,在參與節(jié)點驗證事務(wù)之后,系統(tǒng)在分類賬中將該事務(wù)標(biāo)記為final,并鎖定它以防止更改。
這里描述的六個步驟是作為一種概念化的區(qū)塊鏈存儲過程方法。確切的方法將取決于特定存儲系統(tǒng)在給定用例中的實現(xiàn)方式,以及如何管理該數(shù)據(jù)存儲。