基于區(qū)塊鏈的應(yīng)用程序“DApp”介紹
對(duì)于一些人來(lái)說(shuō),區(qū)塊鏈已成為一種被過(guò)度炒作的技術(shù)和流行語(yǔ),它與錯(cuò)失百萬(wàn)富翁的機(jī)會(huì)有關(guān),或者與那些在廚房里喋喋不休的談?wù)撍鼘⑷绾胃淖兪澜绲耐掠嘘P(guān)?;趨^(qū)塊鏈的應(yīng)用程序非常重要,因?yàn)樗鼈兘鉀Q了現(xiàn)在企業(yè)和最終用戶面臨的問(wèn)題:隱私、數(shù)據(jù)安全性以及與之共享數(shù)據(jù)的人員。
關(guān)于區(qū)塊鏈技術(shù)的一個(gè)普遍誤解是,它意味著要取代傳統(tǒng)貨幣,雖然這可能是少數(shù)人的目標(biāo),但它只是區(qū)塊鏈應(yīng)用的一個(gè)用例。
什么是DApps?DApps是分散式應(yīng)用程序的縮寫(xiě)。這些應(yīng)用程序?qū)嶋H上不應(yīng)該對(duì)最終用戶進(jìn)行區(qū)分。關(guān)于DApps的重要之處在于后端是如何處理數(shù)據(jù)的。
DApps在區(qū)塊鏈上運(yùn)行,其中最著名的區(qū)塊鏈之一是以太坊網(wǎng)絡(luò)。這允許開(kāi)發(fā)人員構(gòu)建自己的應(yīng)用程序,甚至在他們之上創(chuàng)建自己的區(qū)塊鏈代幣(這些代幣可用于通過(guò)ICO籌集資金,或作為貨幣支付維護(hù)網(wǎng)絡(luò)的人)。
要將應(yīng)用程序視為DApp,必須滿足幾個(gè)要求:
◆應(yīng)用程序是開(kāi)源的,這意味著代碼是公開(kāi)可見(jiàn)的,開(kāi)發(fā)人員可以創(chuàng)建分支或編輯代碼。
◆應(yīng)用程序的數(shù)據(jù)不是托管在本地(內(nèi)部部署)或獨(dú)立的云服務(wù)器上,而是在安全的計(jì)算機(jī)網(wǎng)絡(luò)上分散運(yùn)行,這些計(jì)算機(jī)可以由云服務(wù)器和運(yùn)行該軟件的單個(gè)PC組成。
◆應(yīng)用程序具有數(shù)量有限的區(qū)塊鏈代幣(例如以太幣是以太坊網(wǎng)絡(luò)的代幣)。這需要一對(duì)加密密鑰來(lái)簽署交易,以便將數(shù)據(jù)存儲(chǔ)在區(qū)塊鏈中。
它是如何工作的?從各方面來(lái)看,DApps不應(yīng)該都被認(rèn)為是應(yīng)用程序。它們可以是網(wǎng)頁(yè)、桌面應(yīng)用程序或移動(dòng)應(yīng)用程序,只需像任何其他應(yīng)用程序一樣運(yùn)行就可以。應(yīng)用程序的數(shù)據(jù)不托管在本地或云服務(wù)器上,而是托管維護(hù)相同分類(lèi)帳的節(jié)點(diǎn)網(wǎng)絡(luò),也就是一個(gè)區(qū)塊鏈網(wǎng)絡(luò)。不幸的是,為了正確解釋DApps如何工作,它意味著深入研究區(qū)塊鏈的功能。對(duì)于那些不是技術(shù)背景的人來(lái)說(shuō),這很快就會(huì)變得深?yuàn)W。
因此,在解釋這是如何工作的過(guò)程中,不會(huì)過(guò)度技術(shù)化。
區(qū)塊鏈?zhǔn)且环N點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò),其目的是維護(hù)一個(gè)記錄數(shù)據(jù)的開(kāi)放式分類(lèi)賬,可以將其視為電子表格。在每個(gè)節(jié)點(diǎn)上的網(wǎng)絡(luò)中存在相同的分類(lèi)帳副本,這意味著同一分類(lèi)帳有數(shù)千個(gè)副本(任何兼容的計(jì)算機(jī)都可以運(yùn)行該軟件并成為節(jié)點(diǎn))。這就是不可變性的來(lái)源,所有節(jié)點(diǎn)的分類(lèi)賬必須相同。如果一個(gè)分類(lèi)帳存在差異,則該記錄將失效。
為了獲得有關(guān)節(jié)點(diǎn)的信息,大多數(shù)情況下,礦工將驗(yàn)證交易,然后將其發(fā)送到網(wǎng)絡(luò)。這可能是資源密集型過(guò)程,需要大量的計(jì)算能力,因此礦工由發(fā)起交易的用戶為其努力支付代幣。出于這個(gè)原因,DApps要求用戶擁有一個(gè)錢(qián)包,其中包含與該特定區(qū)塊鏈相關(guān)的代幣。例如,在以太坊網(wǎng)絡(luò)上運(yùn)行的DApp通常會(huì)使用以太幣。
這是對(duì)區(qū)塊鏈的過(guò)度簡(jiǎn)化,并且有許多不同的區(qū)塊鏈可以以不同的方式工作(只要它們遵守上面提到的規(guī)則:開(kāi)源、用區(qū)塊鏈代幣分散)。
有什么好處?要理解為什么人們對(duì)DApps感到興奮,首先讓我們來(lái)研究一些應(yīng)用程序如何工作的問(wèn)題。例如,一個(gè)社交網(wǎng)絡(luò),數(shù)百萬(wàn)人正在與該網(wǎng)站進(jìn)行交互,并且為了讓用戶看到其他用戶的評(píng)論、帖子、喜歡等,必須將數(shù)據(jù)保存在網(wǎng)絡(luò)上的某個(gè)地方,以便可以保留此操作。沒(méi)有人想讓自己發(fā)表的評(píng)論消失。因此,這些交互都存儲(chǔ)在集中式服務(wù)器上,站點(diǎn)所有者和主機(jī)負(fù)責(zé)保護(hù)、備份和管理該數(shù)據(jù)的傳播。維護(hù)服務(wù)器的成本很高。他們需要硬件、員工、電力等。由于很多網(wǎng)站對(duì)最終用戶免費(fèi),企業(yè)可能會(huì)向廣告商開(kāi)放你的數(shù)據(jù),然后廣告商可以用他們的產(chǎn)品定位你,這樣網(wǎng)站就可以支付成本。
在DApp中,沒(méi)有存儲(chǔ)數(shù)據(jù)的集中式服務(wù)器。相反,它被保存到區(qū)塊鏈中。這樣,就沒(méi)有任何組織負(fù)責(zé)保護(hù)最終用戶數(shù)據(jù)。沒(méi)有組織需要支付員工工資、維護(hù)服務(wù)器或其他管理費(fèi)用。由于沒(méi)有涉及運(yùn)營(yíng)網(wǎng)絡(luò)的組織,因此銷(xiāo)售用戶數(shù)據(jù)以降低成本的動(dòng)機(jī)就少了。由于數(shù)據(jù)存儲(chǔ)在區(qū)塊鏈中,因此非常安全。
通常,區(qū)塊鏈需要超過(guò)51%的網(wǎng)絡(luò)受到同時(shí)攻擊才能影響存儲(chǔ)在分類(lèi)賬上的數(shù)據(jù),這不僅操作起來(lái)很復(fù)雜,而且也會(huì)劃不來(lái)。
如前所述,為了滿足要求,DApps必須是開(kāi)源的,這意味著任何人都可以檢查代碼以查看應(yīng)用程序的功能。這提供了傳統(tǒng)應(yīng)用程序通常不會(huì)提供的透明度。
有哪些障礙?DApps并非沒(méi)有缺點(diǎn)。首先,需要有足夠數(shù)量的節(jié)點(diǎn)在網(wǎng)絡(luò)上運(yùn)行。因此,如果平臺(tái)建立在一個(gè)小區(qū)塊鏈上,有時(shí)大多數(shù)這些節(jié)點(diǎn)實(shí)際上是由創(chuàng)建者操作的,所以實(shí)際上這并不是分散的。
大多數(shù)基于區(qū)塊鏈的DApps最大的問(wèn)題之一是學(xué)習(xí)曲線,它阻止了不太精通計(jì)算機(jī)的用戶使用它們。由于用戶需要擁有持有區(qū)塊鏈特定代幣的錢(qián)包,因此用戶需要保留所謂的私鑰或種子詞以訪問(wèn)其錢(qián)包并在區(qū)塊鏈上簽署交易。
與標(biāo)準(zhǔn)密碼不同,私鑰在忘記或丟失時(shí)無(wú)法重置,也無(wú)法更改。通常,私鑰是由64個(gè)字母數(shù)字字符組成的字符串,難以記憶,應(yīng)該僅在紙上記錄,以避免黑客在數(shù)字保存時(shí)訪問(wèn)它的風(fēng)險(xiǎn)。因此,它并不像輸入您的電子郵件和設(shè)置密碼那么簡(jiǎn)單,而且會(huì)有很多的人因?yàn)閬G失了私人密鑰而被鎖在賬戶外,再也無(wú)法訪問(wèn)!
DApps面臨的另一個(gè)問(wèn)題是,在區(qū)塊鏈上可以存儲(chǔ)的數(shù)據(jù)是有限制的,例如,視頻文件太大而無(wú)法以分散的方式存儲(chǔ),因此仍必須存儲(chǔ)在集中式服務(wù)器上。
這些問(wèn)題可以及時(shí)克服,并且上述一些問(wèn)題不存在于像Hyperledger Fabric等這些企業(yè)區(qū)塊鏈中,后者不需要最終用戶維護(hù)錢(qián)包和支付礦工費(fèi)用。





