TEA Project:基于 Substrate 的去中心化云計(jì)算平臺(tái)
加入 PolkaWorld 社區(qū),共建 Web 3.0!

TEA Project 是基于 Substrate 開發(fā)的去中心化云計(jì)算平臺(tái),使用二層網(wǎng)絡(luò)的技術(shù),讓平臺(tái)上的應(yīng)用能夠兼具區(qū)塊鏈的去中心化特性,和傳統(tǒng)云計(jì)算的高效和良好的用戶體驗(yàn)。
這次 PolkaWorld 專訪,我們連線了目前在硅谷的 TEA Project 創(chuàng)始人 Kevin Zhang,和他聊了聊 TEA 獨(dú)特二層架構(gòu),它帶來的優(yōu)勢(shì),以及隨之而來的技術(shù)挑戰(zhàn)等。
PW:波卡第一中文社區(qū) PolkaWorld
Kevin:TEA Project 創(chuàng)始人 Kevin Zhang
PW:可不可以用小白也能聽懂的方式,解釋一下 TEA Project 想要做什么?你們的目標(biāo)是什么?
Kevin:好的,先講講我們現(xiàn)在面臨環(huán)境。
現(xiàn)在處于主導(dǎo)地位的還是云計(jì)算應(yīng)用。包括我們現(xiàn)在正在用的微信,我們平時(shí)玩的游戲,還有大家耳熟能詳?shù)母鞣N互聯(lián)網(wǎng)應(yīng)用,基本上都使用了云計(jì)算。
而區(qū)塊鏈應(yīng)用其實(shí)是非主流的,這個(gè)技術(shù)比較新,能做的事其實(shí)還是很少,但是這個(gè)市場(chǎng)也很活躍,有大量的應(yīng)用,包括 DeFi、NFT 等。
這兩個(gè)類型的應(yīng)用有本質(zhì)的區(qū)別,大家只要都用過,就能明顯地感覺到它們十分不一樣?;ヂ?lián)網(wǎng)應(yīng)用都發(fā)展二三十年了,已經(jīng)很成熟,現(xiàn)在用起來也很順,速度很快,好像也不覺得有什么問題。使用區(qū)塊鏈應(yīng)用的門檻就相當(dāng)高了,首先應(yīng)用很少,用起來很復(fù)雜,速度很慢,能干的事情也很少。
差別的根本原因,其實(shí)是來自區(qū)塊鏈去中心化的特點(diǎn),這既是優(yōu)點(diǎn)也是缺點(diǎn)。因?yàn)槿绻邮苤行幕?,其?shí)云計(jì)算就體驗(yàn)夠好了,不管是中國的阿里云、騰訊云、百度云,還是美國的亞馬遜、Google、微軟的云計(jì)算,都發(fā)展了二三十年了,已經(jīng)很成熟了,但是它唯一的問題就是中心化。中心化的問題不用展開了吧?大概就是由一家公司來控制,比如像蘋果有權(quán)利把你的應(yīng)用下架。
反觀區(qū)塊鏈,它的最大優(yōu)點(diǎn)就是去中心化,它的共識(shí)機(jī)制不受任何人控制,這是最大的優(yōu)點(diǎn)。同時(shí)這也產(chǎn)生了它最大的缺點(diǎn),為了實(shí)現(xiàn)去中心化,它的共識(shí)機(jī)制十分復(fù)雜。這帶來了巨大的代價(jià):比如共識(shí)速度慢,能做的交易量很小,界面也不友好,使用起來很復(fù)雜等等。
用戶體驗(yàn)和去中心化似乎是不可調(diào)和的矛盾。我們想做的,就是用某種辦法,可以在保證去中心化的前提下,實(shí)現(xiàn)接近我們現(xiàn)在使用云計(jì)算應(yīng)用的體驗(yàn)。我們有什么辦法能把這兩者的好處結(jié)合到一起呢?
所以我們的目標(biāo)就是做一個(gè)平臺(tái)。一是讓云計(jì)算實(shí)現(xiàn)去中心化。二是給區(qū)塊鏈應(yīng)用增加豐富性,讓區(qū)塊鏈應(yīng)用的用戶體驗(yàn)提高到接近云計(jì)算應(yīng)用的水平。

