Pourquoi mes fonds sont-ils toujours « en attente de libération » après 7 / 14 jours ?

Récemment, nous avons eu beaucoup de questions sur la « libération du stack ». Voici donc un article pour expliquer ce que c’est et comment récupérer la mise libérée.

Le processus de libération des jetons

La libération des jetons est un processus complexe. En tant que staker, vous pouvez toujours retirer une partie de votre mise sur l’application Phala (ou via PhalaStakePool.withdraw()). S’il y a un stack libre (free) dans la pool, votre demande de retrait peut être satisfaite immédiatement. Cependant, s’il n’y a pas de stack libre, vous devez attendre dans la “file d’attente de retrait”. Cela s’appelle une “demande de retrait”. Vous pouvez trouver les demandes dans la fenêtre “Détails du pool” (ou PhalaStakePool.stakePools() → withdraw_queue).

La file d’attente des retraits

Chaque demande de retrait a un compte à rebours pour le temps d’attente maximum. Nous appelons cela une “période de grâce” de 7 jours, comme un temps tampon pour informer le propriétaire de la pool que quelqu’un veut retirer l’enjeu, et qu’il doit donc agir. Pendant la période de grâce, lorsqu’un autre contributeur ajoute du stack à la pool, son enjeu entre et le votre enjeu sort.

Mais que faire s’il n’y a pas de nouveaux stack entrants pour déverrouiller le vôtre ? Il existe un mécanisme de “force stop”. La blockchain vérifie automatiquement s’il y a une demande en attente depuis 7 jours qui n’est pas satisfaite. S’il y a une telle demande, le pool sera fermé de force, libérant tous les enjeux.

Bien sûr, les propriétaires de piscines ne veulent pas que leurs mineurs s’arrêtent. Ils devront donc s’assurer que leur pool ne sera pas fermé de force. Ils ajoutent des mises supplémentaires ou arrêtent quelques mineurs pour répondre à la demande de retrait.

Les choses se complexifient, car il s’agit d’un jeu théorique entre le délégant et le propriétaire du pool. C’est nécessaire, car les mineurs et les délégués ne se font pas confiance. Les délégués doivent pouvoir retirer leur mise à tout moment. Sinon, le propriétaire du pool pourrait ne jamais les autoriser à retirer leur mise. D’un autre côté, le délégant peut décider d’“attaquer” un pool en retirant la mise immédiatement après que le mineur ait commencé à miner, s’il n’y a pas de période de grâce pour retarder la demande.

Après la période de grâce

La dernière chose à laquelle les gens doivent faire attention est la “libération du stack” dans un pool. Cela signifie que certains mineurs sont arrêtés, en état de refroidissement (Cool Down). L’état CD prend 7 jours. Lorsque le temps de CD est atteint, nous avons besoin d’une personne pour déclencher la libération de la mise, et le remettre à l’état “Ready”. Pour des considérations de performance, ce n’est pas fait automatiquement.

Cette opération est appelée “réclamation”. Pour déclencher une récupération, n’importe quel compte peut envoyer une transaction sur Polkadot.js (l’interface utilisateur dans Phala App est en cours de développement) :

PhalaStakePool.reclaimPoolWorker(pid, workerPubkey)

Ensuite, la mise en attente sera libérée, et la “mise de libération” dans un pool sera réalisée et allouée à la file d’attente des retraits.

Améliorations

Globalement, le concept est difficile, et l’interface utilisateur n’est pas complète, ce qui pose de gros problèmes aux utilisateurs. L’équipe était occupée à corriger les bugs sur la chaîne et nous commençons tout juste à corriger l’interface utilisateur. Quoi qu’il en soit, l’interface utilisateur sera mise à jour prochainement dès qu’elle sera prête.

## Bug n°500

TL;DR. Si vous avez retiré des mineurs dans l’état CD et que vous les avez remis dans le pool avant de les récupérer, il se peut que vous ayez une partie de la mise gelée dans la catégorie “mise de côté” et que vous ne puissiez pas la récupérer en raison du bug n° 500. Vous devrez attendre quelques jours pour que l’équipe les débloque. Pour plus de détails, veuillez consulter le problème Github.

2 Likes