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