Beleške s terena

Vođenje flote kripto ATM-ova: gotovina, kasete, usklađenost

Kripto ATM je bankomat koji radi u oba smera: kupac ubacuje novčanice i dobija kripto, ili šalje kripto i podiže novčanice. Vođenje flote takvih mašina je logistički posao sa softverskim interfejsom. Ekran daje kotaciju i potvrđuje, ali su teški delovi fizički — gotovina u kasetama, mašine na mestima na kojima vas nema i razmena na svakom kućištu koja se mora uskladiti do poslednjeg centa. Ko misli da je kripto ATM aplikacija, pogledao je samo lakšu polovinu.

Zato je ovo analiza operativne polovine: dva podsistema unutar kućišta, razmena na staklu, kasete koje niko ne stavlja u demo, problem prognoziranja u koji se flota pretvara i disciplina kontrole i usklađivanja mašina koje ne možete da vidite.

Dve mašine u jednom kućištu

Kripto ATM su zapravo dva podsistema spojena zajedno: mašina za rukovanje gotovinom — prihvatnik novčanica, validator, dispenzer ili recikler i kasete koje drže novčanice — i kripto terminal — novčanik, mrežna veza i ekran koji daje kotaciju i potvrđuje. Kupovina ide od gotovine ka kriptu: kupac ubacuje novčanice, validator ih broji i slaže, a mašina šalje kripto na novčanik kupca. Prodaja ide od kripta ka gotovini: kupac šalje kripto na adresu mašine i, kad se prenos potvrdi, dispenzer izbrojava novčanice iz kasete. Sve teško živi tamo gde se te dve polovine susreću, jer su novčanice fizičke i nepovratne kad se jednom slože, a kripto je digitalan i nepovratan kad se jednom potvrdi — i mašina ne sme da obaveže nijednu stranu dok druga nije sigurna.

Razmena pred ekranom

Na svakom aparatu odvija se razmena, a njome upravlja ista disciplina zaključanog kursa kao na šalterskom terminalu: ekran prikazuje kurs, drži ga tokom sesije uz odbrojavanje, a klijent transakciju obavlja po tom kursu, ili se sesija ponovo kotira. Redosled je bezbednosni model. Pri kupovini aparat isplaćuje kripto tek pošto su novčanice provere i složene u sef, a ne samo ubačene, jer novčanica koja je još u escrow otvoru nije novac. Pri prodaji ne izdaje nijednu novčanicu dok dolazna transakcija nema dovoljno potvrda, jer izdata novčanica ne može da se vrati. Nepovratna radnja uvek ide poslednja, tek kad je druga strana konačna. Pogrešite li redosled, napravili ste aparat koji deli kripto za novčanice koje nikad nije zadržao, ili gotovinu za transfer koji nikad nije stigao.

Kasete: fizička polovina koju niko ne demonstrira

Gotovina stoji u kasetama: to su izmenljive kutije s novčanicama, obično po jedna za svaku apoen, koje se umeću u aparat. Recikler može da isplati iste novčanice koje je primio, dok jednostavniji dispenzer uzima samo iz kaseta koje je operater napunio. Svaka kaseta nosi dva broja: stanje koje softver smatra tačnim i stanje koje fizički stoji u njoj. Ceo posao operatera, sveden na jednu rečenicu, jeste da ta dva broja budu jednaka. Svaka primljena novčanica povećava očekivano stanje, svaka izdata ga smanjuje, a obilazak radi preuzimanja gotovine resetuje ga prema fizičkom prebrojavanju. Kad se očekivano i prebrojano stanje na preuzimanju ne slažu, taj jaz je najvažniji broj u upravljanju flotom: to je pogrešno brojanje, zaglavljivanje ili nešto gore, a otkriva se brojanjem, nikad nadanjem.

Nivoi gotovine i zašto je flota problem predviđanja

Jedan aparat je obaveza; flota je problem predviđanja. Dispenzer koji ostane prazan odbija klijente, a prihvatnik novčanica čiji je sef pun prestaje da prima gotovinu. Oba slučaja su ispadi, a nijedan ne pali lampicu greške koju bi prolaznik primetio, jer aparat jednostavno ne može da završi transakciju koju je klijent hteo. Zato konzola prati nivo gotovine po kaseti i po aparatu i pretvara ga u rute: koji aparati treba da se napune, a koji da se isprazne, pre nego što dođu do zida. Dobro vođena flota je uglavnom raspored transporta gotovine: ko vozi do kog aparata, s koliko novca i kog dana. Softver služi da taj raspored gradi iz stvarnih nivoa, umesto iz nagađanja i panike petkom popodne.

