區塊鏈火了這麼久,爲什麼我們能用到的 DApp 還是沒幾個?

去年下半年開始,由於代幣經濟的火熱,區塊鏈逐漸進入了大眾視野。

ICO、大媽進場、百倍幣、傳銷……區塊鏈的金融屬性被過分誇大,甚至逐漸成為了非法融資的途徑之一。

隨著今年上半年金融有關部門的聯合打擊、區塊鏈行業的自律和投資者的日趨冷靜,區塊鏈逐漸走向了應用化的「正途」。

拋開區塊鏈可以發幣,區塊鏈本身的好處還有許多,比如可溯源、公開透明、分佈式抗打擊等等。也有不少企業將區塊鏈率先應用到了 B 端的雲服務領域。

但是,與區塊鏈行業火熱不同的是,作為一個普通的「用戶」,似乎除了比特幣、以太坊錢包之外,依然用不到什麼區塊鏈的產品……

這是為什麼呢?難道區塊鏈和人工智能一樣,最終也只能成為「神龍見首不見尾」的後端製成技術嗎?這似乎和諸多區塊鏈項目聲稱的「打造下一代互聯網」的願景並不一致。

畢竟,互聯網最大的特點就是人人可接入的易用性。

在講到“為什麼沒有”之前,首先要講另外一個問題,就是“區塊鏈到底能不能實現普通用戶的互聯網應用場景?”

這裡說的普通用戶的用戶場景,就是指我們每天上網刷微博、聊微信、看電影、聽音樂這些活動。

先說結論:這些都能實現。

不談區塊鏈,我們先舉另外一個例子——分佈式網絡 ZeroNet。ZeroNet 是一個上線於 2015 的分佈式基礎設施,它旨在構建一種完全無中心服務器的網絡環境。

区块链火了这么久,为什么我们能用到的 DApp 还是没几个?

ZeroNet 本身並不是一個 DApp,而是一個承載 DApp 的平臺。它像以太坊、EOS等主鏈一樣,提供了一個可以搭建 DApp 的開發和通信框架。

但與主流區塊鏈項目不同,ZeroNet 沒有為了區塊鏈而犧牲掉項目的可用性。如果說在以太坊上 DApp 的開發環境還處於超文本鏈接協議誕生之前的水平,那麼 ZeroNet 則為 DApp 開發者提供了一個類似於現代網頁開發的開發環境。

ZeroNet 本身使用 Python 語言寫成,但開發者可以使用 HTML5、JavaScripts、CoffeeScript 等現代網頁語言編寫程序。與其它基礎設施不同的是,ZeroNet 支持標準 SQL 數據庫,可以方便地開發出真正無服務器的動態網站。

在沒有使用任何中心服務器的情況下,ZeroNet 有去中心的微博、去中心的微信、去中心的在線視頻網站、去中心的音樂網站等等,基本上你在普通互聯網上每天要做的事情,在 ZeroNet裡都可以實現。

但是,經過了 3 年的發展,ZeroNet 的用戶量卻並沒有顯著增長。雖然 ZeroNet 並不是現在區塊鏈界所認可的利用區塊鏈技術的 DApp,但是作為分佈式應用 ZeroNet 提供了一個比現在所有區塊鏈技術都更成熟的解決方案。

這也意味著,ZeroNet 踩過的坑,區塊鏈應用也都要踩一遍。

一、存儲冗餘問題

去中心化千好萬好,最不好的一點就是:不經濟。

之前曾有媒體報道,僅 Google 一家公司就存儲了 5EB 的互聯網數據,即 50 億 GB。而對於每一個使用 Google 的普通用戶來說,無論是使用 Google 進行搜索,收發郵件,聽播客還是看視頻,都不需要本地有如此海量的存儲空間。

而對於分佈式應用的用戶來說,每個用戶既是使用者,又是存儲和帶寬的貢獻者。這意味著抬高了普通用戶使用分佈式應用的門檻。

