用ripple区块链进行全球汇款业务的研究

ripple前阵子拿到了数以亿计的C轮融资,据说是目前区块链公司中融资成绩最好的。所以当时对其进行了研究,如下是研究的记录和思考:

 

首先,ripple这个领域确实是区块链可能取得突破的领域。

一,为啥搞死swift是ripple的一个很好的选择

 

区块链主攻:

1/互联网前就存在

2/互联网后没有被取代

3/服务差价格死贵

最好是对时效要求高的,跨地域的,这样才能发货价值网络的作用

 

有啥是互联网出现前,全球间互联就存在的?

 

swift算一个,很古老的但是费用贵的网络

westUnion   1000美元要10元

Moneygram  1000美元要10元

swift很坑爹 又慢又贵

visa直转,区域有限,但是便宜,又是只有如上的一半

 

为啥互联网出现后,其没有被取代?? 因为互联网最早只能传递信息,不能传递价值(money)

用互联网来传递价值,这个就是区块链能做好的事情

 

这么说大宗商品交易也可以,或者是一些国际贸易融资相关的东西(信用证,保函等等) 

 

 

 

二,ripple安装体验

废话不多说,实际动手试试ripple是怎么样的

 

ripple在ubunt的客户端的安装:(包括系统要求以及之后的安装过程,ripple主要在centos上比较好装,unbutn上要安装rpm)

https://ripple.com/build/rippled-setup/#system-requirements

 

生产上部署只有 centos redhat ubuntu(要求是15.04之后的版本)这几种;但是开发环境可以是macos windows 绝大多数linux

 

$ sudo apt-getinstall yum-utils alien

$sudo rpm -Uvhhttps://mirrors.ripple.com/ripple-repo-el7.rpm (很快)

$yumdownloader --enablerepo=ripple-stable --releasever=el7 rippled (这个很慢,而且会30秒检查速度,建议用v*n)

 

$ sudo rpm --import https://mirrors.ripple.com/rpm/RPM-GPG-KEY-ripple-release && rpm -K rippled*.rpm

 

sudo alien -i --scripts rippled*.rpm && rm rippled*.rpm

sudo systemctl enable rippled.service

sudo systemctl start rippled.service

 

 

任何人都能参与ripple,为全球间金融汇款助力!!(但是像是美国政府那样上次封锁swift,在ripple上就做不到了)

服务器种类:

1/stock server : full size

2/validator server

3/stand alone 测试服务器

 

 

 

三,ripple的业务合规性研究

 

ripple转账的业务合规问题:(extremely important to banks)

1/反洗钱

2/反欺诈

3/制裁执行(像上次伊朗事件)

4/人行合规报告

 

可以看一下ripple官网描述的ripple网络的网络拓扑:

注意,银行接入的时候,需要前置:Ripple Connect 提供手续费等完整信息

             外汇做市商接入的时候,需要 Ripple stream 提供报价等信息

ripple的转账分为两种:

一种是像比特币那样用钱包直接转账,一种是经过银行或者网银代理,主要适用于“有法律合规反洗钱等要求、收付款人不都具有ripple地址、对收费汇率等要求透明”的场景。如下:(最关键的是引入了做市商和建立影子账户)

 

 

 

1.  场景

美国的Alpha公司汇100欧元给欧洲的Beta公司;

Alpha公司在美国的Dollar银行开有美元账户,账户中存有5000美元;(结果是公司账户里面钱少了 5000-100×汇率)

Beta公司在欧洲的Euro银行开有欧元账户,账户中存有3000欧元;(结果是公司账户里面钱多了,3100欧元)

2.  资金铺垫阶段

1)做市商通过本地清算系统向银行注入初始资金

做市商通过美国的本地清算系统Dollar注入100000美元、通过欧元区本地清算系统向Euro银行注入200000欧元。注入资金后Dollar银行账本系统、Ripple分布式共享账本系统和Euro银行账本系统三个账本系统中的记录的资金所有者情况如下图。

 

Dollar银行账本中记录了:

   Alpha公司账户存有5000美元,

  做市商账户存有100000美元(引入做市商就避免了自己换汇,高明,外汇转换是做市商完成的,和本地的Dollar银行没有关系了),

  费用账户存有0美元, 

     Dollar银行在Ripple共享账本中影子账户对应的真实账户Coll的资金为0美元;(实际上就是管理账户的概念)

Euro银行账本中记录了:Beta公司账户存有3000欧元,做市商账户存有200000欧元,费用账户存有为0,Euro银行在Ripple共享账本中影子账户对应的真实账户Coll的资金为0;

Ripple共享账本中记录了:Dollar银行在Ripple共享账本中影子账户为0美元,Euro银行在Ripple共享账本中影子账户为0欧元,做市商在Ripple共享账本中美元和欧元账户分别存有0元。

2)做市商要求银行向Ripple网络注入资金

