Notes de camp

Operar una flota de caixers de cripto: efectiu, cassets, compliance

Un caixer de cripto és una màquina d'efectiu que funciona en tots dos sentits: el client hi introdueix bitllets i rep cripto, o hi envia cripto i recull bitllets. Operar-ne una flota és un negoci de logística amb una interfície de programari. La pantalla cotitza i confirma, però el difícil és físic: efectiu als cassets, màquines en llocs on no sou i un intercanvi a cada cabina que ha de quadrar al cèntim. Qui pensa en un caixer de cripto com una aplicació n'ha vist només la meitat fàcil.

Així doncs, això és una anàlisi de la meitat operativa: els dos subsistemes dins la cabina, l'intercanvi a la pantalla, els cassets que ningú no posa en una demo, el problema de previsió en què es converteix una flota i la disciplina de controlar i conciliar màquines que no veieu.

Dues màquines en una sola cabina

Un caixer de cripto és en realitat dos subsistemes units: una màquina de maneig d'efectiu (acceptador de bitllets, validador, un dispensador o reciclador i els cassets que contenen els bitllets) i un terminal de cripto (una cartera, una connexió a la xarxa i una pantalla que cotitza i confirma). Una compra va d'efectiu a cripto: el client introdueix bitllets, el validador els compta i els apila, i la màquina envia cripto a la cartera del client. Una venda va de cripto a efectiu: el client envia cripto a l'adreça de la màquina i, quan la transferència es confirma, el dispensador va comptant bitllets d'un casset. Tot el que és difícil viu on aquestes dues meitats es troben, perquè els bitllets són físics i irreversibles un cop apilats, mentre que la cripto és digital i irreversible un cop confirmada, i la màquina no pot comprometre cap dels dos costats fins que l'altre sigui segur.

L'intercanvi davant del vidre

A cada màquina es fa un intercanvi, i el regeix la mateixa disciplina de cotització bloquejada que un terminal de finestreta: la pantalla cota un tipus de canvi, el manté durant la sessió amb un compte enrere, i el client opera amb aquesta cotització o la sessió es torna a cotitzar. L'ordre és el model de seguretat. En una compra, la màquina allibera les criptomonedes només després que els bitllets s'hagin validat i apilat —no simplement inserit, perquè un bitllet que encara és a la gola d'escrow encara no és diners. En una venda, no dispensa ni un sol bitllet fins que la transferència entrant té prou confirmacions, perquè un bitllet dispensat no es pot recuperar. L'acció irreversible va sempre l'última, només quan l'altra part ja és ferma. Si l'ordre és incorrecte, has construït una màquina que regala criptomonedes per bitllets que mai no es va quedar, o efectiu per una transferència que mai no va arribar.

Cassets: la meitat física que ningú no mostra a les demos

L'efectiu viu als cassets: caixes extraïbles de bitllets, normalment una per denominació, que s'encaixen a la màquina. Un reciclador pot pagar els mateixos bitllets que ha rebut; un dispensador més simple només treu dels cassets que un operador ha carregat. Cada casset porta dues xifres: el recompte que el programari creu i el recompte que és físicament cert. Tota la feina de l'operador, resumida en una frase, és mantenir aquestes dues xifres iguals. Cada bitllet acceptat suma al recompte teòric, cada bitllet dispensat hi resta, i cada visita de recollida d'efectiu el reinicia amb un recompte físic. Quan el recompte teòric i el comptat no coincideixen en una recollida, aquesta diferència és la xifra més important de l'operativa d'una flota: és un error de recompte, un encallament o alguna cosa pitjor, i es troba comptant, mai esperant.

Nivells d'efectiu, i per què una flota és un problema de previsió

Una màquina és una tasca; una flota és un problema de previsió. Un dispensador que es queda buit fa fora els clients, i un acceptador de bitllets amb l'apilador ple deixa d'agafar efectiu: tots dos són aturades, i cap no mostra un llum d'error que un vianant noti, perquè la màquina simplement no pot completar l'operació que el client volia. Per això la consola fa el seguiment del nivell d'efectiu per casset i per màquina i el converteix en rutes: quins caixers necessiten càrrega i quins cal buidar, abans que arribin al límit. Una flota ben gestionada és sobretot un calendari de transport de fons: qui va a quin caixer, amb quant, quin dia; i el programari hi és per construir aquest calendari a partir de nivells en directe, en lloc d'endevinar i córrer divendres a la tarda.

