以太坊 去中心化應(yīng)用

2022-05-12 10:18 更新

DAPP 介紹 

去中心化應(yīng)用 (?dapp?) 是在去中心化網(wǎng)絡(luò)上構(gòu)建的應(yīng)用程序,結(jié)合了智能合約和前端用戶界面。 請(qǐng)注意,以太坊智能合約具有可訪問(wèn)性和透明性——就像開放 ?API ?一樣 ——所以你的 ?dapp ?里甚至可以包含其他人寫過(guò)的智能合約。

基本要求

在學(xué)習(xí) ?dapp ?之前,您應(yīng)該了解區(qū)塊鏈基礎(chǔ)知識(shí),并了解以太坊網(wǎng)絡(luò)及其去中心化方式。

DAPP 的定義

一個(gè) ?dapp ?的后端代碼在一個(gè)去中心化 ?P2P ?網(wǎng)絡(luò)上運(yùn)行。 與此相對(duì)應(yīng)的,是在中心化服務(wù)器上運(yùn)行后端代碼的應(yīng)用程序。

?dapp ?可以用任何語(yǔ)言編寫(就像是一個(gè) ?app?)。它有前端代碼和用戶界面,能調(diào)用其后端。 此外,它的前端可以托管在去中心化存儲(chǔ)上,例如 IPFS

  • 去中心化 - ?dapp ?在以太坊上運(yùn)行,這是一個(gè)開放的公共去中心化平臺(tái),沒有任何一個(gè)人或團(tuán)體可以控制
  • 確定性 ,無(wú)論執(zhí)行的環(huán)境如何,都執(zhí)行相同的功能。
  • 圖靈完備 - ?dapp ?可以根據(jù)所需資源執(zhí)行任何操作
  • 隔離性 - 它們?cè)诜Q為 ?EVM ?的虛擬環(huán)境中執(zhí)行。即使智能合約出現(xiàn)問(wèn)題,也不會(huì)妨礙區(qū)塊鏈網(wǎng)絡(luò)的正常運(yùn)行

智能合約

要引入 ?dapp?,我們需要引入智能合約 —— ?dapp ?的后端。

智能合約是一種在以太坊網(wǎng)絡(luò)上的計(jì)算機(jī)程序,它嚴(yán)格按照事先編寫的代碼來(lái)運(yùn)行。 智能合約一旦部署到以太坊網(wǎng)絡(luò)中,就無(wú)法更改。 ?Dapps ?可以是去中心化的,就是由于它們受智能合約的既定邏輯控制,而不是個(gè)人或公司。 這也意味著你需要非常仔細(xì)地設(shè)計(jì)合約,并進(jìn)行全面測(cè)試。

DAPP 開發(fā)的好處

  • 零停機(jī)時(shí)間 – 一旦將某 ?dapp ?的智能合約部署到區(qū)塊鏈上,整個(gè)網(wǎng)絡(luò)都能為那些希望與合約互動(dòng)的客戶提供服務(wù)。 因此,惡意參與者無(wú)法針對(duì)單個(gè) ?dapp ?發(fā)起 ?DoS ?攻擊。
  • 隱私 – 您不需要提供真實(shí)世界的身份來(lái)部署或與 ?dapp ?進(jìn)行交互。
  • 抵制審查 – 網(wǎng)絡(luò)上沒有任何一個(gè)實(shí)體可以阻止用戶提交交易、部署 ?dapp ?或讀取區(qū)塊鏈上的數(shù)據(jù)。
  • 數(shù)據(jù)完整性 – 由于采用了加密基元,存儲(chǔ)在區(qū)塊鏈上的數(shù)據(jù)是不可更改和無(wú)可爭(zhēng)議的。 惡意行為者無(wú)法偽造已經(jīng)公開的交易或其他數(shù)據(jù)。
  • 無(wú)需信任關(guān)系的計(jì)算/可驗(yàn)證的行為 – 智能合約可以被分析,并保證以可預(yù)測(cè)的方式執(zhí)行,而無(wú)需信任中央權(quán)威機(jī)構(gòu)。 這在傳統(tǒng)模式下是不存在的,比如我們使用網(wǎng)上銀行系統(tǒng)時(shí),我們要相信金融機(jī)構(gòu)不會(huì)濫用我們的金融數(shù)據(jù),不會(huì)篡改記錄,也不會(huì)被黑客攻擊。

DAPP 開發(fā)的缺陷

  • 維護(hù) – ?dapp ?可能更難維護(hù),因?yàn)榘l(fā)布到區(qū)塊鏈的代碼和數(shù)據(jù)更難修改。 一旦部署了 ?dapp?(或 ?dapp ?存儲(chǔ)的底層數(shù)據(jù)),開發(fā)者就很難對(duì)其進(jìn)行更新——即使在舊版本中發(fā)現(xiàn)了 ?bug ?或安全風(fēng)險(xiǎn)。
  • 性能開銷 – 巨大的性能開銷,而且難以擴(kuò)展更多性能。 為了達(dá)到以太坊所追求的安全、完整、透明和可靠的水平,每個(gè)節(jié)點(diǎn)都會(huì)運(yùn)行和存儲(chǔ)每一筆交易。 除此之外,工作量證明也需要時(shí)間。 粗略計(jì)算,開銷會(huì)達(dá)到目前標(biāo)準(zhǔn)計(jì)算的 1,000,000 倍左右。
  • 網(wǎng)絡(luò)擁塞 – 至少在當(dāng)前模型中,如果一個(gè) ?dapp ?使用了太多的計(jì)算資源,整個(gè)網(wǎng)絡(luò)都會(huì)承擔(dān)影響。 目前,該網(wǎng)絡(luò)每秒只能處理約 10 筆交易;如果交易發(fā)送的速度超過(guò)這個(gè)速度,未確認(rèn)的交易池會(huì)迅速膨脹。
  • 用戶體驗(yàn) – 設(shè)計(jì)用戶友好的體驗(yàn)可能更難。普通終端用戶可能會(huì)發(fā)現(xiàn),很難以真正安全的方式設(shè)置與區(qū)塊鏈互動(dòng)所需的工具堆棧。
  • 集中化 — 無(wú)論如何,建立在以太坊基礎(chǔ)層之上的用戶友好型和開發(fā)人員友好型解決方案最終看起來(lái)都像集中式服務(wù)。 例如,這種服務(wù)可以在服務(wù)器端存儲(chǔ)密鑰或其他敏感信息,使用中心化服務(wù)器為前端服務(wù),或在寫到區(qū)塊鏈之前在中心化服務(wù)器上運(yùn)行重要的業(yè)務(wù)邏輯。 這消除了區(qū)塊鏈與傳統(tǒng)模式相比的許多(并不是全部)優(yōu)勢(shì)。

DAPP 工具

?Scaffold-ETH ?- 使用能自適應(yīng)智能合約的前端,快速嘗試 ?Solidity?。

創(chuàng)建 Eth App - 使用一個(gè)命令創(chuàng)建支持以太坊的應(yīng)用程序。

一鍵去中心化 - 用于從 ABI 生成去中心化應(yīng)用程序前端的免費(fèi)和開放源代碼軟件工具。

Etherflow - 供以太坊開發(fā)者測(cè)試節(jié)點(diǎn),并在瀏覽器中編寫和調(diào)試 RPC 調(diào)用的免費(fèi)和開放源代碼軟件工具。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)