TEEX是一個(gè)安全的分布式計(jì)算平臺,是基于現(xiàn)有區(qū)塊鏈系統(tǒng)的第二層解決方案。TEEX為用戶、算力提供方、服務(wù)提供方提供了一套完備的激勵(lì)模型,建立了一個(gè)去中心化的、靈活易用的計(jì)算資源共享市場。
解耦和任務(wù)分發(fā)
不同于現(xiàn)有公鏈系統(tǒng)使用冗余計(jì)算和全局共識機(jī)制,TEEX采用基于可信執(zhí)行環(huán)境的可驗(yàn)證計(jì)算策略來保證執(zhí)行的完整性和不可篡改性。TEEX將執(zhí)行和共識層完全解耦開,并且引入了任務(wù)分發(fā)策略,意味著計(jì)算者可以同時(shí)為不同的計(jì)算任務(wù)提供算力,保證了參與的計(jì)算者越多,TEEX網(wǎng)絡(luò)可以提供的吞吐量越高。
基于TEE的隱私保護(hù)
TEEX將任務(wù)執(zhí)行下放到鏈下的可行執(zhí)行環(huán)境(例如intel-SGX)中,從而通過硬件保證執(zhí)行過程中數(shù)據(jù)和控制流的隱私性。另外,可行執(zhí)行環(huán)境保證運(yùn)行在其中的程序可以被遠(yuǎn)程驗(yàn)證,并且允許建立安全通道進(jìn)行數(shù)據(jù)的加密傳輸。在TEEX網(wǎng)絡(luò)中,每一個(gè)計(jì)算者都需要擁有支持可信執(zhí)行環(huán)境的計(jì)算機(jī),用戶需要在發(fā)送隱私數(shù)據(jù)之前鑒定計(jì)算者的身份。
原生執(zhí)行環(huán)境
TEEX提供了一個(gè)鏈下執(zhí)行環(huán)境,沒有額外的運(yùn)行時(shí)開銷,可以支持接近原生的性能。由于執(zhí)行和共識的解耦,所以執(zhí)行過程可以立即返回,不需要等待鏈上冗長的確認(rèn)時(shí)間。此外,我們支持分布式計(jì)算群組,以此提供優(yōu)于單點(diǎn)計(jì)算的性能。另外,我們提供基于TEE的通用開發(fā)工具和接近原生的執(zhí)行環(huán)境,并提供完備的用戶庫。用戶可以利用C/C++進(jìn)行開發(fā)程序,并運(yùn)行在安全環(huán)境中,就好像在原生Linux操作系統(tǒng)下一樣。
軟硬件兼顧的設(shè)計(jì)方案
在可行執(zhí)行環(huán)境的基礎(chǔ)上,我們利用了密碼學(xué)機(jī)制實(shí)現(xiàn)了數(shù)據(jù)和執(zhí)行流的可驗(yàn)證性,從而保證了執(zhí)行的完整性。在TEEX網(wǎng)絡(luò)中,敏感數(shù)據(jù)只可能在可信環(huán)境中被解密,同時(shí)秘鑰被維護(hù)在TEE-DS(基于可信執(zhí)行環(huán)境的分布式存儲)來保證充分的隱私性。對于現(xiàn)有的針對可信執(zhí)行環(huán)境的攻擊,我們采用了一些軟件方法進(jìn)行加固。我們也利用諸如秘鑰分片的方式減少單點(diǎn)被攻擊的影響。
系統(tǒng)架構(gòu)
應(yīng)用層
主要包括應(yīng)用程序,為終端用戶提供功能接口,例如用戶端應(yīng)用、執(zhí)行器、任務(wù)分發(fā)器、錢包等等。我們會提供專門的TEEX軟件開發(fā)工具來處理和TEEX網(wǎng)絡(luò)、區(qū)塊鏈以及可信硬件之間的復(fù)雜通信協(xié)議,并協(xié)助開發(fā)上層應(yīng)用程序。
TEEX網(wǎng)絡(luò)層
主要包括大量計(jì)算者和任務(wù)分配器。計(jì)算者會運(yùn)行著受TEE保護(hù)的代碼,并負(fù)責(zé)隱私計(jì)算任務(wù)的執(zhí)行和維護(hù)。分配器用于接收用戶的計(jì)算任務(wù)并分配給相應(yīng)的計(jì)算者。我們提供了一個(gè)基于TEE的分布式存儲服務(wù)來協(xié)助處理私密數(shù)據(jù)(例如服務(wù)的私鑰)。
公共網(wǎng)絡(luò)層
主要包括公有區(qū)塊鏈系統(tǒng),這里主要指公共的智能合約系統(tǒng),例如以太坊。公有區(qū)塊鏈系統(tǒng)主要用于處理驗(yàn)證和結(jié)算交易這類公有共識部分。此外,考慮到公鏈存儲限制,我們也利用了一些公有存儲系統(tǒng),例如IPFS。
TEE (可信執(zhí)行環(huán)境)
TEE(可信執(zhí)行環(huán)境)是計(jì)算機(jī)芯片中的小黑盒,可以保護(hù)運(yùn)行在其中的代碼和數(shù)據(jù)不會被任何外部軟件篡改和竊取,即便是高權(quán)限軟件(例如操作系統(tǒng))。同時(shí)TEE提供了遠(yuǎn)程驗(yàn)證的功能,用戶可以主動驗(yàn)證計(jì)算方的行為是否符合預(yù)期,這保證了計(jì)算者可以在不獲得任何私密數(shù)據(jù)的同時(shí),提供有效的工作量證明。
另外TEE支持建立安全信道,保證在和用戶或者其他TEE通信時(shí),數(shù)據(jù)都是加密的,無法被竊取。
完全隔離
可信執(zhí)行環(huán)境是計(jì)算機(jī)處理器上的一塊安全區(qū)域,它能夠保證運(yùn)行在其中的代碼和數(shù)據(jù)的隱私性和完整性。在軟件層面上,可信執(zhí)行環(huán)境是一塊隔離的執(zhí)行空間,提供了豐富的安全特性,例如隔離執(zhí)行、應(yīng)用執(zhí)行的完整性、數(shù)據(jù)的隱私性等。
遠(yuǎn)程驗(yàn)證
Intel SGX提供了一套遠(yuǎn)程驗(yàn)證機(jī)制,用戶可以驗(yàn)證遠(yuǎn)端計(jì)算機(jī)是否在真實(shí)的可信執(zhí)行環(huán)境中執(zhí)行正確的代碼,同時(shí)可以和遠(yuǎn)端機(jī)器建立安全通道。在初始化階段,運(yùn)行在可信執(zhí)行環(huán)境中軟件可以取得一份包含驗(yàn)證信息的報(bào)告,并且由硬件簽名,證明其確實(shí)運(yùn)行在enclave中。遠(yuǎn)端用戶在取得這份報(bào)告之后,可以向Intel驗(yàn)證服務(wù)發(fā)起請求,驗(yàn)證報(bào)告的有效性。
評論
查看更多