Was wären potenzielle Probleme beim Aufbau eines „privaten“ Ethereum-Netzwerks auf AWS?

Angenommen, ich habe zwei EC2-Instanzen auf AWS, auf denen Geth-Knoten ausgeführt werden. Sie haben denselben Genesis-Block und sind synchron, da Peering mit offenem Port 30303 eingerichtet ist (standardmäßig für Peering zwischen Knoten).

Was wären mögliche Probleme mit diesem Setup? Wären andere nicht in der Lage, von außerhalb auf das Netzwerk zuzugreifen, indem sie auf die offenen Ports drücken?

Gibt es auch Probleme mit der Skalierung?

Könnte eine VPC verwendet werden, um dieses Problem zu lösen?

Antworten (2)

Wie Sie sagen, wenn Ihre Knoten im Internet lauschen, können andere Knoten mit Ihren kommunizieren. Wenn sie die Genesis-Einstellungen wüssten, könnten sie tatsächlich in Ihrem Netzwerk minen, und wenn Sie einen offenen JSON-RPC-Port haben und sie Gas im Netzwerk hätten, könnten sie Transaktionen senden.

Die Lösung besteht darin, den Zugriff auf Netzwerkebene einzuschränken, sodass Ihre Knoten nur an den entsprechenden Ports miteinander kommunizieren können und keinen Zugriff von anderen Knoten akzeptieren. Dazu gibt es mehrere Möglichkeiten:

  • Erstellen Sie Firewall-Regeln mit AWS-Sicherheitsrichtlinien
  • Erstellen Sie Firewall-Regeln auf Ihren EC2-Instanzen, zB mit iptables
  • Verwenden Sie ein VPN
  • Lassen Sie die Knoten nur auf localhost lauschen und verbinden Sie sie über SSH-Tunnel
Könnten Sie den Skalierungsteil der Frage ansprechen?
Leider nicht, es ist zu vage. Ich meine, wenn Sie mehr Datenverkehr haben, als die größten AWS-Knoten verarbeiten können, werden Sie Probleme mit der Skalierung haben.

Ich glaube, dass Sie auch festlegen können, --maxpeers <n>dass n die Größe Ihres privaten Netzwerks ist, um Eindringlinge davon abzuhalten, versehentlich oder absichtlich Ihrem Netzwerk beizutreten.