Artículo de Blog

FAQ de Cuentas Muxed

Autor

Justin Rice

Fecha de publicación

Cuenta Muxed

FAQ

SDK

Cuentas muxed, un nuevo tipo de cuenta Stellar que facilita mapear una única dirección Stellar a múltiples usuarios, ya está disponible.

En este punto, todos los productos y servicios construidos sobre Stellar deben asegurarse de que pueden validar y enviar pagos a cuentas muxed. Además, los productos y servicios que utilizan un modelo de cuenta agrupada deben idear un plan para implementar cuentas muxed en el lado de recepción para mejorar la experiencia del usuario y eliminar los problemas de memos faltantes.

El objetivo de este FAQ es proporcionar una visión general de las cuentas muxed, explicar qué son, cómo funcionan y por qué son útiles, y describir lo que necesitas hacer para admitirlas. Para detalles técnicos, por favor consulta la documentación de Cuentas Muxed.

¿Qué son las cuentas muxed?

Una cuenta muxed es una cuenta que existe “virtualmente” bajo una dirección de cuenta Stellar tradicional. Combina la dirección familiar GABC... con un ID de entero de 64 bits, y se puede usar para distinguir múltiples cuentas “virtuales” que comparten una cuenta “real” subyacente. Los servicios de custodia generalmente usan cuentas muxed para mapear pagos entrantes a una base de datos de clientes interna. Las empresas pueden usar cuentas muxed para mapear pagos entrantes a una factura o cuenta de cliente.

Las cuentas muxed se crean a partir de — y actúan sobre — una cuenta Stellar subyacente. Comparten muchas características con la dirección subyacente, pero comienzan con una M en lugar de una G, y tienen 69 caracteres de longitud en lugar de 56 (para más sobre la composición de las direcciones Stellar, ver SEP-23). Una vez que incorpores la validación de cuenta muxed en tu código, puedes usarlas igual que las direcciones Stellar tradicionales para hacer pagos o, si eres un exchange de criptomonedas, para manejar depósitos y retiros de XLM.

Para ver cómo crear y trabajar con cuentas muxed, consulta la documentación de Cuentas Muxed, o revisa la relevante

¿Quién usa las cuentas muxed?

Hay dos modelos diferentes que las aplicaciones y servicios construidos sobre Stellar utilizan para manejar cuentas de usuarios: el modelo de cuenta por usuario, en el que cada usuario tiene su propia cuenta Stellar, y el modelo de cuenta agrupada, en el que la aplicación o servicio usa una única cuenta para múltiples usuarios y lleva un registro de los saldos individuales de los usuarios en una base de datos interna.

La mayoría de los servicios de custodia, incluidos los exchanges de criptomonedas, utilizan el modelo de cuenta agrupada: es más simple, y reduce la sobrecarga ya que cada cuenta Stellar requiere un saldo mínimo de lumen. En el pasado, los servicios de custodia usaban el campo memo de una transacción Stellar para mapear un pago entrante al cliente interno correspondiente. Las cuentas muxed son una forma de hacer lo mismo sin requerir que los usuarios ingresen un memo manualmente.

¿Qué significa que las cuentas muxed están "disponibles en Stellar"?

Las cuentas muxed se implementaron en el Protocolo 13, y han existido a nivel de protocolo desde la actualización de la red de julio de 2020. Sin embargo, estuvieron ocultas detrás de una bandera de función en los SDKs de Stellar hasta el 10 de enero de 2022 para dar tiempo a los proyectos del ecosistema a ajustar su código para permitir a los usuarios enviar pagos a cuentas muxed.

Ahora que las cuentas muxed están fuera de la bandera de función, las carteras existentes, exchanges y servicios de custodia que usan un modelo de cuenta agrupada están introduciendo cuentas muxed en sus proyectos en el lado de recepción, y los nuevos productos de custodia se construirán con cuentas muxed desde el primer día.

