如何構建實時DApp(分散式應用)?

買賣虛擬貨幣

正如在將計算機用於主流用途之前需要使用者友好的軟體一樣,dApp(更確切地說,實時dApp)是執行在區塊鏈上的軟體,它將幫助區塊鏈成為使用者的主流產品。請記住,在Windows和圖形使用者介面出現之前就有計算機了,但那時的計算機使用起來非常的困難,使用這些計算機的人數也很少。區塊鏈和分散式分類賬技術(DLT)目前還處於起步階段,它們還沒有適用於使用者友好的軟體來幫助公眾與它們進行互動。但據報道84%的公司都在關注區塊鏈,如果你是一名程式設計師,那麼實時dApp可能是你職業生涯的方向。你可以把這篇文章當作你未來的速成課程。

實時dApp技術要求

對於那些已經瞭解dApp的人來說,這將是一篇複習性文章。但對於那些正在閱讀這篇文章但對這個主題知之甚少的人來說,這一部分是為你們準備的。但是在進一步深入探討之前,我們需要討論dApp的基礎知識。根據David Johnston和他的同事說, dApp的資質如下:

· 應用程式的資料和操作記錄必須以加密的方式儲存在一個公開的、分散的區塊鏈中,以避免任何中心點的故障。
· 應用程式必須是完全開源的,必須自主操作,並且沒有實體控制其大多數代幣。
· 應用程式必須使用加密貨幣(比特幣或其系統自帶的代幣),這是訪問應用程式所必需的,來自礦工的任何價值貢獻都應該在應用程式中得到代幣獎勵。
· 應用程式必須根據作為對應用程式作出貢獻的值節點的證明標準加密演算法生成代幣。

我們在前面解釋過,dApp執行在區塊鏈或其他DLT之上是為了使應用程式更易於訪問。但大多數現代dapp還遠遠不能實時執行。

為了讓某樣東西能夠實時執行,就像它的名字所暗示的那樣,它必須在儘可能短的時間內傳送、接收和驗證資訊,最好不超過一秒鐘。當討論“實時”應用程式時,通常會出現一個關鍵字:伺服器推送。這些伺服器推送在現實世界中經常使用;在手機上追蹤Lyft/Uber的位置,在iMessage上給朋友發資訊,在網上玩多人遊戲。

實時dApp將dApp與伺服器推送技術結合到一個分散的過程中。實時dApp不依賴於所有東西都透過中央伺服器,而是依賴於區塊鏈或其他DLT來實時處理所有資料的智慧合約。當你看到當前主要區塊鏈的平均交易速度(比特幣- 78分鐘,Ethereum - 6分鐘,Ripple - 4秒,比特幣現金- 60分鐘,EOS - 1.5秒)的能力時,你會發現這些距離“實時”能力有多遠。為了更好地理解這些數字,以下是實時技術的一些常見用途及其伺服器負載(不考慮實際資料大小):

· WhatsApp - 637,000 Tx/s
· Telegram - 174,000 Tx/s
· Fortnite-1.66億Tx/s

毋庸置疑,目前主流的去中心化技術無法承受實時技術所需要的負載,這也是行業被迫建立新技術和替代鏈的原因。

DApp的結構和對新鏈的需求

大多數Dapp都是使用特定的公式構建的,在這裡我們將使用Brendan Lee的“我們在構建第一個以太坊Dapp時學到的東西”媒體文章作為例子,在文中他解釋了他們使用的技術堆疊。你可能知道也可能不知道這些技術是什麼,所以我們在這裡為你詳細介紹:

· Solidity是以太坊的主要程式語言,而智慧合約為以太坊鏈上的dApp建立了“伺服器”。
· IPFS是一種分散儲存選項,允許使用者將其儲存需求分散到一系列節點上。
· 正如Lee指出的,Truffle和Ganache是測試框架。設想這是一個等價於以太坊的Microsoft Visual Studio c++測試。
· 所有這些都是前端開發語言,根據程式設計師的需要而有所不同,很像JS、Ruby、c++等。
· MetaMask是以太坊使用的一個錢包,因為需要一個錢包來資助執行dApp的節點(以及儲存資料的IPFS節點)。還必須持有dApp使用者所接受的資金。

上面提到的當前結構是針對傳統dapp的,雖然實時dapp是類似的,但有一個關鍵區別是:它們互動的鏈必須比以太坊快。

哪些區塊鏈滿足實時dApp的要求?

目前市場上有一些替代方案可以完成執行實時dApp的任務,每個dApp都以自己獨特的方式提供服務。讓我們看看。

Loom 網路

Loom依靠以太坊作為基礎,同時在其上建造側鏈。這意味著以太坊是主鏈,Loom建立側鏈,這些側鏈與以太坊一起檢入,以借用其安全協議,同時允許進行大規模擴充套件和更大的Tx/s。Loom是以太坊之上的第2層區塊鏈,執行他們稱為“dappchain”的程式,這些程式使用替代的一致規則集。

鏈速:小於1秒批准時間,Tx/s 1,000,000+

綜上所述: Loom網路與以太坊共存,當需要解決糾紛時,與以太坊互動檢查,但在其他方面保持獨立。這允許不到一秒的交易批准時間,極低的價格,以及實時dApp在Loom側鏈上執行的能力。

MetaHash

MetaHash在dApp支援方面為以太坊提供了一個完整的替代方案。這是透過專注於四個元件:# TraceChain(基於自學習演算法,將成長為更高的頻寬節點被新增到網路),# MetaApps(dApps和實時dApp的版本),# MetaGate(包含開放原始碼允許開發人員建立dApps和# TraceChain特性)以及# MetaHashCoin(網路的數字付款貨幣用於共識協議)。

鏈條速度:3秒內透過,Tx/s 5 - 1,000,000+

總結:當考慮到TraceChain的速度和事務審批時間時,MetaHash是一個可靠的選擇;然而,它們完全獨立於以太坊運作的事實,可能會在未來會造成一定的問題。

Zilliqa

Zilliqa是一個可伸縮的、礦商支援的、和可分片的區塊鏈選項,適用於智慧合約和dApp。Zilliqa的Tx/s基於分片的頻率,本質上意味著可能的事務量隨著網路和節點大小的增加而增加。儘管Zilliqa比以太坊、比特幣等快得多,但除非分片節點極其依賴,否則它很難跟上實時dapp的高強度。目前它使用ERC20協議,並在以太坊上執行,但他們的目標是在未來擁有自己的區塊鏈。

鏈速:2分鐘批核時間,最多~ 10000 Tx/s

簡介:Zilliqa肯定會有它的用途,但是在實時dApp的更大的方案中,它將努力跟上它較慢的塊審批時間。

我們現在的定位

如果您是一位創始人,正在尋找下一個dApp專案的基地,那麼答案就有點含糊了。這取決於您的需求:您是否需要每秒處理數百萬個事務,您是否介意處理以太坊網路?如果是這樣,可以考慮使用Loom。但是,如果您希望擴充套件並採用完全重寫的解決方案,而不帶過去的問題,那麼MetaHash是您的理想選項。

最後,最重要的事情是回顧過去浮華的營銷活動,深入技術細節,以確保專案建立在可靠的程式碼之上。正如我們前面所說的,這項技術還很年輕,所以隨著時間的推移,可以期待區塊鏈/DLT領域帶來更多的變化。


更多區塊鏈資訊:www.qukuaiwang.com.cn/news

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;