近來,許多人對區塊鍊的未來充滿迷茫。加密貨币的價格最近創下有史以來的新高,總市值突破 8000 億美元,每個人都想知道我們現在看到的是第二波網際網路浪潮,還是史上最瘋狂的泡沫。如果你問我的話,我覺得兩方面都有點兒。
今天,有些區塊鍊項目僅僅憑借一張白紙就能獲得數億美元融資——沒有産品、沒有号召力,隻有創意和部分技術參數。我們即便不是身處風險投資行業,也知道如此程度的投機性是不能持久的。與此同時,在網際網路早期階段,我們也曾目睹過相同的一幕,是以今天這種狀況讓我們心存警惕。
我認為,我們目前看到的圍繞加密貨币的瘋狂正在掩蓋這種重要架構和技術的許多潛力。抛開市場投機不論,當我今天看到區塊鍊時,看到的是一種令人非常激動的技術,正在極大地改變我們日益數字化的世界。
然而,這并不意味着它會在一夜之間發生。當 CryptoKitties 這款用于繁殖、買賣虛拟貓咪的看似毫無用處的遊戲,可以讓世界上最具前景的區塊鍊網絡陷入癱瘓的時候,那麼很顯然,在這項技術做好在現實世界獲得大規模普及的準備之前,我們還有很長的路要走。
要想實作這一目标,富有創造力和進取心的開發者必須克服存在于區塊鍊核心的三大障礙:無情的高延遲、高昂的計算成本以及有限的存儲空間。在此之前,投向比特币、以太币、萊特币等加密貨币的數千億美元資金不過是充滿投機的豪賭罷了。更為重要的是,如果區塊鍊技術在短期内無法趕上投資者的熱情,那麼市場極有可能會出現重大調整。
延遲超高
區塊鍊最大的創新之一就在于,采用基于一緻性的方法來驗證各類交易資訊,借此實作信任的分散化。雖然這種模式創造了巨大的價值,但它也帶來了巨大的成本:延遲問題,而且還是長時間的延遲。
這是因為,當交易被釋出到區塊鍊的時候,整個網絡上的所有節點都要參與交易資訊的驗證和記錄。這是一個緩慢且冗長的過程,需要大量處理能力。這也與我們對軟體系統和整個網際網路的一切期許背道而馳。一方面,網際網路的整個基礎設施正在朝着實時方向發展;但另一方面,區塊鍊與生俱來就很慢。
如果區塊鍊想要獲得廣泛采用,它就需要變得更快。備援可能隻是一個關鍵功能,但高延遲總是被視為一個 bug,因為我們所有人現在都已習慣了與技術的實時互動。
計算成本高昂
就在每個人都在談論解鎖并行化、編寫多線程和超高效代碼的時候,我們卻不得不去思考如何再次編寫高效的單線程代碼,這無疑是莫大的諷刺。
這要歸因于區塊鍊架構的分布式特性,以及驗證區塊鍊活動的一緻性機制。在這種環境下,網絡計算的每個節點在每筆交易時都會産生無限的并行執行(parallel execution),這意味着計算成本非常高。換句話說,網絡中可用的計算能力非常有限,使其成為非常稀缺(是以也是昂貴的)資源。
這是一個很有趣的挑戰。今天的程式員已經習慣于獲得廉價且幾乎無限的處理能力。區塊鍊卻不具備這種處理能力。
今天,我們看到所有這種努力都是為了重新擷取如何編寫超高效軟體的知識。但是,高效的代碼也隻能對區塊鍊的普及起到一定程度的促進作用。若想獲得廣泛采用,區塊鍊的處理能力就必須要變得更便宜。
單純增加更多的計算機并不能解決這個問題。恰恰相反,網絡上的計算機越多,需要與最新交易記錄同步的節點也越多。
存儲空間極為有限
與區塊鍊的處理能力一樣,存儲空間既十分有限,成本也相當高。
在區塊鍊上,存儲空間是以區塊形式存在的,而适合特定區塊的資料又非常多。此外,可以建立的區塊的數量是有限的。之是以出現這兩種結果,是因為每個區塊都需要在網絡的每個節點上進行驗證和同步。正如前面所指出的,這對處理速度和處理能力都造成了很大的限制。
這也提出了一個如何貨币化存儲空間的重要問題。借助雲平台,使用者可以按月或按年付費購買存儲空間,甚至是不限量的存儲空間。隻要使用者不停地付費,這一切都是他們的東西。一旦訂閱服務到期,使用者可以選擇續訂,否則将無法通路原來的檔案(即檔案會被删除)。
由于有了區塊鍊,這種模式徹底失效。區塊鍊資料庫可以無限存儲資料;它還提出了一個問題:你怎樣對存儲資料進行定價呢?資料存儲成本必須預先支付,不僅包含某個月的使用費,還要涵蓋十二個月和未來數年的時間。
什麼是資料的時間價值?這又是一個仁者見仁,智者見智的問題,迫切需要一個創造性的解決方案。
亞曆克斯·馬(Alex Ma)對本文亦有貢獻。
作 者:皓嶽 譯