當前位置:
首頁 > 最新 > 區塊鏈落地面臨的關鍵問題及其解決方案

區塊鏈落地面臨的關鍵問題及其解決方案

策劃|Tina

編輯|安翔

目前區塊鏈平台所面臨的最大問題可以通過一個簡單的比喻來說明。

互聯網的網速在本世紀初期是非常緩慢的。用戶訪問你的博客是一件既費時又費錢的事情。

即使用戶對互聯網緩慢的缺點心知肚明,他們也並未拋棄互聯網,因為他們認為互聯網潛力無限且大有可為。為了解決這個問題,他們不斷改善互聯網的設計方法和基礎設施建設。與此同時,他們構建了性能更強的硬體來運行當今互聯網的重要組件。

得益於持續不斷的改進,互聯網變得越來越快,訪問網站的成本也變得越來越低。如今互聯網的速度已經很快且仍在不斷擴展,它讓從前想都不敢想的事情逐漸變得可能。以往的開發人員只能創建單個網頁。而如今,開發者可以在不斷改進的基礎架構上構建出諸如 Facebook、Google 和 Twitter 這樣的大型網站。

如今,區塊鏈交易面臨著與曾經的互聯網類似的阻礙:速度慢,成本高。

區塊鏈公司正在努力提供可擴展的基礎架構,期待區塊鏈平台在未來成為主流。目標一旦實現,人們不僅可以使用區塊鏈進行支付,還可以在區塊鏈上創建類似 Google 和 Facebook 的應用程序。

