正如在將計(jì)算機(jī)用于主流用途之前需要用戶友好的軟件一樣,dApp(更確切地說,實(shí)時(shí)dApp)是運(yùn)行在區(qū)塊鏈上的軟件,它將幫助區(qū)塊鏈成為用戶的主流產(chǎn)品。請記住,在Windows和圖形用戶界面出現(xiàn)之前就有計(jì)算機(jī)了,但那時(shí)的計(jì)算機(jī)使用起來非常的困難,使用這些計(jì)算機(jī)的人數(shù)也很少。區(qū)塊鏈和分布式分類賬技術(shù)(DLT)目前還處于起步階段,它們還沒有適用于用戶友好的軟件來幫助公眾與它們進(jìn)行交互。但據(jù)報(bào)道84%的公司都在關(guān)注區(qū)塊鏈,如果你是一名程序員,那么實(shí)時(shí)dApp可能是你職業(yè)生涯的方向。你可以把這篇文章當(dāng)作你未來的速成課程。
實(shí)時(shí)dApp技術(shù)要求
對于那些已經(jīng)了解dApp的人來說,這將是一篇復(fù)習(xí)性文章。但對于那些正在閱讀這篇文章但對這個(gè)主題知之甚少的人來說,這一部分是為你們準(zhǔn)備的。但是在進(jìn)一步深入探討之前,我們需要討論dApp的基礎(chǔ)知識。根據(jù)David Johnston和他的同事說, dApp的資質(zhì)如下:
· 應(yīng)用程序的數(shù)據(jù)和操作記錄必須以加密的方式存儲在一個(gè)公開的、分散的區(qū)塊鏈中,以避免任何中心點(diǎn)的故障。
· 應(yīng)用程序必須是完全開源的,必須自主操作,并且沒有實(shí)體控制其大多數(shù)代幣。
· 應(yīng)用程序必須使用加密貨幣(比特幣或其系統(tǒng)自帶的代幣),這是訪問應(yīng)用程序所必需的,來自礦工的任何價(jià)值貢獻(xiàn)都應(yīng)該在應(yīng)用程序中得到代幣獎(jiǎng)勵(lì)。
· 應(yīng)用程序必須根據(jù)作為對應(yīng)用程序作出貢獻(xiàn)的值節(jié)點(diǎn)的證明標(biāo)準(zhǔn)加密算法生成代幣。
我們在前面解釋過,dApp運(yùn)行在區(qū)塊鏈或其他DLT之上是為了使應(yīng)用程序更易于訪問。但大多數(shù)現(xiàn)代dapp還遠(yuǎn)遠(yuǎn)不能實(shí)時(shí)運(yùn)行。
為了讓某樣?xùn)|西能夠?qū)崟r(shí)運(yùn)行,就像它的名字所暗示的那樣,它必須在盡可能短的時(shí)間內(nèi)發(fā)送、接收和驗(yàn)證信息,最好不超過一秒鐘。當(dāng)討論“實(shí)時(shí)”應(yīng)用程序時(shí),通常會出現(xiàn)一個(gè)關(guān)鍵字:服務(wù)器推送。這些服務(wù)器推送在現(xiàn)實(shí)世界中經(jīng)常使用;在手機(jī)上追蹤Lyft/Uber的位置,在iMessage上給朋友發(fā)信息,在網(wǎng)上玩多人游戲。
實(shí)時(shí)dApp將dApp與服務(wù)器推送技術(shù)結(jié)合到一個(gè)分散的過程中。實(shí)時(shí)dApp不依賴于所有東西都通過中央服務(wù)器,而是依賴于區(qū)塊鏈或其他DLT來實(shí)時(shí)處理所有數(shù)據(jù)的智能合約。當(dāng)你看到當(dāng)前主要區(qū)塊鏈的平均交易速度(比特幣- 78分鐘,Ethereum - 6分鐘,Ripple - 4秒,比特幣現(xiàn)金- 60分鐘,EOS - 1.5秒)的能力時(shí),你會發(fā)現(xiàn)這些距離“實(shí)時(shí)”能力有多遠(yuǎn)。為了更好地理解這些數(shù)字,以下是實(shí)時(shí)技術(shù)的一些常見用途及其服務(wù)器負(fù)載(不考慮實(shí)際數(shù)據(jù)大小):
· WhatsApp - 637,000 Tx/s
· Fortnite-1.66億Tx/s
毋庸置疑,目前主流的去中心化技術(shù)無法承受實(shí)時(shí)技術(shù)所需要的負(fù)載,這也是行業(yè)被迫創(chuàng)建新技術(shù)和替代鏈的原因。
DApp的結(jié)構(gòu)和對新鏈的需求
大多數(shù)Dapp都是使用特定的公式構(gòu)建的,在這里我們將使用Brendan Lee的“我們在構(gòu)建第一個(gè)以太坊Dapp時(shí)學(xué)到的東西”媒體文章作為例子,在文中他解釋了他們使用的技術(shù)堆棧。你可能知道也可能不知道這些技術(shù)是什么,所以我們在這里為你詳細(xì)介紹:
· Solidity是以太坊的主要編程語言,而智能合約為以太坊鏈上的dApp創(chuàng)建了“服務(wù)器”。
· IPFS是一種分散存儲選項(xiàng),允許用戶將其存儲需求分散到一系列節(jié)點(diǎn)上。
· 正如Lee指出的,Truffle和Ganache是測試框架。設(shè)想這是一個(gè)等價(jià)于以太坊的Microsoft Visual Studio c++測試。
· 所有這些都是前端開發(fā)語言,根據(jù)程序員的需要而有所不同,很像JS、Ruby、c++等。
· MetaMask是以太坊使用的一個(gè)錢包,因?yàn)樾枰粋€(gè)錢包來資助運(yùn)行dApp的節(jié)點(diǎn)(以及存儲數(shù)據(jù)的IPFS節(jié)點(diǎn))。還必須持有dApp用戶所接受的資金。
上面提到的當(dāng)前結(jié)構(gòu)是針對傳統(tǒng)dapp的,雖然實(shí)時(shí)dapp是類似的,但有一個(gè)關(guān)鍵區(qū)別是:它們交互的鏈必須比以太坊快。
哪些區(qū)塊鏈滿足實(shí)時(shí)dApp的要求?
目前市場上有一些替代方案可以完成運(yùn)行實(shí)時(shí)dApp的任務(wù),每個(gè)dApp都以自己獨(dú)特的方式提供服務(wù)。讓我們看看。
Loom 網(wǎng)絡(luò)
Loom依靠以太坊作為基礎(chǔ),同時(shí)在其上建造側(cè)鏈。這意味著以太坊是主鏈,Loom創(chuàng)建側(cè)鏈,這些側(cè)鏈與以太坊一起檢入,以借用其安全協(xié)議,同時(shí)允許進(jìn)行大規(guī)模擴(kuò)展和更大的Tx/s。Loom是以太坊之上的第2層區(qū)塊鏈,運(yùn)行他們稱為“dappchain”的程序,這些程序使用替代的一致規(guī)則集。
鏈速:小于1秒批準(zhǔn)時(shí)間,Tx/s 1,000,000+
綜上所述: Loom網(wǎng)絡(luò)與以太坊共存,當(dāng)需要解決糾紛時(shí),與以太坊交互檢查,但在其他方面保持獨(dú)立。這允許不到一秒的交易批準(zhǔn)時(shí)間,極低的價(jià)格,以及實(shí)時(shí)dApp在Loom側(cè)鏈上運(yùn)行的能力。
MetaHash
MetaHash在dApp支持方面為以太坊提供了一個(gè)完整的替代方案。這是通過專注于四個(gè)組件:# TraceChain(基于自學(xué)習(xí)算法,將成長為更高的帶寬節(jié)點(diǎn)被添加到網(wǎng)絡(luò)),# MetaApps(dApps和實(shí)時(shí)dApp的版本),# MetaGate(包含開放源代碼允許開發(fā)人員創(chuàng)建dApps和# TraceChain特性)以及# MetaHashCoin(網(wǎng)絡(luò)的數(shù)字付款貨幣用于共識協(xié)議)。
鏈條速度:3秒內(nèi)通過,Tx/s 5 - 1,000,000+
總結(jié):當(dāng)考慮到TraceChain的速度和事務(wù)審批時(shí)間時(shí),MetaHash是一個(gè)可靠的選擇;然而,它們完全獨(dú)立于以太坊運(yùn)作的事實(shí),可能會在未來會造成一定的問題。
Zilliqa
Zilliqa是一個(gè)可伸縮的、礦商支持的、和可分片的區(qū)塊鏈選項(xiàng),適用于智能合約和dApp。Zilliqa的Tx/s基于分片的頻率,本質(zhì)上意味著可能的事務(wù)量隨著網(wǎng)絡(luò)和節(jié)點(diǎn)大小的增加而增加。盡管Zilliqa比以太坊、比特幣等快得多,但除非分片節(jié)點(diǎn)極其依賴,否則它很難跟上實(shí)時(shí)dapp的高強(qiáng)度。目前它使用ERC20協(xié)議,并在以太坊上運(yùn)行,但他們的目標(biāo)是在未來擁有自己的區(qū)塊鏈。
鏈速:2分鐘批核時(shí)間,最多~ 10000 Tx/s
簡介:Zilliqa肯定會有它的用途,但是在實(shí)時(shí)dApp的更大的方案中,它將努力跟上它較慢的塊審批時(shí)間。
我們現(xiàn)在的定位
如果您是一位創(chuàng)始人,正在尋找下一個(gè)dApp項(xiàng)目的基地,那么答案就有點(diǎn)含糊了。這取決于您的需求:您是否需要每秒處理數(shù)百萬個(gè)事務(wù),您是否介意處理以太坊網(wǎng)絡(luò)?如果是這樣,可以考慮使用Loom。但是,如果您希望擴(kuò)展并采用完全重寫的解決方案,而不帶過去的問題,那么MetaHash是您的理想選項(xiàng)。
最后,最重要的事情是回顧過去浮華的營銷活動(dòng),深入技術(shù)細(xì)節(jié),以確保項(xiàng)目建立在可靠的代碼之上。正如我們前面所說的,這項(xiàng)技術(shù)還很年輕,所以隨著時(shí)間的推移,可以期待區(qū)塊鏈/DLT領(lǐng)域帶來更多的變化。
評論