區塊鏈安全如何保證?公有私有哪家強?

雪花又一年發表於2018-04-18

區塊鏈,比特幣背後的分散式賬本技術,日後可能會被證明比它支援的貨幣更有價值,但這種價值必須建立在安全的基礎上。當我們開始將該技術付諸實踐時,一定要確保我們設定的初始條件不會在日後導致安全問題。要理解區塊鏈技術中固有的安全風險,瞭解公有區塊鏈和私有區塊鏈之間的區別很重要。

1620

比特幣依賴於公有區塊鏈,一個允許任何人讀寫事務的事務記錄系統。任何人都可以聚合和釋出事務,只要他們可以努力解開加密。節點網路確認先前已驗證的事務記錄,其驗證新事務的過程被稱為共識協議。在比特幣系統中,因為沒有使用者被隱式信任來驗證交易,所有使用者遵循通過提交軟體和硬體資源,解決密碼謎題來驗證交易的演算法。

這種分散和相對自由的訪問導致了一些意想不到的後果:因為任何人都可以讀寫交易,比特幣交易促進了黑市交易活動的繁榮。由於共識協議需要能源消耗,大多數使用者選擇在廉價電力的國家運營,導致了網路集中化和串通的可能性,並且使得網路容易受到電力補貼政策變化的影響。這兩種趨勢都導致人們對私有區塊鏈的興趣增加。

私有區塊鏈主要用於金融領域,他們的運營商能夠控制管理員角色許可權,比如誰可以讀取已驗證交易的分類帳,誰可以提交交易,誰可以驗證。私有區塊鏈可應用於多領域市場,尤以多方希望同時參與,但又無法完全相互信任的場景居多。例如,支援土地和有形資產登記,私人商業交易和私人股本分配的私人區塊鏈系統都在測試中。隨著這些系統的發展,它們也可能會遇到意想不到的後果,其中一些將對系統的安全及其管理或儲存的資產產生影響。在軟體和產品開發中,考慮到早期的安全性可以緩解對產品進行根本性改變的難度,以解決後續的安全漏洞。

區塊鏈安全始於網路架構

在建立私有區塊鏈時第一個要考慮的因素是系統的網路架構。區塊鏈在分類帳,已驗證交易列表,通過通訊並且通訊需要寫入和認可新的交易這幾方面達成共識。此通訊發生在節點之間,每個節點維護分類帳的副本並且通知其他節點新的資訊:新提交或新驗證的交易。私有區塊鏈運營商可以控制使用者許可權,決定誰可以操作節點,以及這些節點是如何連線的;具有更多連線的節點可以更快地接收資訊。同樣,節點可能需要維持特定數量的連線才被認為是活動的。限制資訊傳輸或傳輸不正確資訊的節點必須可識別和可規避,以保持系統的完整性。基礎商品交易的私有區塊鏈可以在網路中向已建立的貿易伙伴授予更多中心位置,並且可能需要新節點作為安全措施來維持與中央節點的連線,以確保其如預期那樣執行。

在建立網路架構中的另一個安全問題是如何處理非通訊或間歇性活動節點。節點可能由於無害的原因離線,但是網路必須被結構化以在沒有離線節點的情況下起作用(以獲得對先前驗證的事務共識並且正確地驗證新事務),並且如果返回,必須能夠快速地將這些節點恢復。

公有與私有區塊鏈中的共識協議和訪問許可權

用於獲得共識(通過解決問題來驗證交易)的過程被有意設計為需要一段時間,目前約10分鐘。交易被完全驗證大約需要一到兩個小時。這種延遲正是系統的脆弱性所在,因為最初被驗證的交易可能稍後會失去該狀態,並且對於使用基於比特幣的系統來進行快節奏交易(例如金融交易)時,這是一個重大障礙。

相比之下,在私有區塊鏈中,運營商可以選擇僅允許某些節點執行驗證過程,並且這些可信方將負責將新驗證的事務傳送到網路的其餘部分。

公有與私有區塊鏈中的事務可逆性和資產安全

區塊鏈交易可用於儲存資料,比特幣交易的主要動機是比特幣本身的交換;該貨幣的匯率在其短暫的生命週期內會有波動,但在過去兩年中增加了五倍以上的價值。每次比特幣交易都有與正在交換的比特幣相關聯的唯一文字字串,類似地,區塊鏈系統記錄交易中涉及的資產或股份的所有權。在比特幣系統中,通過使用與支付相關聯的私鑰(由被設計為提供隨機和唯一輸出演算法產生的長數字)來證明所有權,儘管這些金鑰就像資料一樣,可能被盜或丟失。

因此,私有區塊鏈運營商必須決定如何解決和識別憑證丟失的問題,特別是對於管理實物資產的系統。即使沒有人能證明一桶石油的所有權,桶也需要在某個特定的地方。比特幣目前沒有為那些丟失私鑰的人提供追索權;類似地,被盜的比特幣幾乎不可能恢復,因為使用被盜金鑰提交的事務對於驗證節點而言似乎不能與合法事務區分開。

私有區塊鏈所有者必須決定是否以及在什麼情況下撤消已驗證的交易,特別是如果該交易可能被視為盜竊。事務逆轉可能破壞系統的公平性和公正性,但是由於系統允許漏洞被利用可能會損失大量的使用者。最近的DAO(分散自治組織)案例說明了這種情況,該組織是一個基於程式碼的風險資本基金,設計用於基於公有區塊鏈平臺的以太坊。執行DAO的程式碼中的安全漏洞導致了財務損失,需要以太坊的開發人員更改Ethereum協議本身,即使DAO的漏洞不是以太坊協議的錯誤。作出這些改變的決定是有爭議的,但也提醒了公有和私有區塊鏈開發商,未來他們可能會面臨類似的狀況。

私有區塊鏈的優勢是更快的事務驗證和網路通訊,修復錯誤和逆轉事務的能力,以及限制訪問和減少外部攻擊的能力。那些致力於維護公有區塊鏈系統(比如比特幣)的開發者仍然依賴於個人使用者採取他們提出的建議,而私有區塊鏈的運營商可以選擇單方面部署一些改變,即便使用者不同意。

雖然在公有區塊鏈上建立金融市場或其他基礎設施的風險可能會讓新手望而卻步,但私有區塊鏈提供了對參與者行為和交易驗證過程一定程度的控制。需要快速事務的系統使用私有區塊鏈,事務反轉的可能性和事務驗證的中央控制將更好,而受益於廣泛參與,透明度和第三方驗證的公司將會在公有區塊鏈上蓬勃發展

原文釋出時間為:2017-03-15
本文作者:靜一
本文來源:騰訊雲 雲+社群,如需轉載請聯絡原作者。


相關文章