Contas de stake
Uma conta de stake na Solana pode ser usada para delegar tokens a validators na rede para potencialmente ganhar recompensas para o proprietário da conta de stake. As contas de stake são criadas e gerenciadas de forma diferente de um endereço de carteira tradicional, conhecido como conta do sistema. Uma conta do sistema só pode enviar e receber SOL de outras contas na rede, enquanto uma conta de stake suporta operações mais complexas necessárias para gerenciar uma delegação de tokens.
As contas de stake na Solana também funcionam de maneira diferente das de outras redes blockchain Proof-of-Stake com as quais você pode estar familiarizado. Este documento descreve a estrutura de alto nível e as funções de uma conta de stake da Solana.
Endereço da conta
Cada conta de stake tem um endereço único que pode ser usado para consultar as informações da conta na linha de comando ou em qualquer ferramenta de exploração da rede. No entanto, ao contrário de um endereço de carteira em que o detentor do keypair do endereço controla a carteira, o keypair associado ao endereço de uma conta de stake não necessariamente tem qualquer controle sobre a conta. Na verdade, um keypair ou chave privada pode nem mesmo existir para o endereço de uma conta de stake.
A única vez em que o endereço de uma conta de stake tem um arquivo keypair é quando se cria uma conta de stake usando as ferramentas de linha de comando. Um novo arquivo keypair é criado primeiro apenas para garantir que o endereço da conta de stake seja novo e único.
Entendendo as autoridades da conta
Certos tipos de contas podem ter uma ou mais autoridades de assinatura associadas a uma determinada conta. Uma autoridade de conta é usada para assinar certas transações para a conta que controla. Isso é diferente de algumas outras redes blockchain onde o detentor do keypair associado ao endereço da conta controla todas as atividades da conta.
Cada conta de stake possui duas autoridades de assinatura especificadas por seus respectivos endereços, cada uma autorizada a realizar certas operações na conta de stake.
A autoridade de stake é usada para assinar transações para as seguintes operações:
- Delegar stake
- Desativar a delegação de stake
- Dividir a conta de stake, criando uma nova conta de stake com uma parte dos fundos na primeira conta
- Fundir duas contas de stake em uma
- Definir uma nova autoridade de stake
A autoridade de saque assina transações para o seguinte:
- Sacar stake não delegado para um endereço de carteira
- Definir uma nova autoridade de saque
- Definir uma nova autoridade de stake
A autoridade de stake e a autoridade de saque são definidas quando a conta de stake é criada, e podem ser alteradas para autorizar um novo endereço de assinatura a qualquer momento. A autoridade de stake e a autoridade de saque podem ser o mesmo endereço ou dois endereços diferentes.
O keypair da autoridade de saque tem mais controle sobre a conta, pois é necessário para liquidar os tokens na conta de stake, e pode ser usado para redefinir a autoridade de stake se o keypair da autoridade de stake for perdido ou comprometido.
Proteger a autoridade de saque contra perda ou roubo é de extrema importância ao gerenciar uma conta de stake.
Múltiplas delegações
Cada conta de stake só pode ser usada para delegar a um validator por vez. Todos os tokens na conta estão delegados ou não delegados, ou em processo de se tornarem delegados ou não delegados. Para delegar uma fração dos seus tokens a um validator, ou para delegar a múltiplos validators, você deve criar múltiplas contas de stake.
Isso pode ser realizado criando várias contas de stake a partir de um endereço de carteira contendo alguns tokens, ou criando uma única conta de stake grande e usando a autoridade de stake para dividir a conta em várias contas com saldos de tokens de sua escolha.
As mesmas autoridades de stake e retirada podem ser atribuídas a várias contas de stake.
Mesclando contas de stake
Duas contas de stake que têm as mesmas autoridades e bloqueio podem ser mescladas em uma única conta de stake resultante. Uma mesclagem é possível entre dois stakes nos seguintes estados sem condições adicionais:
- dois stakes desativados
- um stake inativo em um stake em ativação durante seu epoch de ativação
Para os seguintes casos, a pubkey do votante e os créditos de voto observados devem corresponder:
- dois stakes ativados
- duas contas em ativação que compartilham um epoch de ativação, durante o epoch de ativação
Todas as outras combinações de estados de stake falharão ao mesclar, incluindo todos os estados "transitórios", onde um stake está sendo ativado ou desativado com um stake efetivo não-zero.
Aquecimento e Resfriamento da Delegação
Quando uma conta de stake é delegada, ou uma delegação é desativada, a operação não entra em vigor imediatamente.
Uma delegação ou desativação leva vários epochs para ser concluída, com uma fração da delegação se tornando ativa ou inativa em cada limite de epoch após a transação contendo as instruções ter sido enviada ao cluster.
Também há um limite de quanto stake total pode se tornar delegado ou desativado em um único epoch, para evitar grandes mudanças repentinas no stake em toda a rede como um todo. Como o aquecimento e o resfriamento dependem do comportamento de outros participantes da rede, sua duração exata é difícil de prever. Detalhes sobre o tempo de aquecimento e resfriamento podem ser encontrados aqui.
Bloqueios
As contas de stake podem ter um bloqueio que impede que os tokens que elas contêm sejam retirados antes que uma data ou epoch específica seja alcançada. Enquanto estiver bloqueada, a conta de stake ainda pode ser delegada, não delegada ou dividida, e sua autoridade de stake pode ser alterada normalmente. Apenas a retirada para outra carteira ou atualização da autoridade de retirada não é permitida.
Um bloqueio só pode ser adicionado quando uma conta de stake é criada pela primeira vez, mas pode ser modificado posteriormente pela autoridade de bloqueio ou custodiante, cujo endereço também é definido quando a conta é criada.
Destruindo uma conta de stake
Como outros tipos de contas na rede Solana, uma conta de stake que tem um saldo de 0 SOL não é mais rastreada. Se uma conta de stake não estiver delegada e todos os tokens que ela contém forem retirados para um endereço de carteira, a conta nesse endereço é efetivamente destruída e precisará ser recriada manualmente para que o endereço seja usado novamente.
Visualizando contas de stake
Os detalhes da conta de stake podem ser visualizados no Solana Explorer copiando e colando um endereço de conta na barra de pesquisa.
Is this page helpful?