【科普】SWIFT到底是什么?

发布时间:2020-09-01 07:40  

小编曾经不止在一个地方看到、不止从一个从业者嘴里听到说SWIFT是「跨境支付系统」、「银行结算系统」,有一次一位大哥还引经据典说的有鼻子有眼的,我这捍卫常识的正义感当时就上头了,不顾安危挺身而出制止了这起蓄意带歪人民群众知识路线的反动行径,乘其不备出其不意给他斟满杯中酒堵住了大哥的嘴,引得周围群众一片欢呼和称赞……今天我们就来好好聊聊SWIFT到底是什么?看完这篇文章,下次吹牛的时候就不会露怯了。

前世今生

SWIFT是Society for Worldwide Interbank Financial Telecommunications的缩写,翻译成中文叫做「环球银行金融电讯协会」。看名字就知道,他是个搞通讯的,还冠冕堂皇的是一个非盈利性组织。

另外,SWIFT官网上是这么用中文介绍自己的:SWIFT为社群提供报文传送平台和通信标准,并在连接、集成、身份识别、数据分析和合规等领域的产品和服务(我一字未改,这多语言做的……语句都不通顺,好在不影响理解);用英文则是这么介绍的:SWIFT is a global member-owned cooperative and the world’s leading provider of secure financial messaging services。

undefined

够清晰了吧,SWIFT对自己的介绍里一个字都没提到支付、清算、结算(当然它曾经也提供过一些Netting服务,比如Accord,不过2017年就关了),SWIFT是一个为金融机构之间提供信息传递服务的公司,是信息的搬运工,Messaging Services,再说白点,SWIFT就是一个给银行间沟通用的「聊天工具」,好比QQ、钉钉、旺旺,你琢磨琢磨。

银行间支付、清算这是谁的活儿?是清算机构的活,有兴趣了解清算机构请看我们的系列文章《XX国家/地区的支付清算体系》。

弄清楚了定义,我们再来想一想为什么会出现SWIFT这样的机构?这事啊,还得从金融中介(银行)萌芽的那一天说起,话说在公元……哈哈,不开玩笑了。

在实物货币时代,早期的银行和银行之间其实是没有货币流通的需求的,对银行的客户来说银行可能更多的起了个「保险柜」的作用。你想啊,在那个时代,交通不发达,人员流动和货物贸易必然就只在一个很小的范围内展开,你有啥动力和需求把你的大金币从村头的「保险柜」挪到村尾的另一个「保险柜」呢,完全没必要嘛。

但是随着交通技术的不断发展,贸易就在更广阔的地理范围内开展起来了,这时候你做个生意,总不能带着大金币到处溜达吧,多不安全,所以银行们就想了个办法,说我们互相缔约,并且发明一种凭据,客户出具我们这个圈子里任何一家的这个凭据咱就给他兑现,回头我们之间再用这个凭据慢慢的结算,这个凭据就是支票。

随着交通技术的进一步发展,人类居然可以跨国贸易了,这个支票也不行了,为什么呢,毕竟他是个物理的纸片儿啊,我得飘洋过海跑到你那里,让你看到这纸片儿你才给我兑现,太慢了,万一我这钱是救急用的呢,万一我半路上把这纸片儿搞丢了呢?

咋办?船到桥头自然直,恰逢这个时候通讯技术发展起来了,19世纪,遥距通信的第一种手段——电报出现了。银行一看高兴的口水都流出来了,黑科技啊,我行的客户如果要转一笔钱去你行不就方便了么,我拍个电报给你:兄弟,我要给你一笔钱,请先入账到你们银行的XXX名下,回头我俩凭这份电报结算,么么哒……这就是Telegraphic Transfer,我们今天常听说的「TT汇款」就是这个意思,只不过今天银行已经不再使用电报来通讯了,保留这个叫法可能是为了向历史致敬吧。

undefined

但是,Telegraphic Transfer有几个巨大的缺陷:

  • 不安全。你想啊,谍战片都看过,里面不是总破译人家电报么,我要是截获了汇款电报的信息,把收款人信息篡改成我的再发出去给你,你不就被坑了么。
  • 太低效。早期的银行可能只为商业公司服务,一天反正也拍不了多少个电报,拍不过来多招点人就是了,但是随着社会的进步,自然人对银行的需求和依赖也日渐增多,你倒是想赚这个钱呢,可是忙不过来啊,靠堆拍报员人数去搞,既搞不定也不划算。
  • 出错多。电报毕竟只是一个用来传递非结构化信息的载体,每家银行可能发出来的信息长得都不一样,收到之后得靠人工去理解和处理,而人肯定是会出纰漏的。
  • 不放心。电报这个东西看不见摸不着的,万一哪天我先给你兑付了,找你结算的时候你不认账耍赖怎么办?

