El cofundador de Neo, Erik Zhang, ha publicat NEP-33, la tercera proposta de millora de Neo que ha presentat en dues setmanes. L’estàndard defineix un mecanisme de transport basat en URI que permet que les aplicacions natives invoquin aplicacions de cartera per a l’autenticació, completant una pila de tres capes que estandarditza com inicien la sessió dels usuaris amb la seva cartera Neo.
NEP-33 segueix NEP-20, que va establir les regles d’autenticació criptogràfica, i NEP-21, que va definir una interfície unificada perquè les dApps es comuniquin amb els proveïdors de carteres. Quan aquests dos estàndards gestionen la lògica d’autenticació i les capacitats de cartera, NEP-33 aborda el punt d’entrada: com una aplicació lliura una sol·licitud d’autenticació a una cartera i rep el resultat.
Què permet això
Abans de la NEP-33, no hi havia cap manera estandarditzada que una aplicació mòbil o d’escriptori invoqués una cartera Neo per a l’autenticació.
Cada cartera i aplicació va implementar el seu propi format d’invocació i devolució de trucada, creant fragmentació. NEP-33 presenta neoauth://un esquema d’URI personalitzat que ofereix a les aplicacions natives un punt d’entrada universal “Iniciar sessió amb Neo”. El sistema operatiu encamina la sol·licitud a una cartera compatible, que retorna el resultat mitjançant un URI de devolució de trucada.
Els desenvolupadors que es basen en Neo ara poden integrar l’autenticació de cartera sense escriure codi específic de la cartera per a cada proveïdor.
A més, NEP-33 s’ha dissenyat tenint en compte la compatibilitat cap endavant. En un comentari sobre la sol·licitud d’extracció de GitHub de la proposta, Zhang va abordar una pregunta sobre si haurien d’existir esquemes d’URI separats per a diferents versions de xarxa Neo:
Com que els formats d’adreça de N3 i N4 són els mateixos, no cal distingir-los. I això és només un protocol de capa de transport. Hi ha un procés de negociació en xarxa a la NEP-20.
El disseny manté el neoauth:// esquema independent de la xarxa, amb la selecció de xarxa gestionada a la capa NEP-20.
Com funciona NEP-33
Una aplicació construeix un URI de sol·licitud mitjançant l’ neoauth:// esquema, incrustant una càrrega útil de desafiament NEP-20 codificada per URL i un identificador dApp. El sistema operatiu l’encamina a una aplicació de cartera registrada, que pot ser un objectiu genèric (delega la selecció de cartera al sistema operatiu o a l’usuari) o una implementació específica de cartera.
La cartera descodifica i valida la càrrega útil, mostra els detalls d’autenticació (inclòs el domini sol·licitant) a l’usuari i requereix una aprovació explícita. Si l’usuari ho aprova, la cartera genera una càrrega útil de resposta NEP-20 i la retorna mitjançant un URI de devolució de trucada mitjançant el dapp:// esquema. Si l’usuari rebutja la sol·licitud o es produeix un error, la cartera retorna una resposta d’error estructurada mitjançant el mateix mecanisme de devolució de trucada.
Tota la verificació d’autenticació segueix les regles criptogràfiques de NEP-20, és a dir, l’aplicació sol·licitant ha de verificar la signatura retornada en lloc de confiar en l’URI de devolució de trucada com a prova d’autenticació.
NEP-33 no està redefinint què és l’autenticació ni com funciona, sinó que aporta aquesta capacitat al flux d’interacció entre dApps i carteres.
Model de seguretat
Com que els esquemes d’URI personalitzats no garanteixen la confidencialitat ni la identitat de l’aplicació, la seguretat de NEP-33 depèn completament de la verificació de signatura NEP-20.
L’estàndard requereix que les carteres mostrin clarament el domini sol·licitant per protegir-se de la pesca de credencials, fa complir les noces úniques d’un sol ús amb una caducitat recomanada de cinc minuts per evitar atacs de reproducció i exigeix l’aprovació explícita de l’usuari abans que es produeixi cap signatura.
NEP-33 està dissenyat exclusivament per a fluxos d’autenticació únics. No s’ha d’utilitzar per a la signatura de transaccions, transferències d’actius, invocació de contracte intel·ligent o autorització basada en sessions.
L’anunci complet es pot trobar al següent enllaç:
https://x.com/erikzhang/status/2042931327943741471
