试开城际轻轨:许霆案已能被客观事实证明是错案 - 法治天下 - 法眼论谈 - 东方法眼

来源:百度文库 编辑:九乡新闻网 时间:2024/05/06 09:49:59
      许霆案解密:171次交易记录终结盗窃说

                              (征求意见稿)

内容提要:许霆一案成为错案的原因就在于案件事实表现形式特殊,不容易理解。为此,笔者用了三个小标题就存款、取款是交易行为,现代银行是电脑控制的,电脑代表银行成为交易主体,在自动柜员机上取款行为的三个步骤及其意义,分别进行了阐述,这些内容是正确理解许霆案全部案件事实的基础和前提。本文的核心就是第四个小标题即依据主要证据分析出许霆案的全部客观事实。第五个小标题是分析许霆行为的性质和许霆案错误原因。


                一、存款、取款是交易行为

 

客户在银行开户,把第一笔钱存入银行时起,双方就签订了一份储蓄合同,此后,每一次取款,每一次存款,都是双方的交易行为,都是变更原来的储蓄合同,签订新的储蓄合同,账户的余额数字就是新的储蓄合同的核心内容。

 

储蓄合同是即时清结交易合同,是要当场兑现的。若双方成功交易,对于取款而言,那么银行当场将现金交给客户,对于存款而言,那么客户会当场将现金交给银行。

 

二、现代银行是电脑控制的,电脑代表银行成为交易主体

 

现代银行一般是由一台电脑主机为核心,联结若干个柜员窗口(电脑)和若干台自动柜员机(电脑)组成的网络。通常情况下,每家银行都只在省会城市设置一台电脑主机,隐藏在省银行大楼的电脑机房里,该银行在全省各地设置的营业网点窗口(电脑)和自动柜员机(电脑)都是与这台电脑主机相联结的。电脑主机叫后台,营业网点的柜员窗口(电脑)和自动柜员机(电脑),叫前台。后台电脑运行的程序叫银行综合业务系统软件,其中就有取款程序和存款程序等等,该系统软件中的程序在后台电脑主机中运行,就体现了银行的意志;前台电脑运行的程序与后台不同,前台的功能是为后台办理银行业务采集信息并执行后台的命令。银行都是后台与前台配合成一个整体,对外代表银行与客户进行交易,完成银行业务的办理。

 

银行业务,无论是在自动柜员机上办理,还是在银行窗口由柜员(银行窗口工作人员叫柜员)办理,完全是一样的。柜员与自动柜员机都是采集银行业务信息输入电脑,并通过网线传递到后台,实际办理银行业务的都是后台。柜员与自动柜员机都是要在收到后台发出的指令之后,才会收进客户的存款和支出客户的取款。打个比方,后台的作用相当于银行的大脑,柜员和自动柜员机相当于银行的手。没有后台发出的同意指令,银行中无人能代表银行实施收进存款和支出取款的行为。他们不同的地方,窗口柜员不能24小时工作,自动柜员机则可以。

 

即使某银行全省的工作人员都在自己的工作岗位,窗口的电脑和自动柜员机都正常,一旦后台停止运行,该银行在全省都是瘫痪的,所有营业网点和自动柜员机都不能办理银行业务。相反,所有的银行工作人员都下班了,自动柜员机照样能够办理银行业务。其中的秘密就是后台在机房里24小时自动运行,与自动柜员机配合,随时能把客户要存的钱收取进来,随时能把客户要取的钱支付出去。

 

客户到银行存款、取款,与银行进行交易,代表银行参与交易过程的,是后台(大脑)+前台(手)的组合体,相当于电子代理人。在交易过程中,电子代理人代表银行,成为交易主体,负责处分银行资金,控制了银行资金的进与出。对于银行工作人员而言,没有必要,实际上也不可能掌握所有客户的存款账户变动情况,因为数据量过于庞大,他们日常工作只关心后台汇总的数据是否账账相符,账实相符。因此,现代银行实际是由电脑或者叫做电子代理人控制的,不是由人控制的。正因为如此,“机器知道,人不知道”是正常状况,是现代银行的运行模式。“机器知道”就代表银行知道,这是不以个人意志为转移的,能够颠覆传统银行观念的十分重要的客观事实。

 