在傳統互聯網模式下,比如 Google 要保障一個視頻永久在線並被所有人都能看到,可能只需要留存一份視頻(實際情況可能會有幾份備份)。

但在分佈式應用中,的每一個用戶節點對於整個網絡來說都是不可靠的。因此,要保持這個視頻隨時隨地都能被訪問,可能需要數十倍甚至數百倍於傳統網絡中的被分量。

理論上,如果有一個精妙的算法,可以動態調節出全網的可靠存儲量和總帶寬。而實際上,現在的分佈式應用都比較粗糙,以 ZeroNet 為例,它視每一個用戶均為全量備份節點。

在 ZeroNet 中,當你訪問一個網站,它就會默認把這個網站的所有數據下載到你的本地,並自動為他人做種。如果你刪除了這些數據,那麼你自己也不再能繼續訪問這個網站。

儘管提供了可選做種文件這一功能,但同樣的如果你取消了對一個可選文件的做種你也自然不能繼續看這個文件了。因此,在 ZeroNet 這種模式下,幾乎不可能承載大型視頻網站,

而 ZeroNet 的這一問題其實也困擾著幾乎所有的區塊鏈分佈式應用。

二、“私密”內容

大家經常聽到,區塊鏈的賬本是一部“加密”的賬本。

但這裡的加密,並非普通人理解的加密。事實上,我們還經常聽說區塊鏈的另一個特性“透明可追溯”。

區塊鏈的加密,是指通過加密方式確保參與整個鏈條的每一個節點都不能超出規則修改,也不能偽造成別人添加信息的一種手段。

而大多數的區塊鏈,都遵循透明可追溯的原則,每一個節點都可以看到每一次交易的信息。

私密內容與分佈式存儲存在意義上的衝突,換個更簡單的例子來說。我們都知道當我們用迅雷下載一部影片的時候,迅雷也會在下載的過程中利用一部分帶寬來幫助別人下載,這是一個典型的“你幫我,我也幫他”的模型。

但如果你要傳輸或存儲的並非是一個公開文件,而是一個只有你和對方可以看的私密文件,那麼第三人為什麼要幫你們去“做種”呢?

沒有私密會帶來許多問題,比如聊個天全網都知道了,寫個日記也全網都知道了。

而更糟糕的是,這個問題很難從技術的角度解決,即便是設計出了可存儲私密信息的分佈式應用也很難推廣。因為這一衝突根植於分佈式網絡的理念——如果一個東西是完全私密的,那麼別的用戶就沒有協助你存儲這一內容的義務。

三、網絡延時

目前,在以太坊及之後的一些區塊鏈裡,秒級成交已經成為了宣傳點之一。

但“能做到”和“做到要多少成本”不是一個概念。

以以太坊為例,現在有一種很流行的做法是把一篇文章放到一筆以太坊交易的備註裡,以達到通過以太坊永久保存的目的。而如果你要讓一筆以太坊交易成立,是需要花費一定的礦工費的。

区块链火了这么久,为什么我们能用到的 DApp 还是没几个?

所謂礦工費,就是指交易發起者需要交納一定的以太坊,用於獎勵那些主動傳播這筆交易的人。而如果你想要在以太坊上實現“秒級信息傳遞”,高額的礦工費自然是少不了的。

而拋開需要礦工費的那些分佈式項目,網絡延時也是一個大問題。因為P2P網絡不存在一個穩定的中轉服務器,因此每次發送信息都是通過多個作為用戶的節點中轉送達,在信息傳遞上很難滿足即時傳輸。

抱著“人人為我,我為人人”的 ZeroNet 裡,雖然發佈文章不需要礦工費,但文章的同步速度是很慢。用戶可能發佈之後幾個小時後,才能被人看到。

文章還好,如果是要實現微博、微信這種需要高頻信息發佈和接收的 App,就會出現一些問題。比如在 ZeroNet 中的分佈式微博 ZeroMe 中,一條微博下面的評論經常出現前後時間線錯亂。這就是因為評論者發佈的時間雖然早,但同步的時間慢,而後來者已經根據他之前的回覆進一步展開了討論導致的。

