Go-Ethereum
在 AWS 上建構“私有”乙太坊網路會有哪些潛在問題?
假設我在 AWS 上有兩個執行 geth 節點的 EC2 實例。它們具有相同的創世塊並且是同步的,因為對等互連是使用開放埠 30303 設置的(預設情況下用於節點之間的對等互連)。
這種設置有什麼潛在的問題?其他人不能通過打開埠從網路外部訪問嗎?
縮放還有什麼問題嗎?
正如您所說,如果您的節點正在偵聽網際網路,那麼其他節點將能夠與您的節點通信。如果他們知道創世設置,他們實際上可以在你的網路中探勘,如果你有一個開放的 JSON-RPC 埠並且他們在網路上有 gas,他們就可以發送交易。
解決方案是在網路層面限制訪問,讓你的節點只能在相關埠上相互通信,不接受來自其他節點的訪問。有幾種方法可以做到這一點:
- 使用 AWS 安全策略創建防火牆規則
- 在您的 EC2 實例上創建防火牆規則,例如使用 iptables
- 使用 VPN
- 使節點僅在 localhost 上偵聽,並使用 SSH 隧道連接它們