Introduction aux opérations de calcul des travailleurs TEE

Introduction aux opérations de calcul des travailleurs TEE

1. Brève introduction

  1. Les opérations de calcul lors de ce testnet sont générées virtuellement par le système.
    Un nombre fixe de 5 opérations de calcul sera créé pour chaque tour (600 blocs par tour).
    La quantité de récompenses de minage correspond avec le Livre Blanc.
    (50% des récompenses pour chaque bloc miné seront obtenus par le TEE qui effectuent les opérations de calcul confidentielles, 30% des récompenses seront obtenues par tous les TEE en ligne, et 20% iront dans la trésorerie de Phala.)

  2. Pendant ce testnet Vendetta, le système stake automatiquement la quantité minimum de stake pour chaque CPU (en Français UCT : Unité Centrale de Traitement) qui est de 0 tPHA par cœur.

  3. Les mineurs peuvent volontairement utiliser le jeton test tPHA comme stake supplémentaire pour leur CPU et n’importe qui peut également utiliser ses propres tPHA comme stake pour d’autres mineurs, mais l‘installation ne prend actuellement pas en charge la distribution automatique aux désignateurs.

  4. Lors du tour 1, 1 TEE peut être assigné uniquement à une opération de calcul.

  5. L’algorithme et les paramètres de distribution des opérations de calcul pendant le testnet sont expérimentaux et seront mis à niveau après la mise en ligne du mainnet ; la méthode mise en place pour les récompenses pourrait également changer.

Github: phala-blockchain/comp_election.rs at master · Phala-Network/phala-blockchain · GitHub

2. Algorithme de répartition des opérations de calculs confidentiels

2.1 Logique de base

  1. Comme n’importe quel algorithme de répartition, en se basant sur les caractéristiques des opérations de calculs confidentiels nous avons besoin d’assigner les TEE adaptés à la réalisation de ces calculs.

  2. Le système du réseau Phala va noter chaque équipement TEE conformément à ses caractéristiques de calcul ;

  3. Basé sur les notes de tous les TEE en ligne, le résultat de l’assignation est calculé par une formule aléatoire pondérée ;

  4. Après que les TEE assignés aient terminé les calculs confidentiels, le système va automatiquement fixer et émettre les récompenses. Pour assurer la sécurité du système, les récompenses vont être gelées pendant une certaine période de temps (les récompenses émises par le tesnet Vendetta sont appelées Fire II, elles sont uniquement utilisées pour le règlement des récompenses et ne peuvent pas être transférées).

2.2 Indicateurs pour l’évaluation et la répartition des TEE

La probabilité qu’un TEE soit assigné à une opération de calcul dépend de deux caractéristiques du processeur : puissance de calcul et sécurité.

  1. La puissance de calcul est représentée par la note du processeur. Dans le futur, elle sera fixée par le type de processeur à travers un vote on-chain (une méthode de mise à niveau sans fork) ;

  2. La sécurité est basée sur la quantité de stake des cœurs du processeur.

Une puissance de calcul et une sécurité plus élevée n’augmente pas linéairement la probabilité qu’un TEE obtienne une opération a effectuer (voir la Section 3 pour de plus amples informations).

2.3 Le travailleur TEE obtient une pondération de la probabilité de répartition

En utilisant les indicateurs, nous pouvons calculer une note pondérée pour chaque TEE.

La formule pour calculer la pondération est la suivante :

1_LrttbPK2i8EwQ2sU

  1. Note = Note de la performance de calcul du TEE

  2. Stake = Quantité de stake du TEE – quantité de stake de base
    (Pour le testnet Vendetta la quantité de stake de base est de 0)

2.4 Prélèvement aléatoire pondéré sans remplacement

Nous utilisons le prélèvement aléatoire pondéré sans remplacement (ce qui veut dire que chaque TEE ne peut être prélevé qu’une seule fois), et prélève aléatoirement n TEE parmi tous les TEE en ligne m pour effectuer les opérations de calculs.

Cela veut dire que la note pondérée w de chaque TEE est utilisée comme valeur de base pour le prélèvement, ce qui implique que plus élevé est w, plus la probabilité d’être choisi est élevée.

Un exemple de prélèvement aléatoire pondéré sans remplacement :

Admettons qu’il y ait 3 machines A, B, et C.

La note de la machine A est de 3, celle de la machine B est de 2, et la note de la machine C est de 1.

Pour formuler la probabilité d’une des 3 machines, prenons A :

2_EVF_UWleSq_pJ3_X

Si deux jeux sont formulés, la probabilité de A est :

