Cardano tem um recurso de multi delegação
Autor: cardaniansio
A carteira Lace permite aos usuários delegar ADA a vários pools a partir de uma única conta. A mesma funcionalidade pode ser alcançada através da criação de múltiplas contas, que é atualmente um método muito difundido. Neste artigo, explicaremos como a multi delegação é tecnicamente viável.
Carteiras são apenas geradoras e guardiãs de chaves
Quando os usuários criam uma carteira sem custódia, novas sementes aleatórias (frases secretas) são geradas e eles são solicitados a mantê-las com cuidado e segurança. Da semente, as carteiras derivam todas as outras chaves necessárias para receber e enviar fundos, mas também para apostar. Tudo acontece em segundo plano, então os usuários só trabalham com transações e endereços blockchain. É bom saber como as carteiras Cardano derivam as chaves da semente.
Na imagem abaixo você pode ver a estrutura de derivação da chave que começa com a semente. As chaves vermelhas representam chaves privadas/de assinatura e as chaves verdes são chaves públicas/de verificação.
Uma semente é uma sequência aleatória de palavras da qual a chave mestra é derivada. É usado para gerar outras chaves criptográficas. A semente pode ser usada para restaurar carteiras. Se você conhece a semente, poderá derivar o mesmo conjunto de chaves dela novamente se seguir o mesmo procedimento (isso é garantido pela padronização). Uma chave mestra é o nível superior da estrutura hierárquica determinística (HD) da carteira.
Uma chave mestra pode ser usada para derivar diversas contas, cada uma com seu próprio conjunto de endereços e chaves. Uma conta também é um par de chaves que representa sua participação na rede e permite delegá-la a um pool.
Uma conta pode ter vários endereços e chaves de piquetagem, que também são pares de chaves derivados da chave da conta com funções diferentes.
Os endereços são usados para receber e enviar fundos. A chave pública é utilizada para gerar o endereço, enquanto a chave privada é utilizada para assinar transações e assim comprovar a titularidade dos fundos.
A chave de piquetagem é usada tanto pelos apostadores quanto pelos operadores de pool. No caso dos stakers, o endereço de piquetagem é derivado da chave de piquetagem. A chave privada é usada para exercer direitos de delegação.
O operador do pool também usa a chave de piquetagem para gerar um endereço de piquetagem e um ID de pool. O ID do pool é um hash da chave pública de piquetagem.
O endereço de staking do usuário é inserido no certificado de delegação como fonte das moedas ADA a serem delegadas ao pool identificado pelo ID do pool. O certificado de delegação vincula o endereço de piquetagem à chave de piquetagem do pool.
O endereço de piquetagem é usado tanto pelos apostadores quanto pelos operadores para armazenar e retirar recompensas de aposta (através das chaves privadas).
Vamos nos concentrar principalmente nas carteiras dos usuários.
Dentro de uma única conta, as carteiras geralmente criam apenas uma chave de staking e utilizam o hash da chave pública de staking para inseri-la nas referências de todos os endereços de pagamento. Por outras palavras, todos os endereços de pagamento contêm a mesma referência à chave de piquetagem.
Na imagem abaixo você pode ver uma conta com três endereços de pagamento (endereços de pagamento Shelley) cujas referências de endereço de aposta referem-se ao mesmo hash derivado de uma única chave de aposta. Observe que o endereço da aposta contém a conta de recompensa.
Dessa forma, o usuário poderá delegar sua aposta para um pool com um único certificado, e todos os seus endereços de pagamento seguirão a mesma escolha de delegação. Isso também simplifica o gerenciamento de chaves e endereços, pois o usuário só precisa manter o controle de uma chave de piquetagem e de um certificado de delegação para sua carteira. O usuário pode criar vários novos endereços de pagamento e todos os ADAs nesses endereços serão automaticamente usados para piquetagem (assim que o próximo snapshot for obtido).
A aposta é a quantidade de ADA associada à chave de aposta e delegada a um pool de apostas. A aposta é calculada somando todos os UTxOs nos endereços de pagamento associados à mesma chave de aposta. As carteiras inserem automaticamente a mesma chave de staking nos endereços de pagamento recém-criados.
No entanto, isto também significa que o utilizador não pode delegar diferentes porções da sua aposta a diferentes pools da mesma carteira, pois precisaria de criar múltiplas chaves e certificados de aposta para esse fim. Falaremos mais sobre isso na próxima parte do artigo.
Delegação ADA para vários pools
A carteira Lace permite múltiplas delegações através de uma única conta. Lace gera várias chaves de participação a partir da mesma chave de conta e também vários endereços de pagamento. Várias chaves de piquetagem (seus hashes) estão associadas a diferentes endereços de pagamento.
Um endereço de pagamento só pode ser associado a uma chave de piquetagem. Vários endereços de pagamento podem ser associados à mesma chave de piquetagem.
Na imagem abaixo você pode ver como 2 chaves de staking e 2 chaves de pagamento são derivadas de uma chave de conta. Observe os links entre as chaves. Cada endereço de pagamento está associado a uma chave de piquetagem exclusiva.
Se uma nova chave de staking e uma nova chave de pagamento forem criadas (índice 1 em nossa imagem) em uma carteira existente, não haverá moeda ADA no endereço de pagamento. A carteira deve criar uma transação que transfira parte das moedas ADA (UTxOs) do endereço já delegado (endereço de pagamento antigo com índice 0 na nossa imagem) para o novo endereço e criar um novo certificado de delegação para a nova chave de staking.
Agora o usuário pode escolher dois pools (dois IDs de pool) aos quais deseja delegar. A carteira realizará todas as etapas necessárias e criará todas as transações necessárias.
Graças ao fato de ter sido utilizada uma única conta para multidelegação, o poder de voto não é perturbado.
O mesmo pode ser conseguido criando várias contas. Cada conta possui uma chave de stake separada para vários endereços de pagamento.
Na imagem abaixo, você pode ver como duas chaves de conta são derivadas de uma chave mestra (essencialmente duas contas de usuário independentes). Cada conta tem sua própria chave de staking para o endereço de pagamento (pode haver mais)
Um certificado de delegação deve ser criado e enviado à rede para cada conta.
Armadilhas
Se você for delegar para vários pools, há algumas armadilhas que você deve conhecer. Vamos considerar que você equilibra sua aposta de tal forma que divide 1.000 ADA em 5 pools, 200 ADA serão delegados a cada um.
Você pode receber moedas ADA em um endereço por vez. Se alguém lhe enviar 200 ADA, você delegará 400 ADA para um pool e ainda apenas 200 ADA para todos os outros. Se quiser reequilibrar a carteira de staking, terá que fazê-lo manualmente. Talvez sua carteira o ajude com isso.
Se você enviar 100 ADA para alguém, a carteira poderá receber ADA de um único endereço, então você delegará apenas 100 ADA para um dos 5 pools. A carteira pode, teoricamente, receber UTxOs de 5 endereços para reduzir a aposta por pool em 20 ADA. Mas a transação será maior e a taxa será maior. Cada carteira pode oferecer diferentes opções quanto à seleção de endereços.
Alguns DApps dependem de que os usuários tenham apenas uma chave de piquetagem (eles verificam a carteira por meio de uma chave de piquetagem e podem exigir uma assinatura da chave de piquetagem) e podem não suportar múltiplas chaves de piquetagem. O Dapp pode não ver todo o seu portfólio.
Conclusão
A multi delegação é benéfica para aqueles usuários que desejam oferecer suporte a vários pools, mas não desejam criar várias sementes para carteiras (e transferir ADA entre elas). Muitas carteiras suportam a criação de múltiplas contas. A carteira Lace permite a derivação de múltiplas chaves de piquetagem em uma única conta. Este é um recurso relativamente novo no ecossistema.
Se você começar com múltiplas delegações, seja fiel à carteira que começou a usar. Se quiser usar outra carteira, certifique-se de que ela suporta o mesmo tipo de delegação múltipla que você começou a usar. Por exemplo, se você usar Lace e delegar para 5 pools, talvez não consiga delegar novamente em outras carteiras. No entanto, acreditamos que a maioria das carteiras começará a suportar múltiplas chaves de piquetagem numa única conta
Você gostou deste artigo? Por favor, compartilhe, obrigado!
1 post - 1 participant