有了這樣的平臺(tái),現(xiàn)在很多在區(qū)塊鏈上,用戶很難涉及到的應(yīng)用,都可以用這種新的平臺(tái),讓它用起來跟云計(jì)算沒什么區(qū)別。同時(shí)也可以讓大家都喜歡用,而且用的也比較習(xí)慣的這些互聯(lián)網(wǎng)產(chǎn)品去中心化,讓它不會(huì)產(chǎn)生壟斷、數(shù)據(jù)盜用等問題。
PW:TEA Project 要怎樣實(shí)現(xiàn)這樣一種平臺(tái),讓它能同時(shí)結(jié)合云計(jì)算和區(qū)塊鏈的好處呢?
Kevin:要做這一點(diǎn),我們使用了二層的技術(shù),兩層分別干不同的事。
技術(shù)比較復(fù)雜,我做一個(gè)類比,幫助大家理解。假設(shè)我們正在做采訪的三個(gè)人屬于一個(gè)重要的安全機(jī)構(gòu),我們之間有一套比較復(fù)雜的安全體系,比如咱們之間說話要帶暗號(hào),也就是咱們之間有共同協(xié)議,我們互相可能不完全認(rèn)識(shí)。
那么如果我們要在某條街上接頭,因?yàn)樵蹅兓ハ嗖⒉徽J(rèn)識(shí),所以必須先對(duì)暗號(hào)。比如我說 “天王蓋地虎”,你對(duì) “寶塔鎮(zhèn)河妖” 。在對(duì)上暗號(hào)之前,我們都不敢相信對(duì)方。就算是暗號(hào)對(duì)好了,我還可能懷疑你是不是有可能被策反了,是雙面間諜,我給你傳輸信號(hào)的時(shí)候還得留一手??傊押芎?jiǎn)單的事搞得很復(fù)雜。這就是現(xiàn)在的區(qū)塊鏈的情況,在部分節(jié)點(diǎn)不可信,被黑客控制的情況下,還能保證軟件傳輸,所以必須有很復(fù)雜的協(xié)議。
但假如咱們?nèi)齻€(gè)人,現(xiàn)在都坐在我們機(jī)構(gòu)總部的安全屋里,門口有保安,有很嚴(yán)格的準(zhǔn)入制度,只要能夠進(jìn)這間屋的人,肯定都不是敵方間諜,而且這個(gè)屋子它還有靜電隔離,總之外面的人都聽不見我們?cè)谡f什么。在這個(gè)前提下,我們就不用再對(duì)暗號(hào)了,可以快速討論問題,也不用擔(dān)心你是壞人。這就是現(xiàn)在的云計(jì)算或者互聯(lián)網(wǎng)的情況,大家都相信對(duì)方,因?yàn)槭怯辛酥行目刂疲晕覀儌鬏斊饋硇屎芨?,我們的共識(shí)協(xié)議十分簡(jiǎn)單。
現(xiàn)在我們把這個(gè)屋子變成兩層:在屋子里邊,咱們討論這個(gè)環(huán)境叫二層;屋子外邊負(fù)責(zé)安全保障這些保安、金屬探測(cè)器等這些東西,叫一層。所以當(dāng)我們這個(gè)事情變成兩層,這事就很簡(jiǎn)單了。
一層也就是門口那些保安,他并沒有什么高超的技術(shù),他就檢查你的指紋、公文,搜身看有沒有帶武器什么的,保證進(jìn)到屋里的每個(gè)人都是可信的。至于咱們進(jìn)來了以后談什么東西,跟他沒關(guān)系,他聽不懂,也聽不著,我們也不想讓他聽到。二層進(jìn)來了以后,因?yàn)槲覀兌家呀?jīng)安全了,咱們就具體做業(yè)務(wù)就行了。
回到我們的實(shí)現(xiàn)方法。一層我們用的還是標(biāo)準(zhǔn)的區(qū)塊鏈共識(shí)協(xié)議 BFT,它是拜占庭容錯(cuò)的,我們用的波卡的 PoA 來實(shí)現(xiàn)的,仍然是假設(shè)節(jié)點(diǎn)不可靠的共識(shí)系統(tǒng)。一層并不關(guān)心二層跑的具體業(yè)務(wù)邏輯,也不關(guān)心,它只是檢查你提供的安全證明,只要合格了你可以進(jìn)入二層了。就像我們例子里的保安檢查一樣。這樣你不需要有一個(gè)中心化的權(quán)威,比如亞馬遜或 Google,只要能通過一層的認(rèn)證就行。
然后到了二層里,就是跑應(yīng)用程序邏輯了,這個(gè)時(shí)候我們跑的協(xié)議叫做 Raft 協(xié)議,它不是區(qū)塊鏈的共識(shí)協(xié)議,它是互聯(lián)網(wǎng)中常見的分布式系統(tǒng),它不能處理拜占庭錯(cuò)誤,因?yàn)檫@個(gè)在一層已經(jīng)處理了。
我們通過讓兩層的責(zé)任分離,各管各的事兒,使得我們?cè)谶@個(gè)系統(tǒng)中既能夠?qū)崿F(xiàn)去中心化,又可以實(shí)現(xiàn)高效的邏輯處理。
PW:TEA Project 和 Polkadot 的關(guān)系是什么?
Kevin:如果有能力,我們還是會(huì)選擇拍賣插槽。但我們選擇成為平行鏈的理由,并不是看重中繼鏈的共享安全性,而是和整個(gè)波卡生態(tài)實(shí)現(xiàn)互操作性。
你可能會(huì)想,我們?yōu)槭裁纯梢圆挥貌ǖ闹欣^鏈來實(shí)現(xiàn)安全,我來解釋一下。我們是用 Substrate 來開發(fā)的一層的鏈,這個(gè)鏈本身十分簡(jiǎn)單。
其他大部分的鏈需要波卡插槽提供安全性,因?yàn)榻^大部分的區(qū)塊鏈邏輯都是跑在一層的。而我們和它們根本的不同是,我們的一層沒有需要去做安全認(rèn)證的東西。因?yàn)槲覀兊臉I(yè)務(wù)邏輯、用戶的錢都在二層放著。
第二點(diǎn)是,我們一層這條鏈本身沒太多的業(yè)務(wù),沒有業(yè)務(wù)數(shù)據(jù)在跑,所以我們把它做得很簡(jiǎn)單,而越簡(jiǎn)單的東西就越可靠。像以太坊里,我們經(jīng)常聽一些消息,有黑客偷了多少錢走。為什么會(huì)能夠被黑客把錢偷走,還是因?yàn)樘珡?fù)雜,容易找到它的錯(cuò)誤,黑客就可以利用這種錯(cuò)誤。而比特幣鏈,我還沒聽到過這種黑客劫持的事情,因?yàn)楸忍貛诺倪壿嫼芎?jiǎn)單,只有加減,所以出錯(cuò)的機(jī)會(huì)少。
PW:為什么選擇了 Substrate 來開發(fā)?
Kevin:之所以選擇 Substrate,一是因?yàn)樗旧砗芎糜?,這個(gè)不多說了。另外一個(gè)原因是我們對(duì)波卡生態(tài)很感興趣,使用 Substrate 開發(fā),并加入波卡生態(tài)的話,就能夠跨鏈通訊,我們可以為其他的波卡生態(tài)平行鏈提供計(jì)算服務(wù),這是我們很重要的一個(gè)商業(yè)模式。
PW:Tea Project 和波卡生態(tài)的另一個(gè)隱私云計(jì)算項(xiàng)目 Phala 有什么區(qū)別?
Kevin:首先說同樣的地方吧,我們都做可信計(jì)算,都用硬件。
區(qū)別是,我們用的硬件不一樣。他們用的是英特爾的一部分型號(hào)的 CPU,我們對(duì) CPU 不做具體要求,甚至用手機(jī)都可以跑。
因?yàn)槲覀冇玫挠布煌?,所以我們后面很多操作系統(tǒng)等各方面都會(huì)不一樣。首先我們是嚴(yán)格的二層,我們的礦機(jī)整個(gè)就是一個(gè)可信環(huán)境,而如果你使用英特爾的話呢,它的 CPU 里邊開出一個(gè)部分來做可行計(jì)算。也就是說,我們的整個(gè)機(jī)器是可信的,Phala 是 CPU 里有小部分是可信的,這是根本的區(qū)別。
在這種根本的區(qū)別之下,造成我們要求硬件必須得有一個(gè) TPM 安全芯片。你可以用任何 CPU,但必須得有這個(gè)安全芯片在跑著。然后我們要跑專門的操作系統(tǒng),有專門的運(yùn)營環(huán)境,而且對(duì)各個(gè)硬件端口都會(huì)有禁止功能。而 Phala 不需要,只要有特定型號(hào)的英特爾 CPU,基本都可以跑。
但是由于 CPU 的空間的處理能力的限制,能做的事情是比較有限的。所以根據(jù)我的理解,Phala 現(xiàn)在能做的主要還是運(yùn)行智能合約。而我們不光能跑智能合約,我們最關(guān)鍵的是要做真正的云計(jì)算,去跑類似現(xiàn)在的微信、網(wǎng)絡(luò)游戲這樣的應(yīng)用。
而且一些 IoT 小設(shè)備,比如樹莓派、手機(jī)等低功耗設(shè)備,也能夠跑我們的節(jié)點(diǎn)。這個(gè)正好是我們的一個(gè)方向,我們希望我們的設(shè)備可以很便宜,我們現(xiàn)在測(cè)試用的是 30 美元的樹莓派設(shè)備,就能當(dāng)?shù)V機(jī)用,就能掙錢。
總結(jié)一下,我們是服務(wù)器本身作為一個(gè)節(jié)點(diǎn),而不是它其中的一部分作為節(jié)點(diǎn),這是我們和 Phala 最大的區(qū)別。
PW:你們?cè)陂_發(fā) TEA 平臺(tái)上有什么技術(shù)上的挑戰(zhàn)嗎?對(duì)于用戶來說,會(huì)增加一些使用成本嗎?
Kevin:技術(shù)挑戰(zhàn)當(dāng)然有,但主要在我們開發(fā)這邊,用戶沒什么感知。從用戶角度上講,使用我們平臺(tái)的應(yīng)用,可能會(huì)感覺跟使用一個(gè)互聯(lián)網(wǎng)應(yīng)用差不多。
最難的地方在于,礦機(jī)里跑的操作系統(tǒng)和它互相通訊,以及怎么能保證它能安全的不被攻擊。
為了實(shí)現(xiàn)這些,我們也做了很多工作。包括我們自己改造了一個(gè)操作系統(tǒng),我們把 Linux 的一個(gè)分支 NixOS 改造成了一個(gè)我們用的一個(gè)版本,這個(gè)操作系統(tǒng)符合我們極簡(jiǎn)的要求,我們把它拆的已經(jīng)拆得簡(jiǎn)單到不能干其他任何事情,只能作為我們的運(yùn)行環(huán)境這,是我們的主要工作。
然后這個(gè)運(yùn)行環(huán)境也盡可能簡(jiǎn)單,簡(jiǎn)單到你都不可想象。舉個(gè)例子,這個(gè)環(huán)境里甚至沒有網(wǎng)絡(luò),沒有 TCP/IP,也沒有文件系統(tǒng)。在沒有網(wǎng)絡(luò)和文件系統(tǒng)的情況下,還要讓用戶能夠用,其實(shí)就挺難的。技術(shù)上的復(fù)雜性其實(shí)就在這些地方。
為什么我們要這么做?因?yàn)橄到y(tǒng)有網(wǎng)絡(luò)訪問,安全性就無法保證,因?yàn)槿魏稳丝梢詫懸粋€(gè)代碼,跑到這里邊,把數(shù)據(jù)搞到外邊傳走?;蛘哂辛宋募到y(tǒng),哪天機(jī)器壞了,我把它扔了,然后被黑客撿回來,把這硬盤拆下來以后一恢復(fù),數(shù)據(jù)全在這兒。這些都防不勝防,所以我們從根本上去杜絕。
PW:這個(gè)項(xiàng)目開發(fā)了多久?現(xiàn)在處于什么階段?
Kevin:開發(fā)了兩年半了,現(xiàn)在已經(jīng)完成了第一階段的目標(biāo)。
我們的項(xiàng)目規(guī)劃分為三個(gè)階段:
第一階段是礦工經(jīng)濟(jì),礦工可以在這里挖礦獲得收益,這一階段已經(jīng)完成了;
第二個(gè)階段是開發(fā)者經(jīng)濟(jì),我們會(huì)把重點(diǎn)挪到開發(fā)者,讓開發(fā)者可以在我們的平臺(tái)獲得投資和客戶支持;
第三階段就是消費(fèi)者階段,讓更多消費(fèi)者來使用這個(gè)平臺(tái)。
本文屬于 “PolkaWorld 專訪計(jì)劃”,旨在幫助更多人了解更多波卡生態(tài)新項(xiàng)目,如果你也希望 PolkaWorld 來采訪你,可以點(diǎn)此了解詳情和申請(qǐng)。
活動(dòng)預(yù)告
明天(2021 年 8 月 28 日)14:00,PolkaWorld 即將在深圳舉辦 Polkadot 線下聚會(huì),如果你想與我們線下見面,趕緊點(diǎn)擊報(bào)名啦!《Polkadot 深圳聚會(huì)報(bào)名中!周六見!》

歡迎學(xué)習(xí) Substrate:
https://substrate.dev/
關(guān)注 Substrate 進(jìn)展:
https://github.com/paritytech/substrate
關(guān)注 Polkadot 進(jìn)展:
https://github.com/paritytech/polkadot

更多內(nèi)容:
Zeitgeist:一個(gè)去中心化 DAO 的預(yù)測(cè)市場(chǎng) | PW 專訪
Polkadot 官方發(fā)文:使用 Crowdloan 機(jī)制參與插槽拍賣!
掃碼關(guān)注公眾號(hào),回復(fù) “1” 加入波卡群
關(guān)注 PolkaWorld
發(fā)現(xiàn) Web 3.0 時(shí)代新機(jī)遇
點(diǎn)個(gè) “在看” 再走吧!
