區塊鏈+英特爾SGX技術 UCloud構建可信數據流通環境
區塊鏈技術因其獨特的密碼學機制和共識機制,應用于數據的聲明發布、授權使用等場景,解決節點間互不信任的問題。但區塊鏈去中心化的共識架構,也為數據流通中數據隱私保護、復雜數據處理等環節帶來了一些問題。
為此,UCloud引入了與區塊鏈相連接的英特爾SGX技術,為智能合約提供了區塊鏈所不能提供的機密性,可拓展的計算節點也解決了區塊鏈本身無法應對復雜應用場景的問題。在保留區塊鏈去中心化、用戶互信的基礎之上,通過可信硬件執行機密性高、需要相對復雜計算能力的程序,并通過區塊鏈對執行結果進行記錄和驗證,實現可追溯的特性。
一、 區塊鏈及智能合約:解決數據流通中相互信任問題
區塊鏈技術可實現虛擬資產的確權、授權、停權。在數據流通領域,數據擁有者通過智能合約,指明數據類型、數據標簽等信息,并制定使用者身份信息,智能合約發布后將按約定自動執行,并受所有區塊鏈參與者監督。基于區塊鏈多副本分布式賬本特性以及合約執行和記錄添加所依賴的公開共識機制,節點的任何行為都是可預期的,所有節點之間無需信任也可以進行交互。
區塊鏈在數據流通場景中,具有以下優勢:不緩存數據、保護數據版權、可追溯數據來源且保證不會被篡改、有效遏制造假等。其去中心化的共識架構有效解決了數據交換和流通環節中數據歸屬不明的痛點。
但區塊鏈去中心化的共識架構也為數據流通中的數據隱私保護、復雜數據處理等環節帶來了一些問題。為了驗證鏈上交易的合法性和時序性,區塊鏈上所有數據都是公開的,無法存儲和計算敏感數據(如金融交易、個人敏感信息等)。區塊鏈本身對計算能力、存儲容量和交易吞吐量方面的限制也對以智能合約形式進行的鏈上數據流通、數據交換產生了阻礙。
以目前使用者最多的分布式智能合約平臺——以太坊為例,僅以簡單的應用(如令牌)而言,其計算成本就超過普通云計算平臺的8個數量級,智能合約中交互應用的復雜性受到高度限制。沒有在關鍵計算性能和機密保護性上做出改進,智能合約可能無法大規模被應用于實際場景中。
二、 英特爾SGX技術模塊:提供可信執行環境(TEE)
目前,研究人員已就這些挑戰提出了零知識證明、安全多方計算等解決方案。但這些方法通常使用范圍有限,僅限于加密貨幣應用程序和一些簡單的智能合約應用場景,而安全多方計算中又涉及到秘密共享等復雜密碼學問題,并沒有很好地解決智能合約應用復雜度受限的問題。而包括英特爾SGX技術在內的可信硬件,為解決機密保護和計算復雜性問題,提供了通用的高性能解決方案。
SGX技術提供了一個被稱為“飛地(enclave)”的可信執行環境(TEE,Trusted Execution Environment)。它可以防止其他應用程序,包括操作系統、BIOS 系統等,窺探和篡改受保護應用程序的狀態及可信環境內的數據。同時,SGX技術引入了Attestation鑒證機制,在芯片中封裝了遠程驗證機制邏輯,由英特爾或其代理響應請求,對程序及其結果是否可信進行鑒證。
SGX技術和與之相似的可信硬件為智能合約數據提供了區塊鏈所不能提供的機密性,而通過鏈下可信計算環境,SGX技術也解決了智能合約和區塊鏈無法應對復雜計算場景的問題。
通過SGX技術等可信硬件與區塊鏈的結合,能夠在保留區塊鏈去中心化、用戶互信的基礎上,通過可信硬件執行機密性高、需要相對復雜計算能力的程序,并通過區塊鏈對執行結果進行記錄和驗證,實現可追溯的特性。
三、 構建可信區塊鏈,提供可信數據流通環境
可信區塊鏈將基礎區塊鏈系統與SGX技術等可信執行環境相結合。在數據流通場景下,數據源方、數據需求方、數據流通平臺方、監管方共同參與到區塊鏈網絡中,并由參與方在某些節點上(數據源節點或平臺方節點)搭建與區塊鏈網絡相連接的分布式鏈下數據存儲網絡及SGX技術計算客戶端。
在實際操作中,由數據源方、需求方、流通平臺方、監管方共同簽署數據請求智能合約,合約成立后,即自動在計算客戶端中創建一個SGX enclave,根據合約中所指明的數據類型、地址、需求、分析算法,提取加密后數據,在enclave可信環境中對數據進行解密,并依照分析算法對數據進行分析處理。處理完成后,原始數據由enclave銷毀,中間結果寫回到區塊鏈上。
可信區塊鏈使用有可信計算環境的計算節點來執行智能合約中指明的計算,確保了原始數據及計算過程的安全性、隱秘性,并通過區塊鏈的可驗證、可追溯機制對執行結果進行跟蹤。SGX可信計算環境與區塊鏈底層架構相互獨立,對區塊鏈底層共識機制、選型等無特殊要求,只要求區塊鏈能夠節點對SGX技術進行遠程認證,因此可信區塊鏈可根據性能和安全需求,獨立擴展計算節點和區塊鏈節點。
本文內容部分來源于《ShadowEth: Private Smart Contract on Public Blockchain》——作者:Rui Yuan(袁睿), Yu-Bin Xia(夏虞斌)等;《Ekiden: A Platform for Confidentiality-Preserving, Trustworthy,and Performant Smart Contract Execution》——作者:Raymond Cheng, Fan Zhang等。