Cuentas de stake

Una cuenta de stake en Solana puede utilizarse para delegar tokens a los validators en la red y potencialmente ganar recompensas para el propietario de la cuenta de stake. Las cuentas de stake se crean y gestionan de manera diferente a una dirección de cartera tradicional, conocida como cuenta del sistema. Una cuenta del sistema solo puede enviar y recibir SOL de otras cuentas en la red, mientras que una cuenta de stake admite operaciones más complejas necesarias para gestionar una delegación de tokens.

Las cuentas de stake en Solana también funcionan de manera diferente a las de otras redes blockchain de Prueba de Participación (Proof-of-Stake) con las que puedas estar familiarizado. Este documento describe la estructura de alto nivel y las funciones de una cuenta de stake en Solana.

Dirección de la cuenta

Cada cuenta de stake tiene una dirección única que puede utilizarse para buscar la información de la cuenta en la línea de comandos o en cualquier herramienta de exploración de la red. Sin embargo, a diferencia de una dirección de cartera en la que el poseedor del keypair de la dirección controla la cartera, el keypair asociado con la dirección de una cuenta de stake no necesariamente tiene control sobre la cuenta. De hecho, puede que ni siquiera exista un keypair o clave privada para la dirección de una cuenta de stake.

La única vez que la dirección de una cuenta de stake tiene un archivo keypair es cuando se crea una cuenta de stake utilizando las herramientas de línea de comandos. Primero se crea un nuevo archivo keypair solo para asegurar que la dirección de la cuenta de stake sea nueva y única.

Entendiendo las autoridades de la cuenta

Ciertos tipos de cuentas pueden tener una o más autoridades firmantes asociadas con una cuenta determinada. Una autoridad de cuenta se utiliza para firmar ciertas transacciones para la cuenta que controla. Esto es diferente de algunas otras redes blockchain donde el poseedor del keypair asociado con la dirección de la cuenta controla toda la actividad de la cuenta.

Cada cuenta de stake tiene dos autoridades de firma especificadas por sus respectivas direcciones, cada una de las cuales está autorizada para realizar ciertas operaciones en la cuenta de stake.

La autoridad de stake se utiliza para firmar transacciones para las siguientes operaciones:

  • Delegar stake
  • Desactivar la delegación de stake
  • Dividir la cuenta de stake, creando una nueva cuenta de stake con una parte de los fondos en la primera cuenta
  • Fusionar dos cuentas de stake en una
  • Establecer una nueva autoridad de stake

La autoridad de retiro firma transacciones para lo siguiente:

  • Retirar stake no delegado a una dirección de wallet
  • Establecer una nueva autoridad de retiro
  • Establecer una nueva autoridad de stake

La autoridad de stake y la autoridad de retiro se establecen cuando se crea la cuenta de stake, y se pueden cambiar para autorizar una nueva dirección de firma en cualquier momento. La autoridad de stake y de retiro pueden ser la misma dirección o dos direcciones diferentes.

El keypair de la autoridad de retiro tiene más control sobre la cuenta, ya que es necesario para liquidar los tokens en la cuenta de stake, y puede usarse para restablecer la autoridad de stake si el keypair de la autoridad de stake se pierde o se ve comprometido.

Proteger la autoridad de retiro contra pérdida o robo es de suma importancia al gestionar una cuenta de stake.

Múltiples delegaciones

Cada cuenta de stake solo puede usarse para delegar a un validator a la vez. Todos los tokens en la cuenta están delegados o no delegados, o en el proceso de ser delegados o no delegados. Para delegar una fracción de tus tokens a un validator, o para delegar a múltiples validators, debes crear múltiples cuentas de stake.

Esto se puede lograr creando múltiples cuentas de stake desde una dirección de wallet que contenga algunos tokens, o creando una única cuenta de stake grande y utilizando la autoridad de stake para dividirla en múltiples cuentas con saldos de tokens de tu elección.

Las mismas autoridades de stake y retiro pueden asignarse a múltiples cuentas de stake.

Fusión de cuentas de stake

Dos cuentas de stake que tienen las mismas autoridades y bloqueo pueden fusionarse en una única cuenta de stake resultante. Una fusión es posible entre dos stakes en los siguientes estados sin condiciones adicionales:

  • dos stakes desactivados
  • un stake inactivo en un stake en activación durante su epoch de activación

Para los siguientes casos, la pubkey del votante y los créditos de voto observados deben coincidir:

  • dos stakes activados
  • dos cuentas en activación que comparten un epoch de activación, durante el epoch de activación

Todas las demás combinaciones de estados de stake fallarán al fusionarse, incluidos todos los estados "transitorios", donde un stake está activándose o desactivándose con un stake efectivo distinto de cero.

Calentamiento y enfriamiento de la delegación

Cuando se delega una cuenta de stake, o se desactiva una delegación, la operación no surte efecto inmediatamente.

Una delegación o desactivación tarda varios epochs en completarse, con una fracción de la delegación activándose o desactivándose en cada límite de epoch después de que la transacción que contiene las instrucciones se haya enviado al cluster.

También hay un límite en cuánto stake total puede delegarse o desactivarse en un solo epoch, para evitar cambios repentinos grandes en el stake en toda la red. Dado que el calentamiento y enfriamiento dependen del comportamiento de otros participantes de la red, su duración exacta es difícil de predecir. Los detalles sobre el tiempo de calentamiento y enfriamiento se pueden encontrar aquí.

Bloqueos

Las cuentas de stake pueden tener un bloqueo que impide que los tokens que contienen sean retirados antes de que se alcance una fecha o epoch específica. Mientras están bloqueadas, la cuenta de stake aún puede ser delegada, no delegada o dividida, y su autoridad de stake puede cambiarse normalmente. Solo no se permite el retiro a otra billetera o la actualización de la autoridad de retiro.

Un bloqueo solo se puede añadir cuando se crea por primera vez una cuenta de stake, pero puede ser modificado más tarde por la autoridad de bloqueo o custodio, cuya dirección también se establece cuando se crea la cuenta.

Destrucción de una cuenta de stake

Al igual que otros tipos de cuentas en la red Solana, una cuenta de stake que tiene un saldo de 0 SOL ya no se rastrea. Si una cuenta de stake no está delegada y todos los tokens que contiene se retiran a una dirección de billetera, la cuenta en esa dirección se destruye efectivamente y deberá ser recreada manualmente para que la dirección pueda usarse nuevamente.

Visualización de cuentas de stake

Los detalles de la cuenta de stake se pueden ver en el Explorador de Solana copiando y pegando una dirección de cuenta en la barra de búsqueda.

Is this page helpful?

Tabla de Contenidos

Editar Página