¿Cuáles serían los problemas potenciales con la creación de una red Ethereum "privada" en AWS?

Supongamos que tengo dos instancias EC2 en AWS que ejecutan nodos geth. Tienen el mismo bloque de génesis y están sincronizados porque el emparejamiento se configura con el puerto abierto 30303 (de manera predeterminada, es para emparejamiento entre nodos).

¿Cuáles serían los posibles problemas con esta configuración? ¿Otros no podrían acceder desde fuera de la red golpeando los puertos abiertos?

¿También algún problema con la escala?

¿Se podría utilizar una VPC para resolver este problema?

Respuestas (2)

Como usted dice, si sus nodos están escuchando en Internet, otros nodos podrían comunicarse con los suyos. Si supieran la configuración de génesis, en realidad podrían minar en su red, y si tiene un puerto JSON-RPC abierto y tenían gas en la red, podrían enviar transacciones.

La solución es restringir el acceso a nivel de red, de modo que sus nodos solo puedan comunicarse entre sí en los puertos relevantes y no acepten el acceso de otros nodos. Hay algunas maneras de hacer esto:

  • Cree reglas de firewall utilizando las políticas de seguridad de AWS
  • Cree reglas de firewall en sus instancias EC2, por ejemplo, con iptables
  • Usa una VPN
  • Haga que los nodos escuchen solo en localhost y conéctelos usando túneles SSH
¿Podría abordar la parte de escala de la pregunta?
Me temo que no, es demasiado vago. Es decir, si tiene más tráfico del que pueden manejar los nodos más grandes de AWS, tendrá problemas con el escalado.

Creo que también puede establecer --maxpeers <n>que n sea el tamaño de su red privada para evitar que los intrusos se unan accidental o intencionalmente a su red.