GoPlausible, equipo nativo de Algorand, dona a DIF un resolutor universal de DID
GoPlausible ha construido thisDID, un resolutor universal que convierte cualquier identificador descentralizado del W3C en un único documento conforme, y lo ha donado a la Decentralized Identity Foundation. did:algo y did:nfd, de Algorand, disponen ya de un primer salto nativo de Algorand. Está en funcionamiento; el tráfico es modesto.
A mediados de mayo, la Decentralized Identity Foundation1 (DIF) —el organismo sectorial en el que empresas y proyectos colaboran en estándares de identidad descentralizada— aprovechó su boletín para plantear una posibilidad incómoda: que su Universal Resolver, el servicio de referencia compartido que convierte los identificadores descentralizados en documentos que las aplicaciones pueden verificar, podría sencillamente retirarse, «a menos que quede claro que nuestros miembros realmente lo necesitan». Desde entonces, la pregunta ha recibido respuesta en forma de reconstrucción. La propia DIF ha remitido a sus lectores a thisDID2 —«gestiona directamente los métodos compatibles y actúa como proxy de otras peticiones hacia resolutores conocidos»—, y el README del proyecto afirma sin rodeos que fue construido y donado a DIF por GoPlausible3, un equipo cuya propia infraestructura de identidad vive en Algorand.
La donación importa más allá del mantenimiento burocrático de los estándares. Un resolutor universal es la fontanería que permite a una aplicación que verifica credenciales aceptar identificadores anclados en cualquier parte —un dominio, una blockchain, un servicio de nombres— sin integrar cada fuente por separado. Algorand no es un simple espectador: did:algo y did:nfd figuran entre las entradas destacadas del resolutor.
Un solo endpoint para todo tipo de identidad
Un DID —identificador descentralizado— es una cadena definida por el World Wide Web Consortium (W3C), el principal organismo de estandarización de la web: did:web:example.com, did:key:z6Mk..., did:algo:uti7paas... Cada uno se resuelve en un documento DID, un registro legible por máquina que contiene claves públicas y endpoints de servicio: la materia prima para comprobar firmas y credenciales verificables, atestaciones firmadas digitalmente. El segmento de método indica dónde reside el identificador y cómo obtener ese documento, y una aplicación que quisiera aceptar DID de varios ecosistemas ha tenido que cablear históricamente por su cuenta la lógica de resolución de cada método.
thisDID reduce todo ese trabajo a una sola llamada HTTP. Su página de inicio anuncia más de 704 métodos compatibles —su propia lista publicada nombra 68—, de los cuales 24 se resuelven dentro del servicio mediante programas controladores de TypeScript aislados que se ejecutan en el edge, en la red de Cloudflare, con el cómputo distribuido entre centros de datos cercanos a los usuarios (425 regiones, según el recuento del sitio), mientras que la cola larga se delega en resolutores externos. Todas las respuestas se normalizan en un único documento conforme al W3C que incorpora metadatos de resolución firmados. La API implementa el enlace HTTP del Universal Resolver de DIF —una forma de URL acordada, GET /1.0/identifiers/{did}, que cualquier cliente conforme ya sabe invocar—; el ejemplo que ofrece la propia documentación es did:web:identity.foundation. Junto a ella hay servicios de descubrimiento, salud, analítica y un feed de resoluciones en directo, además de un endpoint /mcp que implementa Model Context Protocol, el estándar abierto para conectar herramientas a agentes de IA: un agente podría resolver DID a mitad de flujo de trabajo sin desarrollos de integración a medida.
Dentro del motor de enrutado
El eslogan del sitio, «el resolutor universal que piensa antes de enrutar», describe una secuencia de cuatro pasos: analizar y clasificar el identificador; ponderar latencia, confianza y frescura en un motor de reglas; enviar la petición al controlador correspondiente —varios en paralelo cuando eso ayuda—; y devolver el resultado firmado y normalizado.
| Concepto | Implicación en el mundo real |
|---|---|
| GoPlausible — trabajador nativo de Algorand; primer salto para did:algo y did:nfd, con godiddy y archon como alternativas | Los identificadores de Algorand se resuelven mediante un controlador especializado y no a través de un servicio externo genérico |
| Godiddy6 (Danube Tech) — Universal Resolver y API de registrador alojados | Absorbe la mayoría de los métodos que necesitan un controlador externo |
| Archon7 — ejecuta los controladores iden3 y did:cid | Primer salto para el método de identidad zk iden3 de Polygon; último recurso en el resto de los casos |
Los nuevos controladores se publican bajo lo que el README denomina una garantía de verificación: siempre que un servicio externo independiente pueda resolver el mismo método, cada resolución se contrasta en paralelo hasta que la tasa de coincidencias en vivo del controlador le permite graduarse, y los métodos que ningún servicio externo cubre se marcan como no verificados. El feed público muestra ambos desenlaces: un identificador did:cheqd resuelto en local con su contraste marcado como «match», y una resolución did:ebsi señalada como «mismatch». Un trabajador de sondeo aparte lanza resoluciones canario contra todas las rutas cada cinco minutos; el 31 de agosto la página de estado mostraba todos los proveedores operativos, con tasas de éxito de entre 0.997 y 1.0.
La puerta de entrada a Algorand
did:algo resuelve identificadores on-chain de Algorand, y el feed en directo muestra que maneja tanto activos como cuentas: los identificadores construidos con el patrón did:algo:mainnet:asa se resolvieron con éxito a lo largo de toda la ventana de muestreo, incluido el ID de activo que hay detrás de USDC8, la stablecoin del dólar. did:nfd resuelve nombres de NFDomains, el servicio de nombres .algo de Algorand que asigna nombres legibles por personas a direcciones de la cadena, y los convierte en documentos de identidad.
En una prueba realizada el 31 de agosto, el identificador de ejemplo de la documentación de la API —did:algo:uti7paas..., una dirección completa de Algorand— se resolvió en 332 milisegundos a través del servicio externo de GoPlausible, y el identificador del activo USDC lo hizo en 400 milisegundos. La dirección del ejemplo no es arbitraria: es la cuenta de depósito que hay detrás del NFD goplausible.algo, registrada en junio de 2023, con 1,544.13 ALGO y 40,283.56 USDC repartidos entre 197 activos. El constructor resolvió primero su propia identidad.
Una arista áspera: el ejemplo destacado de did:nfd en el sitio, did:nfd:thisdid.algo, devuelve un 404, y ese nombre no existe en el directorio de NFD. El nombre que el propio servicio exhibe no se resuelve.
Leer las métricas con honestidad
La página de inicio promete una resolución mediana por debajo de los 200 milisegundos y una disponibilidad global del 99.98%. La instantánea analítica de rango diario respalda la mitad de esa afirmación: los controladores propios de thisDID que corren dentro del Worker promediaron 198 milisegundos, pero las rutas externas fueron más lentas —477 milisegundos a través de GoPlausible, 488 a través de godiddy y 1,471 a través de archon—, lo que arrastró la media global hasta unos 700 milisegundos. Mediana y media miden cosas distintas, de modo que la afirmación describe la vía rápida local y no el servicio en su conjunto. En esa misma instantánea, GoPlausible soportó la mayor cuota de enrutado: 179 resoluciones.
Las tasas de éxito requieren una disección parecida. El panel informa de 253 resoluciones correctas sobre 285 (88.8%), mientras que el endpoint JSON subyacente informa de 248 sobre 280 (88.6%): las dos superficies no coinciden del todo, y el panel muestra además un aviso de configuración, «Analytics storage isn't bound yet», junto a sus cifras. La mayoría de los fallos, por otra parte, son errores notFound: DID que sencillamente no existen, como los identificadores did:web de un sitio conmemorativo alemán que encabezan el feed de errores en directo. Que un resolutor informe correctamente de un identificador ausente no es lo mismo que un fallo del resolutor.
El tráfico es real, pero modesto. La cronología de rango diario muestra entre 1 y 39 resoluciones al día durante las tres primeras semanas de julio, con un máximo de 39 el 7 de julio. Una consulta de rango más amplio cuenta una historia más extraña: 59,4689 peticiones solo el 14 de agosto, 33,262 de ellas notFound —el perfil de un escaneo automatizado—, y un reparto por países liderado por Estados Unidos (52,379) y Austria (15,385). La analítica es deliberadamente tosca, sin IP ni cookies y con geografía solo a escala de país, y los propios rangos se comportan de forma extraña: la cronología de la instantánea «día» va del 1 al 21 de julio.
Una donación con examen incorporado
El código reside en la propia organización de DIF en GitHub como decentralized-identity/thisdid10, bajo la permisiva licencia Apache-2.0, con última actualización el 28 de agosto mediante un commit que actualizaba la investigación sobre «candidatos a método de la oleada 6»: más métodos en camino. De momento la tracción es escasa: el repositorio tiene una sola estrella y el principal colaborador, emg110, suma 73 contribuciones. El boletín de junio de DIF describía «una revisión a fondo de la instancia del Universal Resolver de DIF» y citaba did:webvh y did:webplus como métodos recomendados; para agosto se dejó caer otra actualización.
Lo que ocurra a partir de ahora depende de la variable que la propia DIF identificó en mayo: si sus miembros encaminan tráfico real a través del servicio. La infraestructura está en marcha y es observable —sondas de estado, un feed público, una API abierta—, y las identidades de Algorand cuentan ya con una vía con nombre propio y anclada en los estándares para entrar en él. Para un equipo que resolvió primero su propia cuenta, el siguiente hito es el identificador de otro.
Fuentes
- thisDID2
- decentralized-identity/thisdid en GitHub10
- Boletín n.º 62 de DIF11
- GoPlausible3
- ThisDID · DIF Universal DID Resolver2
- https://thisdid.com/data12
- https://thisdid.com/recent13
- https://thisdid.com/1.0/identifiers/did:algo:uti7paasilrda3ishy5m7j7lnrx2aivqjwi7zkccgkvlmfd3vpr5pwsz4i14
- https://thisdid.com/status15
- https://thisdid.com/methods16
- https://thisdid.com/1.0/identifiers/did:algo:mainnet:asa:315667041718
- Publicación de @identity.foundation — Bluesky19
- Boletín n.º 64 de DIF20
- raw.githubusercontent.com21
- Directorio de ThisDID22
- did:algo — Directorio de ThisDID23
4 cifras de esta historia están verificadas.Ver todas las comprobaciones
Fuentes
- 1Decentralized Identity Foundation identity.foundation↩
- 2thisDID thisdid.com↩
- 3GoPlausible goplausible.com↩
- 6Godiddy api.godiddy.com↩
- 7Archon resolver.archon.technology↩
- 8USDC centre.io↩
- 10decentralized-identity/thisdid github.com↩
- 11Boletín n.º 62 de DIF blog.identity.foundation↩
- 12thisdid.com/data thisdid.com↩
- 13thisdid.com/recent thisdid.com↩
- 14thisdid.com/1.0/identifiers/did:algo:uti7paasilrda3ishy5m7j7lnrx2aivqjwi7zkccgkvlmfd3vpr5pwsz4i thisdid.com↩
- 15thisdid.com/status thisdid.com↩
- 16thisdid.com/methods thisdid.com↩
- 17thisdid.com/1.0/identifiers/did:algo:mainnet:asa:31566704 thisdid.com↩
- 19Publicación de @identity.foundation — Bluesky bsky.app↩
- 20Boletín n.º 64 de DIF blog.identity.foundation↩
- 21raw.githubusercontent.com/decentralized-identity/thisdid/main/README.md raw.githubusercontent.com↩
- 22Directorio de ThisDID thisdid.com↩
- 23did:algo — Directorio de ThisDID thisdid.com↩