三、在自动柜员机上取款行为的组成及意义

 

在自动柜员机上取款的行为,实际分为三步,一是客户插入银行卡,自报账户和密码,并输入取款数额即“金额字符串”(见最后的附注),发出取款请求;二是银行后台收到自动柜员机传来的信息后,核对客户账户密码和存款余额,当取款请求小于存款余额时,无条件运行银行取款程序,从余额中扣除此次取款数据,并向自动柜员机发出支付指令;三是自动柜员机收到后台的支付指令后,执行指令而吐出现金给客户并显示“交易成功”。这三步有机地结合在一起,构成客户取款行为。

 

第一步的意义是,客户向银行报告账户密码并进行要约的行为,发出的是取款请求;第二步的意义是,后台对客户的取款请求与对应的账户核对,账户余额满足取款要求就同意取款(承诺),并向前台柜员机发出支付取款指令。第三步的意义是自动柜员机执行后台付款指令,履行合同并支付。

 

这里有必要重点介绍取款的第一步,也是客户在取款过程中最主要的行为。客户插入银行卡,输入密码,选择取款项。当客户选择手工输入取款数额即“金额字符串”时,自动柜员机需要将客户输入的“金额字符串”转换成整数型数据,接着将该整数数据除以100计算商值,然后判断商值是否为整数,如果不是整数,就不符合取款要求,自动柜员机则要求客户重新输入,如果是整数,则满足取款要求,接着继续运行程序进一步收集客户的取款信息,向后台报送。

 

当柜员机计算得出的商值为整数时,这个整数数据还有一个重要用途,就是在柜员机支付取款时,可以用来确定柜员机数钱的次数。在设计柜员机运行程序时,正是这样设计的,这个商值大小是取决于客户输入的取款数额即“金额字符串”。

 

四、依据主要证据分析得出许霆案全部案件事实

 

实际上,广州市商业银行提供了许霆的《账户流水清单》及涉案柜员机自身的《完整流水记录数据》和《涉案账户取款交易明细》,已经把全部案件事实都表达清楚了,只是这种表达方式非常特殊,其中的内涵不容易为大家所理解,甚至被人误解而产生误判。

 

客户的《账户流水清单》是由后台记录的,是后台运行取款、存款程序后形成的记录,内容是客户与银行之间进行交易的详细情况,这些内容体现了双方的共同意思。许霆《账户流水清单》显示,在案发时,许霆与银行进行过171次取款交易,其中167次交易1元,4次交易2元,合计取款交易175元。

 

涉案柜员机自身的《完整流水记录数据》和《涉案账户取款交易明细》是由自动柜员机记录的,内容是柜员机的详细工作情况,其中包括为许霆提供查询及支付取款等内容。涉案柜员机流水记录显示,在案发时,自动柜员机向许霆支付取款171次,其中有167次支付取款1000元,有4次支付取款2000元,合计支付取款175000元。

 

后台的取款交易记录与前台柜员机的支付取款记录,存在着一一对应的关系。前者是原因,后者是结果,没有后台的取款交易,就没有前台的支付取款。每次取款交易,后台都需要运行取款程序,从账户余额中扣除取款数额,并且,一旦扣除,银行必然要履行合同,即时进行支付,所以运行取款程序最后一步,就是向柜员机发出同意支付的指令。自动柜员机的支付取款记录,是前台柜员机在收到后台同意支付指令后,对指令进行执行的情况记录。这个记录说明每次支付取款都是银行同意后付给客户的。许霆案中的涉案柜员机的流水记录已经明白无误地告诉大家,许霆所有的钱,都是银行同意支付的。

 

通常情况下,后台与前台的记录是一致的。在后台交易记录与前台支付取款记录之间出现不一致时,由于后台运行的取款程序,是代表了银行的意志,前台只是被动的执行者,自然要以后台的记录为准。比较许霆案的上述两份记录,后台交易记录与前台的支付取款记录出现不一致,后台交易记录为1元或2元,可是前台柜员机支付取款记录为1000元或2000元。

 

