Cell 模型:讓 Layer 1 成爲一個靈活的「法院」

在上一篇《小白都能看懂的 Cell 模型》中,我們用大白話簡單介紹了 Cell 模型。在這篇文章中,我們將會從「驗證模型」和「狀態存儲」兩個方面來介紹 Cell 模型——一個適合分層架構的區塊鏈設計

祕猿科技區塊鏈小課堂第 21 期


首先我們來簡單回顧一下區塊鏈的發展歷史:Bitcoin 作爲一種點對點的電子現金系統應運而生,而後出現了更通用的去中心化應用平臺 Ethereum,隨着區塊鏈的發展,各種各樣的新項目也涌現了出來。在分析 Cell 模型設計之前,我們先了解一下區塊鏈的分層理念。

爲什麼選擇了分層?

擴展性問題

在區塊鏈的發展過程中,始終有一座大山橫亙在我們面前:擴展性問題。區塊鏈如果不能解決擴展性問題,將會嚴重限制鏈上應用的發展。因爲安全、擴展性、去中心化這個不可能三角問題的存在,在不犧牲安全和去中心化的前提下,要在 Layer 1 上解決擴展性問題幾乎是不可能完成的任務,因此我們只能繞道而行,選擇分層方案。

狀態爆炸問題

隨着區塊鏈慢慢被更多人使用,它必然會面臨狀態爆炸的問題,若是將所有的信息都存儲在區塊鏈上顯然是不合理的。

交易費用問題

在經濟學上判斷一項技術能否被大規模使用的標準是:是否節約了全社會的交易成本。在區塊鏈中所有交易和存儲都需要經過全網共識,這就使得交易費用相對昂貴。從這個角度來講,分層架構也是必然的選擇。

這裏類比一個計算機的例子:在計算機中有各種存儲設備,包括寄存器、多級緩存、內存、硬盤,運行速度越快的設備價格越高,但正是計算機充分利用了分層設計,才使得它以更低成本被製造並被大衆所接受。

在區塊鏈中同樣如此,安全和去中心化是非常昂貴的,分層可以降低成本,使其成爲一種更普世的基礎設施。所以當我們在思考如何去設計區塊鏈時,就需要設想未來的場景,它應該是一個分層的區塊鏈。

不知道以上的分析是否會幫助你理解區塊鏈的分層呢?在此基礎之上,我們來介紹爲什麼選擇使用 Cell 模型的設計。

Account 模型與 Cell 模型

Bitcoin 的 UTXO 模型只能作爲數字貨幣,並非通用的模型,所以這裏我們主要對比 Account 模型和 Cell 模型。

Cell 模型繼承了 UTXO 的衣鉢,是一種驗證模型;而 Account 模型是一種計算模型。關於驗證模型和計算模型的論戰從來沒有停止過,今天我們就從另外一個角度來審視這個問題。

現有的 Layer 2 方案,包括閃電網絡,雷電網絡,Plasma 等,在將其 Layer 2 上的資產退回到 Layer 1 時,都採用了提交證明、驗證挑戰的機制。所以 Layer 1 更像是一個法院的角色,通過對用戶提交的證明來進行審判。在這種模式下,Layer 1 更多的是擔任了驗證者的角色,而非計算者。從這一層面來講,Layer 1 更適合採用 Cell 模型,而 Account 模型在計算上更勝一籌。

在 Ethereum 中狀態存儲的問題已經非常嚴重,全節點的數據存儲代價已經很高,且其中保存有大量的殭屍賬號。在 Account 模型中,同一合約的所有用戶的資產都是保存在一個賬號中的,將用戶的狀態拆分非常困難。在 Ethereum 中,交易採用的一次付費永久保存的方式,顯然是不合理的。

區塊鏈作爲一種公共基礎設施,更適合以租用的方式來進行付費,即數據的存儲需要持續付費。

  • 對於 Account 模型,同一合約所有的用戶數據都是存儲在一起,這種情況下針對不同用戶按照容量和時間進行收費非常困難。
  • 對於 Cell 模型,每個用戶的虛擬資產是單獨存儲在各自的 Cell 中。這種情況下如果用戶不想繼續持有資產,可以將 Cell 中的數據釋放,這樣就不需要繼續付費, Layer 1 就不會保存大量無用的資產, Layer 1 的數據存儲將會保持在一個良性的增長狀態。

從上面的分析中我們可以看出,Cell 模型是適合分層架構的區塊鏈設計,擁有靈活驗證、合理的狀態存儲制度的特性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章