Bloqueig remot, i actuar des d'una consola

Les màquines són on l'operador no és —un vestíbul, una botiga, un vestíbul d'estació— i per això el control ha de ser remot. Des de la consola, un operador pot bloquejar una sola màquina o tota la flota a l'instant, i una màquina bloquejada no completa res de nou. El bloqueig és la resposta a un encallament, una sospita d'avaria, una discrepància d'efectiu o una màquina que cal congelar mentre algú hi va. Les claus i els cassets es queden on són; la màquina simplement deixa d'operar fins que una persona l'habilita. La disciplina és que les accions perilloses es fan des de la consola, amb un motiu adjunt i registrades en un log, no pas amb algú tocant la pantalla de la màquina sobre el terreny, sense deixar constància, de manera que ningú no pugui reconstruir després què es va fer ni per què.

Una flota de caixers de criptomonedes no és un producte de programari amb una mica de maquinari afegit. És una operació de logística d'efectiu amb una pantalla al davant, i cada xifra d'aquesta pantalla ha de quadrar amb un bitllet que podries tenir a la mà.
— Protocore · Enginyeria de pagaments

Quadrar una màquina que no pots veure

La conciliació és la prova diària que una flota és honesta. Cada sessió en una màquina deixa un registre: bitllets entrats i cripto sortida, o cripto entrada i bitllets sortits, amb el tipus de canvi bloquejat, les adreces de moneder i les confirmacions adjuntes. Suma les sessions d'una màquina des de l'última recollida i obtens l'efectiu que hauria de tenir; compta els cassets durant la visita i obtens l'efectiu que té; les dues xifres han de coincidir. El costat cripto es concilia de la mateixa manera, contra el saldo del moneder de la màquina. Una flota que concilia per màquina i per dia detecta un caixer defectuós el primer dia —un encallament, un skimming, un error de recompte— en lloc de descobrir-lo com un forat de final de trimestre que ningú no sap explicar. Tot el sentit del llibre major per màquina és que supera una auditoria precisament perquè mai no se li va permetre desviar-se.

El compliment normatiu és feina de l'operador; el programari fa complir i registra

L'operador d'una flota de caixers de criptomonedes assumeix les obligacions. Els permisos que ha de tenir, les verificacions d'identitat que ha d'executar i els límits d'operació que ha de respectar varien segons on és cada màquina, i són de l'operador: no de la caixa, ni del proveïdor de la caixa. El que fa el programari és deliberadament mecànic: aplicar els límits per client i per dia que l'operador configura, demanar el pas d'identitat que l'operador exigeixi al llindar que l'operador fixi, i registrar cada bitllet, cada transferència i cada decisió sobre límits perquè l'operador pugui respondre de la flota més endavant. La màquina no decideix la política; aplica la política de l'operador igual a tots els caixers i anota què ha passat. Definir bé la política és la disciplina de l'operador. L'aportació del programari és fer-la uniforme i auditable en una flota que cap persona sola no pot vigilar alhora.

La frontera, sense embuts

Una sola màquina en un sol lloc gairebé no necessita una consola de flota: amb un full de càlcul i un recompte setmanal n'hi hauria prou. Tota aquesta maquinària es justifica a escala de flota, quan les xifres ja no caben en un sol cap: nivells d'efectiu en molts caixers, recomptes de cassets que han de quadrar per ubicació, bloqueig remot per a màquines a hores de distància i un llibre major per màquina que aguanta una auditoria. Amb un sol caixer és sobrecàrrega; amb vint, el calendari, la conciliació i els controls remots són la diferència entre un negoci i un munt de caixers que es desquadren a poc a poc. La consola de flota és a /products/atm, i els termes —casset, reciclador, conciliació, liquidació— són al /glossary.

Tens un sistema per construir?

Explica'ns el problema. Et respondrem amb una arquitectura i un pla.