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

2022-05-12 10:18 更新

DAPP 介紹 

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

基本要求

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

DAPP 的定義

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

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

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

智能合約

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

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

DAPP 開發(fā)的好處

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

DAPP 開發(fā)的缺陷

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

DAPP 工具

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

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

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

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


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號