虽然有缺陷,但是没有更好的办法,那就先将就着用呗……

1960年代的一天,满室霞光、青云缭绕、紫气团团,惊天一声雷,黑科技腾云而至——计算机技术和网络通讯技术。

计算机被引入到银行业,代替了人工去做大量固定的、重复的、机械的工作,计算机干活要比人可靠高效多了;网络通讯代替了电报通讯,传输的数据格式更丰富、信息量更大、安全性也更好了。

和几十年前遇到电报时一样,银行们再一次流下了饱含深情的……口水。

于是忍受不了电报的欧洲的银行家们就坐在一起说,我们要把「计算机+网络」好好用起来,搞一个东西,让我们之间的通讯更安全、更快速、更自动化,这样我们不就能把35岁以上的拍报员都开除掉然后开开心心的赚更多的钱了么?

说干就干,1973年,几家来自欧洲的银行共同成立了一个组织,就是我们今天的主角:SWIFT,总部设在比利时的布鲁塞尔。三年后,SWIFT网络(也就是SWIFTNet)正式上线运营,替代上一个时代的Telex通讯模式,并且开始实践一个叫做SWIFT MT的通讯标准,也就是我们今天所知道的SWIFT的FIN报文格式,都叫MTXXX,当然SWIFT后面陆陆续续又发布了其他的几种消息传输服务,比如InterAct、FileAct、WebAccess等。

直到今天,SWIFT服务的范围涵盖了200多个国家和地区,为超过11000家金融机构提供服务。这个数字有多恐怖呢?目前全球大概有233个国家和地区,大大小小的银行加起来大概25000个,规模在腰部以上的银行几乎全部接入了SWIFT。

SWIFT为什么有这么大的号召力呢?因为他帮银行解决了两个重要的问题,一下子极大的提升了整个银行业的效率(时间就是金钱,效率就是生命,感受一下):

  • 有了SWIFT,银行间不需要两两互相去对接通信了,统一接入SWIFT,复杂度实现了指数级的降低
  • SWIFT定义了很多标准,让银行间的通讯格式统一了,大家在同一个语境下传递信息,消除了理解上的歧义

SWIFT做的事情和我国秦朝的「书同文车同轨」其实是一个道理,先把大家之间认知的障碍消除掉、理解的门槛降下去,用同一套语言系统和度量规范,大家才能更好的融合和发展。

运作机制

好了,说到这故事就讲完了,但我们毕竟是一家有追求的科技公司,所以还是要装模作样的分析一下SWIFT网络到底是怎么运转的。

既然说SWIFT制定了金融机构间的通讯标准,那他的消息模板(报文)支持哪些场景呢?经过抽象和沉淀主要有9大类:

  • 客户汇款Customer Transfer
  • 银行头寸调拨Financial Institution Transfers
  • 外汇买卖和存放款Foreign Exchange
  • 托收Collections,Cash Letters
  • 证券Securities
  • 贵金属和辛迪加Precious Metals and Syndication
  • 跟单信用证和保函Documentary Credits and Guarantees
  • 旅行支票Traveler’s Cheque
  • 银行帐务Bank Statement

每一大类报文下面又分很多小类,每一类报文都有严格的格式要求、互斥条件等等等等,巨细无比、极其庞杂、特别烧脑、非常枯燥,有兴趣的可以研究研究,保证看的得死去活来、头发和体重齐掉。本文中我们只聊客户汇款(MT1XX)这一个场景,也是SWIFT网络最重要的使用场景。

一个典型的MT103(客户汇款)报文如下图所示:

undefined

简单讲,你可以把每一个SWIFT的报文想象成一封邮件,但是邮件的格式是定好的:谁发出的、谁收、中途要中转给谁、交易的类型是什么、交易的明细(金额、币种、清算信息、收付款人信息)、费用等等,上面的每一个字段都可以对照SWIFT的文档找出其语义(比如71A表示Details of Charges,即收费方式,上图就有注释,SHA表示收付款人共同承担),有兴趣的小伙伴们可以翻译出来看下,并不难。

我们知道银行间Fund Transfer是一个特别复杂的问题(如果还涉及到不同国家、不同币种、不同时区那就更复杂了),一笔资金要想正确的发生流转,有两个条件(这俩核心条件缺一不可):

  • 信息流。也就是我怎么告诉你我要给你钱,咱们今天的主角SWIFT就是干这个的,但显然并不是所有银行的所有信息流都会走SWIFT,只是部分场景会用,原因也特别复杂,我们在这里就先不展开了。
  • 资金流。也就是我怎么真实的把钱给到你,这就是我们公众号系列原创文章里面一直在聊的《XX国家/地区支付清算体系》里面的「清算系统」干的事儿。

