Por lo que entiendo por este wiki sobre el procesamiento de transacciones , los nodos de quórum que están al tanto de un Tx privado actualizarán sus stateDbs privados.
Mi pregunta es, ¿pueden dos cuentas diferentes acceder a un solo nodo y realizar transacciones privadas con otra cuenta en un nodo diferente?
Por ejemplo,
dos cuentas A1, A2
accederán al Nodo-A. Dos cuentas B1, B2 accederán al Nodo-B.
Ahora, ¿puede A1 realizar una TX privada con B1 que resulte en la actualización de privado-estado-A1 y privado-estado? -B1?
Siento que he entendido mal algo aquí, pero no estoy seguro de qué es. Estoy bastante confundido.
Por favor ayuda. Gracias.
Tendras:
A1 enviará una privateFor
transacción to: B1
. Dado que es privado, entregará la transacción al administrador de transacciones. El administrador de transacciones sabrá que el Nodo B escucha a B1 y lo entregará al enclave para el cifrado. Vuelve un mensaje firmado. El administrador de transacciones envía el mensaje firmado al nodo B, que descifra, acusa y anota el hash de la transacción. El nodo A pone el hash de la transacción en estado público (un hash de transacción privado).
Ahora, el nodo A y el nodo B tienen conocimiento de una transacción privada de A1 a B1, pero no se ha incluido en la cadena. Esperan la transacción minada con el hash de la transacción (que solo ellos conocen). Esto es para establecer el lugar de la transacción privada en el orden general de transacciones de la red.
Cuando ven el hash de la privateFor:
transacción que conocen, ejecutan la transacción y actualizan sus respectivos estados privados. Hay un estado privado por nodo, y no se espera que sean uniformes entre los nodos, porque tienen conocimiento de diferentes transacciones privadas.
Probablemente sea mejor pensar en un estado de contrato privado en lugar de que A1 hable con B1, más como A1 implementa el contrato A1B1 privateFor [A1, B1]
. Comenzaría con una transacción de implementación de contrato privateFor
A1 y B1. A1 y B1 enviarían cada uno transacciones al contrato privado que tiene un estado privado interno. Esto establece una partición del tema del que A1 y B1 tendrán conocimiento y, por extensión, el Nodo A y el Nodo B.
Según tengo entendido, existe una gran seguridad de que el Nodo C no tiene conocimiento de ese contrato ni de su estado.
Espero eso ayude.
dnn
privateFor
A1 y B1, ¿verdad?Rob Hitchens