¿Qué necesito hacer para admitir cuentas muxed?

Cada producto o servicio construido sobre Stellar necesita permitir a los usuarios enviar pagos a cuentas muxed. Si tu integración Stellar no reconoce las cuentas muxed, tus usuarios no podrán interactuar con carteras, exchanges y custodios que las usan. Querrán saber por qué, y empezarás a ver muchos tickets de soporte. Se está volviendo cada vez más importante admitir el envío a ellas para continuar interoperando con el ecosistema.

Para admitir el envío a cuentas muxed, primero asegúrate de haber descargado la última versión de cualquier SDK de Stellar que uses. Si tienes código personalizado para validar direcciones independientemente de la validación incorporada en tu SDK, asegúrate de adaptarlo para incorporar cuentas muxed. Una vez que hayas hecho eso, la composición y presentación de la mayoría de las transacciones es prácticamente la misma que siempre ha sido y es manejada en su mayoría por tu SDK de Stellar.

Para integrar cuentas muxed en el lado de recepción, necesitas crear cuentas muxed a partir de una cuenta Stellar primaria incrustando IDs de clientes, y mapearlas a tu base de datos de clientes interna. Para ejemplos de integraciones tanto de envío como de recepción, consulta la documentación de Cuentas Muxed, o revisa la relevante documentación del SDK.

¿Cuáles son los beneficios de las cuentas muxed?

Antes de las cuentas muxed, los exchanges y otros servicios de custodia que usan cuentas agrupadas requerían que los usuarios añadieran memos a las transacciones para dirigir los pagos a la cuenta correcta en sus bases de datos internas. El mayor problema con depender de memos: el error del usuario. La gente frecuentemente olvida incluir los memos requeridos al enviar transacciones, lo que resultaba en fondos perdidos o llamadas de soporte onerosas.

Las cuentas muxed eliminan la necesidad de memos, y contienen un checksum que puede ser validado como las direcciones Stellar tradicionales, por lo que hay un riesgo reducido de errores tipográficos. También permiten a los usuarios o aplicaciones aplicar funcionalidad similar a memos a nivel de operación, por lo que pueden agrupar múltiples operaciones de pago a múltiples cuentas muxed en una sola transacción, lo que puede ser beneficioso para algunas aplicaciones.

Y mientras que los memos pueden dejar que una aplicación sepa a qué subcuenta debe ir un pago, no pueden dejar que una aplicación sepa de qué subcuenta vino un pago de. Cuando un pago de una subcuenta necesita ser devuelto, por ejemplo, no hay forma de navegar la última milla: el retorno puede llegar al servicio de custodia, pero no saben a qué cuenta acreditar. Al hacer posible identificar la subcuenta emisora, las cuentas muxed hacen que este tipo de devoluciones sean fáciles.

¿Continuarán funcionando las direcciones G tradicionales y el método "memo-required"?

Sí. Las cuentas "G" tradicionales seguirán funcionando, y los memos de transacción continuarán funcionando como siempre lo han hecho. Si tienes un producto o servicio de custodia, puedes continuar usando el método "memo-required" legado para mapear pagos entrantes a tu base de datos de clientes interna, aunque hacerlo significa que seguirás lidiando con la confusión del cliente y las solicitudes de soporte desesperadas, y que te quedarás atrás a medida que el resto del ecosistema mejora la experiencia del usuario.

Sin embargo, incluso si decides seguir con el método legado para manejar pagos entrantes, necesitarás habilitar el soporte de envío para cuentas muxed porque en algún momento, tus usuarios querrán hacer pagos salientes (o, como muchos exchanges los consideran, retiros de XLM) a una cartera o exchange que ha implementado cuentas muxed en el lado de recepción. Si tu producto o servicio no sabe cómo trabajar con cuentas muxed, puedes terminar aislado, incapaz de conectarte a otros productos y servicios de Stellar.