理论上来说,只要是银行间的通讯,都可以走SWIFT网络,不仅仅是跨境场景(只不过跨境场景下用的最多),同一个国家内的银行间通讯也可以走SWIFT网络(还记得上一篇的新加坡么),下面我们就由浅入深,分别看一下SWIFT在几种场景上的具体流程(我们只讨论汇款的场景)。

场景1

假设A、B两家银行是在一个国家(时区相同),transfer的是同一种货币,而且两家银行可以通过同一个清算系统进行资金清算,这是最简单的模式,两家可以直接通讯、直接清算。

场景2

假设A、B两家银行是在不同的国家(时区同不同无所谓),transfer的是同一种货币,但是AB两家银行之间并没有直接的合作关系,A银行的客户x要汇款给B银行的客户y。

A、B没有直接的合作就意味着两家之间没办法直接打通「资金流」,这时候就需要双方借助「代理行」或者「中转行」来完成。

「代理行」啥意思呢?就是找一家和对手方在同一个国家的银行做自己的代理行,在代理行开个户,来和对方进行资金的交收。这时候你可能会奇怪,都找当地的银行做代理行了,为什么不直接合作呢?哈哈,这里比较绕,仔细看,其实找一家代理行的主要目的是为了能够和对手方银行在同一个地方、用同一个清算系统去做实际资金的交收,也没说A银行不能找B银行做代理行啊,对吧,玩法很多,手段不限。

通常呢,对于不差钱的银行来说,最简单的代理行就是自己去对方的国家开个分行,让分行和对手行缔约,代理行是自家分行,多放心,是不是?差钱的银行呢,就找自己关系好信得过的同行来做代理行咯。

如此一来,通过引入代理行,资金清算在付款行/收款行本地用当地的清算系统就搞定了,两家的资金流就打通了。

「中转行」又是啥意思呢?其实原理和作用上和代理行差不多,但是有时候代理行方式是搞不定的,比如说A、B两家银行所在的两个国家之间并没有金融上的合作关系(比如没建交甚至是敌对关系),这时候你有钱去开分行人家都不让你去,也不允许你到人家国内来搞什么代理行,这时候怎么办呢?有办法,到一个第三方国家找一家银行C(银行C就是所谓的中转行),A、B银行都在C偷偷摸摸的开户、交收资金,这样也能打通资金流。现实中的场景会复杂很多,这里只是举一个例子而已。

总之「代理行」、「中转行」两种方法各家银行选择自己喜欢的方式去运用就行了,没有一个刻板模式。

好,资金流打通了,我们再说回到信息流,这里一下子多出来个代理行,显然通讯的链路就复杂起来了,一笔transfer,是A和B直接通讯呢?还是A->代理行->B呢?答案是SWIFT都支持,这就涉及到SWIFT汇款报文发送的两种模式:Serial模式和Cover模式。


Serial模式字面的意思就是串行消息,在汇路上的银行间一个个传递下去,资金交收处理完了传给下一个,最终到达收款行,简单的流程如下图所示(图中我们假设是收款行使用了代理行去收款,其实,付款行用代理行去付款也是一样的原理,当然现实中的情况会复杂很多,比如双方都用代理行,代理行还不行又加中间行等等,为了方便理解,我们简化了模型):

Cover模式简单理解就是并行消息,A先给B发一个提醒消息(MT103报文,即客户汇款)说我已经给你打钱了,但是B这时候还没有真的收到钱,等汇路上的其他银行处理完了,B又会收到代理行发来的一条消息(MT202 COV报文,即银行头寸划拨)说钱我已经给你拨过去了,这时候B才会真正的给y客户入账。


当然实际操作中B有可能在收到A的提醒消息后马上就给y客户入账了,这牵涉到很多因素,比如B很信任A,再比如说如果这笔汇款反正也没多少钱,就先入账给客户算了,提高提高客户满意度。但是Cover模式也会给收款行带来一些困扰,因为它不像Serial模式一镜到底,大家发的都是MT103报文,报文内自带清算信息。Cover模式下,有的代理行就很讨厌,他不按SWIFT定下的套路出牌,最后给你不是发的MT202 COV报文,他给你来个MT910(贷记证实)或者MT950(对帐单),这时候你还得去对,哎,好麻烦……

Cover模式的简单流程如下图所示(我们简化了模型方便理解):


通信安全在软件的层面上我们说到了SWIFT,在硬件上道理也是一样的,谁控制了通信基础设施,谁就拥有了另一种意义上的核武器,看官细品吧。

好了,我们大概了解了SWIFT的前世今生和其运行的基本原理,也知道了SWIFT通信机制的冰山一角,当然还有很多值得聊的东西,比如SWIFT Code(又叫BIC,Business Identifier Code),再比如SWIFT gpi到底是干啥的,等以后有机会再写吧。