@Fabric Foundation

L'échelle de réessai est actuellement réglée sur 3.

Je n'ai pas commencé là. Le protocole Fabric a par défaut une seule passation de confirmation lorsque j'ai d'abord connecté l'un de nos agents robotiques à sa couche d'identité en chaîne. L'appel renverrait « vérifié », le robot procéderait à demander une allocation de tâche, et le reste du pipeline supposait que l'identité avait été établie. Ce n'était pas le cas.

Le protocole Fabric se trouve directement dans cette poignée de main. Ce n'est pas un registre d'identité abstrait. C'est le système qui décide si une machine peut participer. Lorsque je l'ai intégré pour la première fois, j'ai traité la vérification d'identité comme une porte booléenne. Vrai, avancer. Faux, arrêter. Ce que j'ai appris, c'est que dans les systèmes autonomes, la confirmation n'est pas la même chose que la stabilité.

Sous charge, la limite d'admission se déplace.

Nous avons exécuté un lot de 42 robots simulés, chacun essayant d'enregistrer des capacités et de demander des droits de coordination dans une fenêtre d'exécution serrée. Le contrat d'identité de Fabric a traité les attestations, les informations d'identification mises, et les preuves de capacité, puis a renvoyé le succès. La confirmation sur la chaîne est arrivée dans une fenêtre de bloc prévisible. Tout semblait propre.

Puis deux agents ont commencé à dupliquer des revendications de tâches.

Pas de manière malveillante. Pas parce que le protocole a échoué. Parce que la finalité de l'identité est arrivée plus vite que la convergence comportementale. Les robots ont traité l'événement de réussite d'identité comme une visibilité globale. Ce ne fut pas le cas. Certains pairs avaient encore une vue obsolète des identités qui étaient liées et de celles qui ne l'étaient pas. Fabric avait confirmé la mise, mais le réseau ne l'avait pas complètement intériorisée.

C'est à ce moment-là que j'ai ajouté l'échelle de tentative.

Au lieu d'une confirmation d'identité, l'agent nécessite maintenant trois confirmations espacées à travers des lectures d'état distinctes. La première confirme la présence de mise. La deuxième vérifie la latence de reconnaissance des pairs. La troisième valide qu'aucune revendication d'identité conflictuelle n'est apparue dans une fenêtre limitée. L'espacement est de 1,2 secondes entre les lectures. Ce nombre n'est pas arbitraire. En dessous d'une seconde, nous avons toujours observé des conditions de course. Au-dessus de deux, la latence d'allocation des tâches est devenue perceptible pour les utilisateurs regardant le tableau de bord.

L'identité est devenue une négociation limitée dans le temps plutôt qu'un événement unique.

Voici le changement mécanique : avant l'échelle, environ 6 % des robots ont connu un écho de capacité où deux agents croyaient avoir des droits exclusifs sur le même créneau de tâche. Après l'échelle, cela est tombé en dessous de 1 %. Le coût était visible. Le temps de démarrage moyen des tâches a augmenté de 3,4 secondes.

Si vous concevez la coordination de la robotique autonome, posez-vous cette question : préféreriez-vous avoir un robot plus rapide qui agit parfois en double, ou un robot plus lent qui attend une certitude sociale ?

L'identité sur la chaîne de Fabric rend cette question inévitable car elle lie l'admission à un engagement économique. L'agent mise pour exister. Cette mise signale le sérieux, mais elle crée également un nouveau mode d'échec. Lorsque l'identité égale le capital lié, les tentatives ne sont plus juste du bruit réseau. Elles sont un frottement économique.

Une des premières tensions que j'ai ressenties concernait les budgets de tentative. Chaque confirmation de lecture supplémentaire est une autre interaction avec la chaîne, une autre dépense de gaz, une autre couche de délai. À grande échelle, cela se cumule. Avec 100 agents passant par un rafraîchissement d'identité toutes les 15 minutes, la différence entre un passage et trois passages n'est pas triviale. Cela change votre enveloppe opérationnelle.

Il y a une ligne forte qui revenait sans cesse à moi pendant les tests :

La fiabilité n'est pas ajoutée à la fin. Elle est achetée à la limite d'admission.

Le choix de Fabric d'ancrer l'identité des robots sur la chaîne signifie que l'admission est coûteuse par conception. Vous n'apparaissez pas comme un participant de manière décontractée. Vous vous engagez. Vous vous inscrivez. Vous êtes évalué. Cela écarte les bots. Cela écarte également l'expérimentation.

J'ai ressenti ce compromis directement en lançant des agents éphémères pour des tests de résistance. Dans un registre hors chaîne traditionnel, je pouvais générer et jeter des identités librement. Sur Fabric, même les agents de test doivent passer par l'entonnoir d'identité. Cela signifiait des verrouillages de capital et des cycles de mise. Cela a ralenti l'itération.