Zilliqa 就是正在嘗試解決這個問題的公司之一。本站(Tech in Asia)採訪了 Zilliqa 公司的技術總監 Yaoqi Jia(https://www.zilliqa.com/)。

區塊鏈的可擴展性問題

為了更好地解釋區塊鏈的可擴展性,我們首先得明白吞吐量的概念。

舉例說明。假設你在火車站候車,候車室總共有 11 個人。火車每隔一小時一班,一次只能上 10 人。火車裝滿 10 人就走,第 11 名候車人就只能等下一趟。

我們把這個例子中的乘客比作交易。像比特幣和以太坊這樣的主流區塊鏈平台平均每秒可以處理大約 10 次交易。

相比之下,像 Visa 這樣的支付公司平均每秒可以處理大約 5,000 到 8,000 筆交易。

處理交易的速度稱為吞吐量。與 Visa 這樣的支付平台相比,目前區塊鏈平台的吞吐量非常低。

現在假設候車人數增加到 100。火車到站之後,售票員對候車的人們說:「一次只能上 10 個人,誰付錢更多誰就先上車。」 你正好公務在身,非常繁忙,因此你為了上車便支付了巨額的票款。

區塊鏈平台的吞吐量非常有限,而交易費用卻異常高昂。例如,你原本只需 10 美元就可完成交易,由於區塊鏈平台擁擠不堪,於是你不得不額外增加 2 美元的交易費用「走後門」。

因此,低速率和高成本是當今主流區塊鏈交易平台的巨大障礙。

提升可擴展性

主流的區塊鏈平台都需要擴展。區塊鏈公司已經為此提出了幾種解決方案。

1. 增加塊容量

最直接的解決方案就是增加塊容量。

回到火車站的例子,增加塊容量也就是增加火車的座位數量,比如從 10 個增加到 20 個。這樣一來,每趟火車就可以搭乘更多的乘客並緩解車站的擁堵。

目前比特幣的塊容量為 1 MB。假設將其擴大到 2 MB 的話,那麼每秒處理的交易數量即可翻倍。塊容量越大,每秒處理的交易數量也就越多。

理論上貌似可行,但在實踐中仍然存在問題。

Zilliqa 的 Jia 對此做出過解釋,他說:「假設你將塊容量從 1 MB 增加到 1 GB。那麼當你創建這個塊時,需要將它發送給網路中的其他人。」

他繼續說:「如果你使用 Gmail 發送這個大文件,由於網路無法快速處理如此巨大的文件,因此傳輸這個文件需要耗費很長的時間。顯然,增加塊容量的做法是存在問題的。你不能無限制增加塊容量,所以這個解決方案的擴展是有限制的。」

2. 鏈外交易

第二種可能的解決方案是鏈外交易,比如比特幣的閃電網路、以太坊的雷電網路和 Neo 的 Trinity。

使用當前的方法,你每次進行交易時都需要獲得網路中所有節點的批准。(節點是運行交易演算法的計算機。)

舉個例子。假設你每天都會從一家喜歡的咖啡店購買一杯咖啡。一杯咖啡的價格是 1 美元,但是你並不想每天都付錢。因為每交易一次,你就得給區塊鏈平台支付一次交易費用。

於是你和咖啡店老闆簽了一份合同。合同規定,你每天用價值 1 美元的虛擬幣來支付咖啡。30 天之後,你為這 30 個虛擬幣一次性支付 30 美元。咖啡店老闆則用你支付的 30 個虛擬幣提取 30 美元的現金。這樣一來,原本一天一次的交易就變成了 30 天一次。

因為這是發生在區塊鏈網路之外的私人協議,所以它們被稱為鏈外交易。

這個系統同樣存在缺點,交易過程將集中在鏈外交易伺服器的周圍。這些鏈外交易網路也是黑匣子,這種解決方案的透明度和安全性值得懷疑。

3. 授權共識協議

目前區塊鏈網路上的交易依賴所有節點,假設網路中有一千個節點,那麼每次交易都必須經過這一千個節點的處理,因此交易速度很慢。

就好像有一個 1000 人的小組,每項決定都需要所有人的同意。那麼這個過程就會非常漫長,並且非常混亂。

相反,如果你從團隊中挑選出 10 名成員,並將他們任命為團隊的管理人員,然後讓這 10 個人進行投票表決。很顯然,由於人數減少,達成共識就會更容易,更快捷。

同樣,你可以委託一組節點運行協議並就交易達成一致。他們的協議將被視為該團體共識的代表。

大多數可擴展的區塊鏈項目都使用該協議。為了進入「管理機構」或聯盟,小組成員必須註冊他們的興趣並進行某些測試,證明利益或證明權力。如果他們註冊成功,將獲得加入聯盟的證書並運行共識協議。

然而這個問題同樣存在問題,因為協議集中在運行它的委託節點組的周圍。

4. 分片

分片也就是把鏈上網路進行分割。

分片的概念在資料庫領域已不再新鮮。分片會將大型資料庫分為更小、更快、更易於管理的數據分片部分。

Loi Luu、Prateek Saxena 及其團隊在他們的研究論文 Elastico 中研究了分片的概念,並將之應用到區塊鏈。Saxena 是新加坡國立大學計算學院的助理教授,同時也是 Zilliqa 公司的首席科學顧問。Luu 則是該校的博士生,同時在 Zilliqa 公司擔任顧問。

Zilliqa 的解決方案稱為網路分片。

為了描述它的工作流程,我們舉例說明。假設你有一個問題,需要五個步驟來解決。

假設一個班級里有 10 個學生。而解決這個問題的五個步驟沒有先後順序要求,可以並行解決。於是你將學生分成五個小組,每個小組兩名學生,每個小組負責解決一個子任務。第一組解決第一個子任務,第二組解決第二個子任務,依此類推。

一旦其中一個小組完成了自己的子任務,它就會將完成信息報告給老師。老師將匯總五組的信息,並將完整信息告知每個小組。這樣一來,即使每個小組並不清楚其他組的工作細節,但卻知道其他組的工作進度。

本例中的學生也就是 Zilliqa 平台上的節點。「班級」包含了網路中的所有節點,「小組」也就是碎片。「老師」代表目錄服務委員會,它本身也是一個碎片。

相比之下,比特幣網路的「學生」需要自己去解決五個步驟的問題。這種方法需要更長的時間,同時「學生」的任務也更繁重。

當你使用 Zilliqa 的網路分片,如果有 10,000 個節點,這些節點將通過稱為工作證明的過程被隨機分成 10 個組。每個組都稱為碎片。

每個碎片負責處理一組不同的交易,並提出一組大家都同意的交易。然後,他們將這些交易的摘要報告給一個名為 DS 委員會的碎片,該委員會將匯總來自不同組的摘要,並將它們組合成稱為最終塊的更大實體。整合後的信息將被發回給所有組。

以上過程稱為網路分割。目前 Zilliqa 是唯一一家正在開發這項功能的公司。網路分片是一種去中心化且安全的線上解決方案,能夠提供線性可擴展性。也就是說,你擁有的節點越多,獲得的吞吐量就越高。目前 Zilliqa 每秒可以處理 2,488 筆交易,並且計劃在未來將每秒的交易數提升到 10,000。

以太坊正在研究一個與之類似但又稍有區別的分片過程,成為狀態分片。在網路分片中,並非每個節點都必須處理每個交易,但每個節點都必須存儲網路中其他分片正在發生的事情的狀態信息。通過狀態分片,每個節點將只存儲他們處理的信息的子集。雖然這減輕了每個節點的負擔,但是碎片之間的通信變得複雜。

分片的理論固然好,但是設計和實現存在複雜性。

Jia 說:「我們在 2015 年便開始研究,如今仍在進行分片實驗。實現一個簡單版本的分片很簡單,但想要完全保證其正確性和安全性很困難。因此嘗試開發這項功能的團隊少之又少。」

他繼續說:「相比之下,增加塊容量的做法非常簡單。你僅僅需要調整一個參數,增加塊容量和吞吐量即可。而分片就不是那麼簡單了,需要考慮的東西很多。如何正確選擇每個組員?如何分配任務?所有這些都給系統帶來了複雜性。擴容之後,你的系統將是分散和安全的,並且支持吞吐量的線性動態增長。」

帶寬和存儲限制是最常見的瓶頸,不僅是分片,對於所有的區塊鏈擴展方案都是如此。

這對於比特幣和以太坊這樣的主流區塊鏈平台來說還不算什麼問題,因為它們的吞吐量很低。

Jia 說:「比特幣和以太坊每秒處理 10 筆交易。按照目前的速度,一年的總交易也就幾 GB。但是,當每天的交易數達到數億甚至數十億時,就會出現大量數據,為了存儲這些交易數據,我們必須找到更好的存儲解決方案。這是網路分片無法直接解決的問題。」

運行公開測試

Zilliqa 公司內部已經成功開發了網路分片。

該團隊希望公眾在 3 月底能夠在其測試網路上試用該功能。

測試網路基本上是正式網路的一個複製系統,團隊可以在上面進行運行和測試。

Zilliqa 測試網路的試用主要針對 Zilliqa 的支持者,比如對協議感興趣的開發人員和社區成員,以及對分片概念感興趣的區塊鏈開發人員。

在測試網路中,用戶可以觀察區塊鏈系統的狀態,例如正在處理的翻譯數量。與此同時,用戶可以使用錢包創建有效帳戶,用來發送和接收測試令牌中的交易。

目標

Zilliqa 正計劃推出區塊鏈系統和智能合約平台,這將有助於在區塊鏈上運行應用程序。下一步的目標是實現分散式應用程序(或者簡稱為 dApps)在平台的發布。你可以將之視為類似 Google 和 Facebook 的應用程序,只是在分散式區塊鏈平台上發布而已。這些應用程序可以幫助 Zilliqa 佔據行業主導地位。

Jia 說:「如果將區塊鏈比作操作系統,我們希望 Zilliqa 成為未來的 Android 或 iOS 平台。我們希望普通人能夠輕鬆地使用和開發 dApps,並且注意到他們最喜歡的應用程序是建立在 Zilliqa 上的。」

未來,Zilliqa 還希望解決區塊鏈中的開放問題,例如可擴展性解決方案、隱私和存儲。

Jia 說:「這些問題不僅僅在行業內存在,學術界也同樣存在。未來我們希望提供一個可擴展的區塊鏈平台。同時,我們也希望進行研究並發表論文,多方位支持區塊鏈產業發展,從而解決當前問題,共築網路美好未來。」

今日薦文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 區塊鏈前哨 的精彩文章:

從國家信用到演算法信用,論比特幣和區塊鏈的商業價值
央行「國家隊」發布首個區塊鏈平台,主攻信息公示和資產登記

TAG:區塊鏈前哨 |