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 場景或是一間虛擬電商甚至一個(gè)可和使用者互動(dòng)的游戲(請(qǐng)發(fā)揮想像力)。本篇希望根據(jù)白皮書它碎,了解構(gòu)成 Decentraland 主要的技術(shù)架構(gòu)函荣。
本篇專注在技術(shù)上如何構(gòu)成 Decentraland。想從其他面向了解 Decentraland 可以先參考官網(wǎng)链韭,也可以聽聽創(chuàng)辦人怎么說:
- 對(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)容層):透過分布式的檔案系統(tǒng)儲(chǔ)存內(nèi)容敞峭。
- Real-time layer(實(shí)時(shí)呈現(xiàn)層):讓使用者能實(shí)際體驗(yàn)這個(gè)虛擬世界(所有土地上的內(nèi)容)踊谋,并與其他使用者彼此互動(dòng)。
![](https://i.imgur.com/KOlfo0g.png)
Consensus layer(共識(shí)層)
土地(LAND)
Decentraland 使用 Ethereum 智能合約來管理土地旋讹,將土地的所有權(quán)和交易歷史等記錄在難以竄改的區(qū)塊鏈上殖蚕。在他們撰寫的 LAND 智能合約 中,定義 土地(Land) 為一種虛擬資產(chǎn)沉迹,且是不可替代的(non-fungible)睦疫。都有唯一的(x, y)座標(biāo)、一個(gè)擁有者和一個(gè)參考(可以是一個(gè) IPFS Hash 或是一個(gè) HTTPS 網(wǎng)址等)連結(jié)到描述內(nèi)容的文件鞭呕。Decentraland Client(目前還沒實(shí)作出來) 會(huì)連結(jié)這個(gè) LAND 智能合約蛤育,取得土地最新的參考,并從參考下載描述土地上內(nèi)容的文件葫松,再將內(nèi)容呈現(xiàn)給使用者瓦糕。
另外實(shí)際上 LAND 智能合約分成兩部分:LANDProxy 和 LANDRegistry,目的是讓實(shí)作管理土地的 LANDRegistry 合約可以更新腋么。使用者透過 LANDProxy 調(diào)用 LANDRegistry咕娄,當(dāng)要更新 LANDRegistry 時(shí)只需重新部署并取得新的合約地址,再更新 LANDProxy 中紀(jì)錄的合約地址就可以了珊擂。
MANA
Decentraland 另外使用 Ethereum 智能合約發(fā)行一種代幣叫 MANA圣勒。MANA 是符合 ERC20 的代幣费变,用來購買土地。起初可以透過花掉 1000 MANA 取得一塊土地(MANA 會(huì)被銷毀圣贸,這個(gè)角度來看購買 MANA 就像預(yù)購?fù)恋兀┲科纭A硗?a target="_blank" rel="nofollow"> Genesis City 的土地在 2017 年底時(shí)透過拍賣出售。關(guān)于購買土地詳細(xì)請(qǐng)看 wiki旁趟。
Land content layer(內(nèi)容層)
每塊土地都有對(duì)應(yīng)的文件描述土地的內(nèi)容昼激,這份文件可用 IPFS(Inter-Planetary File System) 來儲(chǔ)存。這讓 Decentraland 的運(yùn)行不需要中心化的 server锡搜,避免 single-point of faliure,且可以做到 censorship-resistance瞧掺。至于 IPFS 對(duì)提供儲(chǔ)存空間耕餐、頻寬的人缺發(fā)獎(jiǎng)勵(lì)機(jī)制,未來可望用 Filecoin 這類 protocol 解決辟狈。
實(shí)際上一塊土地實(shí)際需要多份文件才能描述其完整的內(nèi)容肠缔,這些內(nèi)容包括:
- 物件內(nèi)容:描述土地上物件的 3D 模型、紋理或一切渲染所需要的資訊哼转。目前官方正在開發(fā)一個(gè)基于 A-Frame 的土地編輯器明未。
- 腳本:描述的土地上的物件如何放置、移動(dòng)壹蔓,還有每個(gè)物件和使用者互動(dòng)的行為趟妥。這讓在 Decentraland 的世界中制作動(dòng)畫或是游戲成為可能。這個(gè)腳本語言也正在開發(fā)中佣蓉。
- P2P 互動(dòng):這部分官方描述比較模糊披摄,應(yīng)該還沒定案。目的是希望使用者可以彼此互動(dòng)勇凭,像是語音疚膊、訊息甚至支付的功能∠罕辏可能就要描述由哪個(gè) server 提供服務(wù)寓盗,如何使用等。
Real-time layer(實(shí)時(shí)呈現(xiàn)層)
除了用各種 3D 渲染技術(shù)呈現(xiàn)內(nèi)容(主要透過虛擬實(shí)境裝置)璧函,還希望使用者之間可以彼此互動(dòng)透過訊息或語音等傀蚌。比較可行的方式是土地?fù)碛姓呒茉O(shè) server,讓使用者透過 server 進(jìn)行互動(dòng)柳譬。但在 Decentraland 中使用者需要透過 centralized 的 server 才能互動(dòng)喳张,這個(gè)世界好像就不這么美麗了,所以白皮書中計(jì)劃未來會(huì)開發(fā)一個(gè) P2P 溝通系統(tǒng)美澳。此外销部,還要開發(fā)在 Decentraland 中的支付網(wǎng)路摸航,提供快速、低手續(xù)費(fèi)的支付方式舅桩。用來購買 P2P 服務(wù)或獎(jiǎng)勵(lì)內(nèi)容提供者酱虎。雖然已經(jīng)有 MANA 這個(gè)代幣,但作為一個(gè) ERC20 代幣擂涛,以目前 Ethereum 區(qū)塊鏈網(wǎng)路的情況用做支付可能會(huì)又慢又貴(以太坊區(qū)塊鏈被貓咪堵住)读串。
目前與未來發(fā)展
Decentraland 在 2017 年 8 月才 ICO 并發(fā)行 MANA 的代幣。至今與社群共同完成 Decentraland 中各街區(qū)的規(guī)劃撒妈、并在部署 Land 智能合約后開放使用者取得土地所有權(quán)恢暖。整個(gè)項(xiàng)目還在早期,根據(jù)官網(wǎng)的 Roadmap狰右,目前正進(jìn)入開發(fā)階段中的 “Iron Age“杰捂,包括要釋出基于 A-Frame 的土地編輯器和腳本系統(tǒng),讓土地?fù)碛姓呖梢蚤_始創(chuàng)造土地上的內(nèi)容棋蚌。腳本系統(tǒng)所能提供的功能和創(chuàng)造出來的使用體驗(yàn)嫁佳,會(huì)是影響 Decentraland 發(fā)展的重要因素蒿往。目前也正在開發(fā)去中心化的土地交易所瓤漏。未來的挑戰(zhàn)還有快速、低手續(xù)費(fèi)的支付網(wǎng)路和 P2P 溝通系統(tǒng)等省撑。期待 Decentraland 未來的發(fā)展赌蔑。
參考資料
消息更新
- 2018/1/30 使用Decentraland CLI 工具來編輯虛擬土地場景