Daljinsko zaključavanje i upravljanje iz konzole

Aparati stoje tamo gde operatera nema: u holu, u radnji, u stanici, pa kontrola mora da bude daljinska. Iz konzole operater može odmah da zaključa jedan aparat ili celu flotu, a zaključani aparat ne završava nijednu novu transakciju. Zaključavanje je odgovor na zaglavljivanje, sumnju na kvar, razliku u gotovini ili aparat koji mora da bude zamrznut dok neko ne stigne do njega. Ključevi i kasete ostaju gde jesu; aparat samo prestaje da obavlja transakcije dok ga čovek ne otključa. Disciplina je u tome da se opasne radnje izvode iz konzole, uz naveden razlog i zapis u logu, a ne tako što neko na terenu dodiruje ekran samog aparata, bez traga, pa niko kasnije ne može da rekonstruiše šta je urađeno i zašto.

Flota kripto ATM-ova nije softverski proizvod s nešto hardvera. To je operacija logistike gotovine s ekranom na prednjoj strani, a svaki broj na tom ekranu mora da se uskladi s novčanicom koju možete da držite u ruci.
— Protocore · Inženjering plaćanja

Usklađivanje aparata koji ne možete da vidite

Usklađivanje (rekonsilijacija) je dnevni dokaz da je flota poštena. Svaka sesija na aparatu ostavlja zapis: novčanice unutra i kripto napolje, ili kripto unutra i novčanice napolje, uz zaključani kurs, adrese novčanika i potvrde. Saberete li sesije aparata od poslednjeg preuzimanja, dobijate gotovinu koju bi trebalo da drži; prebrojite li kasete pri obilasku, dobijate gotovinu koju zaista drži; ta dva iznosa moraju da se poklope. Kripto strana se usklađuje na isti način, prema stanju novčanika aparata. Flota koja se usklađuje po aparatu i po danu otkriva neispravan aparat prvog dana, bilo da je reč o zaglavljivanju, skimingu ili pogrešnom brojanju, umesto da ga otkrije kao rupu na kraju kvartala koju niko ne ume da objasni. Smisao knjige po aparatu je upravo u tome da prolazi reviziju jer nikada nije smela da se razilazi.

Usklađenost je posao operatera; softver sprovodi i beleži

Obaveze nosi operater flote kripto ATM-ova. Dozvole koje mora da poseduje, provere identiteta koje mora da sprovodi i limite transakcija koje mora da poštuje razlikuju se prema tome gde svaki aparat stoji, a pripadaju operateru, ne uređaju i ne proizvođaču uređaja. Softver radi namerno mehanički: sprovodi limite po klijentu i po danu koje operater podesi, traži korak provere identiteta koji operater zahteva na pragu koji operater odredi, i beleži svaku novčanicu, svaki transfer i svaku odluku o limitu, da bi operater kasnije mogao da odgovara za flotu. Aparat ne određuje politiku; primenjuje politiku operatera na isti način na svakom aparatu i zapisuje šta se dogodilo. Pravilno postavljanje politike je disciplina operatera. Doprinos softvera je da ta politika bude ujednačena i proverljiva u floti koju nijedna osoba ne može da prati odjednom.

Iskrena granica

Jednom aparatu na jednoj lokaciji jedva treba konzola za flotu; dovoljni su tabela i nedeljno brojanje. Ovaj sistem se isplati na nivou flote, kad brojevi prestaju da stanu u jednu glavu: nivoi gotovine na mnogo aparata, brojanja kaseta koja moraju da se usklade po lokaciji, daljinsko zaključavanje za aparate udaljene satima vožnje i knjiga po aparatu koja izdržava reviziju. Ako vodite jedan aparat, ovo je suvišno opterećenje; ako vodite dvadeset, raspored, usklađivanje i daljinske kontrole čine razliku između posla i gomile aparata koji polako gube ravnotežu. Konzola za flotu je na /products/atm, a pojmovi (kaseta, recikler, usklađivanje, poravnanje) nalaze se u /glossary.

Imate sistem za izgradnju?

Opišite nam problem. Vratićemo se sa arhitekturom i planom.