
Decentraland 是架構(gòu)于 Ethereum 區(qū)塊鏈上的虛擬世界。Decentraland 的土地(Land)是紀(jì)錄在區(qū)塊鏈上的虛擬資產(chǎn),所有權(quán)可以像真實(shí)世界中一樣轉(zhuǎn)移。土地是數(shù)量固定的有限資源,每ㄧ筆土地都有固定的座標(biāo)(x, y)。土地?fù)碛姓呖梢匀我鈩?chuàng)造土地上呈現(xiàn)的內(nèi)容,像是靜態(tài)的 3D 場(chǎng)景或是一間虛擬電商甚至一個(gè)可和使用者互動(dòng)的游戲(請(qǐng)發(fā)揮想像力)。本篇希望根據(jù)白皮書(shū),了解構(gòu)成 Decentraland 主要的技術(shù)架構(gòu)。

本篇專(zhuān)注在技術(shù)上如何構(gòu)成 Decentraland。想從其他面向了解 Decentraland 可以先參考官網(wǎng),也可以聽(tīng)聽(tīng)創(chuàng)辦人怎么說(shuō):
- 對(duì)談 Project Lead of Decentraland - Ari Meilich
- SF WebVR/AR Monthly: Esteban Ordano - Decentraland
在 Decentraland 之上
Decentraland 的架構(gòu)包含三層:
- Consensus layer(共識(shí)層):管理土地(所有權(quán)、內(nèi)容的連結(jié)等)和 MANA 代幣。
- Land content layer(內(nèi)容層):透過(guò)分布式的檔案系統(tǒng)儲(chǔ)存內(nèi)容。
- Real-time layer(實(shí)時(shí)呈現(xiàn)層):讓使用者能實(shí)際體驗(yàn)這個(gè)虛擬世界(所有土地上的內(nèi)容),并與其他使用者彼此互動(dòng)。
Consensus layer(共識(shí)層)
土地(LAND)
Decentraland 使用 Ethereum 智能合約來(lái)管理土地,將土地的所有權(quán)和交易歷史等記錄在難以竄改的區(qū)塊鏈上。在他們撰寫(xiě)的 LAND 智能合約 中,定義 土地(Land) 為一種虛擬資產(chǎn),且是不可替代的(non-fungible)。都有唯一的(x, y)座標(biāo)、一個(gè)擁有者和一個(gè)參考(可以是一個(gè) IPFS Hash 或是一個(gè) HTTPS 網(wǎng)址等)連結(jié)到描述內(nèi)容的文件。Decentraland Client(目前還沒(méi)實(shí)作出來(lái)) 會(huì)連結(jié)這個(gè) LAND 智能合約,取得土地最新的參考,并從參考下載描述土地上內(nèi)容的文件,再將內(nèi)容呈現(xiàn)給使用者。
另外實(shí)際上 LAND 智能合約分成兩部分:LANDProxy 和 LANDRegistry,目的是讓實(shí)作管理土地的 LANDRegistry 合約可以更新。使用者透過(guò) LANDProxy 調(diào)用 LANDRegistry,當(dāng)要更新 LANDRegistry 時(shí)只需重新部署并取得新的合約地址,再更新 LANDProxy 中紀(jì)錄的合約地址就可以了。
MANA
Decentraland 另外使用 Ethereum 智能合約發(fā)行一種代幣叫 MANA。MANA 是符合 ERC20 的代幣,用來(lái)購(gòu)買(mǎi)土地。起初可以透過(guò)花掉 1000 MANA 取得一塊土地(MANA 會(huì)被銷(xiāo)毀,這個(gè)角度來(lái)看購(gòu)買(mǎi) MANA 就像預(yù)購(gòu)?fù)恋兀?。另?a target="_blank" rel="nofollow"> Genesis City 的土地在 2017 年底時(shí)透過(guò)拍賣(mài)出售。關(guān)于購(gòu)買(mǎi)土地詳細(xì)請(qǐng)看 wiki。
Land content layer(內(nèi)容層)
每塊土地都有對(duì)應(yīng)的文件描述土地的內(nèi)容,這份文件可用 IPFS(Inter-Planetary File System) 來(lái)儲(chǔ)存。這讓 Decentraland 的運(yùn)行不需要中心化的 server,避免 single-point of faliure,且可以做到 censorship-resistance。至于 IPFS 對(duì)提供儲(chǔ)存空間、頻寬的人缺發(fā)獎(jiǎng)勵(lì)機(jī)制,未來(lái)可望用 Filecoin 這類(lèi) protocol 解決。
實(shí)際上一塊土地實(shí)際需要多份文件才能描述其完整的內(nèi)容,這些內(nèi)容包括:
- 物件內(nèi)容:描述土地上物件的 3D 模型、紋理或一切渲染所需要的資訊。目前官方正在開(kāi)發(fā)一個(gè)基于 A-Frame 的土地編輯器。
- 腳本:描述的土地上的物件如何放置、移動(dòng),還有每個(gè)物件和使用者互動(dòng)的行為。這讓在 Decentraland 的世界中制作動(dòng)畫(huà)或是游戲成為可能。這個(gè)腳本語(yǔ)言也正在開(kāi)發(fā)中。
- P2P 互動(dòng):這部分官方描述比較模糊,應(yīng)該還沒(méi)定案。目的是希望使用者可以彼此互動(dòng),像是語(yǔ)音、訊息甚至支付的功能??赡芫鸵枋鲇赡膫€(gè) server 提供服務(wù),如何使用等。
Real-time layer(實(shí)時(shí)呈現(xiàn)層)
除了用各種 3D 渲染技術(shù)呈現(xiàn)內(nèi)容(主要透過(guò)虛擬實(shí)境裝置),還希望使用者之間可以彼此互動(dòng)透過(guò)訊息或語(yǔ)音等。比較可行的方式是土地?fù)碛姓呒茉O(shè) server,讓使用者透過(guò) server 進(jìn)行互動(dòng)。但在 Decentraland 中使用者需要透過(guò) centralized 的 server 才能互動(dòng),這個(gè)世界好像就不這么美麗了,所以白皮書(shū)中計(jì)劃未來(lái)會(huì)開(kāi)發(fā)一個(gè) P2P 溝通系統(tǒng)。此外,還要開(kāi)發(fā)在 Decentraland 中的支付網(wǎng)路,提供快速、低手續(xù)費(fèi)的支付方式。用來(lái)購(gòu)買(mǎi) P2P 服務(wù)或獎(jiǎng)勵(lì)內(nèi)容提供者。雖然已經(jīng)有 MANA 這個(gè)代幣,但作為一個(gè) ERC20 代幣,以目前 Ethereum 區(qū)塊鏈網(wǎng)路的情況用做支付可能會(huì)又慢又貴(以太坊區(qū)塊鏈被貓咪堵住)。
目前與未來(lái)發(fā)展

Decentraland 在 2017 年 8 月才 ICO 并發(fā)行 MANA 的代幣。至今與社群共同完成 Decentraland 中各街區(qū)的規(guī)劃、并在部署 Land 智能合約后開(kāi)放使用者取得土地所有權(quán)。整個(gè)項(xiàng)目還在早期,根據(jù)官網(wǎng)的 Roadmap,目前正進(jìn)入開(kāi)發(fā)階段中的 “Iron Age“,包括要釋出基于 A-Frame 的土地編輯器和腳本系統(tǒng),讓土地?fù)碛姓呖梢蚤_(kāi)始創(chuàng)造土地上的內(nèi)容。腳本系統(tǒng)所能提供的功能和創(chuàng)造出來(lái)的使用體驗(yàn),會(huì)是影響 Decentraland 發(fā)展的重要因素。目前也正在開(kāi)發(fā)去中心化的土地交易所。未來(lái)的挑戰(zhàn)還有快速、低手續(xù)費(fèi)的支付網(wǎng)路和 P2P 溝通系統(tǒng)等。期待 Decentraland 未來(lái)的發(fā)展。