Mais cela m'a également fait remarquer quelque chose d'inconfortable. Lorsque les identités sont bon marché, le mauvais comportement est bon marché. Nous avons une fois mené une expérience parallèle en utilisant un cache d'identité léger hors chaîne pour accélérer le prototypage. En quelques heures, nous avons vu des agents spammer les mises à jour de capacité parce qu'il n'y avait aucun coût significatif à réaffirmer l'identité. Le routage des tâches s'est dégradé. Les files d'attente prioritaires étaient biaisées.

Retournez à Fabric avec des identités liées et le spam a disparu.

L'exigence de mise n'a pas seulement sécurisé le système. Elle a façonné le comportement en amont.

Voici un test concret que vous pouvez effectuer si jamais vous touchez à quelque chose comme ça. Lancez dix agents avec des capacités identiques. Variez légèrement le poids de mise, même d'un petit pourcentage. Observez la préférence de routage sur une fenêtre de plusieurs heures. Sur Fabric, la couche de notation d'identité favorise subtilement les signaux de stabilité liés à l'engagement lié. Les agents liés ont connu moins de réaffectations de routage lors de nos essais. Pas parce que le protocole a annoncé un favoritisme, mais parce que la notation de stabilité a intégré la fiabilité historique ancrée à l'identité.

C'est là que le doute s'installe.

Lorsque la qualité du routage commence à se corréler avec la profondeur de mise, sommes-nous encore purement ouverts ? Ou sommes-nous en train de limiter discrètement la qualité de la coordination derrière le poids économique ? Je n'accuse pas le protocole de biais intentionnel. J'admets qu'une fois que l'identité est économique, la neutralité devient coûteuse à maintenir.

Un autre exemple mécanique. Nous avons introduit un délai de garde après l'enregistrement de l'identité avant de permettre les enchères de tâches. Il est fixé à 5 blocs. Sans cela, les agents nouvellement enregistrés pouvaient immédiatement inonder la file d'attente des enchères avant que les pairs ne mettent à jour leurs vues locales. Avec le délai, nous avons éliminé le micro-burst où les nouvelles identités dominaient brièvement l'allocation. L'inconvénient était évident. Les agents légitimes attendaient inactifs pour ces blocs supplémentaires.

Ce délai de garde a stabilisé la coordination plus que n'importe quel ajustement de notation.

Si vous pensez que l'identité concerne des noms et des clés, essayez de regarder les robots entrer en collision parce que la confirmation est arrivée trop vite.

L'architecture de Fabric m'a forcé à déplacer le frottement vers l'avant du pipeline. Au lieu de déboguer le chaos émergent en aval, j'ai absorbé le coût à la couche d'admission. Plus de lectures. Plus d'attente. Plus de validation de mise.

Deux tests ouverts pour quiconque évaluant ce design.

Tout d'abord, réduisez votre échelle de tentative à un seul passage et exécutez sous une charge attendue de 2x. Surveillez le chevauchement des capacités fantômes. Si vous le voyez, demandez-vous si la confirmation de votre identité signale une finalité sociale ou simplement l'exécution d'un contrat.

Deuxièmement, réduisez votre délai de garde de moitié. Observez la volatilité des enchères pour les agents nouvellement enregistrés. L'allocation est-elle brièvement biaisée en faveur des nouveaux venus ? Si oui, votre limite d'identité est plus fine que vous ne le pensez.

Le point n'est pas que le protocole Fabric a tout résolu. Le point est qu'en rendant l'identité sur la chaîne et économiquement liée, il m'a forcé à confronter l'admission comme une surface d'ingénierie de premier plan.

Ce n'est qu'après avoir lutté avec cela que le jeton a semblé inévitable.

Lorsque l'existence des robots nécessite une mise, et que l'historique de fiabilité est ancré à cette mise, le jeton n'est pas un accessoire. C'est le régulateur de pression. Il détermine qui peut entrer, à quelle fréquence ils peuvent réessayer, et à quel point l'instabilité devient coûteuse. J'ai retardé la réflexion à ce sujet parce que je ne voulais pas réduire un problème de coordination à l'économie. Mais l'économie était déjà intégrée dans la couche d'identité.

Il y a un biais en moi vers des portes plus strictes. Je préfère des systèmes plus lents et plus prévisibles. Quelqu'un construisant une robotique à destination des consommateurs pourrait ne pas être d'accord. Ils pourraient accepter un chevauchement occasionnel en échange de la vitesse. La posture de Fabric penche vers la discipline.

J'ai toujours l'échelle de tentative réglée sur 3. J'ai envisagé de la porter à 4 pendant les périodes de pointe. Cela réduirait probablement encore une fraction des conflits de coordination. Cela repousserait également la latence des tâches au-delà de ce que certains utilisateurs tolèrent.

Donc, je laisse ça là pour l'instant.

L'identité sur la chaîne ne concerne pas les slogans de décentralisation. Il s'agit de décider où vous voulez payer pour la certitude.

Dans notre cas, nous payons à la porte.

Et je ne suis toujours pas sûr si c'est du courage ou de la prudence.

$ROBO #ROBO