摘要:分布式技术覆盖的范围比较广,最典型的就是云计算和区块链。云计算从诞生至今已经走过了10余个年头,在这10余年间,云计算取得了飞速发展,不仅引发了信息技术领域的革命,而且进一步影响了各行业开展业务活动的方式和方法。如今的云计算已经在各行业得到了广泛且深入的应用,进而也衍生出了各种具有行业特色的云业务场景。本章将通过介绍云计算在金融科技领域的应用和影响情况,帮助读者了解云计算驱动下的金融科技在业务、技术、管理等方面发生的变化、存在的问题,以及后续的发展方向和趋势。另外,2019年伴随国家政策的调整,在加强区块链技术金融监管和产业创新应用的背景下,政府出台了一系列政策,扶持区块链技术的发展和产业创新应用的落地,区块链技术在国内迅速发展并与各行业深度融合,以创造社会价值、赋能实体经济为核心的方向成为区块链技术发展的主旋律。区块链技术已被提升至国家战略的高度,成为我国核心技术自主创新、产业赋能的重要突破口。同时,金融行业在互联网转型过程中逐渐引入分布式技术来解决遇到的问题,目前已经形成了比较完整的分布式整体解决方案,并且各细分领域也在独立、快速发展。
关键词:分布式技术 云计算 区块链 金融科技 分布式架构
进入2019年,全球数字经济继续保持高速增长,云计算作为推动数字化转型的重要技术手段,发展势头迅猛。据国际数据公司(IDC)预测,2019~2023年,公有云服务和基础设施方面的支出将从2290亿美元增加到5000亿美元,五年复合年增长率为22.3%。 这说明行业广泛采用云计算作为数字化转型与创新的重要基础,使得云计算成为IT行业增长的最大引擎。
2019年,围绕云计算所开展的一系列数字化变革步伐加快,相应技术领域不断发生变化,并不停地涌现出新技术与新理念。
一方面,云计算作为人工智能、大数据服务、IoT服务等新兴技术的依托平台,利用基于云的人工智能、机器学习、区块链、敏捷应用(如容器技术、微服务应用程序架构、基于API的集成技术)等创新技术来构建日益分布和优化的生态系统已经成为行业发展的趋势。
另一方面,云计算技术也深刻影响着从行业发展策略、行业生产工艺流程到行业政策法规等的方方面面。随着越来越多的企业将业务部署到云上,在有效运营的同时,需要确保云基础设施与数据的安全,符合监管要求或促成全新的监管体系建立,用以防范安全漏洞以及潜在的系统性风险。
与此同时,随着行业用户在云计算领域使用经验的不断积累,为避免绑定单一云服务提供商所带来的风险,行业用户开始倾向于采用多云、混合云部署模型作为基础架构的一部分,以充分利用不同云服务提供商的优势、产品特性。云服务提供商为云构建的各种应用程序(也称作“一切即服务”)在多云、混合云部署模式下被用户更多地加以使用。其中,“云原生”作为一种全新的利用云计算优势来构建和运行业务应用的方法更是受到普遍关注,并吸引了更多行业用户加以实践。此外,随着行业用户在云计算领域参与度的逐渐提高,可以通过技术手段进行业务流程的集成、改造与编排以及业务处理的自动化、云服务治理、成本控制、用户体验优化等最佳实践,从而实现数字转型。
我国云计算产业持续保持强劲的发展态势,年均增速超过30%,是全球增速最快的市场之一。 预计到2023年,我国云计算产业规模将超过3000亿元。2019年,随着多个国家级、区域级大型数据中心的建成并投入运行,我国信息化发展的进程进一步加快,政府和企业上云率得到进一步提升,预计到2023年政府和大型企业上云率将超过60%。
当前我国仍处于数字经济智能化转型的关键时期,云计算作为人工智能、区块链、大数据等新兴技术的基础,在彼此影响、快速演进中成为行业数字化、智能化转型的重要支撑。同时,随着5G技术在全国正式商用,云计算与5G、物联网、人工智能、大数据、边缘计算等新兴技术呈现不断融合的态势,覆盖范围更广的创新超融合生态正在孕育中。
目前,我国云计算生态仍处于不断完善阶段。位于产业上游和中游的芯片、服务器企业,从保障国家安全、提高核心技术竞争力角度出发,陆续推出自主研发产品。位于产业下游的云基础平台、分布式数据库、云原生、SaaS(软件即服务)应用领域,在国内领先企业以及初创企业的推动下,发布了一系列具有市场竞争力的自主研发产品。由此,全栈自主可控的云计算平台初具雏形。此外,开源社区蓬勃发展,开源技术作为创新力量的重要分支逐渐汇入主流,越来越多的企业在开源软件上深耕细作,为构建开放的云计算生态贡献力量。
随着越来越多的传统企业将业务应用系统迁移到云平台上,通过引入云计算技术来改造生产流程、提升生产效率、形成新的业务增长点成为业界共识。与此同时,越来越多的初创企业通过迅速、充分地利用新兴技术来对行业进行重塑。而国家有关部门也陆续出台相关行业标准、规范,以解决影响云计算大规模市场化和商业应用的互操作性问题以及服务评估与定价标准的商业指标等问题。其中,国家互联网信息办公室联合各部门颁布的《云计算服务安全评估办法》已自2019年9月1日起正式实施。云计算的安全与合规日益成为行业上云过程中重要的衡量指标。
按照全球金融系统监控协调机构——金融稳定理事会(FSB)的定义,金融科技是指技术带来的金融创新,它能创造新的业务模式、应用、流程和产品,从而对金融市场、金融机构或金融服务的提供方式造成重大影响。
从以上特性可以看到,金融科技非常依赖和重视云计算等新技术的业务运用,实际上,其对云计算等前沿技术的运用已经渗透于各种创新业务场景,可以说,云计算技术已经成为金融科技开展业务创新的必备承载平台。
作为金融科技依赖的四大核心技术(人工智能、区块链、云计算、大数据)之一,云计算凭借其自身的高可靠性、高扩展性、按需服务等特点,提高了各类金融科技业务场景的承载能力,同时降低了获取和配置IT资源的成本和风险,提升了资源的运用和运营效率。
借助云计算技术,可以降低开展金融创新业务的基础设施投入,简化基础设施运营成本,提升运营效率,为创新业务提供按需伸缩的资源配置,使金融机构可以将有限的人力、物力、财力投入创新业务运作中,从而降低开展创新业务的试错成本,进一步促进金融科技的蓬勃发展。
与此同时,云计算技术还引发了IT资源获取、软件开发、架构部署及系统运维等方面的一系列技术变革。业务应用的开发引入了开源技术和敏捷方法,应用的交付过程引入了持续交付体系,系统的架构引入了容器和分布式架构。
云计算技术和这些技术相融合,在金融科技领域得到了越来越广泛的应用,催生了丰富的金融科技应用场景,使云计算成为事实上的承载金融科技创新业务场景的最佳平台。
根据中国信息通信研究院发布的《金融行业云计算技术调查报告(2018年)》,近九成金融机构已经或计划应用云计算技术。在接受调查的391家金融机构中,41.18%的金融机构已经应用云计算技术,46.80%的金融机构有计划应用云计算技术,共有344家金融机构已经应用或计划应用云计算技术(见图4-1)。
图4-1 云计算技术应用进展
资料来源:中国信息通信研究院:《金融行业云计算技术调查报告(2018年)》,2018。
在中国人民银行2019年发布的《金融科技(FinTech)发展规划(2019~2021年)》中,第三章“重点任务”则明确提到要“合理布局云计算。统筹规划云计算在金融领域的应用,引导金融机构探索与互联网交易特征相适应、与金融信息安全要求相匹配的云计算解决方案,搭建安全可控的金融行业云服务平台,构建集中式与分布式协调发展的信息基础设施架构,力争云计算服务能力达到国际先进水平”。
综合市场调研和行业规划,可以看到,云计算技术的应用在金融行业已经进入“深水区”,并且还在持续扩展。
金融科技是金融和科技的深度融合,其核心属性仍然是金融,由此衍生的业务场景本质上依然属于金融行业场景。因此,与其他前沿新技术一样,云计算技术在金融科技业务场景中应用时,在产生业务价值、促进业务创新的同时,仍然需要遵循金融行业的内在规律和相关的金融行业监管要求,这就导致了新的运营和合规管理问题,这些问题主要体现在混合云运营管理和标准化及安全合规两个方面。
混合云运营管理问题。根据IDC发布的《IDC金融行业云计算白皮书》,截至2018年,在亚太地区已经上云的金融机构中,有80%采用混合云的模式作为新一代的运营模式架构基础。可以看到,混合云基础架构将成为一个长期存在的形态。多种云及基础设施资源的并存,对原有的运维及运营技术、人员和流程提出了综合挑战。
为了应对这一问题,金融机构在借助云计算技术开展金融科技业务的同时,还需要在技术工具、人员储备及流程体系方面做好综合性的应对,使业务部门可以通过自助化、自动化的手段,便利地按需获取混合云服务,使科技管理部门可以通过数据化、可视化的手段,洞察分析云资源的分布和使用情况,实现更加科学的云资源的运营管理。
标准化及安全合规问题。金融行业的标准化及安全合规要求主要体现在强监管、业务连续性和信息安全等方面。由于金融科技具有的创新性和融合复杂性,从目前的发展来看,仍然缺乏针对金融科技的明确的业务规范和技术标准。
对于置身其中的云计算技术,金融机构可以参照通用的云计算技术规范和标准,加强云计算风险管控,确保金融科技领域的云服务安全可靠。同时,还应该积极开展内部研究和外部合作,借助外部专业技术服务机构的力量,结合自身基础和现状,逐步制定并完善针对金融科技云计算技术的相关安全规范和技术标准,提升金融科技服务质量与安全水平。
相信通过持续不断的建设和完善,金融科技的云计算应用一定能得到更加广泛、深入和稳健的发展。
在“一切皆上云”的大趋势下,技术中台、数据中台和快速迭代的业务应用都在以难以想象的速度与云环境融合。而金融行业的显著特点在于其体量大,对IT的投入超过其他所有行业,在银行业监管的强压下,其建设标准和对技术的要求也最为严格,涉及业务的系统,对于数据丢失、业务中断几乎是零容忍。而云计算技术融入金融行业,在业务的稳定运营、快速交付创新、降本增效等多个方面满足了金融IT系统的需求,在系统架构、开发运维、自主可控等多个层面深刻促进了金融科技的发展。
IDC发布的《2019容器技术及其应用发展白皮书》指出,基于云和数字化的业务创新与加速能够显著增强企业核心竞争力,企业实施数字化转型已成为其未来生存与发展的必由之路。无论是新兴的数字原生企业,还是积累沉淀的传统企业,数字化转型所带来的生产、管理、市场、运营能力的提升和客户服务体验的改善,都是企业面向剧烈变化的市场时所能倚靠的坚实能力根基。IDC 2019年的调研数据显示,已经有18.3%的企业把数字化转型做成企业的标准业务模块;12.8%的企业进一步将数字化转型优化与业务深度融合,激发出无限的创新动力;其余68.9%的跟随者也都在不同程度地开展数字化转型活动。 云计算技术的应用将在很大程度上助力金融行业实施数字化转型,摆脱发展瓶颈,同时云原生技术也将助力打造新一代金融PaaS中台,实现新的市场突破。
在云计算产业的快速发展过程中,容器技术已经成为云原生技术的重要组成部分,以Docker和Kubernetes为代表的容器技术在金融行业得到了广泛应用,并不断积累形成基于容器的云上生态系统,基于容器技术的PaaS平台能够完美结合微服务架构,帮助金融行业实现敏捷、轻量、快速、高效的开发、测试、交付和运维一体化融合模式。
在规模型的企业中,金融行业已经走在云原生技术的前列,基于对业务安全性、稳定性和维护持续性的考虑,核心、借记卡等生产系统短时间内不会迁移到容器上,而以互联网服务、普惠金融、信用卡为主的ToC端业务系统,由于其客户层面存在激烈的跨界竞争,因此对服务满意度、发布质量和效率有着极高的要求,在这些业务系统中,云原生技术已经得到了大规模应用,甚至部分金融机构或金融科技公司已经将九成以上的互联网相关业务转换至容器环境中。获客系统、手机App、理财系统和银行活动系统等一大批面向ToC端用户的应用,以容器技术为支撑,获得了很好的管理和用户体验。
在未来2~3年内,基于容器的云原生技术将更广泛地应用于金融行业中,出于构建统一业务中台的需要,除交易系统外的大量金融业务将逐渐迁移到容器平台上,实现PaaS层的标准化能力输出。
长期以来,金融科技的开发模式可总结为三类——按固定版本排期的开发模式、按项目排期的开发模式和敏捷开发模式,为大型金融企业业务的快速发展提供了强有力的IT保障,同时也确保了产品的质量,降低了运行风险。但是近年来金融科技受互联网,尤其是移动互联网迅猛发展的冲击,正面临跨界竞争的压力,在普惠金融和面向ToC端的互联网服务方面均有强烈的数字化转型需求,金融企业在对业务模式加快创新的同时,其IT团队也要加快开发节奏,快速推出满足业务发展需求的产品。这种需求对金融企业现有的IT开发模式提出了挑战。而DevOps模式将开发与运维打通,很好地解决了金融科技面临的矛盾和挑战。由于金融行业更强调稳定和安全特性,DevSecOps方案也越来越多地融入应用的整个生命周期中,强调一体化的安全防护。
无论是DevOps还是DevSecOps,在金融行业都是以敏态化改造的形式出现的,以满足企业在高速迭代、永不宕机、横向扩展、自动运维等多方面的需求,并与容器化、微服务化、运维智能化并向发展,快速成为金融企业转型的方向,并与传统的稳态研发模式并驾齐驱、互为补充。
云原生技术的各种特性为DevOps所倡导的开发、测试、交付和运维一体化体系提供了需求匹配度极高的支撑保障,而DevOps具备的流程一体化执行能力也使容器的应用获得了理想的场景支持。在传统的应用发布流程中,开发、测试和发布环境相互独立,各环节间的审批也较为复杂。应用容器技术后,测试、运维可以在容器中进行,不需要单独建立测试环境,容器镜像自始至终保持一致性,在前端应用持续迭代发布时,开发人员从代码编译到上线,可实现一键式部署过程,周期可缩短至分钟级。DevOps的流水线方式可以使70%~80%的执行过程实现自动化,辅以少量的审批和手工测试,即可在十几分钟内完成一次部署,而与其相对应的早期VM环境则需要数小时。
伴随DevOps实践的不断深入,在DevOps标准建设方面有了很大的突破,由中国信息通信研究院牵头编制的国内外首个《研发运营一体化(DevOps)能力成熟度模型》(标准)的发布,标志着我国DevOps体系与方法更加成熟,对金融科技的IT转型具有重要意义。
随着信息安全问题的日益突出,信息安全已上升至国家战略,自主可控、国产化替代已成为必然趋势。习近平总书记于2016年10月9日在中共中央政治局第三十六次集体学习时强调,要加快推进国产自主可控替代计划,构建安全可控的信息技术体系,这表明自主可控、安全可控战略已经进入全面实施阶段,安全可控的信息技术应用创新也成为当今中国经济发展的新动能。而云计算的发展,正是推进自主可控信息技术应用创新的有力抓手。
金融领域的基础设施堪比经济社会运行的神经中枢,对于金融科技而言,更是高度依赖金融网络和信息系统,因此,安全可控的信息系统对金融行业的发展至关重要。随着云计算的发展,越来越多的金融企业进入自主可控的技术转型方案的实施阶段,从核心技术上提升竞争力。
2014年9月银监会发布的《关于应用安全可控信息技术加强银行业网络安全和信息化建设的指导意见》明确提出,到2019年,安全可控信息技术在银行业总体达到75%左右的使用率,将建立银行业金融机构应用安全可控信息技术工作情况的监督评价机制,对纳入监管评级体系的机构,其考核结果并入机构信息科技监管评级,自主可控、安全稳定将成为今后一个时期内金融业信息化的重要任务。
中国人民银行于2019年8月发布《金融科技(FinTech)发展规划(2019~2021年)》,明确了科技赋能作用,安全可控成为基本原则,目前金融IT领域基础层软硬件的国产化程度较低,具有较大的替代空间。
区块链技术本质上就是一种分布式账本技术,是密码算法、共识机制、点对点通信协议、分布式存储等多种核心技术高度融合而成的一种分布式基础架构,抛开比特币、以太币等各种虚拟货币的价值,我国政府和金融科技行业更关注区块链底层技术的自主创新和区块链产业应用创新所带来的无限价值。
2019年,区块链技术依然是全球金融科技备受关注的技术之一,各个国家纷纷布局区块链技术,甚至已有国家通过区块链技术发行央行法定数字货币。而在国内,区块链技术已被提升至国家战略的高度,成为我国核心技术自主创新、产业赋能的重要突破口。2019年10月24日,中共中央政治局就区块链技术发展现状和趋势进行第十八次集体学习,习近平总书记在主持学习时强调,区块链技术的集成应用在新的技术革新和产业变革中起着重要作用。要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。
早在2017年,区块链技术就已经非常火爆,第一个区块链数字货币比特币一度暴涨至2万多美元,数字货币背后所代表的财富增长机会吸引了大批投资者和投机者的注意。因为比特币等虚拟货币具有分布式、去中心化、安全可靠、匿名保护等特点,而且具有某种意义上的货币属性,所以为黑客攻击、暗网交易、洗钱、不受管制外汇汇款等提供了便利的支付通道,给国家的金融监管和外汇管制带来了很大的问题,增大了反洗钱的难度,造成国家大量资金流失。此外,一种名为ICO的虚拟货币融资方式也大量涌现,项目方通过发布ICO的方式圈钱,投机者则想通过ICO找到下一个万倍币,不受管制的非法集资和诈骗导致大量的空气币和庞氏骗局,给人民群众带来大量财产损失,引发一系列金融风险和社会风险。2017年9月4日,中国人民银行等七部门联合发布《关于防范代币发行融资风险的公告》,明确叫停ICO,后续也关闭比特币等虚拟货币的交易,宣布国内公有链的币圈时代正式结束。部分区块链公司关停矿机挖矿数字货币交易等业务,部分通过转移将业务搬到国外。在国内的区块链技术论坛上,业内人士也鲜有提及虚拟货币、某某币、ICO、Token等名称,甚至规避此类名称,区块链技术的应用和发展受到一定程度的影响,金融行业部分机构对区块链技术的真正价值也产生了一定的质疑。
2019年,伴随国家政策的调整和改变,在加强区块链技术金融监管和产业创新应用的背景下,政府出台一系列扶持政策促进区块链技术发展和产业创新应用落地,区块链技术在国内迅速发展并与各行业深度融合,以创造社会价值、赋能实体经济为核心的方向成为区块链技术发展的主旋律,区块链技术进入下一轮发展的快速通道,区块链公司重新回归区块链底层技术研究和产业赋能的领域内,各级政府以及众多的金融机构和科技企业,包括央行、银保监会、银行、保险公司、企业等会有更多的研发经费投入区块链技术的应用探索,区块链技术将聚拢更多专业性人才从而获得飞速发展。
北京、上海、广州、深圳、杭州、南京、天津等地发布区块链政策,加速产业发展;福建、江西、四川、郑州、西安、长沙等省市的区块链协会纷纷成立,截至2019年底,已有30多个省市发布政策开展区块链布局。各级政府也出台相关激励扶持政策吸引区块链技术公司入驻,各地产业园已经成为区块链技术创新和发展的润土。例如,中关村、雄安新区、粤港澳大湾区等都建立了区块链产业园,全国各地建立的区块链产业园已达到38个,为“政产学研用投”等各界搭建起沟通的桥梁。再如,2018年河北省政府提出为加快全省工业转型升级,打造雄安新区高端高新产业发展核心区,积极培育发展区块链、量子通信等未来产业。
中关村科技园在2019年10月24日公示了对科技型小微企业研发费用支持名单,超2000家企业将获得研发费用支持,其中包括融链科技、阿希链、链上科技、福德树、欧链科技、链方达、节点共识、魔链科技、链云智慧、数链科技等多家区块链企业。而在2019年10月28日,为贯彻和落实《广州市黄埔区广州开发区加速区块链产业引领变革若干措施》文件精神,广州市黄埔区工业和信息化局、广州开发区经济和信息化局制定了《广州市黄埔区广州开发区加速区块链产业引领变革若干措施实施细则》。对提供区块链示范项目信息服务的企业或机构,区块链应用示范累计建设达到30个节点(或50个节点以上),且有效交易量累计达到1000笔(或5000笔以上),一次性给予奖励30万元(或50万元)。
除了扶持资金之外,各地企业还为区块链公司提供便捷的公司注册服务,制定相应的税收减免政策,提供租金远低于市场价格的研发办公环境——区块链孵化器产业园,截至2019年底,国内区块链创新公司已经达到2.8万家左右。
在区块链技术形态尚具可塑性阶段,有必要制定关键技术的安全规范,以便金融机构按照合适的安全要求进行系统部署和维护,避免出现短板,为区块链技术大规模应用提供业务保障能力和信息安全风险约束能力,对产业应用形成良性的促进作用。
工信部下属的中国电子技术标准化研究院相继发布《区块链参考架构》和《区块链数据格式规范》,全国区块链和分布式记账技术标准化技术委员会正在筹建,首个区块链国家标准也正着手研制,工信部和多个头部金融科技公司参与其中。中国的区块链技术应用场景多,区块链标准化体系建设走在世界前列,在促进国际区块链技术标准制定方面也发挥了重要作用。
为落实《中国金融业信息技术“十三五”发展规划》和《金融科技(FinTech)发展规划(2019~2021年)》的要求,规范区块链技术在金融领域的应用,提升区块链分布式账本技术的信息安全保障能力,2020年2月,中国人民银行编制并正式发布《金融分布式账本技术安全规范》。该标准由中国人民银行数字货币研究所提出并负责起草,中国人民银行科技司、中国工商银行、中国农业银行、中国银行、中国建设银行、国家开发银行等单位共同参与起草。标准中规定了金融分布式账本技术的安全体系,包括基础硬件、基础软件、密码算法、节点通信、账本数据、共识协议、智能合约、身份管理、隐私保护、监管支撑、运维要求和治理机制等方面,为金融机构探索区块链在金融行业的创新应用提供了安全规范指引,将进一步促进区块链技术在金融行业的创新和应用。
区块链底层技术已经逐步成熟,国内自主创新的区块链技术百花齐放,全球专利申请量呈指数级增长,现有专利2.2万件,中国以63%的占比显著领先。
公有链技术平台上已有比特币、以太坊、EOS等多个公共区块链开发与应用平台,公有链的技术平台为初创区块链公司,为区块链研发技术人才快速开发区块链创新应用场景、部署运行区块链应用提供了一个方便快捷的基础支撑平台。据不完全统计,在以太坊公有链应用平台上,目前已经有2600多个应用,部署的智能合约数量超过4200个,每日活跃用户数超过2.7万人,已经构建了一个强大的区块链分布式应用生态体系。
公有链的底层平台基本上是开源的,而联盟链技术主要由金融科技公司主导,因公司的发展战略不同,在探索建设底层技术平台的过程中逐渐形成了开源和闭源两种模式。在开源区块链技术平台方面,国外有由Linux基金会、IBM科技巨头等主导的Hyperledger Fabric,国内有由金链盟、众安科技、京东数科、百度等分别主导的区块链底层技术平台相继开源。在闭源区块链技术平台方面,较为著名的有腾讯的TrustSQL、蚂蚁金服的联盟链、平安一账通的FiMAX壹账链等平台,其源码暂未对外开放,技术平台目前主要用于支撑企业内部搭建产业生态场景的应用,或以BaaS的形式对外提供区块链云服务。不过,从目前国内区块链技术长远发展的趋势来看,未来很多闭源的技术平台也会逐步走向开源,部分企业已经给出了开源的时间窗口。
例如,在国内众多开源区块链底层技术平台中,金链盟组织的区块链生态已经颇具规模。金链盟旨在整合及协调金融区块链技术研究资源,形成金融区块链技术研究和应用研究的合力与协调机制,提高成员单位在区块链技术领域的研发能力,探索、研发、实现适用于金融机构的金融联盟区块链,以及在此基础之上的应用场景,其成员已涵盖银行、基金、证券、保险、地方股权交易所、科技公司六大类行业的100多家机构。早在2017年12月,金链盟就已成立由微众银行、神州信息、华为、亦笔科技等8家成员单位组成的区块链开源工作组,并共同发起国内第一个区块链开源底层技术平台块FISCO BCOS,旨在打造安全可控、适用于金融领域的区块链底层平台,经过多年的发展和开源生态建设,已经成为国内外联盟区块链技术的闪亮明珠、国内众多应用场景的首选技术平台,以及区块链技术自主创新的典范。FISCO BCOS经过多年研发和众多实际应用场景的试验,已经成熟稳定并能够兼容以太坊上的智能合约,单链条处理能力达到2万多笔/秒,具有智能合约虚拟机、联盟多账本技术、高效共识算法等能力。2019年12月,由国家信息中心主导的中国区块链服务网络(BSN)将FISCO BCOS纳入其适配的两大联盟链底层平台之一,FISCO BCOS成为目前BSN中唯一的国产联盟链底层平台。
再如,国内领先的金融科技公司神州信息整合BCOS、Hyperledger Fabric、以太坊等技术形成了具备行业跨链协作功能的区块链技术解决方案Sm@rtGAS,在金融科技、智慧城市、农业、税务、企业服务等领域不断开展应用。Sm@rtGAS作为行业成熟的区块链解决方案和产品,成为区块链技术与金融市场业务之间的技术“桥梁”,自2019年开始逐步帮助央行、国有大型银行、股份制银行、城市商业银行、农商行等金融机构设计区块链应用场景,如金融监管、供应链金融、数字钱包、智慧城市市民卡、交易存证、发票管理、商业票据、对账清算等,对区块链技术和金融行业的应用结合起到了重大的促进作用(见图4-2)。
在金融机构中,中国工商银行依托金融科技优势,于2018年对外发布了具有自主知识产权的企业级区块链技术平台,具有高性能的技术架构、金融级的隐私保护方案、软硬件相结合的国密加速技术、易扩展的跨链互访能力,单链性能高达2万TPS。目前该平台已经取得60余项核心技术突破,提交41件专利,在企业级金融安全体系建设、节点资源动态扩容和伸缩配置、共识节点及记账节点热备智能切换、区块链平台集群资源监控、多种区块链产品的一键式组网、基于拜占庭共识的区块链并发处理能力等方面实现了突破,应用于资金划收、资金清算、资金拨付、银企互联等60多个场景,在金融同业中领先推出安全可靠的区块链服务。
可见,不管是金融机构、区块链产业联盟、金融科技头部公司,还是小微区块链创业公司,都在积极推动国内区块链技术的发展,并且已经实现区块链技术的自主创新,提升了区块链交易的安全性和处理性能,实现了国家对区块链技术自主创新的战略目标。
图4-2 神州信息区块链技术发展战略
区块链具有公开透明、不可篡改、可追溯等特点,能够起到促进数据共享、优化业务流程、降低运营成本、提升协同效率、建立可信任体系等作用。目前区块链已在金融、供应链、知识产权、电子合同、司法存证、产品溯源、医疗等领域有较大规模的应用,在金融科技领域,已经形成较多典型的场景应用,下面介绍几个典型的金融行业应用。
中国人民银行正在试验的央行数字货币DCEP是数字货币电子支付工具,是依托区块链技术发展而来的全新加密电子货币支付体系。为了达到30万笔/秒的处理性能,DCEP没有照搬区块链技术,而是使用了区块链技术的核心功能——加密数字货币和数字钱包等区块链底层核心技术,并采用央行中心节点验证控制的方式来验证交易的过程。公有链上的数字货币如比特币等是通过工作量证明共识算法和全世界矿工来确保加密数字货币支付过程不会被“双花”或“多花”,并且1笔交易的确认过程需要1个小时。而DCEP支付流转的过程此问题是采用央行的中心节点验证完成的,能够瞬时验证完成并实现自动找零等。因为DCEP的发行机构中国人民银行具有国家法定信用背书,DCEP具有无限法偿性,所以采用中心验证的过程同样具有最强大的可信用性,从而简化整个支付的过程控制,加快交易的速度,提升用户的体验。
(1)DCEP的发行将采用双层运营体系
央行先把DCEP兑换给银行或者其他金融机构,再由这些机构兑换给公众,金融机构从央行兑换DCEP需要足额缴纳人民币以获得发行权,对现有金融体系不会带来大的冲击。DCEP与人民币可以按1∶1自由兑换,是M0的替代,即DCEP发行后,金融体系将逐渐进入无现金时代,DCEP不是简单的人民币数字化。
(2)DCEP采用数字钱包的弱账户体系
DCEP发行后对银行现有的账户体系不会带来大的影响,银行当前的存款依赖于银行的账户体系,依托于银行等信用机构的信用背书,而DCEP采用区块链技术中的数字钱包技术,存入数字钱包的DCEP和纸币的价值是一样的,数字钱包里的DCEP不具有投资属性,也不产生任何利息。用户创建数字钱包后可以从存款账户中将钱取出变为DCEP并存入钱包,钱包收到比较多的钱后也可以存入银行变为存款账户里的人民币,进行其他投资理财等。DCEP数字钱包采用分级管理的机制,主要有三类。
A类:用户创建的数字钱包(类似于Ⅲ类账户),匿名但额度有限制。
B类:绑定某银行卡进行实名认证的数字钱包(类似于Ⅱ类账户),实名后交易额度进一步放宽。
C类:经过委托银行面签验证的实名认证的数字钱包(类似于Ⅰ类账户),面签后交易额度很高甚至不做限制。
(3)DCEP可以简化支付流程,并带来有限匿名性
电子支付过程依赖于现有金融系统的账户体系和支付交换系统(网络、大额支付、小额支付等),看似一个简单的支付动作,其实经过了众多系统处理环节,如付款人手机、付款方银行系统、支付交换系统、收款方银行系统、收款方终端等,经过众多交易节点,IT处理成本高,也会带来交易数据隐私保护的问题。而DCEP的交易过程,只需要付款方、收款方和央行验证系统即可完成支付,具有匿名隐私保护的功能,同时还支持双离线交易,即在收款方和付款方都没有网络的情况下,也能够完成支付动作。首先,参与方减少,支付过程不需要经过银行、微信、支付宝、网联等支付机构,用户隐私保护程度更高。其次,匿名数字钱包的存在,使得支付过程可以是匿名的,这是现有电子支付系统所不具备的,能够满足民众在某些匿名场景的使用需求。当然,央行可以通过大数据等其他技术手段来进行反洗钱的分析和控制。
(4)DCEP有利于人民币的流通
当前微信、支付宝等电子支付方式盛行,国人已经逐步转向无现金消费时代,但现钞系统还需要持续流转。纸钞、硬币的发行,包括印制、流通、回笼、贮藏等各个环节的成本都非常高,同时还要投入一些资金用于防伪,而且携带既不方便也不卫生,容易传染病菌。中国是一个幅员辽阔的国家,整个纸币运转体系只要还在运行,金融系统和社会系统的运行成本就依旧很高,DCEP的出现将大大降低这一成本支出,便于人民币的使用和流通。举个简单的例子,在DCEP时代,运钞车、ATM机、点钞机、各地央行金库等将不再需要,也不需要银行柜员拥有点钞技能,民众收到假币的情况也不可能再发生。
(5)DCEP将促进人民币国际化
人民币国际化是指人民币能够跨越国界,在境外流通,成为国际普遍认可的计价、结算及储备货币的过程。DCEP发行后,在全球拥有网络的任何国家,只要收付双方手机里都装有支持中国DCEP钱包标准的App,就可以根据即时汇率显示的当地货币与人民币的兑换价转换成DCEP实现支付交易,双方通过App或钱包设备进行DCEP划转就能完成跨境支付动作。这与传统的跨境支付有很大的区别,如Visa、MasterCard、银联等信用卡,依赖于双方各自的银行账户系统,在使用支付时,先要通过银行卡注册账户,如果其中一方的银行账户系统不支持,交易就无法完成,交易确认周期也很长。而DCEP则不依赖于账户,同时高安全性的数字钱包还能规避跨境盗刷的风险,未来将成为国人境外消费的最佳选择。
在“一带一路”倡议下,中国已经成为全球第一大贸易国,在当前中美贸易摩擦背景下,国际形势风云变幻,推进人民币国际化是国家崛起的必然选择,而央行法定数字货币的出现将有助于加快人民币的国际流通,提升人民币的国际地位,特别是在跨境贸易过程中如果能够使用DCEP直接结算,将简化跨境贸易的购汇流程,减少交易双方转汇美元的手续成本,提升交易的效率,降低交易双方对美元的依赖。所以,随着我国国际地位的提高和人民币价值的稳定提升,DCEP将逐步在跨境贸易、石油交易中发挥作用。
2018年下半年以来,金融供给侧结构性改革应运而生。金融机构资产端“做减法”逐渐影响到实体经济负债端借贷,民营企业和小微企业融资难、融资贵问题突出,实体融资出现结构性问题,金融供给难以匹配金融需求,金融结构难以匹配经济结构。与金融去杠杆单纯“做减法”不同,金融供给侧结构性改革强调“有增有减”,完善金融供给,构建多层次、广覆盖、有差异的融资体系。
2019年7月,银保监会向各大银行、保险公司下发《关于推动供应链金融服务实体经济的指导意见》,指出在加强供应链金融风险管控方面,银行业金融机构在开展供应链融资业务时应对交易真实性和合理性进行尽职审核与专业判断。鼓励通过采用“区块链+物联网+人工智能”等技术实现供应链金融的交易真实性审核,将核心企业的信用价值辐射到端末的中小微企业,确保交易的真实性,提升银行的风控水平,降低交易融资审查的成本,真正解决中小微企业融资难、融资贵的问题。
区块链技术与金融业相结合,为供应链金融提供了全新的技术解决方案。区块链技术具有可追溯、不可篡改的特征,将核心企业和上下游供应商的日常往来数据上链,如合同状态、电子发票,并通过5G物联网技术将货物的物流、出入库数据上传到区块链系统中存证,确保供应链条上的交易信息真实可靠。同时,通过区块链上的智能合约将应收账款的签发、结算在区块链上结合银行的清算与结算功能自动完成。例如,一级供应商和核心企业完成某一个合同状态后,需要在90天后付款1000万元,此过程可以通过区块链签发一个1000万元到期兑付的数字资产,类似一张票据。供应商收到应收账款的数字资产后,通过区块链技术可以实现保存,等到企业到期兑付时,可以将此资产实现快速融资或拆分后形成核心企业信用背书的数字货币,完成对其供应商的支付动作。假如该应收账款有100万元流转到某一个5级供应商手中,此时供应商A需要现金,可以向链上的金融机构提交融资申请,银行在审查此贷款业务时,利用区块链数据可溯源的特点确保该应收账款的有效性,如流转正常、合同正常、发票正常、业务正常、物流正常、仓储正常……结合人工智能等一系列审查技术,可以根据核心企业的信用额度快速发放贷款。放贷过程也将100万元应收账款数字资产流转到金融机构,变成此笔贷款的数字抵押物,银行能做到秒级审查、分钟级放贷,最终等待核心企业按期兑付,完成清算与结算。在这个过程中,核心企业的信用价值最为关键,能够有效传递到末端企业,帮助其解决资金问题。
所以,在供应链金融领域,可通过“区块链+物联网+人工智能”的技术手段向供应链两端延伸,为上游多级供应商或者下游分销商和经销商提供融资业务增信。2019年,有关“区块链+人工智能”的应用已经有非常多的实际案例,如招商银行、光大银行、中国工商银行、金融壹账通等都有类似的区块链产业应用。2020年,随着5G网络的发展,物联网技术进一步成熟,必将形成更加全面的供应链金融产业应用,实现精准放贷扶持实体经济,解决中小微企业融资难题,实现金融赋能产业生态,完成金融供给侧结构性改革的目标,同时还能降低银行端信贷风险和信贷审查成本。据国家统计局数据,2020年6月末我国规模以上工业企业应收账款余额为15.34万亿元,“区块链+供应链金融”相关解决方案的落地应用,能够大幅盘活此应收账款,对推动实体经济发展意义重大。
在ABCDE(AI、Block Chain、Cloud Computing、Data Tech、Edge Computing)等新技术中,区块链技术无疑是最适合应用于金融监管的技术。“区块链+金融监管”的范围是非常广泛的,下面简单介绍几个能应用于金融监管的场景。
(1)网贷、P2P等交易存证和监管
随着P2P网贷、移动支付、众筹融资等互联网金融产品的不断涌现,国内发生的多起P2P风险事件引发了各界关注,促使监管部门开始加强对金融科技的专项监管与引导,并不断出台相关法规条例。但仅依靠法律法规的监管,灵活性和时效性都相对不足。区块链作为一种新兴的技术,具有分布式共享、去中心化和不可篡改等特性,能够让资金划转变得透明且可监督,也为健全金融风险监测分析框架、治理金融乱象和整顿金融秩序、促进新兴金融业态规范发展提供了技术支撑。
(2)金融理财产品存证和监管
2018年12月某股份制银行旗下理财产品首次出现大规模逾期,由于各方面风声控制得比较紧,仍有大批用户不知道该理财产品已出现问题,仍在习惯性购买。2019年5月,理财平台发出公告,所有理财产品不能按时兑付,该产品自2018年起已经在金融局办理良性清退,称银行只是理财产品的发布平台,所有资金去向不明。此类违规事件如果有区块链技术的监管,将进一步规范银行理财产品的销售行为。部分地区的中国人民银行分行正在考虑通过区块链技术加强地方理财产品的报备和监管,便于用户查验。
(3)银行合规性审查的交易监管
区块链数据的不可篡改性将规范企业的合法合规经营,银保监会和某国有大型银行正在探索使用区块链存证需要报备的监管数据。
(4)供应链金融应用场景的监管
监管机构直接作为监管的区块链节点加入供应链平台实现监管,不再需要银行或供应链平台上传数据,确保数据真实。
所以,在当前金融强监管、避免引发系统性金融风险的背景下,利用区块链的不可篡改性特点,将区块链技术应用于金融监管的过程无疑是最佳的技术选择。所以,2020年2月发布的《金融分布式账本技术安全规范》也要求强化区块链的金融监管,为区块链底层技术提供了一定的指引和方向,要求区块链的技术公司升级区块链底层技术实现,以满足金融监管的要求。
从技术架构角度看,广义的区块链技术架构可以分为核心层、服务层、应用层。在这个三层模型中包含智能合约、共识机制、安全认证、账本管理、运维监控等多个功能域(见图4-3)。
核心层。核心层是一个完整的区块链协议体系,提供分布式账本、智能合约、共识机制、授权认证、账本存储机制等基础性通用功能。
服务层。服务层是一个完整的区块链企业应用基础服务的支撑体系,包括安全认证、访问控制、账户体系、备份机制、共识适配管理、智能合约、生命周期管理等基础性服务功能。
应用层。应用层是面向用户提供的在核心层和服务层之上的某一个具体场景的区块链应用。
图4-3 区块链技术架构参考模型
智能合约也称为链上代码,其实质是在区块链节点上运行的分布式交易程序,用以自动执行特定的业务规则,最终会更新账本的状态。智能合约分为公开、保密和访问控制等类型。只有发布了智能合约,才能在区块链平台上进行数据的保存、交易等操作。该功能域提供智能合约审核、智能合约发布、智能合约虚拟机、智能合约运行、智能合约升级、智能合约注销、智能合约模板等功能。
共识机制是区块链中的核心技术点。多方参与的节点在预设规则下,通过节点间的交互对数据、行为或流程达成一致的过程称为共识。该功能域中的共识管理对区块链网络中达成共识所采用的共识算法进行管理与实现,实现对共识算法的模块化支持,方便切换不同共识算法实现。当前联盟链普遍采用的共识算法是拜占庭容错算法和Raft算法。
在账本的各类事件和交易中,参与者和对象都具有明确的身份信息。身份认证服务管理着系统中各种实体、参与者和对象的身份信息,验证者在网络建立的时候可以确定参加交易的权限级别。新节点接入集群、事务在集群中被执行都需要通过认证。集群内的各节点都知道彼此的身份(证书和公钥)。任何新节点接入集群,都需要向管理员申请授权证书,然后将授权证书和自身的证书、公钥发送到CA中心进行验证。该功能域还提供节点管理、访问控制、流量控制等功能。
账本管理包含完善的账本存储管理机制,以应对区块链的高冗余存储,保证区块链平台的扩展性和稳定性。该功能域包含分层存储、数据备份等功能。
运维监控主要是对区块链体系、网络、节点进行可视化应用和日志系统的综合监控,以及各类异常的实时报警与通知,支持根据不同业务领域需求进行综合监控扩展。
虽然区块链技术持续快速发展,但在实际应用过程中仍然存在一些问题。
区块链的底层技术基础设施是区块链场景应用创新和发展的基础,然而在当前的发展阶段,这方面的标准还比较宽泛,缺乏对安全、隐私和数据交换等明确定义的通用标准,使区块链平台跨链协作面临困难,阻碍了区块链技术的发展。
区块链作为一种底层技术基础设施,一方面,能够更加彻底地改写和颠覆行业的规则与运作模式;另一方面,使用区块链技术进行场景创新要求企业和机构对底层的技术架构进行重新设计,对应用进行改写,并与现存的系统进行整合,需要投入较高的基础设施建设和应用开发整合成本,同时区块链技术本身的特点还决定了将带来额外的网络及存储开销。此外,网络的通信成本和数据存储成本也是相对比较高的。
目前我国的区块链企业近2.8万家,但投入生产环节的仅占3.6%,这说明区块链技术的真正应用相对比较缓慢。除了数字货币外,还缺乏为用户树立可靠信心的拳头性、标杆性应用,无法直接让众多企业看到区块链的真正价值。
区块链本身的特点要求区块链人才具备信息安全、IT技术、金融、经济等方面的综合能力。在区块链行业当前所处的发展阶段,这类人才的短缺将制约区块链行业的发展。
安全加密机制是区块链技术的核心基础,量子计算机带来的新一代计算能力革命可能大大降低区块链中密码安全的攻破壁垒,给区块链分布式节点中的数据安全带来挑战。
2020年,区块链技术将持续火爆,其本身有着极大的技术魅力和商业潜力,相信区块链技术将在各个领域找到更多合适的落地场景。下面总结区块链技术最适合的应用场景,以便帮助大家思考如何用好区块链技术。
(1)数字货币、数字资产和某类资产的数字化场景。通过高安全性的数字钱包控制数字化资产的流转,如数字货币、数字票据、数字资产证券化等。
(2)存证类场景。区块链技术的一个最大特性是数据不可篡改,虽然区块链技术不保证链上数据的正确性,但能保留伪造数据的污点,在高信用社会环境下,伪造数据的不可磨灭性以及由此引发的不良影响,将迫使关联方最大限度地确保数据的真实性,其应用也可以辅以其他技术手段来验证数据的正确性,如电子合同存证、医疗保险、专利存证、司法存证、产品溯源等。
(3)数据共享和强监管场景。分布式账本技术的分布式存储特性在需要强监管或高效共享数据的场景也是非常适合使用区块链技术的,如黑名单客户共享、KYC共享、金融监管、P2P监管、网贷监管、机构间实时对账等。
(4)流程复杂且需要多方协作加强信任的场景。例如,跨境贸易、信用证、贸易融资等,通过区块链技术可以实现贸易双方、境内外金融机构以及物流、保险、海运、海关等多方的高效协作和数据共享。同时,简化流程、确保业务的真实性,也非常需要区块链技术。
对于2020年区块链技术的发展趋势,从众多行业报告提供的信息中可以看到,金融科技行业非常看好区块链技术的发展。阿里达摩院发布的《2020十大科技趋势》显示,规模化生产级区块链应用将走入大众。腾讯证券发布的《2020投资趋势洞察白皮书》显示,5G及科技相关行业、自主可控、区块链、数字货币四大题材将成为2020年A股备受关注的概念。百度研究院发布的《2020年十大科技趋势预测》称,区块链将以更加务实的姿态融入更多场景。
受2020年初新冠肺炎疫情的影响,中国人民银行要求为保障现金使用安全,重点疫情地区不仅要对现金进行消毒,而且要将现金隔离14天以上才能重新投放流通,民众在疫情期间也尽可能规避使用现金,所以如果DCEP能够按计划发行,将受到民众的欢迎,为区块链技术应用落地营造良好的基础环境。DCEP有望成为金融科技最成功的区块链技术应用项目,并促进其他区块链项目的落地。特别是每个人都有了数字钱包后,其中的数字证书对其他应用场景的落地将起到非常大的促进作用,如数字票据、数字房产、数字资产、数字遗嘱、数字土地确权、数字合同、数字信用积分等。在实现了跨链访问的技术后,同一个数字钱包里的数字证书可以应用到众多的场景,会加速其他场景的落地。所以,笔者也最为看好DCEP的价值及其带来的附加价值,期待中国人民银行能够早日完成试验并正式发行。
受疫情的影响,众多的民营企业和中小微企业面临经营困难、融资困难的境地,将区块链技术应用于产业链中以解决民营企业和中小微企业融资难的问题可能会受到金融监管部门和更多金融机构的关注,同时核心企业为了确保自己的产业链不受影响,会有更强的上链意愿。所以,在确保安全可靠的基础上,区块链技术在产业链端的供应链金融领域应该会有更广泛的应用。
对2020年区块链技术在金融科技领域的应用展望如下。
(1)众多区块链标准将开始推行,加速应用落地。
(2)区块链技术将持续创新和发展,联盟链之间将实现便捷跨链。
(3)在金融供给侧结构性改革的指引下,“区块链+5G+物联网+人工智能”将为供应链金融产业链赋能。
(4)DCEP有望在2020年推出,将极大地促进区块链技术的快速发展。
(5)金融监管、数据存证、数据共享等垂直领域将成为金融机构应用区块链技术的试点领域。
分布式技术的范畴比较宽,前文提到的云计算、区块链都可以应用于金融行业,但这两种技术更多的是为金融行业提供基础设施层面的支撑,本部分将从金融行业系统建设的视角来看待分布式技术,看哪些具体的分布式技术已经被应用于金融行业,并切实解决原有系统所面临的问题。
互联网正在深刻地改变整个社会,对金融行业也起到了巨大的推动作用。以银行业为例,在初期银行只是利用互联网发布一些信息,目的是推广银行的产品。随着互联网的持续发展,银行发现互联网蕴藏了很多新的机会,于是逐渐把互联网当成新的渠道,通过这个渠道完成的交易不断攀升。2013年余额宝横空出世,短短几个月的时间,就让很多传统银行感受到了前所未有的压力,出现了客户流失、存款流失等情况。余额宝出现以后,很多金融机构也推出了各种类似产品,这些都是传统金融业人士在互联网背景下思考的产物,直到现在,很多银行还在尝试如何在互联网模式下把金融产品做得更好,其实整个过程也是一个不断探索的过程。当然,随着互联网的继续发展,不仅要用互联网把产品包装一下,或是结合起来,而且要充分体现互联网思维。互联网思维最关键的一个特点就是以客户为中心,这里的以客户为中心,不仅要关注客户的金融类交易,而且要关注客户的日常生活,关注如何快速为客户提供所需的产品,使客户的生活更加便利。所以说,基于互联网思维,银行不仅要将产品与互联网进行对接,而且要在发展战略、系统建设、产品定义、市场营销甚至组织结构等方面进行全面的调整。
互联网在给金融行业带来机会的同时也带来了巨大的挑战,余额宝开始对接天弘基金的时候,给天弘基金带来了巨大的客户流量,交易额也快速增长,但随之而来的是天弘基金后台的交易系统压力持续增大,不得不紧急进行升级。在互联网模式下,任何人在任何时间、任何地点、任何场景通过任何设备都可以进行交易,在上述情况下,IT系统将面临巨大的挑战。首先,海量的客户没有地域的限制,也没有年龄的限制,所以系统的并发数将大大超过传统模式;其次,客户在任何时间、任何地点都可以进行交易,这些海量交易背后又会产生海量的数据;再次,上述几种情况可能同时出现,最典型的就是每年的“双十一”,每当这个时候,大部分人在购物狂欢时,很多与“双十一”关联的系统却面临严峻的考验;最后,互联网的商业模式也加剧了行业的竞争,只有快速灵活地推出新产品,才能迅速占领市场。
虽然各行业都面临互联网带来的冲击,但每个行业都有自己的特点,金融行业由于信息化开展得比较早,同时还与资金有着密切的关系,所以复杂度更高。同样以银行业为例来看一下金融行业的现状。
首先,从软硬件环境来看,不同的银行差别非常大,甚至在某些银行,IBM的大机、小机,X86服务器,甚至云平台同时存在。另外,业务系统的情况也比较复杂,一般传统银行有上百套系统,有些大银行甚至有上千套系统,这些系统一般由不同的厂商建设,由于时间跨度比较大,有些系统的建设厂商已经不复存在,当然对于科技能力比较强的银行来说,有些系统也可以自建。
其次,从运维角度来看,银行需要高可用、低风险,并且运维可控,监管机构会采取很多管理措施,如果出现较大的生产事故还需要上报监管部门,甚至面临处罚的风险,这与互联网企业有着比较大的差别。
最后,银行的业务与互联网有着较大差异。一方面,对数据的一致性要求非常高,尤其是与账务相关的交易,如果按照互联网的模式做有损补偿的话,这个代价会非常高。另一方面,由于银行业已经发展了很多年,所以业务场景不仅多,而且很复杂,这与互联网企业的差别还是非常大的。互联网企业很多业务比较单一,边界清晰,但是传统银行的业务错综复杂,甚至一套业务系统就包罗万象。
结合前文的分析可以看出,金融行业必须在满足其对业务复杂度、数据一致性等特殊要求的前提下,才能解决互联网带来的高并发、大数据量等问题。单独解决其中任何一个问题都是比较容易的,但是现在不是解决一个点,而是要同时解决整个面,这才是金融行业面临的真正挑战。
云计算主要解决系统的横向扩展能力,但如果一个业务系统自身比较庞大,启动过程需要几分钟甚至十几分钟的话,云的特性就很难发挥出来。另外,即使在云上部署了多个节点,但由于各种原因,业务系统数据操作的能力受限,部署再多的节点意义也不大。所以,云计算更多的是提供基础设施层面的支撑,对与业务系统密切相关的问题的贡献不大。同样,现阶段大数据技术更多的是面向非结构化数据,但一般业务系统处理得更多的是关系型数据,也就是使用的是传统的关系型数据库,如果有些表的数据量有上亿条,其处理能力就会明显下降,但这些问题不是大数据所能解决的。
虽然云计算、大数据不能直接解决金融行业所面临的问题,但其背后的理念给行业带来了巨大的启发,那就是“分布式”。分布式不管以什么形式体现,其最根本的思想就是:逻辑上是一份,物理上是多份。前文提到的高并发和大数据量问题产生的根本原因都是“大”,那就要进行“拆”。如果数据量大,就对数据进行拆分;如果并发请求量大,一个实例不够,就用多个实例。当然,在解决上述问题的同时,不能忽略金融行业所特有的要求:数据的一致性、时效性和业务的复杂度。在解决高并发和大数据量问题的同时,必须保证整个金融行业需要遵循的原则,那就是在分布式技术体系下,必须保证事务的高度一致,整个机制必须覆盖银行所有的业务场景。也就是说,需要将分布式理念应用到系统的各个层面,形成一个完整的体系。
传统金融行业的业务系统大部分是集中式的架构,这种架构已经严重制约了生产力的快速发展,如果不做改变,互联网的优势不仅利用不上,而且会造成较为严重的影响。虽然分布式已经被行业证明为切实可行的解决方案,但在不同金融机构的应用中其差别还是比较大的。
银行、证券及保险作为金融行业的典型代表,都在进行分布式技术应用的探索,但整体来看银行业走在前列。
首先,对于国有商业银行来说,由于“工、农、中、建”这几家银行的科技能力都比较强,所以在分布式技术的应用方面也居于领先地位,其中中国工商银行早在2015年前后就已经启动了分布式技术的相关研究工作,随着研究的不断深入,其内部基本形成了比较完整的分布式技术体系,并且已经在很多新建系统中使用。另外,这几家银行的核心业务系统都是基于IBM大机构建的,目前都在考虑对大机上的核心业务功能进行剥离,并用分布式技术体系重新构建,最终实现所有的核心业务功能都在分布式技术体系上运行,当然这个过程还是比较长的。
其次,大部分全国性股份制银行也在积极进行分布式技术的尝试,但各个银行采用的方式有较大差别。中信银行于2017年启动了新一代分布式核心的建设,其整体思路是直接用分布式重构全套核心,虽然计划的上线时间有所推迟,但其建设模式在行业内是具有一定代表性的。2018年1月28日,民生银行自主研发的分布式核心账户系统成功上线,并且完成了直销银行系统全部1200万个电子账户的迁移,在行业内产生了较大的轰动效应,同时也进一步推进了分布式技术在行业中的发展。浦发银行于2018年启动了分布式技术平台的建设,通过一些新建系统对平台进行验证,后续逐步推进核心系统的分布式升级。广发银行于2019年底也启动了核心系统分布式的改造工作,其基本思路也是先建设分布式技术平台,再进行业务系统的建设。另外,招商银行、光大银行、兴业银行、华夏银行、平安银行、恒丰银行等也或多或少地进行了分布式技术的研究。
再次,城市商业银行在分布式技术的应用上也做了很多尝试。北京银行从2017年开始引入厂商的分布式相关业务系统,逐渐形成自己的全行级分布式技术平台,再慢慢对现有的核心系统进行剥离。南京银行在2018年与阿里云和蚂蚁金服进行战略合作,完成了互联网金融平台的建设,目前这个平台主要支撑与互联网相关的业务系统的建设。另外,上海银行、天津银行、宁波银行、重庆银行以及其他一些区域性银行都进行了很多不同形式的探索,但整体来看,相较于前两类银行,这类银行的科技能力稍弱,大部分会选择与外部厂商进行合作。
最后,民营银行也是一支不可忽视的力量。由于民营银行是新建银行,没有历史包袱,思想也比较开放,所以其对分布式技术的接受更快。此类银行有一些也与大型互联网公司有一定的关联性,这些互联网公司也会为其提供一定的技术支持,便于其分布式技术体系的建设,如浙江网商银行、前海微众银行、中信百信银行分别与阿里巴巴、腾讯和百度建立了战略合作关系;也有一些民营银行采用厂商提供的分布式技术体系进行系统的建设,如新网银行、上海华瑞银行、温州民商银行等。
分布式技术要真正应用于具体行业,就必须与行业的需求紧密关联,以解决实际问题。金融行业在多年的探索和实践中,已经将分布式技术应用于业务系统的多个层面,每个层面都具备横向扩展的能力,系统的整体处理能力得到大幅提升。在使用方式上,也由最初的与业务系统紧密耦合的方式逐渐发展为独立的平台,随着使用场景复杂度的提升,又要求平台的各部分功能既可以保证各自的独立性,又可以紧密地配合。另外,随着一些大型互联网公司进入金融行业,其使用方式又多了一种——金融PaaS,考虑到目前国内金融行业云计算基础设施的整体发展水平,该方式在短期内使用得比较少,但一定是未来的发展方向。在整体架构演进的同时,分布式技术涉及的多个层面也实现了独立、快速发展。
金融行业传统的业务系统大部分是集中式的,如果系统的负载超过单体系统的处理能力,系统就会出现瓶颈,所以必须用多个实例来共同承担系统的负载。另外,集中式的系统一般是大而全的系统,如果要修改或者新增功能,就有可能影响整个系统,影响面及灵活性都是问题,所以还需要对系统从业务功能层面进行拆分,使系统之间的耦合性降低,各子系统更加独立、灵活。
应用层分布式的发展经历了多个阶段,前文提到的第一种方式,也就是采用多个实例来共同承担系统负载的方式,虽然从负载的角度来说算是分布式理念的体现,但从应用的角度来看则更像是一个无状态的应用的集群,并不是严格意义上的分布式。随着对业务系统按功能维度进行拆分,应用层的分布式才真正迈出了第一步,但如果仅仅是拆分,每个子系统还会面临单点故障的风险,所以逐渐演变为分布式和集群整合在一起的方案,也就诞生了微服务。
2011年10月,阿里巴巴开源了自己的SOA服务化治理方案的核心框架Dubbo,微服务的理念才逐渐被国内开发者所认知(虽然当时“微服务”的叫法还很少),并被广泛应用。可以说,Dubbo对国内微服务的推动起到了非常重要的作用,但是Dubbo更关注运行态的功能,对配套的运维管控等方面的能力比较弱,这就造成Dubbo的用户出现了两种类型:大部分用户直接采用Dubbo进行业务系统的开发,并不关注生产级的运维管控;也有一些研发能力比较强的企业对Dubbo进行了二次扩展,并把配套的运维管控等方面的能力逐渐补齐,形成了一套完整的微服务体系,如中国工商银行、民生银行,以及部分金融供应商基本采用这个模式。
2014年3月,Martin Fowler发表的一篇关于“微服务”的文章提到,微服务架构是一种架构模式,提倡将单一应用程序划分成一组小的服务,各服务之间互相协调、互相配合,为用户提供最终价值。此后,“微服务”的叫法才在行业内广泛流行。2015年3月,Spring Cloud发布了第一个版本,由于其技术体系具有先天优势,开源生态发展得比较好,微服务体系也相对完整,于是Spring Cloud很快就拥有了庞大的用户群体。2015年,国内大部分微服务的应用还是基于Dubbo构建的,但是到2017年,Spring Cloud在国内的影响力日益凸显,2018年以后,新建的微服务系统大部分是基于Spring Cloud构建的,甚至其已经成为微服务的代名词。虽然Spring Cloud开源体系中已经提供了比较丰富的组件,但要达到生产级的要求,以及对业务场景提供更加完备的支持,还需要使用者进行比较深入的扩展实现,目前国内金融行业大部分是按照这个思路进行微服务体系建设的。
微服务的实现并不一定局限于某一种开发语言,Spring Cloud的出现只是使各个机构更加方便地构建微服务体系,虽然金融行业内部更倾向于技术体系的统一,但Java语言确实很难覆盖其内部的所有业务系统,所以金融行业对全行级的跨各种开发语言的微服务体系具有潜在的需求,并且很多金融机构也在尝试容器云体系的建设,这与微服务领域的发展趋势不谋而合。在Spring Cloud快速发展的同时,微服务架构的另一种方式Service Mesh也得到了发展,最早可追溯到2016年的Linkerd,可以说这是第一个Service Mesh的实现,也是它创造了“Service Mesh”这个词。但是Service Mesh真正被大家所了解还在于Istio,它来自Google、IBM和Lyft,是Service Mesh的集大成者,它为Service Mesh带来了前所未有的控制力,并于2017年5月发布了0.1版,很快该领域的几个重要参与者Envoy、Linkerd、Nginmesh选择与Istio合作,从而促进了Istio的快速发展。2018年7月31日,Istio宣布推出1.0正式版本,并表示可用于生产环境,这在Service Mesh领域是一个重要的里程碑。2018年前后,国内很多公司加快了对Service Mesh的研究,有些公司逐步推出了与Service Mesh相关的产品,但大部分是基于Istio技术栈进行的。从整体的情况来看,Service Mesh领域的产品复杂度比较高,除此之外,通常还需要与容器、Kubernetes等相关技术配合使用,所以国内生产领域使用得还比较少,金融行业考虑到配套的技术需求以及对系统稳定性等方面的要求,对Service Mesh大多持比较谨慎的态度,但随着容器化技术的普及以及Service Mesh产品的不断成熟,金融行业的微服务架构肯定会朝这个方向发展。
当应用层的瓶颈解决后,压力就会向数据库传递,如果某业务表的数据量达几千万条甚至上亿条,那么针对该表的数据操作就会成为瓶颈,所以需要对数据进行拆分,将数据按一定的维度拆分为多份,每一份用一个数据库节点来承载,这样不仅单库的数据量降低了,而且整个系统数据库的运行资源也增加了。
数据的分布式处理理论上在数据访问过程中的每一层都可以实现,但是难度系数基本上是越往下越高,行业的发展也基本上是自上而下地推进。按照实现层级的不同,行业内出现了以下几种主要的实现方式。
(1)业务层处理。在数据分布式处理的初期,业内可供参考的实现非常少,更多的是需要业务开发人员在开发业务逻辑时同步考虑数据的存放位置,显然这种模式对业务开发人员的能力要求比较高,并且对业务代码的侵入性也比较大。
(2)分布式数据访问组件。将数据的分布式处理与业务逻辑解耦,由数据访问组件完成数据拆分及处理,对业务开发和底层的数据库基本透明。这种模式也是最轻量的一种实现方式,行业内采用这种思路的主要有淘宝的TDDL、当当网的Sharding-JDBC以及神州信息的Galaxy-DAL。
(3)分布式数据访问中间件。在应用系统和数据库中间增加一个独立的中间件,由中间件完成数据的分布式处理等功能,相关的配置也在中间件进行设置,业务系统几乎感知不到中间件的存在,在访问过程中只需将数据库的连接切换到中间件即可,但由于相较于传统模式多了一次网络开销,对其性能还是有一定影响的。行业内采用这种理念的主要包括开源的Amoeba、Cobar、MyCAT、DBLE以及阿里专有云的DRDS等,但其中有一些产品是与后端的MySQL数据库深度绑定的。
(4)基于代理模式的分布式MySQL数据库。对于这种类型的数据库来说,数据存储主要依赖相对成熟的MySQL数据库,但是在MySQL之上增加了一个访问代理,数据分布式处理的功能主要在代理中实现。除此之外,还提供了比较专业的数据库集群保障机制以及配套的运维管理工具。这种模式是由第三种模式演变而来的,所以同样增加了一次网络开销,这种类型的数据库主要包括腾讯的TDSQL、中兴通讯的GoldenDB、热璞科技的HotDB等。
(5)基于全新数据库理论的分布式数据库。这种类型的数据库在数据存储、计算、访问及事务等方面的处理与传统的关系型数据库有着非常大的区别,可以理解为比较彻底的一种分布式数据库,但由于其毕竟是新生事物,在功能的完备度及生态体系方面还有待进一步提升。这种类型的数据库主要包括阿里巴巴的OceanBase、PingCAP的TiDB以及华为的GaussDB。
2018年初,由中国信息通信研究院牵头,国内一些大型银行及部分分布式数据库科技公司共同参与制定了金融分布式事务数据库行业标准,并于2018年4月发布《金融分布式事务数据库白皮书》,结合当前金融分布式事务数据库应用现状及问题,提出了金融分布式事务数据库发展的策略建议,必将推动该领域的快速发展。
上述几种模式有各自的特点,虽然分布式数据库现阶段还不是非常成熟,但整体来看肯定是未来的发展方向,尤其是基于全新数据库理论的分布式数据库。例如,某银行只建设一个简单的业务系统,面临数据量非常大的问题,如果直接选择一个分布式数据库,总成本也许会大大超出整个项目的预算,而这种情况下分布式数据访问组件模式则是更好的选择;如果金融机构想大范围地使用数据分布的能力,并且投入也比较可观的话,直接采用分布式数据库应该是一个不错的选择,但同样会面临诸多问题,如对业务的支持程度是否满足要求、分布式事务的处理机制是否完备、行内是否具备对该数据库的运维和管控能力、分布式数据库厂商是否长期存在等。
目前上述几种模式在国内金融行业都有使用,神州信息承建的多个银行的分布式核心系统、互联网金融平台以及支付类相关的系统大范围地使用了其分布式数据访问组件Galaxy-DAL,还有一些银行基于Sharding-JDBC来构建其数据分布的能力。相对而言,分布式数据访问中间件模式使用较少,前几年使用MyCAT的还比较多,但由于其自身存在比较多的问题,再加上其社区已经没有人维护,目前已经很少使用。分布式数据库目前更多的是在一些外围系统中使用,但也有银行已经开始在一些比较重要的系统中使用,如中信银行在新一代分布式核心系统(建设中)中使用了GoldenDB,南京银行、天津银行在一些互联网核心系统中使用了OceanBase,北京银行在网联、网贷等多个互联网系统中都使用了TiDB,一些民营银行对分布式的MySQL数据库使用得也比较多。由于分布式数据库的发展不是一蹴而就的,而且传统的关系型数据库也不可能马上退出历史舞台,所以可预见在未来相当长一段时间内,还是多种模式共存的方式。
虽然理论上分布式的节点是可以无限增长的,但是在实际使用过程中由于存在各种资源的争抢(如同时对数据库中某条记录进行写操作),会有一定的衰减,所以如果要提升系统整体的吞吐量,缩短单笔交易的响应时间是一个非常重要的因素,在分布式系统中,合理利用缓存技术可以大幅降低与数据库的交互次数,缩短交易响应时间,提升整体的处理能力。
由于分布式系统一般都有多个应用实例,所以一些应用级的信息缓存在传统模式下很难实现,在这方面互联网行业给金融行业带来了很大的启示。互联网行业在进行大量信息查询时,为了提升访问效率,引入了内存数据存储技术,最典型的代表就是Redis和Memcached。随着金融行业对分布式技术理解程度的不断加深,逐渐引入了该项技术,经过不断的实践,目前大部分以Redis为主,最典型的应用就是与数据库配合来提升数据查询的效率。在使用初期,主要是将一些系统级的参数信息存放到Redis中,当参数信息需要改变时,通过管理端进行更新,对所有实例即时生效。但是这种使用方式对金融行业的贡献并不是很大,因为金融行业每天访问的更多的是客户及账户等相关信息,只有将这些信息也纳入缓存体系中才会真正提升系统的性能,但这样又会面临一个问题,那就是这些数据的变化频率比较高,如果出现数据库和缓存不一致的情况,就会造成比较严重的影响,尤其是一些与账务相关的数据,这方面也是金融行业与互联网行业差别比较大的地方。在互联网行业,大多认为这是一个低概率事件,完全可以忽略,但是对金融行业的影响有时是巨大的,这也是影响这种技术在金融行业大规模应用的一个主要障碍。
上述情况通常在对同一条缓存数据读和写交叉,或者是并行写的情况下才会发生,如果这个问题不能很好地解决,将直接影响金融行业缓存的使用率。随着行业探索的不断深入,已经有一些厂商在这方面取得了突破,从而大幅提升了缓存的使用率。缓存的使用率提升后又会面临另外一个问题,那就是缓存的数据量大幅增加,如果只是用一个Redis节点来存储,就会面临容量超限的问题,所以对Redis分布式访问的诉求越来越强,这样就需要用多个Redis节点来共同存储缓存数据,如果需要还可以再增加Redis节点。
上述问题都解决后,在具体使用过程中还会面临一个比较实际的问题,如果前文提到的Redis与数据库配合使用,还要考虑分布式的访问,这些工作如果都由开发人员来解决,难度系数就比较大,所以如何降低使用难度也是一个非常重要的问题。同样,在这个方面国内金融行业也在积极探索,从目前市面情况来看,已经有通过注解的方式(基于Java语言)或者通过配置的方式进行自动处理,而不需要业务开发人员自己调用Redis的相关API。
互联网行业对Redis的使用已经非常成熟,有些互联网公司的Redis分布式节点数有上百个甚至更多,而金融行业在Redis的使用上还处于一个相对初级的阶段,还有很多业务场景需要进一步探索,这个过程可以借鉴互联网的经验,但更多的还是要结合金融行业的特点形成一套自己的体系。
金融行业的业务系统相较于其他行业而言,还有一个比较特殊的场景,那就是在机构下班关门后要进行很多批量处理的工作,尤其是银行要完成类似结息、计提这种计算密集型的任务,如果用传统的处理方式,执行时间就会比较长,有时会影响第二天的开门营业。如果采用分布式的理念来处理,就可以利用更多的应用服务器和更多的数据库服务器,将整个时间控制在一个合理的范围内。
调度层面要实现分布式的处理,最关键的是执行节点可以分布式地运行,也就是同时有多个执行节点并行执行任务,其实只要应用层和数据层都实现了分布式,自然而然地就满足了这个条件。但要实现分布式调度还需考虑很多问题,同样要与金融的业务场景紧密结合。调度通常分为任务定义、任务调度、任务执行及任务监控几个环节,其中在任务定义环节,分布式调度与传统调度差别不大。但在任务调度环节,分布式调度会将任务分配到不同的执行节点,尤其是一些可以并行执行的任务,将同时在多个节点上执行,相较于传统模式会有更多的物理资源来参与任务的执行,将明显缩短执行时间。当然,在执行过程中如果某个节点出现物理故障,分布式调度可以快速将其任务重新分配给其他节点,这在传统的调度体系中是不具备的。
前文提到的功能可以算是通用的分布式调度机制,但在金融行业还有一些典型的场景需要进行特殊处理。例如,某家银行有5000万个账户需要结息,按照传统的模式,结息只是众多任务中的一个,但是其所要处理的数据量是巨大的,当然花费的时间也会比较长。目前在行业内已经有了明确的应对机制,对于数据量庞大的账户,一般都会进行数据层面的分布式处理,当然在结息的时候,不同的分库可以并行执行,同时行业内还有一些分布式调度平台,可以对每个分库内的数据进行进一步拆分,最终将一个比较庞大的结息任务拆分为几百个甚至上千个小的结息任务,然后再分派到多个执行节点并行执行,这样整个结息的时间就会大大缩短。
分布式在提升系统高并发、大数据量处理能力的同时也产生了一些副作用,最典型的就是事务的问题变得更为复杂。传统的集中式系统由于只有一个应用数据库,事务的ACID特性基本上依赖数据库就能全部搞定,但在分布式系统中,如果将以前大的应用拆分为多个小的应用,或者将数据拆分为多个数据库节点,有些业务场景中的事务就不可避免地面临跨应用或者跨数据库的情况,也就是分布式事务。由于不同的应用和数据库在物理上是完全独立的,所以事务的处理就变得比较复杂,但这也是金融行业分布式落地过程中必须面对的一个问题。
其实分布式事务的场景在金融行业由来已久,如跨行转账,传统的处理方式一般是通过业务层面对账或者冲正来保证的,其实采用这种方式有时是不得已而为之,因为之前遇到的分布式事务通常是跨系统的,并且这些系统所使用的技术大部分也不一样,甚至有些场景还会跨不同的金融机构,所以相同的地方就只有业务,也只能从业务层面来解决。随着分布式技术的引入,分布式事务的发生概率明显提升,但很多情况是在分布式技术体系内部发生的,也就是大部分系统是同一个技术体系,这为分布式事务的处理机制提供了新的契机。
在分布式事务发展的初期,大部分金融机构跳不出传统的处理思路,还是想通过冲正来解决,甚至让业务人员自己实现相关的逻辑代码,只提供一个“谁发起谁保证”的大原则,但是后来发现在这种模式下代码的质量难以保证,并且不同系统实现的方式也有较大差异,如果出了问题就很难定位。于是,慢慢地就出现了框架级实现的补偿机制,这种模式至少在内部是一种统一的处理机制,业务开发人员也可以更多地关注业务功能的实现,相比之前有了比较大的进步,这种模式再往后发展就与行业典型的Saga模式不谋而合。
Saga模式在隔离性的保证上有较大的缺失,金融行业的一些场景对隔离性的要求很高,同时对保证度及性能也有较高的要求,所以金融行业也在不断探索新的解决方案。在2008年软件开发2.0技术大会上,支付宝首席架构师程立在题为“大规模SOA系统中的分布事务处理”的演讲中提出了TCC的概念,该模式在支付宝内部大范围使用。虽然该模式提出的时间比较早,但真正在传统金融行业引起重视并被接受是最近几年的事情。2015年,神州信息的分布式技术平台首先采用这种机制进行了轻量化的实现,并应用于银行分布式核心系统的产品中。自2017年开始,一些大型银行的科技部门也开始关注TCC模式,并且有一些银行已经实现了TCC模式,但很多一直很难在具体的业务系统中落地。2018年之后,TCC模式逐渐被各大金融机构重视,但目前真正在业务系统中使用的依然比较少,其主要原因还是TCC模式对业务开发人员的能力要求比较高,需要对TCC模式深入理解,并且可以根据金融业务场景合理地进行资源预留,同时还要综合考虑联机交易和日终批处理的影响。
分布式事务领域的探索任重道远,如何在保证隔离性、保证度以及性能的前提下降低对业务的侵入度成为主要目标。2017年,蚂蚁金服推出了其第二代分布式事务解决方案FMT,解决了使用TCC模式的效率问题,提供了业务无侵入的分布式事务解决方案;2019年6月,神州信息也推出了其第二代分布式事务解决方案VIRGO,为行业实现对业务无侵入的分布式事务提供了更多的选择。
金融行业的业务场景比较多,理论上不同的业务场景对事务的诉求是有一定差异的,一个模式很难适用所有场景。所以,分布式事务的发展除了在处理机制上要进行创新外,还要与业务场景紧密结合,形成一套完整的体系。
参考文献
阿里达摩院:《2020十大科技趋势》,2020。
百度研究院:《2020年十大科技趋势预测》,2020。
国务院发展研究中心国际技术经济研究所:《中国云计算产业发展白皮书》,2019。
火币研究院:《全球区块链产业发展全景(2019~2020年度)》,2020。
李斌:《区块链的理性认识与感性实践》,《凤凰周刊》2019年12月25日。
穆长春:《科技金融前沿:Libra与数字货币展望》,得到App,2019年12月27日。
腾讯研究院:《2019腾讯区块链白皮书》,2019。
腾讯证券:《2020投资趋势洞察白皮书》,2020。
中国电子技术标准化研究院:《区块链 参考框架》,2017。
中国电子技术标准化研究院:《区块链 数据格式规范》,2017。
中国信息通信研究院:《金融分布式事务数据库白皮书》,2018。
中国信息通信研究院:《金融行业云计算技术调查报告(2018年)》,2018。
中金公司:《区块链与数字货币:科技如何重塑金融基础设施》,2019。
IDC:《2019容器技术及其应用发展白皮书》,2019。
IDC:《金融行业云计算白皮书》,2019。