四、偽去中心化

在目前眾多可以使用的分佈式應用裡,偽去中心化是最嚴重的一個問題。

何為偽去中心化?即應用並非全部去中心化,或關鍵部件無法去中心化。

比如許多 DApp 呈現給用戶的仍然是一個網站的形式,而對於網站來說呈現界面需要能夠存儲前端界面的中心化服務器和在域名註冊商那裡註冊的域名,這都是暫時無法中心化的。

偽去中心化有什麼問題?問題非常大,在普通用戶領域幾乎可以說是去掉了 DApp 的一切好處。

區塊鏈在許多場合的應用都是解決一個信任問題,比如疫苗、酒、水果等商品藥品的區塊鏈溯源,是為了解決貨物從生產出來交付到消費者手中這一過程每一個環節的信任問題。

在過去的中心化權威認證模式下,信任是逐級傳遞的,消費者信任商場,商場信任物流,物流信任倉儲,倉儲信任廠家。如果問題出現在倉儲環節,而物流沒有發現,那麼商場和消費者沒有辦法進行進一步檢驗。在這種模式下,消費者必須假設完全信用商場,其檢驗才是有效的。

在區塊鏈信任模型下,消費者、商場、物流、倉儲、廠家這些角色彼此之間都是透明的,消費者可以越過商場這一環節去直接追溯貨物在倉儲時是否有得到妥善保管。在這種模式下,消費者無需假設信任任何人,因為自己可以做全程的檢驗。

然而,如果此時,交付給用戶的查詢界面是一個網站,那麼就存在一個網站所有權的問題。網站由誰設立,網站的後臺是否真的接入了區塊鏈數據庫,還是說只是一箇中心化的數據,這些消費者是無法檢驗的。因此,憑空又多了一個消費者需要信任網站沒有作假的假設。

換一個例子來說,在內容分發領域,目前最知名的區塊鏈內容分發網站是 Stemmit。但 Stemmit 並沒有採用我們上文提到的文章上鍊的辦法,而只是把區塊鏈應用在了文章作者的激勵上。

因為如果把文章內容“刻在”區塊鏈上,意味著讀者需要專門安裝非常複雜的相關客戶端和本地環境才能閱讀文章,這與內容分發的本質存在衝突。

而如果把區塊鏈應用在激勵體系上,表面看起來可以解決一些作者對平臺不信任的問題,比如平臺資源傾斜、官方刷榜、修改收益數據、抽成過高等。

但這其中的一個問題是,如果域名、前端展示甚至是內容本體數據都以中心模式受 Stemmit 控制,那麼一個去中心的激勵規則成立的前提,也是大家認可 Steemit 官方不會在這個規則中作假。

如此一來,區塊鏈及其代幣也就失去了它的意義,直接改名叫“網站積分”就好了。

另一個例子是在視頻領域——PeerTube。

2015 年上線的開源項目 Peertube,旨在構建一個去中心的 YouTube 社區。它通過 WebTorrent 和 ActivityPub 等分佈式技術,實現了讓一個視頻網站可以在完全不存儲視頻源文件的情況下運轉。

区块链火了这么久,为什么我们能用到的 DApp 还是没几个?

然而,這並不能逃過 DMCA TakeDown 的「正義制裁」,因為隨著時代的發展「服務器上存在侵權文件」已不再是數字侵權的唯一構成要件。提供在線播放、文字鏈接等服務,均有可能造成侵權。

而一旦被確認侵權,Peertube 上的視頻儘管永存於 P2P 網絡,但用於播放這些永存數據的前端網站(域名和運行網站界面的服務器)則會被停止服務。

這導致 Peertube 失去了其原本為了反對 Youtube 對視頻擁有控制權而建立的目的。

五、移動端不好做

DApp 這個詞的流行,一方面源自於以太坊社區的發明,另外一方面源自於移動互聯網對傳統互聯網的壓倒性普及。

