账户余额保存在银行的数据库中,需要时会自动提取;请求取款数额需要客户从终端输入后传递到服务器。由于银行服务器所使用的前述两个参数,都是电子数据,电子数据具有易变性,在保存和传递过程中,由于银行管理上疏失,电子数据可能发生意想不到的变化。这样一来,即使没有那么多的存款,也可能满足设定的取款条件,即差值不小于1,从而取出超过实际存款余额的钱来。何鹏案,许霆案就是实例。
对于何鹏案,银行保存在数据库中的何鹏账户余额实际只有10元,是以电子数据的形式保存的。银行在对数据库进行升级时,因管理上疏失,有多种原因,例如格式不对,所保存的电子数据就会发生变化,既可能被充值,也可能被减值。何鹏的账户被充值,由10元变成了100万元。当何鹏提出取款2000元的请求时,银行服务器从数据库中调取的存款余额为100万,银行服务器计算差值并判断是否不小于1时,判断并没有错误,只是因自身原因获取了错误的参数--何鹏账户余额为100万--而产生重大误解,结果满足银行设定的取款条件,从而使银行与何鹏之间达成了取款交易,银行支付了取款给何鹏。显然,何鹏的行为,属于恶意交易,是可撤销的民事行为,无须承担刑事责任。因银行自始至终参与其中,故盗窃论纯属虚构。事实上,何鹏在多家银行多台自动柜员机上取过款,每台自动柜员机都没有任何故障,何鹏并非利用自动柜员机故障取款的,这是有交易记录可以得到证实的。
对于许霆案,账户余额中只有176.97元,当许霆提出取款1000元或2000元的请求时,因其账户余额不足,正常状况下是取不出款来的。可是自动柜员机程序升级时因疏忽而留下程序瑕疵,在自动柜员机向银行服务器传递取款请求的过程中,许霆取款1000元或2000元的请求,因程序瑕疵的存在而发生变化,变为许霆取款1元或2元的请求,与实际相比发生了减值,报送到银行服务器,银行服务器计算差值并判断不小于1时,判断并没有错误,也是因自身原因获取了错误的参数--许霆请求取款1元或2元--而产生重大误解,结果满足银行设定的取款条件,从而双方达成取款交易,银行必须支付取款给许霆。在支付取款的过程中,因涉案自动柜员机具有独特的付款机制,又发生了给付错误。
所谓独特的付款机制,指自动柜员机的付款机构被设计有二个开关,第一个开关决定付款数额,第二个开关决定是否付款。因自动柜员机付款必须是整数,当客户输入取款数额后,柜员机将计算取款数额除以100的商值,然后判断商值是否为整数,若不是整数,则要求重新输入,若是整数,则相当于打开了自动柜员机付款机构的第一个开关。第二个开关掌握在银行服务器的取款程序中,一旦账户余额与请求取款的差值不小于1成立,则符合银行设定的取款条件,服务器自动运行取款程序,从账户余额中扣除取款得出新的余额,作好取款记录,然后对自动柜员机发出同意支付的指令。这个同意支付的指令就是自动柜员机付款机构的第二个开关,即决定付款。