Provoz flotily krypto bankomatů: hotovost, kazety, compliance
Krypto bankomat je hotovostní stroj, který funguje oběma směry: zákazník do něj vloží bankovky a dostane krypto, nebo pošle krypto a vybere si bankovky. Provozovat flotilu takových strojů je logistický byznys v softwarovém kabátu. Obrazovka kotuje a potvrzuje, ale těžké části jsou fyzické — hotovost uložená v kazetách, stroje stojící na místech, kde nejste, a směna probíhající v každé skříni, která se musí odsouhlasit na cent. Kdo si krypto bankomat představuje jako aplikaci, viděl tu snazší polovinu.
Tohle je tedy rozbor té provozní poloviny: dva subsystémy uvnitř skříně, směna za sklem, kazety, které nikdo nedává do dem, problém prognózování, kterým se flotila stává, a disciplína řízení a odsouhlasování strojů, které nevidíte.
Dva stroje v jedné skříni
Krypto bankomat jsou ve skutečnosti dva subsystémy sešroubované dohromady: stroj na práci s hotovostí — příjem bankovek, validátor, výdejník nebo recyklér a kazety, které bankovky drží — a krypto terminál — peněženka, síťové připojení a obrazovka, která kotuje a potvrzuje. Nákup jde z hotovosti do krypta: zákazník vloží bankovky, validátor je spočítá a uloží a stroj pošle krypto do zákazníkovy peněženky. Prodej jde z krypta do hotovosti: zákazník pošle krypto na adresu stroje a po potvrzení převodu výdejník odpočítá bankovky z kazety. Všechno těžké se odehrává tam, kde se ty dvě poloviny potkávají, protože bankovky jsou fyzické a po uložení nevratné, zatímco krypto je digitální a po potvrzení nevratné — a stroj nesmí zavázat ani jednu stranu, dokud si není jistá ta druhá.
Směna u obrazovky
U každého automatu probíhá směna a řídí se stejnou disciplínou zamčeného kurzu jako přepážkový terminál: obrazovka nabídne kurz, podrží ho po dobu relace s odpočtem a zákazník obchoduje za tento kurz, jinak se relace přecení. Bezpečnostním modelem je pořadí kroků. Při nákupu automat uvolní kryptoměnu až poté, co jsou bankovky ověřeny a uloženy do zásobníku – nikoli pouhým vložením, protože bankovka, která je ještě v prostoru dočasné úschovy, zatím není peníze. Při prodeji nevydá ani jedinou bankovku, dokud příchozí převod nemá dostatek potvrzení, protože vydanou bankovku už nelze vzít zpět. Nevratná akce jde vždy poslední, až když je druhá strana definitivní. Kdo pořadí pokazí, postaví automat, který rozdává kryptoměnu za bankovky, které si nikdy neponechal, nebo hotovost za převod, který nikdy nedorazil.
Kazety: fyzická polovina, kterou nikdo nepředvádí
Hotovost žije v kazetách – výměnných boxech s bankovkami, typicky jedna na nominál, které se zasouvají do automatu. Recyklér umí vyplatit stejné bankovky, které přijal; jednodušší výdejník čerpá jen z kazet, které naplnil operátor. Každá kazeta nese dvě čísla: počet, o kterém si software myslí, že platí, a počet, který platí fyzicky. Celá práce operátora, shrnutá do jedné věty, je udržet ta dvě čísla shodná. Každá přijatá bankovka evidovaný stav zvýší, každá vydaná ho sníží a návštěva se svozem hotovosti ho srovná s fyzickým součtem. Když se evidovaný a napočítaný stav při svozu rozcházejí, je ten rozdíl nejdůležitějším číslem v provozu flotily – je to chybné sečtení, zaseknutí, nebo něco horšího, a zjistí se to počítáním, nikdy ne doufáním.
Stavy hotovosti a proč je správa flotily úlohou předpovídání
Jeden automat je starost; flotila je úloha předpovídání. Výdejník, který se vyprázdní, odmítne zákazníky, a příjemce bankovek s plným zásobníkem přestane přijímat hotovost. Obojí je výpadek a žádný nehlásí chybu, které by si kolemjdoucí všiml, protože automat prostě nedokáže dokončit transakci, kterou zákazník chtěl. Konzole proto sleduje stav hotovosti v každé kazetě každého automatu a mění ho v trasy: které automaty je třeba doplnit a které vyprázdnit, dřív než dojde ke zdi. Dobře vedená flotila je především plán přepravy hotovosti – kdo jede ke kterému automatu, kolik veze a v který den – a software existuje proto, aby tento plán sestavil z aktuálních stavů, a ne z odhadů a pátečního odpoledního zmatku.
Vzdálený zámek a řízení z konzole
Automaty stojí tam, kde operátor není – ve vstupní hale, v obchodě, na nádražní hale – takže řízení musí být vzdálené. Z konzole může operátor okamžitě zamknout jeden automat i celou flotilu a zamčený automat nedokončí nic nového. Zámek je reakcí na zaseknutí, podezření na závadu, rozdíl v hotovosti nebo na automat, který je nutné zmrazit, než k němu někdo dojede. Klíče a kazety zůstávají, kde jsou; automat jen přestane obchodovat, dokud ho člověk neodemkne. Zásadou je, že nebezpečné akce se dělají z konzole s uvedeným důvodem a zapíšou se do logu – ne tak, že někdo v terénu klepe na obrazovku samotného automatu bez záznamu, takže pak nikdo nedokáže zrekonstruovat, co se stalo a proč.
Flotila kryptoautomatů není softwarový produkt s trochou hardwaru. Je to logistika hotovosti s obrazovkou vpředu – a každé číslo na té obrazovce se musí srovnat s bankovkou, kterou můžete držet v ruce.
Odsouhlasení automatu, který nevidíte
Odsouhlasení je každodenní důkaz, že flotila je poctivá. Každá relace u automatu zanechá záznam – bankovky dovnitř a krypto ven, nebo krypto dovnitř a bankovky ven, s uzamčeným kurzem, adresami peněženek a potvrzeními. Sečtěte relace automatu od posledního svozu a získáte hotovost, kterou má držet; spočítejte kazety při návštěvě a získáte hotovost, kterou drží; obě čísla se musí sejít. Kryptostrana se odsouhlasuje stejně, proti zůstatku peněženky automatu. Flotila, která odsouhlasuje každý automat každý den, zachytí vadný automat hned první den – zaseknutí, skimming, chybné sečtení – místo aby ho objevila jako díru na konci čtvrtletí, kterou nikdo nevysvětlí. Smysl účetní knihy po jednotlivých automatech je právě v tom, že obstojí v auditu, protože se nikdy nesměla rozejít.
Compliance je úkolem operátora; software vynucuje a zaznamenává
Povinnosti nese provozovatel flotily kryptoautomatů. Oprávnění, která musí mít, kontroly totožnosti, které musí provádět, a limity transakcí, které musí dodržovat, se liší podle toho, kde každý automat stojí, a patří operátorovi – ne přístroji a ne jeho výrobci. Software dělá záměrně mechanickou práci: vynucuje libovolné limity na zákazníka a na den, které operátor nastaví, vyžádá libovolný krok ověření totožnosti, který operátor požaduje, při libovolné hranici, kterou operátor určí, a zaznamenává každou bankovku, každý převod i každé rozhodnutí o limitu, aby mohl operátor později za flotilu ručit. Automat nerozhoduje o pravidlech; uplatňuje pravidla operátora stejně u každého automatu a zapisuje, co se stalo. Nastavit pravidla správně je disciplína operátora. Přínosem softwaru je, že jsou tato pravidla jednotná a auditovatelná napříč flotilou, kterou nikdo sám nedokáže sledovat celou najednou.
Upřímná hranice
Jeden automat na jednom místě flotilovou konzoli téměř nepotřebuje – stačí tabulka a týdenní sčítání. Tento nástroj se vyplatí v měřítku flotily, kde se čísla přestanou vejít do jedné hlavy: stavy hotovosti v mnoha automatech, počty v kazetách, které se musí odsouhlasit na každém místě, vzdálený zámek pro automaty vzdálené hodiny cesty a účetní kniha po automatech, která obstojí v auditu. S jedním automatem je to režie; s dvaceti jsou plán, odsouhlasení a vzdálené ovládání rozdílem mezi byznysem a hromadou automatů, které se pomalu rozcházejí z rovnováhy. Flotilová konzole je na /products/atm a pojmy – kazeta, recyklér, odsouhlasení, vypořádání – jsou v /glossary.
Chcete postavit systém?
Popište nám problém. Vrátíme se s architekturou a plánem.