Las direcciones son un hash blake2b-256 de las correspondientes claves de verificación/públicas concatenadas con algunos metadatos que pueden ser almacenados en la blockchain de Cardano. Shelley introduce cuatro tipos diferentes de direcciones:
- direcciones base
- direcciones de puntero
- direcciones de empresa
- direcciones de cuentas de recompensa
Además de estas nuevas direcciones, Shelley sigue admitiendo las direcciones de arranque y las direcciones de script que se introdujeron en Byron. Pero sólo las nuevas direcciones de base y de puntero conllevan derechos de participación. Por lo tanto, las direcciones consisten en algunos datos serializados especificados en la especificación del libro mayor, que se almacenan en los bloques de la cadena, por ejemplo, una dirección UtxO (salida de transacciones no gastadas). Los datos serializados (dirección) contienen las dos partes siguientes:
- Metadatos: que se utilizan para la interpretación.
- Carga útil: los datos en bruto o codificados.
Direcciones base
Una dirección base, especifica directamente la clave de delegación, que debe controlar la delegación de la dirección. Los derechos de delegación asociados a los fondos depositados en esta dirección, pueden ser ejercidos por el propietario de la clave de staking. Las direcciones base pueden utilizarse en las transacciones sin registrar previamente la clave de delegación.
Los derechos de delegación sólo pueden ejercerse registrando la clave de staking y delegando en un stake pool. Una vez registrada, los derechos de participación pueden ejercerse para las direcciones base utilizadas en transacciones antes o después del registro de la clave.
Direcciones de puntero
Una dirección de puntero especifica, indirectamente, la clave de participación que debe controlar la participación de la dirección. Hace referencia a una clave de staking, mediante un puntero de clave de staking, que es una ubicación en la cadena de bloques del certificado de registro de clave de staking para esa clave. Las direcciones de puntero pueden utilizarse en transacciones, incluso si su objetivo no es un registro de clave de staking activo. Esto cubre el escenario en el que la clave no ha sido registrada después (o incluso antes) de la transacción, y también cubre los punteros a objetivos que son claramente inválidos. La razón para permitir estos objetivos no válidos, es que los nodos sólo necesitan rastrear las claves de participación activas en ese momento.
El puntero puede ser considerablemente más corto que el hash utilizado en las direcciones base. Hay una sutileza con las direcciones de puntero:
Puede ocurrir que un certificado de registro de claves de delegación, al que hace referencia una dirección de puntero, se pierda debido a un retroceso. Esto no debería suponer una pérdida de fondos. Para evitarlo, el sistema considera que las direcciones de puntero, con un puntero no válido, son válidas a efectos de utilizar los fondos almacenados en ellas como entradas para las transacciones (pero las ignora a efectos de la participación en el PoS). Opcionalmente, un monedero puede negarse a crear transacciones a direcciones de puntero antes de que el certificado referenciado se haya vuelto inmutable, para evitar que los fondos sean excluidos del PoS, en el caso de reversiones.
Direcciones de empresa
Las direcciones de empresa no conllevan derechos de participación y, por lo tanto, utilizarlas significa que se está optando por no participar en el protocolo de prueba de participación.
Los intermediarios u otras organizaciones que controlan grandes cantidades de Ada, pero que la tienen en nombre de otros usuarios, pueden desear seguir una política de no ejercer derechos de participación. Mediante el uso de direcciones de empresa, los exchanges pueden demostrar que siguen esta política. Dado que las direcciones de empresa no están asociadas a ninguna clave de participación, quedan automáticamente excluidas de los mecanismos que influyen en el calendario de liderazgo de slots. Hay que tener en cuenta que el uso de direcciones sin derechos de participación disminuye efectivamente la cantidad total de staking, lo que juega a favor del adversario.
Direcciones de cuentas de recompensa
Una dirección de recompensa es un hash criptográfico de la clave de delegación pública de la dirección. Las direcciones de cuentas de recompensa se utilizan para distribuir recompensas por participar en el protocolo PoS (directamente o por delegación). Tienen las siguientes propiedades:
- Se utiliza una contabilidad de tipo cuenta, no de tipo UTxO.
- Los fondos no se pueden recibir a través de transacciones. En cambio, su saldo sólo se incrementa cuando se distribuyen las recompensas.
- Existe una correspondencia uno a uno entre las claves de staking registradas y las direcciones de las cuentas de recompensas.
Esta clave se utiliza siempre que se retiran fondos de la dirección. Además, la participación asociada a los fondos en la dirección contribuye a la participación de esta clave. Al igual que en el caso de las direcciones de empresa, el objeto de delegación de una dirección de recompensa no necesita contener información.
Un comentario en “Direcciones de Cardano”