开源公告 | 微众银行区块链开源分布式账本解决方案

微众银行区块链

共 4590字,需浏览 10分钟

 ·

2021-06-30 13:32

区块链具备分布式一致性、数据难以篡改、全程可追溯等特性,有助于推动互联网从传递信息向传递价值转变。2020年,区块链技术首次被国家层面明确为新型基础设施,服务于我国数字经济战略。2021年,国家“十四五”规划纲进一步鼓励区块链的发展,指出要“推动智能合约、共识算法、加密算法、分布式系统等区块链技术创新,以联盟链为重点发展区块链服务平台和金融科技、供应链管理、政务服务等领域应用方案”。

如今,区块链已经被广泛应用到金融、政务、版权、司法存证等多个行业领域。然而,当其与具体行业结合走向更加纵深化的同时,我们不免要思考如下问题:
  • 区块链上的分布式记账与传统记账有何差异,如何快速地构建分布式账本体系?

  • 区块链上的多方协作中,如何协调个人和组织、组织与组织之间的复杂关系?

  • 实体或数字化的“价值”如何清晰、有效地锚定到区块链上,并高效安全地进行价值流转?

  • 在普通用户仅使用服务而不参与区块链记账的情况下,如何切实地维护自身权益?

  • 在将区块链技术应用到行业领域各个层面时,如何保护相关方的隐私,消除操作风险,支持监管审计,确保业务合规?

    ……


我们认为,在践行区块链技术的路径上,行业需要这样的分布式账本方案:直观易用、稳健合规,能与业务场景深度融合,合法合规地承载价值和进行流转。为此,微众银行区块链结合业务场景,梳理系统脉络,正式开源分布式账本解决方案:WeBankBlockchain-OpenLedger(以下简称OpenLedger)。

  设计思路

OpenLedger聚焦链上的“用户、业务方、权益、账户和账本”,建立与实际业务相匹配的账本体系,承载数字化权益的完整生命周期,以此形成多方参与的可信分布式账本。

OpenLedger以区块链作为底层平台,用层次化、模块化的设计思路,充分整合微众银行区块链全栈开源技术体系。在治理方面,支持灵活的角色和权限模型,协助用户和业务方安全稳妥地管理链上账户,具备全面的审计监管能力。


OpenLedger通过智能合约封装账本、账户、权益、组织模型,覆盖用户、业务方、托管人的协作关系,使得链上治理符合各行业熟知的运营管理习惯。

OpenLedger提供开箱即用的业务级合约,合约支持复用与扩展;在业务层设计友好的接入方式,提供功能丰富、易于使用的接口,简化了业务系统接入的过程,极大地降低了开发成本。

基于OpenLedger建立的区块链分布式账本功能完善、体验友好,可支持消费券、积分、资产证券化等多样化的场景。

  关键特性

职责分离的托管人机制

在银行、证券、保险等行业领域,通常引入权威可信的第三方担任托管人,负责资产登记和账户保管,以保障账本的安全性与可信性。OpenLedger借鉴了这种制度,形成了职责分离的托管人机制,同时,托管人可由业务方或者可信第三方担任,并基于区块链体系,在用户、业务方和托管人之间建立起合规、安全、可信、高效的分布式协作关系。

其中,业务方向用户提供服务、管理账户;托管人负责权益上链登记、保管账本、维护链上权益与实际价值的一致性;用户控制自身账户权益,通过私钥发起权益流转交易;区块链记录、保存、同步交易日志。以此保障链上权益安全、一致、可靠,从而形成可信的分布式账本。

灵活的账户体系

在大部分商业场景中,组织是最常见的业务方,向用户提供服务。组织根据业务需要设置业务岗位,划分员工职责,并为员工分配系统账户和权限。

在复杂的组织架构中,区块链单一的账户体系无法满足实际业务的需要。为此,OpenLedger提供了由个人账户、企业账户组成的灵活账户体系。组织可以根据业务需要,授予多名员工操作本企业账户的权限。

基于该账户体系,不论是个人账户用户还是组织员工,仍然可用自己的私钥签名,发起交易。随后,OpenLedger智能合约会验证交易和权限,验证通过后,根据交易更新相关账户的权益,并记录交易日志信息。

利用OpenLedger,我们可轻松创建与实际权益所有权一致的账户体系,有利于明确岗位职责,减少账户管理成本,降低治理难度。

增强KYC和隐私保护

分布式账本通常承载着多个相关联的业务,每项业务都由具体的业务方提供,业务方有验证用户身份的责任,这被称为KYC(Know Your Customer,了解你的客户)。这里所指的“用户”可以是个人也可以是组织。

OpenLedger对KYC流程和用户准入有严格的要求,用户开户必须由业务方进行KYC之后才可开通。账户开通之后,业务方的链上角色是KYC组织,用户则是链上账户的所有人。KYC组织拥有账户资料维护权,其他人无权访问用户信息。用户自行持有私钥,自主控制账户。

安全的双重签名机制

联盟链由业务方维护运行,用户通常需要委托业务方管理自己的账户,这意味着用户实际上并没有链上账户的控制权。这种模式下,存在业务方不经过用户授权便可访问用户账户的风险,导致用户难以保护自身权益。

OpenLedger设计了双重签名机制,并用密码学算法强化了用户的控制权。交易必须由用户和业务方联合签名才能上链:用户在链下对交易数据进行第一次签名,并将签名后的数据发送给业务方,业务方再进行第二次签名后,提交上链;链上合约会同时验证业务方和用户两次签名的合法性,以严格保障用户权益的安全性。