在十年前,類似的概念還叫做“分佈式計算”,如果一定要找造個類似的詞也一定是 DWeb 而不是 DApp。

然而事實上, DApp 在移動端上的實現難度要遠大於 PC 端。

在移動端上實現 DApp 有幾個不同側面的難點:

首先,是技術層面,移動端計算性能和存儲空間受限,對於任何 DApp 來說都難以在移動端上跑全量節點(比如礦機、冷錢包,或類似的)。因此,如果預期 DApp 的主要應用場景是在移動端,那麼會面臨網絡貢獻量與使用量不匹配的問題。

其次,在政策方面,無論在任何一個國家和地區,擁有移動市場半壁江山的蘋果都遵循需要有一個應用開發者來承擔應用可能帶來的侵權風險的原則。這導致一些基於社區開發的開源項目,無法登陸蘋果 App Store,因為事實上沒有人可以為應用中的內容負責。

這種衝突,有點類似於實體經濟中的共享經濟,共享經濟瓦解了酒店集團、出租車公司的利益,同時分散了他們的責任。一旦出現事故,難以確定責任主體,也就無從談及追責和賠償。

這是一種新技術與幾百年來業已形成的成熟商業規則之間的衝突,是區塊鏈行業自身無法解決的。

六、「不可篡改」=「無法消錯」

我們早前經常聽說區塊鏈是「不可回滾」的,後來我們又聽說很多區塊鏈社區投票一致實現了「集體回滾」。

為什麼區塊鏈中,回滾是一件重要的事情呢?

區塊鏈本質上是一種數據庫技術,在當今的大部分認知中,區塊鏈被認為是一種「先進」的數據庫技術。

然而事實上,區塊鏈卻是一種天生瘸腿的數據庫技術。在數據庫最基礎的四大功能「增刪改查」中,區塊鏈只能實現增和查兩項。

這在區塊鏈的特性中被體現為「不可篡改性」,而大多數情況下這對於一項數據庫技術來說並不是什麼好事。

在傳統數據庫中,管理員擁有對數據庫進行任意修改的權限,這意味著數據庫中的數據出現異常,管理員一個人就可以實現數據的修正。而在區塊鏈中,並沒有這個管理員,想要實現數據修正,必須所有用戶同意才可以。

如果我們假設有一個頂尖黑客通過漏洞,為自己的 QQ 上增加了 100 萬Q幣。騰訊技術部門的成員發現了這一問題,只要在數據庫中將對應 QQ 的 Q幣值改回去就可以了。

而如果此時,Q幣是使用區塊鏈存儲的,那麼麻煩就來了,因為這個黑客修改100萬Q幣的行為已經發生而且被同步到了每一個用戶的手裡,那麼騰訊不得不發出一個公告「請求」8 億 QQ 用戶共同修改這一事實才能「回滾」。

小節

誕生於 2001 年的分佈式協議 BitTorrent 在過去的 17 年中,被廣泛應用於互聯網的幾乎每個角落。而推出這一協議的背後公司 BitTorrent Inc 卻在音樂分發、視頻平臺、在線直播、To B 雲盤、加密通信、P2P 瀏覽器等幾乎全部領域競爭失敗,並於今年 6 月份被尚未推出實際產品的區塊鏈項目波場收購。

在幣圈中,有人認為區塊鏈不應與互聯網技術等同,不能用互聯網的應用場景去衡量區塊鏈的發展。這確實是一種理性的看法,事實上區塊鏈確實更像是去年熱炒的人工智能。

它是一項在未來不可或缺的技術,但本身並不具備以單一技術實現轉化並大規模應用的能力。

但是,區塊鏈的熱度已經遠超於人工智能,幾條公鏈為了衝擊市值也都將自己的對標對象描繪為整個傳統互聯網而非純粹的技術公司。而技術本身也不一定能撐起高的商業價值。

在拂去區塊鏈虛高的市值之後,在區塊鏈應用領域似乎也需要一場祛魅的革命。


分享到:


相關文章: