运营加密货币 ATM 机队:现金、钞箱与合规
加密货币 ATM 是一台双向运行的现金机器:顾客投入纸币换取加密货币,或发送加密货币领取纸币。运营一支这样的机队,本质上是披着软件界面的物流生意。屏幕负责报价和确认,但真正的难点在实体层面:钞箱里的现金、分布在你不在场的地方的机器,以及每个机柜里发生的兑换都必须精确到分地对上账。把加密货币 ATM 当成一个应用的人,只看到了容易的那一半。
所以这是一篇对运营这一半的拆解:机柜内的两个子系统、玻璃屏前的兑换、没人会放进演示里的钞箱、机队带来的预测难题,以及对看不见的机器进行控制和对账的纪律。
一个机柜里的两台机器
加密货币 ATM 其实是两个子系统拼在一起:一个是现金处理机,包括验钞入钞模块、验证器、出钞器或循环机,以及存放纸币的钞箱;另一个是加密货币终端,包括钱包、网络连接,以及负责报价和确认的屏幕。买入是从现金到加密货币:顾客投入纸币,验证器清点并叠放,机器把加密货币发送到顾客的钱包。卖出是从加密货币到现金:顾客把加密货币发送到机器的地址,转账确认后,出钞器从钞箱中数出纸币。所有难点都出在这两半相遇的地方,因为纸币是实体的,一旦叠放就不可撤销,而加密货币是数字的,一旦确认同样不可撤销,所以在另一边确定之前,机器不能提交任何一侧。
柜台玻璃前的兑换
每台机器上都在发生一次兑换,其规则与柜台终端一样:锁定报价。屏幕给出汇率,并在整个会话期间以倒计时锁定;客户按该报价成交,否则会话重新报价。顺序就是安全模型。买入时,机器只有在纸币验证并压入钞箱之后才释放加密资产——仅仅塞入还不够,因为停在暂存口的纸币还不是钱。卖出时,在转入款项获得足够确认之前,机器一张钞票都不会吐出,因为吐出的钞票无法追回。不可逆的操作永远排在最后,只有在另一端已成定局之后才执行。顺序一旦弄错,造出来的机器要么为没收进来的钞票放出加密资产,要么为从未到账的转账付出现金。
钞箱:无人演示的实体那一半
现金存放在钞箱里——可拆卸的纸币箱,通常每种面额一个,插入机器使用。循环机可以把收进来的钞票再付出去;简单的取款机则只从运营方装入的钞箱里出钞。每个钞箱都有两个数字:软件认为的张数,和实际的张数。运营方的全部工作,一句话就是让这两个数保持一致。每收一张钞票,账面数加一;每出一张,账面数减一;每次收款上门,再以实物清点结果重置。收款时若账面数与清点数不符,这个差额就是机队运营中最重要的数字——它可能是点错、卡钞,或者更糟的情况,而查明它靠的是清点,从来不是靠运气。
现金水位,以及为什么机队是个预测问题
一台机器只是件杂务;一支机队则是预测问题。取款机的钞箱见底,就会把客户拒之门外;收钞机的钞仓装满,就不再收现金——两者都是停机,而且都不会亮起路人看得见的故障灯,机器只是无法完成客户想办的交易。因此控制台按每台机器的每个钞箱跟踪现金水位,并把这些水位转化为路线:哪些机柜需要补钞,哪些需要清空,赶在任何一方触顶之前。运转良好的机队,本质上就是一份现金押运排程——谁开车去哪台机柜、带多少钱、哪一天——而软件的作用,就是依据实时水位生成这份排程,而不是靠猜测和周五下午的手忙脚乱。
远程锁定,以及在控制台上操作
机器所在的地方运营方不在场——大堂、店面、车站大厅——所以控制必须是远程的。运营方可以在控制台上即时锁定单台机器或整支机队,被锁定的机器不再完成任何新交易。出现卡钞、疑似故障、现金差异,或者需要在有人赶去现场期间冻结机器时,都用锁定来应对。钥匙和钞箱留在原处;机器只是停止交易,直到有人工解除。原则是:危险操作必须在控制台上进行,附上原因并写入日志——而不是由人在现场点按机器自带的屏幕,无记录可查,事后没人能还原做过什么、为什么做。
加密货币 ATM 机队不是附带了些硬件的软件产品。它是一项屏幕朝外的现金物流业务——屏幕上的每个数字,都必须与一张你能握在手里的钞票对得上。
对账一台看不见的机器
对账是机队诚信的每日证明。机器上的每次会话都会留下一条记录——收进纸币、付出加密资产,或收进加密资产、付出纸币,并附上锁定汇率、钱包地址和确认数。把一台机器自上次收款以来的所有会话相加,得到它应持有的现金;上门清点钞箱,得到它实际持有的现金;两者必须吻合。加密资产一侧同样与机器的钱包余额对账。按机器、按天对账的机队,第一天就能发现有问题的机柜——卡钞、盗刷、点错——而不是等到季度末出现一个谁也解释不了的窟窿。每台机器各有一本账,其意义就在于它经得起审计,恰恰因为从未被允许出现偏差。
合规是运营方的责任;软件负责执行和记录
加密货币 ATM 机队的运营方承担各项义务。它必须持有的许可、必须执行的身份核验、必须遵守的交易限额,因每台机器所在地而异,这些都属于运营方——不属于机器,也不属于机器的供应商。软件做的事刻意保持机械:执行运营方配置的单客户和单日限额,在运营方设定的阈值上触发运营方要求的身份核验步骤,并记录每一张钞票、每一笔转账和每一次限额判定,让运营方日后能为整支机队作出交代。机器不制定政策;它在每台机柜上以同样方式执行运营方的政策,并把发生的一切记录下来。政策是否正确,是运营方的功课。软件的贡献,是让这套政策在一支无人能同时盯住的机队中保持统一且可审计。
坦诚的边界
只有一个点位的单台机器,几乎用不上机队控制台——一张电子表格加每周一次清点就够了。这套系统的价值体现在机队规模上,那时数字已经装不进一个人的脑子:众多机柜的现金水位、必须按站点对账的钞箱张数、为数小时车程之外的机器准备的远程锁定,以及经得起审计的单机账本。只运营一台机柜,这是额外负担;运营二十台,排程、对账和远程控制就是一门生意与一堆慢慢失衡的机柜之间的区别。机队控制台见 /products/atm,相关术语——钞箱(cassette)、循环机(recycler)、对账(reconciliation)、结算(settlement)——见 /glossary。