两者出现不一致的原因,经查明是柜员机本身程序升级后,新版程序将金额表示方式,由原来中文格式改变为国际通用的带千分符的格式,程序中与之有关联的部分没有全部协调好,从而存在程序瑕疵。当许霆输入“金额字符串” 即“1000”或“2000” 时,本来因账户余额不足,是不可能被银行同意取款并支付兑现的。可是,当程序运行到——将带有千分符的“金额字符串”转换成整数型数据——向后台报送时,“金额字符串”在转换过程中,因遇到千分符而自动截断后面的字符,结果将4位的“金额字符串”转换1位的整数数据向后台报送,例如,“1,000”变成整数1,将“2,000”变成整数2,许霆的取款请求就被篡改了,后台收到篡改了的取款请求后,因许霆的账户余额有176.97元,大于被篡改的取款请求数据,符合银行取款条件,后台运行取款程序同意取款,并向自动柜员机发出同意支付指令。可见,正是程序上的瑕疵使得不可能被同意的取款请求,变成了可以实现的新的取款请求。需要强调的是,许霆请求取款1000或2000,后台同意取款1或2,那么,取款1或2是双方共同意思表示,仍然具有实际意义,符合取款交易规则,属于合法有效的交易行为。

 

自动柜员机作为完全被动的执行者,只有收到后台的同意支付指令,才可能启动自身的核心部件,即具有付款功能的机械传动部分。换句话说,柜员机付款,完全是由代表银行意志的后台电脑控制的。但是,后台的同意支付指令,仅仅只负责柜员机的机械传动部分的启动,机械传动部分具体进行数钱操作的次数,并不是由后台发出的同意支付指令决定的,而是由许霆在自动柜员机上输入的“金额字符串”决定的(前面已有阐述)。由此可见,自动柜员机执行支付指令的过程,在程序设计上具有两个独特之处:其一,在是否支付的的问题上,是由后台的同意支付指令决定的;其二,在确定支付的具体数额问题上,又是由许霆输入的“金额字符串”决定的。在没有存在程序瑕疵时,这样的决策过程是没有问题的,但是,一旦出现许霆案中的程序瑕疵,在向后台报送取款交易数据时,就会产生数字截断,客户的取款请求被篡改成新的取款请求向后台报送,后台运行取款程序,向前台发出同意支付指令后,前台执行支付指令时,并不按后台同意扣账的1或2进行支付,而是按许霆输入的1000或2000进行支付的,这样银行在支付取款时,就会发生给付错误,多余付钱给许霆。

 

综上,许霆案的完整案件事实是:许霆与银行进行了171次取款交易行为,双方合法有效交易额为175元,但是自动柜员机在执行交易支付时,产生给付错误,付给许霆175000元,多给了许霆174825元。

 

五、许霆行为性质及许霆案错误原因分析

 

在一次完整的取款行为中,许霆的行为是插入银行卡,接着输入密码,然后选择取款选项,输入取款金额字符串“1000”或“2000”。当自动柜员机吐钞时,接收吐钞。许霆的行为就是这么多。这里最重要的是输入取款金额字符串“1000”或“2000”的行为,这个输入行为的涵意,是向银行发出取款1000或2000的请求,因此,许霆的行为的主要是向银行发出要约,要求订立新的储蓄合同。

 

许霆行为的主观方面,在取得第一笔1000元时,很快就发现取1000元,实际只扣账1元的事实,也就是说拿1元换银行1000元,这个发现让许霆产生了连续进行恶意交易的主观故意,这是没有疑问的。在客观方面,在恶意交易动机的驱使下,一直将取款交易进行到极限,余额仅1.97元为止(因余额不得小于1元)。从主客观方面看,许霆的行为就是恶意交易,并因恶意交易获得不当得利。

 

