Dapps

誰通過提供允許 dApp 執行的資源來賺取 ETH?

  • December 23, 2017

我試圖更好地了解乙太坊網路的工作原理,但我還沒有找到該問題的明確答案。

如果我是正確的,以上兩點意味著允許 dApp 執行的資源不是由完整節點提供的。它們也不是由礦工提供的(礦工只需送出雜湊以驗證交易 AFAIK)。那麼具體來說,dApp 在哪裡執行,誰會為此獲得 ETH?我可以做嗎?

無論您的交易是什麼(呼叫合約上的函式、部署合約或簡單地發送付款),您都必須為此支付 gas。

誰在花費他們的計算能力來執行您的交易?

在將 TX 放入區塊之前,每個礦工都會花費他們的計算能力來執行您的 TX。一旦你的 TX 到達 txpool,礦工就會抓住它,檢查它是否有效,執行它,獲取輸出,並嘗試將它放入一個塊中。(這就是工作量證明的用武之地)

一旦它在一個塊中,每個完整節點都必須在接受之前驗證他們在 P2P 網路上聽到的塊。驗證過程的一部分需要執行每一個 TX 並將其與他們在已發布塊中看到的輸出進行比較。如果它們匹配,則該塊被節點接受。

總而言之:每個區塊鏈參與者(礦工 + 全節點)最終都會花費他們的計算能力來執行你的 TX。

誰收到付款(您的 tx 費用)?

只有成功找到包含您的 TX 的區塊的礦工才能獲得您的 TX 費用。

比特幣的工作方式相同。

dApps 在哪裡執行,誰會為此獲得 ETH?

重要的是要了解每個節點都保留相同乙太坊區塊鏈、分類帳的精確副本,並且乙太坊中的所有內容都被設計為具有確定性。

為了使節點與乙太坊網路的其餘部分保持同步,它們必須看到與網路其餘部分相同的事務,並在與網路上其餘節點大致相同的時間執行這些確定性事務。

這意味著每個節點*在接收到一個新的、最新的和有效的塊時,都會處理每筆交易(餘額轉移、每個智能合約函式呼叫等),以將這些更改應用到其本地區塊鏈副本。.

然而,只有礦工才能獲得區塊獎勵和包含在每個成功集成區塊中的交易費用。

乙太坊的一大優點是它是一個開放的公共網路——你可以執行一個節點並參與網路運營。你甚至可以設置你的節點來嘗試探勘一個新的區塊;如果沒有大量的散列能力,你不太可能在主網路上探勘一個塊。

獎金,擴展答案

我喜歡將 Dapp(去中心化應用程序)視為不僅僅是乙太坊、智能合約 - @Eth 很好地概述了 Dapp 是什麼

一個 DApp 可以有任何語言編寫的前端程式碼和使用者界面(就像一個應用程序),可以呼叫它的

$$ Ethereum smart contract $$後端。此外,它的前端可以託管在分散儲存上,例如 Swarm 或 IPFS。

在前端程式碼由分散文件系統(如 Swarm、Storj 等)託管的情況下,還有其他節點提供資源(在這種情況下是文件儲存)並接收該服務的乙太幣或代幣付款。

根據你的 DApp 的複雜性,它可能還需要提供一種激勵機制,以真正去中心化的方式執行。例如,BTC Relay要求 - 並激勵 - 將比特幣區塊頭送出給合約:

中繼者是那些向 BTC Relay 送出區塊頭的人。為了激勵社區成為中繼者,從而允許 BTC Relay 自主並與比特幣區塊鏈保持同步,中繼者可以向 BTC Relay 送出區塊頭。當區塊中的任何交易被驗證或檢索到標頭時,中繼者將獲得費用獎勵

引用自:https://ethereum.stackexchange.com/questions/30722