3_G9czN-NtFplPAob1

En fonction de de la participation à la course 1605 V1, il pourrait y avoir 5 opérations assignées à des milliers ou dizaines de milliers de TEE dans l’environnement réel, mais la logique est en adéquation avec l’exemple ci-dessus.

Dans le but de permettre au mineurs TEE de prédire leurs propres probabilités d’être choisis et dans le but de simuler la relation entre la quantité de stake tPHA et la probabilité de gagner, nous mettrons à disposition un calculateur de probabilité de calcul confidentiel sur le tableau de bord dans lequel les mineurs pourront entrer leurs propres paramètres (le tutoriel pour le calculateur sera disponible dans les jours à venir). La performance et la quantité de stake prévue simulent la probabilité d’exécution des ordres.

3. Simulation de données de l’algorithme de répartition

3.1 La corrélation entre un stake supplémentaire et la probabilité de sélection

En supposant que les notes du TEE sont régulières, quel est l’impact des différents montants sur la probabilité de sélection ?

L’algorithme est clair, mais basé sur l’algorithme seul, il est impossible de calculer la probabilité d’une seule machine d’être choisie car la probabilité de tirage est relative au nombre d’équipement de minage en ligne à un instant T et à ses points de tâche. Nous avons simulé l’augmentation de la probabilité d’être choisi grâce à une quantité de stake supplémentaire.

En supposant que les autres machines TEE soient au nombre de 5000 avec une note de 420, qu’elles aient toutes un stake additionnel de 1000 tPHA et que Rorschach ait également une machine similaire, donc un total de 5001 TEE. Si 5 machines sont sélectionnées (sur les 5001) pour effectuer les calculs puis que Rorschach ajoute une quantité de stake additionnelle, la probabilité d’être choisi augmente de la manière suivante :

Comme l’on peut le voir sur le graphique :

  1. La probabilité de tirage en tant qu’une sur 5 est très faible, environs 0.05% ;

  2. À mesure que la quantité de stake augmente, la probabilité augmente rapidement au départ, puis plus lentement ;

  3. Mais même si la quantité de stake est élevée ’à 20’000, le taux de réussite augmente seulement de 0.17%.

3.2 La corrélation entre la performance de la machine et la probabilité de sélection

Sur l’image ci-dessus, les lignes bleu-ciel, rouge, jaune et verte sont des machines avec des notes de 400, 300, 200, et 100 points respectivement. On peut voir que la performance de la machine garde un avantage absolu sur les probabilités de tirage.

3.3 Comment devraient-on allouer un stake additionnel pour plusieurs mineurs ?

Supposons que Rorschach ait deux mineurs identiques et ait décidé d’une quantité de stake additionnel fixe. Bien que le montant de stake apporté ne crée pas de grande différence, c’est en divisant le montant de manière égale qu’on apportera les meilleures chances.

La figure ci-dessous illustre la situation simulée où Rorschach a deux TEE avec 420 points de calcul et où les deux ont 5000 tPHA de stake.
Les autres TEE dans le système ont 1000 tPHA de stake et ont tous 420 points.

Si Rorschach a 20’000 tPHA supplémentaires à utiliser pour le staking,

• La partie la plus à gauche de la figure ci-dessous représente l’assignation des 20’000 tPHA à un TEE avec une probabilité de 0.28% de recevoir une tâche à effectuer.

• La partie la plus à droite représente l’allocation des 20’000 tPHA à l’autre TEE, la probabilité d’avoir une tâche est alors également de 0.28%.

• La partie centrale représente une distribution égale du stake aux deux TEE. La probabilité est à présent de 0.32%.

On voit que les chances sont légèrement plus élevées que lorsque l’on alloue tous les tPHA uniquement à un seul TEE.

C’est tout pour l’introduction aux opérations de calcul de la course 1605 V2.
Rejoignez-nous sur notre forum pour discuter avec nous.

A propos de Phala

Phala est une plateforme de contrat-intelligents légère, puissante et sécurisée qui opère les contrats dans un environnement d’exécution de confiance enclavée dans des processeurs, créant un nouveau Cloud informatique confidentiel et des services pour les entreprises et les particuliers.

Le réseau Phala sera une parachain sur Polkadot et une solution pour les besoins de confidentialité des générations à venir.
Phala est membre du Confidential Computing Consortium (CCC).
Phala est bénéficiaire de 2 subventions de la Fondation Web 3.0.

:plate_with_cutlery:Abonnez-vous | Site Internet | Twitter | Github
:cup_with_straw:Discord | Forum | Telegram

2 Likes