Vinculación de direcciones de cuenta a nodos

¿Existe algún procedimiento para que las cuentas solo se puedan usar en un solo nodo? Por ejemplo, estoy ejecutando un nodo Ethereum en el dispositivo: A. Tengo dos cuentas. Si inicio la instancia de geth en otro dispositivo: B y copio el contenido del almacén de claves del dispositivo: A al dispositivo: B, puedo usar esas cuentas si conozco las contraseñas. ¿Hay alguna manera de hacer que estas cuentas sean únicas para un dispositivo, es decir, estas cuentas no deberían poder usarse en otros dispositivos? ¿Puedo vincular el URI del enodo a la dirección de la cuenta para poder identificar el dispositivo con el nombre de la cuenta?

PD: estoy ejecutando en una cadena de bloques privada

Respuestas (1)

Una cuenta está esencialmente vinculada a una clave privada, lo que significa que quienquiera que tenga la clave privada puede realizar transacciones en nombre de esa cuenta.

Las implementaciones actuales de Ethereum no lo permiten (siempre puede conectarse a la red como un nodo siempre que tenga su clave privada (archivo de almacén de claves y contraseña)).

Deberá hacer el enlace externamente; por ejemplo, creando un certificado TLS para un host que tiene una cuenta. El certificado vinculará esa dirección a ciertos atributos identificables de forma única del host (dirección de cadena, organización, dominio, etc.).

Luego puede usar el canal externo para intercambiar un nonce entre dos hosts, firmarlo con la clave privada del certificado y enviarlo como un campo de datos/entrada en una transacción. El host receptor puede verificar que solo el host emisor pudo haber enviado el valor respectivo.

Tenga en cuenta que todo lo que está en la cadena de bloques está disponible públicamente, por lo que no debe usarse para intercambiar datos confidenciales.

Editar:

También puede echar un vistazo a las cadenas de bloques autorizadas , ya que pueden ofrecer una solución más disponible.