双重签名实现原理如下:


双模式账本体系

经过深入分析多种业务,我们抽象出两种记账模型:一种是基于余额数量变化的记账模型;另一种是基于所有权变化的记账模型。灵活使用两种记账模型可以满足各种记账业务需要。

区块链的数据结构和存储格式决定了账户信息分散在多个区块上,虽然可以根据交易哈希或者根据区块号追溯交易和账户的变化,但是功能受限且效率较低,无法实现高效、多样的检索和计算需求。OpenLedger基于FISCO BCOS 高速合约引擎,针对性地设计了账本结构以便实现高效记账和多维度查账。

此外,OpenLedger采用逻辑与数据分离的设计模式,以实现升级业务逻辑时,不会影响账本数据;并且在业务需求发生变化时,可友好、平稳地衔接,以保障账本数据的完整与安全,极有效地保障了业务的可持续性。


开放体系

OpenLedger基于开源区块链底层构建,并全面开源。OpenLedger的全部代码和文档均开源,并内置基础业务模板。开发者一经引入此开源方案,便可快速实现积分、权益、优惠券、会员卡等场景的应用。此外,在安全合规的前提下,开发者若进行二次开发,也可实现银行权益、理财保险、跨境贸易等复杂业务。

同时,我们欢迎开发者参与到OpenLedger的开源建设中来,共同讨论需求,增加特性,贡献场景,共同发展更全面、更强大的分布式账本方案。

  OpenLedger典型场景

消费者权益互换场景

传统的消费者权益互换系统中,权益由多家商户的会员卡、代金券、优惠券等组成。传统技术下,商户平台系统对接复杂,数据不能互通,不同商户之间的权益难以流转。

针对以上有多方参与的权益流转场景,若在平台、商户以及消费者之间搭建OpenLedger分布式账本,权益便能够在全平台互相流通和互转,并做到实时对账,减少相互对账,保障交易可信可靠,实现消费者权益保护等。

OpenLedger提供的组织与账户的管理模式,可协助商户、银行、消费者等参与方安全稳妥地创建与管理链上账户。此外,OpenLedger提供的记账模型,可实现权益数字化,并通过内置台账来记录权益流转过程。

在托管模式下,消费者在进行交易时,OpenLedger的双重签名机制可以有效地避免权益多发或少发,避免重复使用和抵赖等情况。


资产证券化场景

信贷资产证券化业务涉及机构众多,包括作为原始权益人的银行、登记机构、信托机构、会计师事务所、投资人、借款人等,其中借款人、投资人可能是自然人。从资产流转的角度看,其业务流程大致可描述为:银行将信贷资产销售给信托公司,信托公司将信贷资产设计成证券,后经金融市场等登记、发行,再由承销商负责销售给投资人。

从信贷还款资金流转的角度看,借款人还本付息给贷款银行,贷款银行划拨给托管银行,之后经过一系列的费用计算,再将本金、利息、服务费等划拨贷款银行、投资人及各服务机构。

该业务中各机构都有信息系统记录各项业务数据,但是缺乏互联互通,因此效率低下、监管困难。使用OpenLedger建立的信贷现金流回款账本和证券账本,各项数据可实时互享互通,实现由托管银行担任现金流托管人,由账簿登记机构担任证券托管人,并且能够做到从信贷到证券,从证券到持有人的全链条、穿透式监控,确保互通后的业务模式与原有模式一致,但更符合金融监管的要求。 

文化版权场景

文化版权保护的目的是保护文化作品著作人、版权所有人、版权受益人等相关方的合法权利,并通过授权、分润等形式使文化作品有效地流通,发挥更大的价值。

文化版权场景面临的痛点是:版权创建时确权不清晰;版权在市场流通时,容易发生盗用现象;版权流通时,由于上下游信息不对称,导致商业化链条过长、版权收益分成清算复杂等问题;版权需要维权时,取证、举证难。

针对这些问题,用户可基于OpenLedger构建可信文化版权平台,将文化版权以权益所有权变更记账模式记录在OpenLedger的分布式账本上。当版权流通的时候,交易记录被写在账本上,实现了文化版权全生命周期的可追溯,解决了版权流通市场信息不透明问题,并为后续的版权收益提供了保障。

最近,最高人民法院发布的《人民法院在线诉讼规则》和《人民法院司法改革案例选编(十一)》,就确认了区块链存储数据上链后推定未经篡改的效力,明确了区块链存证的真实性审查标准。这意味着,记录在链上的版权信息具有法律效力,可被作为司法维权依据。

  即刻使用

OpenLedger方案源代码、Java语言SDK和详细技术文档全面开源。用户通过“下载源码、配置节点与证书、业务系统调用SDK接口”这简单的三个步骤,可快速构建基于分布式账本的区块链应用。

文档地址

https://openledger.readthedocs.io/zh_CN/latest/

GitHub代码库地址:

https://github.com/WeBankBlockchain/OpenLedger

Gitee代码库地址

https://gitee.com/WeBankBlockchain/OpenLedger

Demo体验:
https://openledger.readthedocs.io/zh_CN/latest/docs/demo/index.html

欢迎参与WeBankBlockchain的社区建设:
  • 如项目对您有帮助,欢迎点亮我们的小星星(点击项目右上方Star按钮)。
  • 欢迎提交代码(Pull requests)。
  • 提问和提交BUG。
  • 如果发现代码存在安全漏洞,可通过https://security.webank.com/上报。


如需咨询技术问题,欢迎关注本公众号,对话框回复【小助手】进技术交流群。



浏览 37
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报