前面已经阐述清楚,柜员与自动柜员机性质上是一样的,都是后台的被动执行者。假如不是自动柜员机出现错误,而是柜员出现错误,例如某客户取款10000元,因柜台电脑键盘或柜员输入的原因,实际报送到后台的只有1000元,后台同意取款向柜员发回指令后,柜员实付1万元给客户,客户发现这个秘密后,自己和家人又在当天的不同时间共取款20次,每次都是10000元,报送到后台同样都只有1000元,柜员每次都实付客户1万元,结果21次共多付189000元。这种情形和许霆案十分相似,发生的可能性都是一样的小。盗窃论者是否也认为这种情况成立盗窃罪?

 

一旦弄清楚了许霆案的全部事实,盗窃说就自行终结了,其主要错误有如下几个方面:

 

错误一,固守传统观念,认为银行是由人控制的,银行资金的经手人只能是自然人。实际上,在现代银行中,银行是由电脑控制的,电脑代表银行,银行柜员只是电脑的一只人手,自动柜员机只是电脑的一只机械手,而且,电脑是银行资金的经手人,可以实施处分银行资金的行为。传统观念完全脱离实际,与客观事实不符。

 

错误二,认为自动柜员机出故障,就不能代表银行的意志,相当于一个人神经错乱。实际上,涉案自动柜员机的故障情况是:当取款数额在1000元以下时,不会发生错误,代表银行的意志;当取款数额在1000元以上时,就会发生给付错误,但总体上仍然代表银行的意志。本案中柜员机因故障发生给付错误时,只是在数额上不能代表银行的真实意志,但是,在决定是否支付取款的关键问题上,仍然是代表银行意志的。涉案柜员机的情况与一个人神经错乱的情形有本质的区别,认为故障柜员机不能代表银行意志的观点,也与客观事实不符。

 

错误三,将许霆在柜员机出现故障的情况下的取款行为,认为是违背银行意志的窃取行为。首先,与人脑神经错乱不同,柜员机电脑永远不会自行违背自己意志,因为柜员机电脑中不可能预先设置有违背自己意志的程序,其次,许霆输入的只是几个数字字符,这些字符不能成为控制柜员机的程序指令,不可能控制柜员机实施违背银行意志的行为,因此,认为故障情况下许霆的取款行为是窃取行为,纯属虚构,没有任何事实依据。

 

错误四、既然认为许霆的行为是盗窃,又认为每次取款1000元或2000元的行为中,被扣账的1元或2元是合法的存款,多得的999元或1998元是非法的赃款,一个行为既是合法的交易行为,又是非法的窃取行为,对一个行为作出既是又非的相互对立的两种法律评价,在形式逻辑上是讲不通的。

 

值得一提的是,许霆案中的程序瑕疵引起的故障情况,在柜员机程序员的帮助下,是很容易在任何一台自动柜员机重复演示的。不仅如此,如果此台柜员机还有存款功能,那么我们还可以进行逆向演示。假如许霆取款后,有一个客户就来此柜员机上存款,存款数额正好也是17.5万元,客户每次存入1万或5千,基于对银行的信任,钱存完后也不查看余额就离开了。这位客户存入的17.5万元,因为相同的程序瑕疵,实际存入银行卡仅175元钱,另有174825元被自动柜员机收进钞箱里,成为银行的现金溢余。客户在完全不知情的情况下,自己的钱少了174825元,与许霆多得钱数目一样。一个是银行长款,一个是银行短款,如何追究银行方面的刑事责任呢?

 

总而言之,许霆案盗窃说的观点,违背客观事实,是错误的。

 

                                     2011年4月1日

 

附注:在柜员机上输入取款的数字,例如1000,电脑只能识别为4个数字字符组成的“金额字符串”,要让这种金额字符串“1000”转换成整数1000,则需要在程序中使用特定的命令才能实现。金额字符串“1000”,带有千分符后,就是“1,000”



本文作者系一名湖南的检察官。将此文贴在此处,请大家多提宝贵意见,本人将有问必答。上述论文全部依客观事实写成,如有那位同仁能指出其中有不符合客观事实之处,本人悬赏3000元。本人邮箱:cbxyl318@126.com