斯諾登事件后的 Web 有 4 個組成部分:靜態(tài)內(nèi)容發(fā)布、動態(tài)消息、免信任型交易和集成用戶界面?!?Gavin Wood
自 20 世紀(jì) 90 年代誕生以來,互聯(lián)網(wǎng)年正年復(fù)一年地革新我們的通信方式、商業(yè)模式,以及新聞閱讀和電視觀影方式。它實(shí)現(xiàn)了信息獲取的民主化,極大地降低了全球通信成本,而且提升了普通公民對通信、新聞和隱私訪問的期望。
第二波互聯(lián)網(wǎng)浪潮(被稱為 Web 2.0 )下出現(xiàn)了 Wikileaks、Facebook、Twitter 以及 Youtube、Linkedin 和 WordPress 之類的個人發(fā)布平臺等網(wǎng)站。它們改變了信息的發(fā)布方式,讓信息難以藏匿。無論發(fā)生了什么新聞,遲早會被披露出來。
這給各國政府和官員帶來了大麻煩。 無論好壞,維基解密在 2010 年披露了美國外交電報泄漏事件,在突尼斯和利比亞等國家激起了民變,星星之火遂成燎原之勢,改變了整個中東的面貌。政府電報泄漏一事還在西方國家激起了一系列抗議活動。
在其所著的《當(dāng)谷歌遇上維基解密》一書中,Julian Assange 闡述了政界、科技巨頭和情報界三方之間的邪惡勾當(dāng)。對于 Eric Schmidt 和 Jared Cohen 的新作《新數(shù)字時代》,他給予了恰當(dāng)?shù)脑u價:“Schmidt 和 Cohen 兩位先生告訴我們,一旦消滅了隱私,對實(shí)行 “高壓政策”的專制政府來說,就是在做它們掌握公民動向的幫兇;對實(shí)行“開放政策“的民主制政府來說,就是它們?yōu)楣窈拖M(fèi)者排憂解難的‘益友’?!?/p>
維基解密對金融機(jī)構(gòu)的揭發(fā)向我們展示了我們在審查制度面前有多么脆弱——即使是在互聯(lián)網(wǎng)時代。
后來,斯諾登揭露了美國的“棱鏡”計劃,又再一次刷新了公眾對于日常隱私受侵犯程度的認(rèn)知。
以太坊就是在這種背景下誕生的。斯諾登泄密事件發(fā)生后的幾個月,以太坊的聯(lián)合創(chuàng)造者 Gavin Wood 寫了一篇文章來闡述他對 Web 3.0 的看法(編者注:中譯本見文末超鏈接)。 Web 3.0 指的是使用已有的互聯(lián)網(wǎng)架構(gòu)和的可用的加密方式,連同區(qū)塊鏈一起構(gòu)建更好的互聯(lián)網(wǎng)。其中包括內(nèi)容發(fā)布、信息發(fā)送和價值交易 —— 在保障隱私性的情況下通過去中心化的抗審查方式實(shí)現(xiàn)。
耳語協(xié)議
在這篇文章中,Wood 描述了一個 基于身份的匿名信息發(fā)送基本系統(tǒng) ,這個系統(tǒng)會賦予用戶——不管是人還是 dApp——基于哈希的身份、隱私保證、加密消息服務(wù)、關(guān)于發(fā)送者的密碼學(xué)認(rèn)證,以及規(guī)定了存活時間的信息。這個系統(tǒng)具有模塊化隱私性和匿名性,以及“隱身”保證——允許用戶對不同的隱私性特征進(jìn)行選擇(我找不到更好的形容詞了)。它使用的是以太坊網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)。
通過使用不同的協(xié)議特征和不同的設(shè)置,耳語協(xié)議為更高級的實(shí)現(xiàn),即在上面開發(fā)的、具有不同變種的 dApp,奠定了基礎(chǔ)。耳語協(xié)議目前處在 POC 2 階段,能夠應(yīng)用于當(dāng)前的 geth 和 Parity 版本。耳語協(xié)議在主網(wǎng)上的應(yīng)用受限于能夠運(yùn)行耳語協(xié)議的以太坊在產(chǎn)節(jié)點(diǎn)數(shù)量。 這一協(xié)議仍處于測試階段。未來會有很多規(guī)范發(fā)生改變。
以太坊和耳語協(xié)議客戶端節(jié)點(diǎn)使用的是 DΞVp2p 線路協(xié)議 進(jìn)行點(diǎn)對點(diǎn)通信。尤其還用到了 RPLx 協(xié)議 ,即
一個加密的點(diǎn)對點(diǎn)網(wǎng)絡(luò)和協(xié)議組,為應(yīng)用程序提供通用的傳輸通道和接口,以便其通過點(diǎn)對點(diǎn)網(wǎng)絡(luò)進(jìn)行通信。
節(jié)點(diǎn)搜尋算法是去中心化的抗審查網(wǎng)絡(luò)中最主要的部分。以太坊使用的是調(diào)整過后的 Kademlia UDP,類似于 Bittorrent 網(wǎng)絡(luò)的對等點(diǎn)搜尋。
由于規(guī)范在不斷變化中,目前了解耳語協(xié)議定義的最佳方式是閱讀以太坊的維基百科——點(diǎn)擊此處了解當(dāng)前的耳語協(xié)議 POC 2 規(guī)范。
耳語協(xié)議融合了 DHT 和數(shù)據(jù)報消息傳送系統(tǒng)(例如 UDP)的特性。
如果要設(shè)計一個旨在實(shí)現(xiàn) 全方位隱身 的系統(tǒng)(即確保絕對的隱私性和匿名性),需要在性能方面做出權(quán)衡。我們認(rèn)為,這是耳語協(xié)議選擇 UDP 的原因,雖然 UDP 的水平較低,但是比 TCP 更快,且控制力更強(qiáng)。
規(guī)范中有一句話或能解釋許多設(shè)計決策的由來:“下一代 dApp 需要具備大規(guī)模的多對多數(shù)據(jù)搜尋、信號協(xié)商、極穩(wěn)定的傳輸以及對完全保密性的確信預(yù)期。耳語協(xié)議旨在成為下一代 dApp 的構(gòu)件之一?!?/p>
正如規(guī)范中所說,消息加密和絕對隱身之間存在重大區(qū)別,這正是以太坊的設(shè)計人員試圖解決的問題。如今,我們知道資金充足的參與者甚至能夠破壞 Tor 這樣的網(wǎng)絡(luò)的隱私保障。從很多方面來講,僅僅知道某人的通信目的地可以在不破解加密內(nèi)容的情況下,破壞原本所需的隱私保障(例如,在某一政黨內(nèi)部人向維基解密爆料時)。如果對通信的元數(shù)據(jù)進(jìn)行足量分析,我們可以得出很多數(shù)據(jù),有時還會導(dǎo)致內(nèi)容加密失效。
這一點(diǎn)在最近發(fā)布的歐盟通用數(shù)據(jù)保護(hù)條例(GDPR)中略有反映。
這就是為什么我們需要深入研究——對非常基礎(chǔ)的層級開始編寫一套新系統(tǒng)。
耳語協(xié)議的 POC2 放出豪言,表示會實(shí)現(xiàn)“100% 隱身操作”。
規(guī)范中還提到:“耳語協(xié)議不僅可以用來通過對等點(diǎn)間通道(即主干網(wǎng)收集裝置)進(jìn)行元數(shù)據(jù)收集 ,甚至還能抵抗更加嚴(yán)峻的‘100% - 2‘攻擊;就是這樣一種情形:整個網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都被攻陷,就除了一對正在運(yùn)行隱私通信 dApp 的節(jié)點(diǎn)。“
協(xié)議要素
主要要素是 封套、消息 和 主題 。
封套(Envelop)是包含 存活時間(以秒計)、有效期(以 Unix 操作系統(tǒng)的時間計)、主題(“例如,相當(dāng)于推特的哈希標(biāo)簽,或預(yù)期接受者的公鑰與某個階段 nonce 或應(yīng)用身份通過哈希運(yùn)算得出的值“) 和 nonce(為未來實(shí)現(xiàn)中的消息發(fā)送者提供工作量證明的要求)的數(shù)據(jù)包。其中還包括 消息數(shù)據(jù)字段 。
封套中的消息數(shù)據(jù)字段內(nèi)包含了真實(shí)消息——有效負(fù)荷——以及標(biāo)記和簽名。有效負(fù)荷由發(fā)送者進(jìn)行加密,需由接收者通過另一種方式進(jìn)行解密。
整個協(xié)議為節(jié)點(diǎn)給對等點(diǎn)排序、以及通過獲取 nonce 時 花費(fèi)的工作量 給消息排序打下了基礎(chǔ)。而更大的工作量證明會讓消息在網(wǎng)絡(luò)中具有更大的優(yōu)先級。
節(jié)點(diǎn)可以向彼此告知自己感興趣的主題。發(fā)送者和接收者可以選擇在隱私保護(hù)和性能之間選擇啟用或不啟用一些功能,因?yàn)橛袝r候確實(shí)需要抉擇。
因?yàn)榧夹g(shù)規(guī)范尚未定型,實(shí)現(xiàn)也正在開發(fā),所以很難準(zhǔn)確底說哪些部分已經(jīng)完成了,哪些正在開發(fā),哪些仍在提議階段。
Status.im
Status 自稱為”一個為 Ethereum 開發(fā)的移動端操作系統(tǒng)“。它是一個以太坊客戶端,意在將以太坊功能的豐富性帶到智能手機(jī)上。在 2016 年上海的 Devcon2 上,Status 首次進(jìn)入大家的視野。
說得詳細(xì)一點(diǎn),Status 這個手機(jī) App 運(yùn)行了 geth 的完整實(shí)現(xiàn)。DApp 就運(yùn)行在用戶的手機(jī)上,用戶可以在聊天中使用這些 dApp。
Status 的聊天功能就是用耳語協(xié)議實(shí)現(xiàn)的。
在本文寫作之時(2018 年 3 月),Status 更新到了 0.9.18 版本。
許多 dApp,包括 Gnosis、Aragon、Etherisc、Uport、Ethlance、CryptoKitties、Bancor、Peepeth 等等,都可以在 Status App 內(nèi)使用。
Status 綜合了運(yùn)行在以太坊網(wǎng)絡(luò)上的消息服務(wù)和瀏覽器,并且,它有志于成為一個 dApp 瀏覽器,讓開發(fā)者可以接觸到用戶。因此——再加上一些相似的項(xiàng)目可能會同時爆發(fā)—— Status 會在以太坊和區(qū)塊鏈應(yīng)用的大規(guī)模普及中扮演重要的的角色。他們認(rèn)為自己的使命時“降低進(jìn)入以太坊的門檻”。
除了是一個數(shù)字錢包,一個加密的通訊軟件,Status 還希望多多少少能在 dApp 和耳語協(xié)議的基礎(chǔ)上形成一個社交網(wǎng)絡(luò),同時用戶還能夠選擇性匿名。
他們更新時發(fā)布的文章說:在最新的版本中,群聊天功能暫時不可用了,這樣我們就能專注于開發(fā)一對一聊天和公開聊天。群聊天會在未來的版本中回歸。
點(diǎn)對點(diǎn)交易所的初衷時協(xié)助 fiat-to-ETH 在現(xiàn)實(shí)世界中的去中心化交換。他們的商業(yè)模式是收取少量費(fèi)用。
Status Network Token(SNT)
在 2017 年 5 月,Status 團(tuán)隊(duì)宣布啟動 Status Network,并且發(fā)行了代幣 SNT,這是一種實(shí)用代幣,用于幫助整個網(wǎng)絡(luò)和應(yīng)用的正常運(yùn)作。SNT 用在客戶端治理機(jī)制、去中心化推送市場、使用 ENS 的用戶名注冊、內(nèi)容歸集、前述的點(diǎn)對點(diǎn)交易所,以及其它功能中。
Status 百科
Status.im wiki 里面有用戶手冊、開發(fā)者所需的信息。任何想要開發(fā)無服務(wù)器聊天機(jī)器人或自己的 dApp 并加入 Status 的人都可以參照其中的內(nèi)容。
而且 Status 的 Open Bounty 還會給為開發(fā)做貢獻(xiàn)的開發(fā)者提供獎勵。
生態(tài)系統(tǒng)
通過為 dApp 打開接觸終端用戶的空間,并且將以太坊技術(shù)通過顯見的方式帶到大眾面前,Status 正在打造一個生態(tài)系統(tǒng)。這一點(diǎn)在他們的孵化器項(xiàng)目中得到了進(jìn)一步的強(qiáng)調(diào):“一個致力于去中心化的孵化器”。
Status 的 Embark 是一個用于開發(fā) dApp 的框架。你可以通過 npm 來安裝:npm install -g embark
這是一個框架,試圖統(tǒng)一和簡化所有 Web 3.0 組件的部分——用于存儲的蜂群協(xié)議(Swarm)或 IPFS,用于通信的耳語協(xié)議或 Orbit,以太坊區(qū)塊鏈以及 dApp,還有,像 React、Foundation、Augular 這樣的前端技術(shù)以及不同的前端工具。
Status 還有指標(biāo)儀、設(shè)置系統(tǒng)和插件生態(tài)系統(tǒng)。可以在這里獲得更多信息。
Status 公司在瑞士 Zug 注冊,在新加坡有辦公室。他們正在開發(fā)移動 App,除了用到 Go 語言(即 geth 所用語言)之外,還用到了 Clojure/Clojurescript,這是一種很適合高級邏輯的語言。
結(jié)論
開發(fā) Web 3.0 不是簡單的事情。許多公司都正在嘗試拯救互聯(lián)網(wǎng),算不算成功則見仁見智。但以太坊項(xiàng)目具有重新打造互聯(lián)網(wǎng)的愿景。因此,說以太坊只是一個密碼學(xué)貨幣平臺,或者說智能合約平臺,可能是一種保守的說法。在以太坊區(qū)塊鏈上會產(chǎn)生一整個生態(tài)系統(tǒng)。
從以太坊自身、內(nèi)置的激勵系統(tǒng)、兩大分支——蜂群協(xié)議和耳語協(xié)議——的活動還有 Status.im 這樣的項(xiàng)目受歡迎的程度來看,我們有理由期待,未來的幾年內(nèi),互聯(lián)網(wǎng)將會發(fā)生一些有趣的變化。
評論