Estoy a punto de trabajar en mi primer proyecto ethereum.
Cuando un usuario abre MySecretApp, creará una transacción en la cadena de bloques de ethereum.
Mis preguntas son:
1) ¿Estoy compartiendo la cadena de bloques de ethereum (y los mil millones de transacciones existentes) con otras empresas? ¿O puedo crear una nueva cadena que solo contenga transacciones provenientes de MySecretApp?
1) ¿Cómo verifico que un hacker con una aplicación llamada HackersFakeApp no publique una transacción en mi cadena? Solo quiero almacenar transacciones que provienen de mi aplicación.
Una configuración posible:
Almacene una clave privada dentro de los dispositivos físicos. Debe ser el mismo para todos los dispositivos y solo usted debe conocerlo. Debe asegurarse de que las personas no puedan acceder a él utilizando cualquier mecanismo que proporcione su hardware.
Escriba la clave pública de esta clave privada como una constante en su contrato inteligente
Al crear una transacción, el dispositivo utiliza la clave privada para firmar un mensaje que contiene los detalles de la transacción (por ejemplo, ID de método, argumentos, remitente y un número de secuencia)
El dispositivo transmite la transacción, con la firma como argumento
El contrato inteligente reconstruye el mensaje y verifica la firma del mensaje.
En este punto, puede estar seguro de que solo las transacciones que se enviaron desde uno de sus dispositivos se ejecutarán con éxito.
Si tiene más preguntas, solo comente, actualizaré esta respuesta.
jesús
patata grande