做市商向Dollar银行发出支付,要求Dollar银行向其在Ripple中美元账户注入50000美元;要求Euro银行向其在Ripple中的欧元账户注入40000欧元。注入资金后Dollar银行账本系统、Ripple分布式共享账本系统和Euro银行账本系统三个账本系统中的记录的资金所有者情况如下图。

 

Dollar银行账本中记录了:Alpha公司账户存有5000美元,做市商账户存有50000美元,费用账户存有0美元, Dollar银行在Ripple共享账本中影子账户对应的真实账户Coll的资金为50000美元;

Euro银行账本中记录了:Beta公司账户存有3000欧元,做市商账户存有160000欧元,费用账户存有为0,Euro银行在Ripple共享账本中影子账户对应的真实账户Coll的资金为40000欧元;

Ripple共享账本中记录了:Dollar银行在Ripple共享账本中影子账户为-50000美元(表示Dollar银行承诺做市商在该银行存有50000美元),Euro银行在Ripple共享账本中影子账户为-40000欧元(表示Euro银行承诺做市商在该银行存有40000欧元),做市商在Ripple共享账本存有中50000美元(表示该50000美元存放在Dollar银行托管)和40000欧元(表示该40000欧元存放在Euro银行托管)。

就像真空能,从0分化成了正能和负能

附:中国外汇做市商名单(四大行都在里面,也有外资行)   http://forex.hexun.com/2010-12-30/126513745.html

 

 

3.  发起支付业务阶段

Alpha公司向Dollar银行发起给Euro银行Beta公司支付100欧元的汇款请求(1)。Dollar银行收到汇款请求后,先通过自己的Ripple Connect连接Euro银行的Ripple Connect,提交相关汇款信息以及相关查询信息(2)。Euro银行根据Dollar银行提交的请求检查:Beta是否是其客户、在当地监管条件下是否支持直入账、是否满足反洗钱等要求,是否还需向汇款行申请进一步的汇款人信息;检查不通过,则返回失败应答;检查通过则返回基于双方核心系统的日期等因素计算出的费用、汇款人的进一步详细信息(3)。



   Dollar银行收到Euro银行应答后,通过Ripple Connect找到能提供美元对欧元汇率的的做市商(流动性提供者),并申请获取汇率(4)。做市商返回汇率105欧/120美元(5)。Dollar银行再加入自己的费用5美元,形成最终的明细(收款行费用、汇款行费用、汇率)提供给Alpha公司,由Alpha公司确认是否可以接受相关的收费和汇率(6)。


 

Alpha公司确认可以接受相关费用和汇率(7)。Dollar银行通过Ripple Content向做市商、收款银行Euro银行发出确认通知,确认可以基于现在的收费、汇率开始交易,同时把Euro在(3)步中向Dollar请求的信息发给Euro银行(8)。收款行Euro银行根据收到的更详细的信息进行反洗钱确认,若可行就继续,否则终止(9)。在(8)(9)都确认后,Ripple网络向Dollar银行Ripple Content、Euro银行Ripple Content和做市商Ripple Stream发出锁定该笔交易的信息 (10/11)。具体流程见下图。


 

Dollar银行Ripple Content收到(10)确认后,开始在Dollar银行会计系统中记账,借Alpha125美元,贷记费用5美元,贷记Dollar Coll账户120美元(12);记账后的账户余额情况请看下图中的右半边。同时向Euro银行Ripple Content发出Dollar银行已经记账成功信息(13)。

 


Dollar银行的Ripple Content发出信息告知做市商可以开始记账,然后做市商在Ripple共享账本中记录:借Dollar银行影子账户120美元,贷记做市商在Ripple中账户120美元;借记做市商在Ripple中账户105欧元,贷记Euro银行影子账户105欧元(14);记账后的账户余额情况请看下图中的右半边。做市商在Ripple共享账本中完成记账后,通知Dollar银行和Euro银行的Ripple Content,Ripple共享账本的账务已经记账完成(15)。
 

Euro银行收到做市商的结算通知后,在Euro银行自己的会计系统中进行记账,借Euro银行Coll账户105欧元,贷记费用5欧元,贷记Beta客户账100欧元(16)。记账后的账户余额情况请看下图中的右半边。然后通过Euro银行的Ripple Connect向Dollar银行发送贷记客户账成功的信息(17)。

 

 

 

 

 

 

 

总结:

 

1/外汇转换对双方的银行都是透明的,双方的本地银行只关心和客户打交道的事情(但是本地银行要接入ripple网络,谈好做市商,开立影子账户)

2/做市商管汇率,而且有竞争机制,“天然的去中心化”已经有这样的机制了

3/影子账户其实是零余额账户,汇兑活动不会对双方本地银行的资产负债表总额产生影响,而且是有进有出,这些备付金可以用好久

4/有实际的资金转移吗?没有,都是做市商那边左口袋进,右口袋出