歡歡的歡樂9星評(píng)價(jià)
2020-05-04 15:39:22
HCGraph 是Leviatom網(wǎng)絡(luò)的核心算法。在前面的文章中,我們介紹過該算法利用Gossip 協(xié)議族構(gòu)建全網(wǎng)信任模型。HCGraph利用類似于HashGraph的Gossip以及Gossip about Gossip協(xié)議來實(shí)現(xiàn)高效的信任關(guān)系傳遞。利用該協(xié)議,我們可以在獲得一個(gè)比較完整的全局網(wǎng)絡(luò)互信關(guān)系。
但是,在未來真實(shí)系統(tǒng)里百萬節(jié)點(diǎn)級(jí)別的分布式環(huán)境中,因?yàn)槭芟抻诰W(wǎng)絡(luò)負(fù)載,就有可能會(huì)引發(fā)網(wǎng)絡(luò)熱點(diǎn)負(fù)載過重。如果受限于網(wǎng)絡(luò)負(fù)載,就會(huì)影響節(jié)點(diǎn)達(dá)成共識(shí)的速度。
因此,我們?cè)O(shè)計(jì)了一個(gè)基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)鏈接預(yù)測的算法,來解決這個(gè)問題。此外,我們還設(shè)計(jì)了一個(gè)基于分布式的系統(tǒng)架構(gòu)來實(shí)現(xiàn)它。接下來,我們?cè)敿?xì)介紹一下:
假設(shè)我們需要預(yù)測節(jié)點(diǎn)u到v之間的證實(shí)關(guān)系,而u到v并沒有直接發(fā)起過證實(shí)。我們可以收集兩個(gè)類型的圖計(jì)算信息。
第一個(gè)類型,我們共收集七個(gè)維度的信息,這些信息僅與這兩個(gè)節(jié)點(diǎn)本身與整個(gè)網(wǎng)絡(luò)世界的關(guān)系。這其中包括,u 證實(shí)的可信節(jié)點(diǎn);u 證實(shí)的不可信節(jié)點(diǎn);u證實(shí)的所有節(jié)點(diǎn);證實(shí)v為可信的節(jié)點(diǎn);證實(shí)v為不可信的節(jié)點(diǎn);所有證實(shí)v的節(jié)點(diǎn);u和v的共同鄰接節(jié)點(diǎn)的數(shù)量。
第二個(gè)類型,我們共收集16個(gè)維度的信息,這些信息取決于共識(shí)節(jié)點(diǎn)u和v之間的交互。根據(jù)兩節(jié)點(diǎn)間證實(shí)關(guān)系的方向、信任關(guān)系,一共有(2*2)*(2*2)=16種關(guān)系。
結(jié)合兩個(gè)類型的信息,或者僅使用其中一個(gè)類型的信息,采用機(jī)器學(xué)習(xí)的算法對(duì)部分?jǐn)?shù)據(jù)進(jìn)行訓(xùn)練,而對(duì)另一部分?jǐn)?shù)據(jù)進(jìn)行交互測試。
共識(shí)節(jié)點(diǎn)之間的證實(shí)關(guān)系是實(shí)時(shí)地存儲(chǔ)在共識(shí)節(jié)點(diǎn)本地的數(shù)據(jù)結(jié)構(gòu)中的,那么要實(shí)現(xiàn)此算法就涉及到兩個(gè)問題:
1)如何獲取到所有周期性的證實(shí)信息來訓(xùn)練機(jī)器學(xué)習(xí)模型;
2)當(dāng)需要預(yù)測u和v之間的信任關(guān)系時(shí),如何抓取到u和v的實(shí)時(shí)證實(shí)信息來進(jìn)行預(yù)測。
在這里,第一個(gè)問題是批處理的計(jì)算問題,第二個(gè)問題則是在分布式系統(tǒng)中的實(shí)時(shí)計(jì)算問題。針對(duì)這兩個(gè)問題,以及共識(shí)節(jié)點(diǎn)本地化存儲(chǔ)、證實(shí)的需求,我們抽象出了三個(gè)模塊:
實(shí)時(shí)異構(gòu)共識(shí)圖
共識(shí)節(jié)點(diǎn)本身及其之間的通信所組成,主要的功能便是建立起共識(shí)節(jié)點(diǎn)之間的證實(shí)關(guān)系,并將這些關(guān)系存儲(chǔ)在本地的可持久化的數(shù)據(jù)結(jié)構(gòu)中。
批處理機(jī)器學(xué)習(xí)
由一個(gè)Hadoop生態(tài)搭建起來的ETL系統(tǒng)加上構(gòu)建在其上的機(jī)器學(xué)習(xí)組件組成,其采用pull模型來從各個(gè)組件中周期性的同步出共識(shí)節(jié)點(diǎn)的證實(shí)信息,并且以分片的方式來訓(xùn)練出機(jī)器學(xué)習(xí)的模型,來供后續(xù)預(yù)測的需要。
ETL:將業(yè)務(wù)系統(tǒng)的數(shù)據(jù)經(jīng)過抽取、清洗、轉(zhuǎn)換之后加載到數(shù)據(jù)倉庫的過程。目的是將企業(yè)中的分散、零散、標(biāo)準(zhǔn)不統(tǒng)一的數(shù)據(jù)整合到一起。
彈性拉伸
一個(gè)基于Paxos的狀態(tài)注冊(cè)模塊,當(dāng)新的共識(shí)節(jié)點(diǎn)加入或者舊的共識(shí)節(jié)點(diǎn)退出的時(shí)候,會(huì)在Paxos機(jī)上注冊(cè)自己的服務(wù),這樣當(dāng)客戶端需要進(jìn)行服務(wù)的時(shí)候便能夠從Paxos機(jī)中尋找到正確的路由信息來進(jìn)行實(shí)時(shí)的信息獲取和預(yù)測。Paxos機(jī)是整個(gè)Leviatom生態(tài)的核心基礎(chǔ),需要保證高可用、高性能和高一致性。
因此,利用基于機(jī)器學(xué)習(xí)的可擴(kuò)展HCGraph算法,便可達(dá)到避免網(wǎng)絡(luò)熱點(diǎn)的可橫向擴(kuò)展的互信網(wǎng)絡(luò)。
小小邱6星評(píng)價(jià)
2020-05-04 15:40:18
隨著自動(dòng)化智能化滲入生活,人的衣食住行均與機(jī)器緊密相連。相信機(jī)器,將成為未來人類的新一項(xiàng)生理需求。相信機(jī)器的核心,在于相信其在正確的硬件環(huán)境下執(zhí)行了正確的程序。換言之,一個(gè)值得信賴的機(jī)器,它的硬件軟件都必須是可靠的。
如何確??尚诺能浖诳煽康挠布h(huán)境下運(yùn)行,Trias團(tuán)隊(duì)借鑒智能合約,重新構(gòu)建一套去中心化的通用平臺(tái)的可信算力體系,及一套去中心化的可信軟件開發(fā)運(yùn)維體系,從而保障正確的通用平臺(tái)硬件環(huán)境執(zhí)行了正確的原生應(yīng)用程序,從而實(shí)現(xiàn)近區(qū)塊鏈2.0智能合約的安全強(qiáng)度。進(jìn)一步地,通過重新構(gòu)建一套智能合約體系,Trias實(shí)現(xiàn)了對(duì)硬件與軟件的有機(jī)調(diào)度,并利用經(jīng)濟(jì)模型驅(qū)動(dòng)硬件與軟件生態(tài)健康、有序、安全地運(yùn)轉(zhuǎn)。
Trias 中的可信算力體系,即Leviatom(利維坦)平臺(tái)。該利用TEE技術(shù)及信任圖技術(shù)實(shí)現(xiàn)了稱為異構(gòu)共識(shí)圖的共識(shí)算法,用以迅速定位全網(wǎng)中“最難撒謊的點(diǎn)”,并為少數(shù)這些點(diǎn)分發(fā)智能合約程序,從而實(shí)現(xiàn)高效、高并發(fā)、高魯棒性,且支持原生應(yīng)用程序的智能合約運(yùn)行環(huán)境。
一、TEE
TEE即可信執(zhí)行環(huán)境(Tusted Execution Environment),是一個(gè)基于CPU硬件安全擴(kuò)展,且與外部完全隔離的執(zhí)行環(huán)境。它可能作為協(xié)處理器出現(xiàn),也可能是基于ECV的新的硬件技術(shù)體系。這個(gè)環(huán)境中運(yùn)行的CPU空間完全只被硬件授信,軟件和操作系統(tǒng)都不可見。
針對(duì)現(xiàn)有區(qū)塊鏈公鏈的安全問題,比如智能合約、挖礦、錢包等程序的運(yùn)行環(huán)境得不到保障、缺乏對(duì)共識(shí)算力的“質(zhì)量”的判斷等,Trias提出利用TEE 等可信計(jì)算技術(shù),將智能合約和區(qū)塊鏈自身代碼,移入特性硬件的可信執(zhí)行環(huán)境中執(zhí)行。由可信計(jì)算技術(shù)確保執(zhí)行的代碼是滿足預(yù)期要求的,不會(huì)受異常進(jìn)程/線程/惡意文件等其它系統(tǒng)因素的影響??尚艌?zhí)行環(huán)境內(nèi)的程序若出現(xiàn)任何與預(yù)期白名單不一致的情況時(shí),即立刻會(huì)在可信硬件上反應(yīng)。這種低“質(zhì)量”的算力節(jié)點(diǎn)就能立刻被辨識(shí)和并排除。同時(shí)也可以通過可信計(jì)算方法來量化每個(gè)共識(shí)節(jié)點(diǎn)“質(zhì)量”好壞的程度。在實(shí)現(xiàn)共識(shí)時(shí),可以直接通過對(duì)“質(zhì)量”好壞程度的判斷,僅選取少數(shù)優(yōu)質(zhì)節(jié)點(diǎn)作為代表以達(dá)成共識(shí)。
該方法不僅提高了各節(jié)點(diǎn)的安全可信性,而且減少了參與共識(shí)的節(jié)點(diǎn)數(shù),最終實(shí)現(xiàn)了效率與安全性的同時(shí)提升。
二、TEE 技術(shù)的局限性
然而,TEE技術(shù)并不完美的,它也存在一定的局限性。
首先,缺乏通用的TEE構(gòu)建方法和接口。TEE的標(biāo)準(zhǔn)制定者GP(Global Platform)雖然制定了大量標(biāo)準(zhǔn)和規(guī)范,但是從接口層方面,各大廠商實(shí)現(xiàn)接口方式盡不相同,碎片化非常的嚴(yán)重。而且出于安全考慮,代碼基本閉源,所以無法形成統(tǒng)一的接口進(jìn)行推廣,需要進(jìn)行定制。
其次,目前市場上缺乏基于TEE的安全應(yīng)用。如前所說只有部分大廠為了實(shí)現(xiàn)最高安全的采用了TEE,但是對(duì)應(yīng)的擴(kuò)展應(yīng)用大家都很離散。而具體使用的時(shí)候,Trust Zone與SGX代碼都需要重構(gòu),需要開發(fā)人員對(duì)已有程序代碼重構(gòu),將程序分成可信部分和非可信部分,目前有Intel發(fā)布的SDK來協(xié)助做這方面工作,但仍然是很大量的工程修改工作。
此外,在性能方面,TEE的enclave進(jìn)出是瓶頸,這是由于TLB中緩存enclave中的內(nèi)存訪問緣故,因而進(jìn)出enclave需要進(jìn)行TLB flush。另外執(zhí)行enclave代碼時(shí),非TLB的內(nèi)存訪問也會(huì)造成額外的一些檢查,導(dǎo)致更大的額外開銷。同時(shí)也存在TEE代碼編寫漏洞風(fēng)險(xiǎn) ,如果enclave編寫代碼本身有漏洞的話,enclave是無法保護(hù)程序的安全,目前就有針對(duì)緩沖區(qū)溢出的ROP攻擊能夠控制enclave。另外也有些邊信道攻擊,能夠?qū)е旅孛苄孤R虼?,用單一的中心化的enclave去保護(hù)程序安全是無法完全滿足用戶安全需求的。
三、HCGraph(異構(gòu)共識(shí)圖)
為了克服上述問題、減少區(qū)塊鏈?zhǔn)褂肨EE的難度,Leviatom提出了HCGraph(異構(gòu)共識(shí)圖協(xié)議),引入了信任傳遞關(guān)系網(wǎng)。
定義:HCGraph是基于異構(gòu)TEE (Trusted Execution Environment)的可信計(jì)算技術(shù)與基于小世界網(wǎng)絡(luò)的圖計(jì)算技術(shù)的充分結(jié)合。
HCGraph(異構(gòu)共識(shí)圖)讓臨近的具備TEE運(yùn)行環(huán)境的節(jié)點(diǎn)互相驗(yàn)證對(duì)方的可信度,并將所收集到的可信節(jié)點(diǎn)信息在已獲得其信任的其它節(jié)點(diǎn)見傳播。這樣每個(gè)TEE共識(shí)節(jié)點(diǎn)的狀態(tài)信息就能形成一個(gè)信譽(yù)關(guān)系網(wǎng),互相背書互相證明,一旦有一個(gè)節(jié)點(diǎn)要“撒謊”,周圍的節(jié)點(diǎn)都會(huì)立刻就能指正它。而周圍的惡意節(jié)點(diǎn)若想要配合“撒謊”節(jié)點(diǎn),則需要讓其周圍的所有其他節(jié)點(diǎn)也同時(shí)配合。由此反復(fù)迭代,HCGraph可迅速定位全網(wǎng)中“最難撒謊的點(diǎn)”,并為少數(shù)這些點(diǎn)分發(fā)智能合約程序,從而實(shí)現(xiàn)高效、健壯、高并發(fā)、且支持原生應(yīng)用程序的智能合約運(yùn)行環(huán)境。
概括來講,HCGraph(異構(gòu)共識(shí)圖)實(shí)現(xiàn)了三層算力體系:
1.利用不同的TEE協(xié)議收集邏輯相鄰節(jié)點(diǎn)的可信狀態(tài)信息;
2.利用Gossip協(xié)議傳遞與整合邏輯相鄰節(jié)點(diǎn)所搜集的可信狀態(tài)信息;
3.利用本地TEE環(huán)境執(zhí)行合約代碼。
第一層算力節(jié)點(diǎn)利用TEE技術(shù)定期檢查其周圍節(jié)點(diǎn)的正確性。并記錄其對(duì)齊檢查的歷史信息。TEE目前包括Intel SGX、Intel TXT、TPM、ARM Trustzone。第二層算力節(jié)點(diǎn)利用Gossip協(xié)議(以及Gossip about Gossip)收集并傳播周圍第一層算力節(jié)點(diǎn)所收集到的其它節(jié)點(diǎn)的正確性信息。第二層算力節(jié)點(diǎn)所確定的“同謀違約”代價(jià)很大的少數(shù)幾個(gè)節(jié)點(diǎn)將成為第三層節(jié)點(diǎn),并獲得執(zhí)行任意程序的權(quán)力。該層算力節(jié)點(diǎn)將最終對(duì)執(zhí)行程序的結(jié)果產(chǎn)生共識(shí),并爭奪最終的記賬權(quán)。
為適應(yīng)不同平臺(tái)的算力特性,Leviatom允許任一節(jié)點(diǎn)支持實(shí)現(xiàn)三類職責(zé)的任意組合。這既增加了共識(shí)網(wǎng)絡(luò)結(jié)構(gòu)的靈活性,又依照算力能力有效分配了共識(shí)運(yùn)算量,實(shí)現(xiàn)了高效節(jié)能。