El dinero no se duplica · Episodio 7 de 7

Bizum con la red partida

New Capital Bank corre en dos zonas de la nube para no caerse si una falla. Una tarde se corta la conexión entre las dos. El móvil de Laura llega a una zona y su tableta a la otra; cada zona tiene una copia del límite de Laura y no puede preguntar a la otra.

Concepto: teorema CAP y PACELC~10 min

El punto de partida

En todos los episodios anteriores, las partes del banco se podían hablar, aunque fuera con retraso: un evento llegaba tarde, una saga esperaba, una transacción reintentaba. Este episodio quita eso: dos partes del banco que no pueden hablarse en absoluto, durante minutos.

La Plataforma despliega cada servicio en dos zonas de la nube. Si una zona entera se cae, la otra sigue atendiendo. Para eso, las dos tienen una copia de los datos y se mantienen al día por la red. Y la red entre ellas también puede fallar.

Responder o estar de acuerdo

Con la red cortada, cada zona tiene que decidir sola. Si responde a Laura con lo que sabe, puede equivocarse, porque la otra zona puede estar aceptando Bizum a la vez. Si no quiere equivocarse, tiene que negarse a responder hasta poder preguntar. No hay una tercera opción que dé las dos cosas: es el teorema CAP.

En la simulación, Laura envía cuatro Bizum: dos llegan a la zona A, dueña del límite, y dos a la zona B. Prueba primero con la red entera y después córtala y elige qué hace cada zona.

Qué ha pasado

Ninguna es la correcta en abstracto. Para un Bizum, el banco tiene que decidir qué le cuesta más: un cliente que no puede enviar dinero durante un corte o un límite regulatorio que se rompe. Es una decisión de negocio, y puede ser distinta para cada operación.

El fichero puede esperar

Las domiciliaciones enseñan la otra cara. Elige el caso «Un Bizum y el fichero de recibos» con la red cortada. Laura envía un Bizum desde el móvil a la zona A; a la zona B llega el fichero del banco del acreedor con el recibo de la luz.

Aquí rechazar no cuesta nada: nadie está mirando una pantalla esperando el recibo. La zona B lo deja en espera y lo procesa una hora más tarde, con el saldo de verdad. El día de cobro sigue siendo el mismo. Aceptar, en cambio, arriesga un descubierto para ganar una hora que a nadie le importaba. La elección depende de quién espera, y en un fichero no espera nadie.

Sin corte también se elige

Los cortes de red son raros. Lo que pasa todos los días es más sutil: para que la zona B tenga cada Bizum, la zona A tiene que copiárselo. Si lo copia antes de responder a Laura, Laura espera un poco más. Si responde antes, durante un momento la zona B no lo sabe. Es la otra mitad de la elección, la que añade PACELC.

Lo que cuestan unos milisegundos

Mientras nada falla, responder antes solo parece más rápido. La diferencia aparece cuando la zona A se cae justo después de responder: Laura ha visto «enviado», y la zona B, que sigue sola, no sabe nada de ese Bizum. Para un Bizum, que cuenta para un límite y mueve dinero, el banco copia antes de responder. Para la última pantalla que vio Laura en la app, puede permitirse responder antes.

Las redes de tarjetas resolvieron esto hace décadas a su manera: cuando no consiguen hablar con el banco de quien paga, aprueban los pagos pequeños en su nombre (lo llaman stand-in) y el banco los asume después. Es AP con un tope, decidido por el negocio: un café sí, un televisor no.

Para llevarse

Y con esto termina El dinero no se duplica. En siete episodios, New Capital Bank ha aprendido a repetir sin efecto, a compensar lo que se queda a medias, a avisar sin perder avisos, a que dos cambios a la vez no rompan una regla, a elegir entre esperar y reintentar, a decidir cuánto dura un desacuerdo y qué hacer cuando la red se parte. En todos los casos, la respuesta era una decisión de negocio que la arquitectura refleja.

Lo que queda abierto es lo que pasa cuando quien falla no es la red del banco, sino otro sistema: el core bancario, la red de tarjetas, Bizum. Esa es la serie de resiliencia: Lo que no controlamos.