Go-Ethereum

Metamask 外掛向哪些遠端乙太坊節點發送簽名交易?他們是否面臨拒絕服務攻擊?

  • December 16, 2017

所以 Metamask 允許在它的 UI 中連接到不同的乙太坊網路(公共/測試網)。

  1. 誰在維護這些同行?
  2. 我可以相信這些同行嗎?
  3. 如果是這樣,我可以在我的機器上設置類似的服務,而不會使我的機器受到 DOS 攻擊並影響我的機器嗎?我怎樣才能做到這一點?
  1. INFURA ( https://infura.io/ ) 維護這些遠端節點。

2)您可以信任這些節點有兩個原因:正常執行時間和簽名交易的中繼(而不是將您的私鑰保存在我們的伺服器中)。我們努力保持 100% 的正常執行時間(這是我們的最新記錄)。交易方面,是在本地機器上使用您的私鑰簽署交易。這樣您就不必擔心我們會出於惡意目的使用您的帳戶。INFURA 所做的只是將該交易轉發到要開采的網路。

3)每個人都可以在他們的機器上設置相同的服務。您只需要執行一個本地節點並將其與您想要的網路同步,然後打開 RPC 以僅從 127.0.0.1接收交易,這意味著只有您的機器可以向該節點發送簽名交易和讀取請求。如果您將 RPC 功能設置為偵聽0.0.0.0,您將受到來自外部的攻擊。

其他安全建議,但更高級的實施,將設置防火牆以接收到您的機器的傳入請求到 RPC 埠,並留在您的家庭路由器後面(在大多數情況下這已經足夠了)。

TLDR:INFURA 是 metamask 背後的遠端服務。INFURA 不會保留您的私鑰,您發送的內容是唯一被轉發的內容。INFURA 的核心能力是保持網路中的節點同步,讓使用者不必擔心這個問題。

更具體地說,元遮罩連接到那些infura的節點:

const MAINET_RPC_URL = 'https://mainnet.infura.io/metamask'
const ROPSTEN_RPC_URL = 'https://ropsten.infura.io/metamask'
const KOVAN_RPC_URL = 'https://kovan.infura.io/metamask'
const RINKEBY_RPC_URL = 'https://rinkeby.infura.io/metamask'

global.METAMASK_DEBUG = 'GULP_METAMASK_DEBUG'

module.exports = {
 network: {
   mainnet: MAINET_RPC_URL,
   ropsten: ROPSTEN_RPC_URL,
   kovan: KOVAN_RPC_URL,
   rinkeby: RINKEBY_RPC_URL,
 },
}

如果您選擇一個本地節點,則元遮罩將連接到它。

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