導(dǎo)讀:區(qū)塊鏈的眾多優(yōu)勢使其可以很好地解決現(xiàn)有一些技術(shù)所面臨的瓶頸問題,利用這些優(yōu)勢和傳統(tǒng)云計算技術(shù)相結(jié)合,將促進基于區(qū)塊鏈的分布式云計算領(lǐng)域的一些突破和應(yīng)用,為大規(guī)模的應(yīng)用打下基礎(chǔ)。
區(qū)塊鏈的眾多優(yōu)勢使其可以很好地解決現(xiàn)有一些技術(shù)所面臨的瓶頸問題,利用這些優(yōu)勢和傳統(tǒng)云計算技術(shù)相結(jié)合,將促進基于區(qū)塊鏈的分布式云計算領(lǐng)域的一些突破和應(yīng)用,為大規(guī)模的應(yīng)用打下基礎(chǔ)。
最近幾年,區(qū)塊鏈作為新興的技術(shù)引起了廣泛的關(guān)注。區(qū)塊鏈可以應(yīng)用的領(lǐng)域非常廣,包含支付、身份識別、云計算、物品溯源、游戲、投票、醫(yī)療等。眾多傳統(tǒng)的技術(shù)也可以和區(qū)塊鏈技術(shù)相結(jié)合發(fā)揮更大的作用,比如在傳統(tǒng)的云計算領(lǐng)域,將云計算和區(qū)塊鏈結(jié)合起來可以實現(xiàn)更高效、更經(jīng)濟、更安全可信的分布式云計算。
云計算及所面臨的問題
云計算是一種基于互聯(lián)網(wǎng)的計算方式。通過這種方式,共享軟硬件資源和信息,可以按需求提供給計算機各種終端和其他設(shè)備。云計算是繼上世紀(jì)80年代大型計算機到客戶端—服務(wù)器的大轉(zhuǎn)變之后的又一巨變。用戶不再需要了解“云”中基礎(chǔ)設(shè)施的細節(jié),不必具有相應(yīng)的專業(yè)知識,也無需直接進行控制。云計算描述了一種基于互聯(lián)網(wǎng)的新IT服務(wù)增加、使用和交付模式,通常涉及通過互聯(lián)網(wǎng)來提高動態(tài)易拓展且經(jīng)常虛擬化的資源。
然而,云計算技術(shù)的發(fā)展也存在不少痛點。
現(xiàn)有云計算市場極度中心化,市場份額由少數(shù)幾家科技巨頭依靠自身高度集中化的服務(wù)器資源壟斷了整個云計算市場,借助市場力量享受高額利潤,進而導(dǎo)致算力服務(wù)價格居高不下。BOINC(伯克利開放式網(wǎng)絡(luò)計算平臺)是目前最為主流的分布式計算平臺,為眾多的數(shù)學(xué)、物理等學(xué)科類別的項目所使用,但是由于這是基于分布在世界各地的志愿者的計算資源而形成的分布式計算平臺,缺乏足夠的志愿者來貢獻算力。
分布式云計算的良好平臺
桌面網(wǎng)格的思想是收集互聯(lián)網(wǎng)上未充分利用的計算機資源,在一個分布式虛擬的超級計算機上,以極小成本執(zhí)行大規(guī)模并行及分布式應(yīng)用程序。
桌面網(wǎng)格計算技術(shù)有三個功能使其成為完全分布式云計算的良好平臺:第一是韌性,如果某些節(jié)點出現(xiàn)故障,計算仍能繼續(xù)在其他工作節(jié)點上運行;第二是效率,即使計算節(jié)點多種多樣,應(yīng)用程序仍可以獲得最佳性能;第三是易于部署,無需特定配置即可使用任意節(jié)點,甚至包括那些位于網(wǎng)絡(luò)邊緣的節(jié)點。這使得包括傳統(tǒng)的高性能計算集群、云基礎(chǔ)設(shè)施及個人電腦等計算資源的桌面網(wǎng)格成為組合混合基礎(chǔ)設(shè)施的完美解決方案。
然而,桌面網(wǎng)格仍然存在一些重要的問題,比如難以計算各個節(jié)點對網(wǎng)絡(luò)作出的貢獻,從而缺少激勵機制,難以撮合需求與計算資源的匹配等。
區(qū)塊鏈技術(shù)的出現(xiàn),可以很好地解決這些問題,比如通過貢獻證明協(xié)議提供可證明的共識、可追溯性和信用機制。
基于區(qū)塊鏈的分布式云計算
基于區(qū)塊鏈的分布式云計算基礎(chǔ)設(shè)施將允許按需、安全和低成本地訪問最具競爭力的計算基礎(chǔ)設(shè)施。而分布式應(yīng)用程序DApps則可以通過分布式云計算平臺自動檢索、查找、提供、使用、釋放所需的所有計算資源,如應(yīng)用程序、數(shù)據(jù)和服務(wù)器。通過簡化訪問服務(wù)器的方式,分布式云計算大大降低了數(shù)據(jù)中心的熱能損耗,同時使得數(shù)據(jù)供應(yīng)商和消費者更容易獲得所需計算資源。
傳統(tǒng)區(qū)塊鏈,如比特幣和以太坊依賴于工作量證明機制(PoW),以確保區(qū)塊鏈上參與者之間發(fā)生的代幣交易被大量節(jié)點采用的加密挑戰(zhàn)所驗證。而基于區(qū)塊鏈的分布式云計算則可以采用貢獻證明協(xié)議,即通過鏈外行為,如實時提供數(shù)據(jù)集、傳輸文件、執(zhí)行計算、提供專業(yè)服務(wù)等活動引發(fā)參與者之間的代幣交易。
因此,需要一個新的協(xié)議來證明貢獻已經(jīng)準(zhǔn)確無誤地發(fā)生,且相應(yīng)的代幣交易可以在區(qū)塊鏈上進行。我們稱這種共識機制為貢獻證明機制。有幾個采用相似協(xié)議的平臺如GridCoin、FatCom、FileCoin,它們允許在區(qū)塊鏈和鏈外資源之間建立共識。例如,GridCoin提出了研究證明來獎勵那些捐贈了部分計算機時間給生物醫(yī)學(xué)研究,以及探索宇宙等偉大科學(xué)計算的志愿者。相比較而言,貢獻證明將更加通用,允許驗證更多的行為。
在分布式系統(tǒng)中可以使用一種匹配算法,通過相關(guān)描述將一個資源請求和一個資源供應(yīng)進行匹配。在設(shè)計分布式云平臺時,匹配算法是資源配置中的一個基本構(gòu)建塊。它基本上解決了“我可以在這臺機器上運行這個任務(wù)嗎”的問題。我們通過iEx.ec區(qū)塊鏈存儲智能合約來描述計算資源的特征,如內(nèi)存容量、CPU類型、磁盤空間等。有些合約描述的是運行一個任務(wù)或部署一個虛擬機實例的要求(如最小磁盤空間、內(nèi)存、GPU運行的要求、預(yù)計管理程序等)。匹配描述語言已經(jīng)在一些學(xué)術(shù)論文中得到詳述,并在軟件中得到了應(yīng)用。
在分布式系統(tǒng)中,調(diào)度算法會分配一些任務(wù)在相關(guān)計算資源上執(zhí)行。調(diào)度程序是分布式計算系統(tǒng)的一個重要組成部分,應(yīng)用程序執(zhí)行的性能主要取決于它的有效性。調(diào)度程序面臨的一個特別挑戰(zhàn)是設(shè)計多標(biāo)準(zhǔn)調(diào)度,即一個算法中有多個策略來選擇計算資源和調(diào)度任務(wù)。
基于區(qū)塊鏈的分布式云計算的技術(shù)不僅僅存在于理論中,眾多采用這些技術(shù)的應(yīng)用項目如Golem、iExe、cSONM等已取得一些進展。Golem希望建立在以太坊上的去中心化的GPU計算資源租賃平臺;cSONM正在打造通用的去中心超級計算機;法國區(qū)塊鏈技術(shù)公司iExec為所有計算資源相關(guān)的供應(yīng)商(計算服務(wù)商、數(shù)據(jù)供應(yīng)商、應(yīng)用程序供應(yīng)商)提供了一個資源共享交易的可信平臺。融入了獨有的貢獻證明共識協(xié)議和英特爾最新的安全可信技術(shù)(Intel SGX)來確保平臺的可信度和平臺上數(shù)據(jù)的安全性,支持從高性能計算到物聯(lián)網(wǎng)在內(nèi)的多個領(lǐng)域的應(yīng)用程序。
區(qū)塊鏈的眾多優(yōu)勢使其可以很好地解決現(xiàn)有一些技術(shù)所面臨的瓶頸問題,利用這些優(yōu)勢和傳統(tǒng)云計算技術(shù)相結(jié)合,將促進基于區(qū)塊鏈的分布式云計算領(lǐng)域的一些突破和應(yīng)用,為大規(guī)模的應(yīng)用打下基礎(chǔ)。