首先,需要先明确一点:
所谓QQ钱包的余额是账户余额,要存储在一个地方。腾讯不发行零钱,它的变动不能凭空产生,而是要有一个账本,记录钱从哪里来,到哪里去。
管理手段大家应该都懂,比如系统的隔离,增加代码必须review所在服务器不能随便登陆,各种操作都有权限限制等等这个不多说。
主要说一下这里实现的技术手段,包括资金单据对账 / 操作抗抵赖 / 防篡改。
资金系统有别于传统信息系统的特点:资金操作必须要有单据,单据必有对账。
首先,资金不能凭空增加和减少(这里不同于Q币,腾讯据对不会发行资金),必须要有上下游的单据,并且需要有一些机制确保这些单据一定是由用户或商户本身发起(包括增、删、改),这个目前通过 用户证书、用户密码、商户密钥、票据系统、DB防篡改等一系列机制来保障。
其次,针对这些单据,进行实时或准时的对账,这个对账是两两对层层对的联单对账,如果对不平就是很大的问题,需要排查确认为什么会有出入以及消除这种出入,而且新的技术也在不断的被加入其中,比如说当前火热的区块链思想和工作量证明思想,也可以被用于防篡改等地方。
当然,这里的保护手段会持续不断的进化和提升。
所以,无论从管理手段和技术手段来讲都是不能随意修改自己的账户余额的。
可以试想下:如果银行后台员工能给自己账户冲钱,银行怎么保证自己的底线?