彭自顺 谢环球 万志丹
文思海辉技术有限公司
摘要:区块链技术经过两年的迅猛发展,在金融领域的证据固化、积分管理、慈善链条跟踪,甚至于跨境支付等方面的不断探索,极大的丰富了区块链的应用场景,扩展了区块链的生态。作为银行对公业务的主流,贸易融资领域自然会是区块链将来应用的一个重要场景。经过探索,在贸易融资领域中进行区块链的应用,将会对其造成革命性的变化,但当前仍在区块链安全方面存在很大的挑战。文思海辉区块链研发人员通过对现有贸易融资产品的分析研究,开发出了区块链贸易融资产品,并将区块链云应用部署在基于IBM LinuxONE的IBM BAAS(BlockChain as a Service)上来实现高安全区块链网络。
在区块链快速发展的这两年中,金融业的应用,特别是银行的金融交易应用一直备受关注。如何将银行的金融产品与区块链结合起来,充分发挥区块链的特性,解决、改善当今银行中心化应用的各项问题,为银行的业务增长带来新动力一直是金融软件开发者们所苦思冥想的。文思海辉区块链研发人员通过对现有贸易融资产品的分析研究,开发出了区块链贸易融资产品,并将区块链云应用部署在基于IBM LinuxONE的IBM BAAS(BlockChain as a Service)上来实现高安全区块链网络。本文尝试从业务场景选择及技术框架两方面进行解析,分享在产品开发中总结出的相关经验,为区块链研发者们提供一个参考思路。
贸易融资是银行的重要业务之一,是在商品交易中,银行运用结构性短期融资工具,基于商口交易中的存货、预付款、应收账款等资产的融资。自偿性是贸易融资的重要特点之一。我国银行在经营贸易融资上经过近二十余年的发展已产生了丰富的品种,为国民经济的发展提供了大量的资金血液。
银行常见的外贸贸易融资产品有:
银行常见内贸贸易融资产品有:
除以上品种外,国际保理、国内保理通过与供应链的多种衔接也成为日益重要的贸易融资手段。
因贸易融资的自偿性特点,每一笔业务的办理都必须严格核定各项业务凭据,做好客户的各项资信调查,货物贸易项下还需了解市场情况、运输情况、储存情况等。而贸易融资普遍存在单笔金额较小,而总笔数较多的特点。手续多、流程长、办理复杂使得贸易融资从业者一直战战兢兢,一笔、两笔出现问题,经营单位一年就白忙活了。目前银行在为客户办理贸易融资业务时,对于客户情况、贸易背景的了解、业务的风险控制以及业务办理完成后的贷后管理一般是通过“人”进行情报资料的收集、对比验证信息、现场实地考察与监督。基于贸易本身涉及行业面广,交易链条长、结算方式多样,银行对于各类贸易融资的业务管理和风险控制,写在规章制度上易,落实在实际操作环节难。
区块链的出现,通过数字加密、点对点通信、分布式共识等技术将贸易各环节“可信”的联接到一起,使得贸易双方及中间参与者真实信息能够快速、透明的交换,并借助智能合约这一工具推进交易的快速执行。
一个完整区块链贸易融资平台,从贷前调查、贷中审核、贷后管理各个方面均能够通过对贸易各环节的在线全流程管理、实时掌控而得到极大的简化。从而一方面将极大地减少银行人力成本的投入,解决投入产出比的效益问题,线下转线上免去了多渠道搜集信息的高成本,银行可以以更少的人力投入去做更多客户的更多业务,从而实现巨大的规模效益;另一方面由于各相关方信息的接入,原本分散的信息集中而全面,有利于银行快速准确地进行信息的验证和比对,提高对贸易背景真实性的把握,极大地减少相关方人为造假的道德风险,使银行更有信心和底气来推动贸易融资业务的发展。
通过在前期各方面研究并对区块链贸易融资业务进行实际开发、流程测试后,上述各项优点在区块链系统中均得到了良好的体现,成本效益优势明显,且随着加入者的进一步增多(包括参与者类型的增多及参与者个数增加)优势将更加明显。但在此时,区块链原本进行的数据分发工作所带来的数据隐私问题确越发突出,成为我们不得不突破的一个重点。
例如:当区块链网络内只有出口商A1、进口商Z1、开证行B1、通知行C1时,其数据在上述四者之间共享是各参与者可以接受的。但当参与者进一步扩展到如下情况时,出口商(A1、A2、A3),进口商(Z1、Z2、Z3),开证行(B1、B2、B3),通知行(C1、C2、C3) ,此时出口商A1绝对不会允许将自已的商业数据以任何方式让A2、A3及其关联伙伴看到;同理,进口商、开证行、通知行也是如此。
商场如战场,信息是每一个金融参与者的命脉。确保参与者之间的数据共享与隐私之间的平衡将是区块链贸易融资系统的一个重要突破难点。
贸易融资的最大风险来源于贸易的真实性,因此系统在设计时重点将整个贸易相关的单证交易链条引入到区块链平台,并在未来考虑将物流、仓储、税务相关的信息扩充进来,从而做到平台上信息的一个完整闭环。
为在贸易融资中最大化程度利用区块链所带来的优势,将整个贸易融资的流程数据均进行上链处理,因此贸易背景、交易执行情况、融资情况在链上将形成一个完整的闭环,同时这还会带来一个附加的优势,交易双方银行将可以通过区块链平台本身完成可信信息交换,从而提高交易速度并降低交易成本。
考虑到区块链本身并不适于存储大量信息,因此在数据上链时需要仔细的进行设计,确保关键的、有价值数据能存于链上,这要求设计人员具有非常丰富的业务处理经验,熟悉整个产品的全交易流程。
另一方面,目前几乎所有的银行都拥有行内的单证、贸易融资处理系统,且区块链并不擅长进行交易前端处理。较好的方案是区块链平台采用与现有银行交易系统进行接口对接的模式来进行集成,由行内现有交易系统完成数据录入、交易处理后上载相关信息到区块链平台,同时区块链平台通过区块生成、发布记账、智能合约来驱动相关参与方行内交易系统接收信息、生成交易。
为实现区块链贸易融资系统,研发团队对主要的区块链技术框架进行了研究,下面就简单的分析及比较下几个主流的区块链技术。
区块链用户管理:
用于用户开通云应用,创建云用户,自动部署fabric节点,导入身份证书等。
业务处理:
实现具体业务处理功能,业务查询、业务处理等功能。
参数管理:
维护系统内机构清单;区块链系统的管理员用户及证书资料等。
区块链用户管理:
负责新参与机构接入系统时以区块链管理员的身份创建新用户;负责注销已有用户。注册和注销支持审批确认流程。可以导出公共用户及证书资料,以便新安装银行前置用户可以登录到区块链业务系统执行新建用户申请。
合约管理:
实现智能合约的发布、升级和撤销。智能合约分为参数合约和业务合约,参数合约实现新银行用户管理、机构数据管理和用户公钥管理等功能。
区块链监控:
监控区块链运行情况。
这项服务用来管理节点身份、隐私、confidentiality 和 auditability。在一个 non-permissioned的区块链网络里,参与者不要求授权,所有的节点被视作一样,都可以去submit一个transaction,去把这些交易存到区块(blocks)中。那Membership Service是要将一个 non-permissioned的区块链网络变成一个permissioned的区块链网络,凭借着Public Key Infrastructure (PKI)、去中心和一致性。
Blockchain services使用建立在HTTP/2上的P2P协议来管理分布式账本。提供最有效的哈希算法来维护world state的副本。采取可插拔的方式来根据具体需求来设置共识协议,比如PBFT,Raft,PoW和PoS等等。
Chaincode services 会提供一种安全且轻量级的沙盒运行模式,来在VP节点上执行chaincode逻辑。这里使用container环境,里面的base镜像都是经过签名验证的安全镜像,包括OS层和开发chaincode的语言、runtime和SDK层,目前支持Go开发语言。
在blockchain网络里,VP节点和chaincode会发送events来触发一些监听动作。比如chaincode是用户代码,它可以产生用户事件。
提供REST API,允许注册用户、查询blockchain和发送transactions。一些针对chaincode的API,可以用来执行transactions和查询交易结果。对于开发者,可以通过CLI快速去测试chaincode,或者去查询交易状态。
骨干成员,部署区块链系统全部节点:CA、order、peer,并部署区块链云应用,为小型参与者提供接入服务。
大型成员:具有一定实力的成员,可部署order、peer,以及实现内部应用通过区块链API直接对接区块链
特殊成员:对自主性有一定要求的参与者,可自行部署order、peer节点等。
区块链云应用部署现部署在IBM BAAS(BlockChain as a Service)上,IBM BAAS是基于LinuxONE架构的区块链云服务平台。IBM LinuxONE拥有最高等级国际安全认证(EAL 5+)、独有安全服务容器(SSC)设计、固件级代码加密、基于硬件加密模组(HSM)保护的金钥等设计,各云用户系统提供物理级别的隔离。另外,LinuxONE针对区块链常用加密算法在硬件/微码/超级账本等方面进行专门优化并大幅提升性能(10x Hash/50x ECC)。轻松支持区块链业务快速成长,并以分布式配置+集中化架构高效规避网络瓶颈(7X 吞吐/减少 82% 响应时间)。同时,进平台支持PaaS和SaaS不同层次的云服务,使用户专注应用实现,大大简化了区块链应用开发、部署。
(2)数据入链流程说明
将业务数据、参与方的密钥加密数据以及参与方的通知队列数据写入到区块链的合约中
(4)数据出链流程说明
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞8
添加新评论1 条评论
2017-12-11 09:46