MNT son dos activos distintos, y otras razones por las que los códigos de moneda engañan
MNT es el tugrik mongol. MNT es también Mantle, un token de criptomoneda.
Uno vale unas tres centésimas de céntimo de dólar; el otro, alrededor de un
dólar. Se diferencian en tres órdenes de magnitud y comparten nombre.
Si una aplicación financiera guarda tus posiciones por código de moneda y tienes ambas, no podrá distinguirlas. No dará error. Mostrará un número, y ese número estará equivocado por un factor de varios miles.
Esta es una historia pequeña sobre un error pequeño, y es la ilustración más clara que tenemos de cómo está construido Walleet.
El supuesto que falla
ISO 4217 asigna códigos de tres letras a las monedas nacionales: USD, EUR,
JPY. Es un estándar real, con una autoridad de registro, y dentro de su ámbito
los códigos son únicos.
Las criptomonedas no tienen tal autoridad. Los tokens eligen su propio símbolo, y nada impide que uno elija un símbolo que ISO ya asignó. Varios lo han hecho.
Así que en cuanto una aplicación valora monedas nacionales y criptomonedas a la vez, el supuesto que sostiene casi todo su código —un código identifica un activo— deja de ser cierto en silencio. Nada lo anuncia. El esquema sigue funcionando. Las consultas siguen devolviendo filas. Solo que devuelven las equivocadas.
Por qué es peor que un error normal
La mayoría de los errores se manifiestan de forma ruidosa. Un nombre de columna incorrecto lanza una excepción. Un registro inexistente no devuelve nada.
Este devuelve un número plausible. Tu patrimonio se calcula, se formatea, se grafica y se muestra, y está mal. Todas las cifras derivadas heredan el error: el total, el desglose por moneda, la variación mensual, el máximo histórico. Nada parece roto.
Peor aún, depende de los datos. Solo falla para quienes tienen ambos activos en
conflicto —que en el caso de MNT es un grupo pequeño—, así que sobrevive a las
pruebas, a la revisión y a meses en producción. Es la clase de defecto que
descubres por un correo de soporte que dice «mi total se ve raro», si hay suerte.
Qué hace Walleet
Un activo se identifica por un par: su código y su tipo. MNT/moneda es el
tugrik. MNT/cripto es Mantle. Son dos filas, dos precios, dos historiales.
El par va a todas partes. La denominación de una cuenta es un par. La moneda en la que lees tu patrimonio es un par. Una consulta de tipo de cambio recibe un par. La base de datos lo impone: la moneda de una cuenta es una clave ajena sobre el código-y-tipo de un activo admitido, de modo que no se puede crear una cuenta en un activo que no existe.
Y el tipo no es opcional en los límites del sistema. La API lo pide donde hace falta, y las partes del código que manejan activos están escritas de forma que perder la mitad del par no compila. Es deliberado: una regla que depende de la revisión acaba rompiéndose, y una que depende del compilador no.
El otro lugar donde los códigos engañan
El mismo supuesto equivocado aparece en el formateo.
El mecanismo estándar para mostrar monedas en un navegador acepta un código ISO
de tres letras. Dale cuatro —USDT, DOGE— y no devuelve una cadena aproximada:
lanza una excepción. En el sitio equivocado, eso tumba la página entera en lugar
de estropear un número.
Y un código cripto de tres letras es peor, porque sí se acepta. BTC tiene tres
letras, así que se formatea sin problema — con los dos decimales por defecto de
ISO. Una décima de bitcoin se muestra como BTC 0,10, lo cual está bien, y mil
satoshis como BTC 0,00, lo cual no.
Ambos casos se tratan explícitamente: los códigos se clasifican antes de llegar a un formateador, y cada activo lleva su propia precisión. Las monedas nacionales toman la suya de los mismos datos estándar que usa tu sistema operativo —el yen no tiene decimales, el dinar bahreiní tiene tres— y las criptomonedas toman una declarada, con un tope de ocho.
Ocho es un límite declarado, no oculto. Algunos tokens son divisibles hasta dieciocho posiciones, y un número en coma flotante no puede llevar dieciocho dígitos significativos junto a una tenencia realista. Así que el tope está documentado y se aplica de forma uniforme, en vez de que un número pierda su cola en silencio.
Por qué esto está en un artículo de marketing
Porque es algo que no puedes comprobar desde fuera.
Todas las aplicaciones de seguimiento de patrimonio te muestran un número. Ninguno te muestra el razonamiento, y desde la pantalla un total correcto y un total equivocado por tres órdenes de magnitud parecen igual de seguros de sí mismos. Estás confiando en la aritmética sin poder inspeccionarla.
Preferimos contarte dónde están los bordes afilados y qué se hizo con ellos. Un equipo que ha pensado en el tugrik probablemente haya pensado también en los casos normales — y si algo de esto resulta estar mal, la corrección va en el producto y no en la redacción.
Si quieres más sobre cómo funciona la aritmética, el método de conversión está explicado en qué significa realmente el patrimonio en una sola moneda.
