精华内容
下载资源
问答
  • 其底层支持区块链技术也从幕后,逐渐走入大众视野。对于区块链的应用,尤其是金融领域的应用。一直都创业者所关注。 近年来,随着金融互联网科技的高速发展,再加上区块链技术的底层支持。对于二者的融合运用,业内...

    在这里插入图片描述
    随着比特币的火热。其底层支持区块链技术也从幕后,逐渐走入大众视野。对于区块链的应用,尤其是金融领域的应用。一直都创业者所关注。

    近年来,随着金融互联网科技的高速发展,再加上区块链技术的底层支持。对于二者的融合运用,业内一直十分看好。可是受制于当前区块链的发展程度和当前金融运行机制的庞大。对于其运用于当前金融系统的落地,仍需要一定时间。

    解决区块链在金融领域的应用,首当其冲的是解决金融活动的基础—存储和借贷的场景链上化。从资产上链、数据共享到利息发放和还款设置等,这些都是区块链借贷智能合约设置待解决的问题。同时,对于智能合约的执行性能,当前最基本的是需要满足用户对于其执行效率和执行安全需求。

    对于以上提出的技术要求,EULO在设计伊始就考虑到其落地所需要的底层技术需求。在优罗链团队看来当前区块链借贷问题的应用实现主要面临的以下几个问题的解决。即:

    第一:数字货币对法币的价值波动问题难以解决,造成链上资产难以合理评估并且表示。
    第二:由于区块确认上难以实现即时完成,造成未来智能合约执行的滞后性
    第三:由于权益证明和身份证明存在问题,造成借贷方信用信息的难以保证,无法实现信用真正获取。

    对于以上存在的三个问题,优罗链从公链底层性能入手层层递进,开发出可支撑的底层公链,支持区块链储蓄借贷的完成。

    首先是公链性能优化。优罗链在原有公链区块确认机制上引入“主节点+超级节点”模式,大大提高了其终端的确认速度,实现交易秒级确认。再者在用户隐私匿名上,EULO运用了零知识证明方式将用户的个人信息与地址信息阻隔。预防黑客反推获取用户信息。

    从公链的性能着手,在EULO实现交易秒级确认性能后,EULO着手对于数字货币存储功能的设定。借助于秒级确认,EULO可以对比美元或是稳定币,黄金进行价值汇率锁定,在确定利率以后,EULO就可在做到价值恒定的前提下对用户数字资产进行存储。保证用户的合法利益,同理对于用户借贷过程中的资产估值,EULO同样可以对抵押物进行价值锁定,解决当前数字货币波动问题。

    同样,在解决借贷问题中的权益成本和身份证明上,EULO采用的是ID与IP隔离的方式,这样一方面能够保证用户个人隐私得到保护,在另一方面又能确认用户的权益能够获取证明。在借贷行业的区块链系统中,零知识证明技术还可以有限的为反欺诈、反洗钱提供有效的技术保证。保障了借贷过程的安全进行。

    在公链性能和借贷逻辑上实现可落地的可能,EULO还对未来三种基于区块链技术的借贷做出三种类型智能合约设置即:个人对个人,个人对机构,机构对机构。

    在这三种借贷中,EULO链上智能合约提供了借贷双方的信息及款项和智能认证合约有效性、自动还款扣款等功能。借贷双方一旦确认智能合约,则从借贷发起、抵押物价值确认、借贷金额价值确认到放款价值确认,利息计算和还款计划等都一并执行。这样以来,在优罗链上就完成了一次去中心的借贷过程。

    在优罗链提供的借贷款底层支持中,借贷双方完全在无银行等第三方机构的参与下完成借款到还款的整个业务流程。规避了第三方的借贷利息差值,使得借贷双方达到利益的最大化。

    展开全文
  • DeFi,即 Decentralized Finance,去中心化金融,也称开放式金融,指的是建立在区块链网络上的一些智能合约、数字资产等金融产品。 DeFi市场和应用增长情况尤为明显,过去一年里,6月到9月份是DeFi项目应用市值增长...

    如果你有关注金融科技,那么你一定会知道今年的DeFi进展堪称神速,各路创新金融应用的爆发,满足了很多需求的同时还创造了更多需求,吸引了无数资本和优秀人才的入驻。

    DeFi,即 Decentralized Finance,去中心化金融,也称开放式金融,指的是建立在区块链网络上的一些智能合约、数字资产等金融产品。

    DeFi市场和应用增长情况尤为明显,过去一年里,6月到9月份是DeFi项目应用市值增长最快的3个月,增长了将近4倍,到了9月初后触顶回落之后一直在低位盘旋,11月份开始有所回升,目前距离前高的位置还有一些距离。

    如果你也是DeFi用户,观察DeFi主“战场”以太坊的日常交易所需支出的Gas费就会有更直观的感受。如上图所示,今年8月底、9月初,也就是DeFi应用的活跃高峰期,当时每日平均Gas费用最高达15美金一笔,也就是说,每进行一次交易平均就要花费100元的手续费

    用,这无论对于DeFi玩家还是应用开发者来说都是无法接受的,因为Gas费用高企的同时,由于以太坊公链网络性能的限制,还会非常拥堵。很多时候,GAS费稍微付少一些根本无法进行交易、甚至反复交易失败也是常有的事,如此以往,DeFi如何继续发展?

    或许以上这些也是为什么DeFi项目市值从高位触顶后突然暴跌的很大一部分原因,因为DeFi目前真真实实的存在增长的“天花板”,但如果我们看DeFi中质押的资金量,你会发现质押资金并没有像DeFi市值一样雪崩,说明大资金并没有离开,DeFi前景依然光明,目前

    DeFi似乎又一次来到了上次的天花板附近,所以非常主要的问题就在于如何突破这个“天花板”,迎接更大数额的资金流入……

    DeFi作为金融科技的一部分,其最大的作用肯定是解决用户的金融需求,比如通过质押加密资产进行借贷、生息、流动性挖矿等,可以让原本手里一直屯着、捂着不动的加密资产流动起来并获得丰厚的收益,不过以太坊网络上的加密资产除了以太坊本身以及一些主

    流Token作为优质资产外似乎并没有太多重量级资产,而比特币作为加密市场的巨无霸、“数字黄金”等地位,天然的拥有最大的金融衍生需求,于是各种把比特币映射到以太坊网络上的跨链方案应运而生,而且随着DeFi发展,通过跨链方案进入到以太坊网络的BTC数

    量也获得了飞快增长。

    DeFi已经永无休止的进化当中,完全停不下来了。有了跨链技术这场及时雨,再加上比特币开启新牛市的好时机,正如技术提供了更好的解决方案,而且还能通过不同创新性的组合让DeFi添加更多玩法、迎接更多需求以推动DeFi走向更广阔的空间。跨链DeFi、比特

    币的未来如何?我们拭目以待。
     

     

    展开全文
  • 链捕手研究院_区块链金融—借贷行业分析报告
  • 行业分类-物理装置-基于区块链的银行借贷管理系统.zip
  • 作者 | 付银海、徐秋园,泰然金融区块链应用专家 1. 业务背景 在金融借贷领域,获客、资金和数据安全是核心痛点。随着互联网人口红利的消失,获客成本日益高企,提高客户转化率成为金融借贷机构解决痛点的有效...

    作者 | 付银海、徐秋园,泰然金融区块链应用专家

    1. 业务背景

    在金融借贷领域,获客、资金和数据安全是核心痛点。随着互联网人口红利的消失,获客成本日益高企,提高客户转化率成为金融借贷机构解决痛点的有效措施。当借贷机构通过各种营销手段获得优质客户,但资金不足的情况下,如何在不流失客户的同时满足客户需求? 借款金额上限的规定,网贷平台如何留住这些大额借款客户?

    当借贷机构通过各种营销手段获得客户,但因自身信贷产品无法满足客户需求时,信贷机构可以将资产通过区块链进行共享,将资产拍卖给其他机构而获益;当信贷机构获得大额借贷客户时,可以通过区块链进行资产共享,从而联合其他信贷机构共同放贷

    基于区块链技术建立可信的信贷联盟,在保护客户信息不被泄露的情况下完成资产共享将解决以上问题。以提升资产价值为愿景,利用区块链去中间人、公开透明和保护隐私的特点来解决价值传输的问题,实现信贷机构间的资产共享。本文提供了一个基于超级账本的借贷资产共享解决方案。

    2. 用例定义

    本用例提供了资产共享的一个简单路径和实践,共有两个信贷机构,一个信贷机构作为借贷资产标的共享的发起方(贡献机构),有资产共享的需求,另一个信贷机构为参与借贷资产共享的响应方(参与机构)。本用例只为信贷机构提供借贷资产信息的信任传输,其后的放贷流程不在本用例范围内。为了完成资产在信贷机构间的可信任传输,需要解决以下几个问题:

    A、如何在借贷资产共享前后明确所共享借贷资产的所有权?
    B、如何保证贡献机构的借贷资产信息在没有获益前不泄漏?
    C、贡献机构如何将已有风控数据分享给参与机构?
    D、当参与机构需要更多借款人的风控数据时如何经由贡献机构联系到借款人?
    E、如何让贡献机构高效将借贷资产上链?
    F、如何确保借贷资产共享多方间的借贷资产交易符合金融监管?

    关于资产确权,传统互联网解决了信息传输速度更快、传递成本趋零的诉求,但是没有解决价值的转移和信用转移的问题。为了保护资产所有权,必须使用更高级别的信息安全保障。只有经过所有权人授权后才能对资产数据进行风控评估、大数据分析等操作,但又无法接触到资产的原始数据,更不能对数据进行复制和篡改。

    另外,资产共享记录不可篡改或虚构,任何数据都应该可以追本溯源,从而保证共享机构之间的价值交换数据可以随时被追踪和验证,保证信息的真实。

    为了在达成资产共享意见一致之前保护客户数据不被泄露,在资产共享之前需要对客户敏感数据进行脱敏处理。如在机构发起资产共享时,需要将客户的三要素进行加密处理,在机构间达成资产共享共识之后才能将三要素解密。

    资产合规交易除了最大化地保护数据不被泄露外,不能由中介机构沉淀数据,否则中介机构一旦被黑将会导致客户数据泄露。同时由于金融监管的原因,传统银行、小贷公司、保险公司、P2P网贷、消费金融公司以及网络借贷信息中介机构等机构间的资产共享受到限制,如何将这些机构间的不同类型的资产顺利完成共享需要一种支持不同类型业务数据处理逻辑的技术来完成。

    完成资产在信贷机构间共享本质是解决机构间的信任问题,让资产在机构间能够自由传输共享。需要记录信贷机构参与资产共享的完整过程并且不能篡改、可追踪。

    当前方案:当前借贷资产在信贷机构间共享大多采用中介机构集中管理的模式,信贷机构将共享的资产上传到中介机构,然后设置共享形式如抢单、拍卖或是联合放贷,最后信贷机构在中介机构制定的规则下达成交易。达成交易的信贷机构除了产生资产交易的费用之外还需给中介机构佣金。通过中介机构完成资产共享的模式最终会使中介机构拥有大量的借贷者信息,在获客成本不断提高的背景下,中介机构价值不断提升,若中介机构受到黑客攻击将导致借贷者信息的泄露,从而影响信贷机构利益。

    资产价值:在资产共享的各种场景里,如多家信贷机构联合授信放贷,有效解决大额贷款客户流失的问题;由于获客成本和数据成本多家信贷机构共担,从而降低机构显性成本;若资产出现坏账,多家信贷机构共同承担,降低坏账损失。

    3. 方案选型

    区块链分为公有链、联盟链和私有链,本文解决的问题适合联盟链的解决方案, 当下可选平台不多,我们考察了腾讯的trustSQL(将在2018年第二季度推出公测)、云象区块链等平台,其当前实现落地应用及开放程度有限;Corda分布式平台,由于没有统一总账,每个“节点”必须自行存储自己的交易数据,对接入平台要求较高。最后我们选用了出块时间快、支持多通道、安全性高的超级账本。超级账本提供相互隔离的多通道解决方案,支持不同类型的业务数据的处理逻辑,天然地符合金融信贷场景。例如,将参与资产拍卖的信贷机构组成一个联盟,此联盟中的机构对于资产拍卖拥有一致共识。使用基于联盟的模型,同一联盟中的机构可以相互信任将彼此的资产在联盟中自由共享而不用担心客户信息的泄露。

    图片描述

    实际开发过中,结合团队的技能特点,最终我们选择了构建于Hyperledger Fabric之上的Hyperledger Composer方案

    4. 架构设计

    Hyperledger Fabric简述:

    在最新的版本中Fabric架构实现了以下特性:

    • 解耦了原子排序环节与其他复杂处理环节,提高可扩展性;
    • 解耦交易处理节点的逻辑角色为背书节点(Endorser)、确认节点(Committer),可以根据需求和负载进行灵活部署;
    • 加强了身份证书管理服务,作为单独的Fabric CA项目,提供更多功能;
    • 支持多通道特性,不同通道之间的数据彼此隔离,提高隔离安全性;
    • 支持可拔插的架构,包括共识、权限管理、加解密、账本机制模块,支持多种类型;
    • 引入系统链码来实现区块链系统的处理,支持可编程和第三方实现。

    Fabric的整体架构图如下:

    图片描述

    Fabric为应用提供了gRPC API,以及封装API的SDK供应用调用。应用可以通过SDK访问Fabric网络中的多种资源,包括账本、交易、链码、事件、权限管理等。其中,账本是最核心的结构,记录应用信息,应用则通过发起交易来向账本中记录数据。交易执行的逻辑通过链码来承载。整个网络运行中发生的事件可以被应用访问,以触发外部流程甚至其他系统。权限管理则负责整个过程中的访问控制。账本和交易进一步地依赖核心的区块链结构、数据库、共识机制等技术;链码则依赖容器、状态机等技术;权限管理利用了已有的PKI体系、数字证书、加解密算法等诸多安全技术。底层由多个节点组成P2P网络,通过gRPC通道进行交互,利用Gossip协议进行同步。

    对于Hyperledger Fabric的架构细节详解互联网上有非常多的优秀文章,本文推荐这篇博文http://blog.csdn.net/fidelhl/article/details/54893353,在此不再赘述。

    官方文档参考:
    http://hyperledger-fabric.readthedocs.io/en/release/arch-deep-dive.html
    Hyperledger Fabric Endorse/Commit视频教程:
    https://www.youtube.com/watch?v=2_RgCfjunEU&t=43s

    Hyperledger Composer简述:

    Hyperledger Composer是一个全面的、开源的开发工具集和框架,使开发区块链应用程序更容易。主要目标是为加快应用开发的时间,并使区块链应用程序与现有业务系统的集成变得更加容易。

    Hyperledger Composer支持现有的Hyperledger Fabric区块链基础架构和runtime,支持可插拔的区块链共识协议,以确保交易根据指定业务网络参与者的策略进行验证。

    日常应用程序可以使用来自业务网络的数据,为最终用户提供简单和受控的接入点。

    使用Hyperledger Composer可以快速建立当前的业务网络模型,包含现有的资产和与之相关的交易; 资产是有形的或无形的商品、服务或财产。作为业务网络模型的一部分,可以定义与资产交互的交易。业务网络还包括与他们交互的参与者,每个参与者可以与多个业务网络中的唯一身份相关联。

    图片描述

    官方参考文档:
    https://hyperledger.github.io/composer/latest/introduction/introduction
    Hyperledger Composer 视频教程:
    https://www.youtube.com/watch?v=C4K7S1JYsLs

    4.1. 领域模型

    图片描述

    Borrower Person:借款人
    Loan Application:贷款申请
    Creditor Org:出借机构
    **Token Issuer:**TOKEN分发/承兑机构,在TOKEN章节详细表述
    Creditor Contributor Org:借贷资产贡献机构,是出借机构的子概念
    Creditor Participator Org:借贷资产参与机构,是出借机构的子概念
    Loan Share Plan:借贷资产分享计划,由《借贷资产贡献机构》通过区块链客户端贡献并记录到区块链分布式账本
    Loan Share Confirm:借贷资产分享确认,由《借贷资产参与机构》通过区块链客户端接收到《借贷资产分享计划》后确认产生,并记录确认额度和确认利率,智能合约根据分享计划里的代币费率和确认额度计算出代币费用,并从参与机构账户中扣除
    Data Service Provider:数据服务商,为借贷资产共享各方提供补充数据服务,将在另文《数据合规利用》中详细表述

    4.2. TOKEN

    本用例对TOKEN(代币)不做过度设计,也不考虑赋予代币在联盟外部流通的能力,更不考虑通过ICO募资,原因如下:A、为了简化设计;B、借贷资产共享业务本身期望其内部流通的TOKEN(代币)相对恒定,否则难以使得业务运转起来;C、我们团队对区块链的理念《踏实将区块链技术落地到具体产业,解决具体问题》

    A、TOKEN分发机构由借贷资产联盟发起方担任。
    B、出借机构通过线下付款方式向TOKEN分发机构以1RMB/1TOKEN的恒定价格购买。
    C、出借机构可以要求TOKEN分发机构以1RMB/1TOKEN的价格承兑为RMB。
    D、贡献机构在贡献具体借贷资产时有权标明借贷资产的TOKEN价格,例如:1TOKEN/1万RMB借贷额度;参与机构参与资产共享活动并确认后需要向共享机构支付相应的TOKEN;贡献机构通过TOKEN发行机构将所赚取的TOKEN兑换为法币RMB。
    E、出借机构在具体贷款审核需要向数据服务商购买数据服务时,也需要支付相应的TOKEN,数据服务商可以通过TOKEN发行机构将所赚取的TOKEN兑换为法币RMB(具体数据服务商如何参与将另文《数据合规利用》表述,敬请期待)

    图片描述

    4.3. 整体架构

    • 贡献机构借贷审核人员可以:
      • 通过所在机构自有的网贷管理后台经预先植入的资产上链JS-SDK选择可以分享的借贷资产,并设定分享条件(分享额度10万RMB,分享利率18~20%年化,代币费率1万借贷额度RMB/1TOKEN)
      • 通过链上资产-客户端-WEB上传预先导出好的贷款申请EXCEL文件,并设定分享条件(分享额度10万RMB,分享利率18~20%年化,代币费率1万借贷额度RMB/1TOKEN)
      • 通过链上资产-自主开发-客户端创建借贷资产分享计划,并设定分享条件(分享额度10万RMB,分享利率18~20%年化,代币费率1万借贷额度RMB/1TOKEN)后,通过链上资产-客户端-API做后续处理
    • 链上资产-客户端-API对上传上来的《借贷资产分享计划》敏感字段:借款人、身份证、手机号、车牌号、发动机经过同态加密做脱敏处理(防止贡献机构在取得参与机构代币前关键借贷信息泄漏),而对于非敏感字段(借款额、风控结果、参与条件……)直接明文链上传输
    • 通过调用借贷资产智能合约的《资产上链API》,将借贷资产分享计划记录到联盟参与机构各自Peer节点的CouchDB数据库中
    • 参与机构审核人员,通过本机构区块链节点收到借贷资产上链的事件通知
    • 参与机构审核人员通过《链上资产-客户端-WEB》确认要参与借贷资产分享计划,并确认参与条件(参与额度8万RMB,参与利率18%年化,代币费用由合约自动计算为8TOKEN)
    • 经由《链上资产-服务端》调用《链上资产-API》生成《借贷资产分享确认》;同时合约会对参与方的代币账户做扣减操作;
    • 通过智能合约的事件机制将分享确认信息传递给贡献机构的区块链节点,并由节点上的智能合约对步骤2中加密过的字段解密后再用参与机构的公钥做加密处理后反馈回区块链网络;
    • 参与机构再次通过事件机制,收到经由参与机构公钥加密过的敏感信息,通过参与机构持有的私钥解密敏感信息,完成借贷资产分享活动

    链上资产-服务端可以选择性地将过往收到的共享计划/共享确认转存到本地RDBMS数据库,方便本地化操作

    图片描述

    4.4. 链上架构

    每个参与资产共享业务的机构(贡献方、参与方),都需要有自己的区块链节点(可以在云上也可以在自有机房);并且至少需要有自己的区块链运维工程师,负责区块链相关代码管理,节点维护等工作;而智能合约用到的源代码在参与共享的机构间需要公开。

    图片描述

    开发工程师可以基于Hyperledger Composer开发商业网络。每一个商业网络由:智能合约逻辑JavaScript脚本(ES5)、权限控制(ACL)、查询(Queries)和模型文件(包含Participant、Asset、Event、Transaction)构成,经过Composer开发工具打包后形成商业网络包(Business Network Archive)在授权文件《Business Network Card》的协同下通过Composer部署工具部署到给定《资产共享Channel》涵盖的Peer节点上(这些Peer节点是跨机构通过Internet连通)。

    每个Peer节点,按职能可以分为:Endorser/Committer,同一个Peer节点可以充当任意职能或两者;每个Peer节点可以连接到指定的CouchDB,并用所连接的CouchDB作为本地账本的存储;Composer Runtime作为由Go语言开发的合约会在初始化阶段部署到参与业务的所有Peer节点上。

    分属不同机构的Peer节点通过Anchor节点构成一个Channel,同一个Peer节点也可以加入多个Channel,但合约的执行与消息分发是以Channel为边界的,同一个Channel可以跨多个参与机构,网络层面通过Anchor节点连接;Anchor节点存在与每个机构内部,起到代理机构内其它无法连接Internet Peer节点消息对外沟通的作用。

    Hyperledger Fabric 提供了基于Node.js的客户端API可以供Composer Client SDK(Node.js)使用;Composer Rest Server经由Hyperledger Composer Loopback Connector调用Composer Client SDK达成对CTO所定义模型REST化服务露出,这些服务包括:资产上链(贡献机构使用)、分享确认(参与机构使用)、分享监听(贡献机构、参与机构在链上资产分享发生变化时使用)、代币充值(TOKEN发行方用于给出借机构账户充值代币)、数据解密(当参与机构确认参与分享后会向参与各方释放对应的事件,贡献机构收到事件后对之前分享的资产中的敏感字段做解密处理然后再用参与方的公钥做加密处理并再次释放事件,参与方收到贡献方再次释放的事件后用自己的私钥对敏感信息做解密处理)

    5. CTO模型

    命名空间定义:

    namespace org.tl.biznet

    枚举类型定义:

    // 借贷类型
    enum LoanType {
      o CASH // 信用贷
      o CONSUMPTION // 消费贷
      o PROVIDENT_FUND // 公积金贷
      o ENTERPRISE // 企业贷
      o CAR_MORTGAGE // 车辆抵押贷款
      o POLICY // 保单贷
      o CAR_PLEDGE // 车辆质押借款
    }
    
    //参与机构类型
    enum PartyOrgType {
      o CreditorOrg // 出借机构
      o TokenIssuer // TOKEN分发/承兑机构
      o DataServicePovider // 数据服务商
    }
    
    //出借机构类型
    enum CreditorOrgType {
      o CreditorContributor // 借贷资产贡献机构
      o CreditorParticipator // 借贷资产参与机构
    }
    

    以车抵贷为例的资产数据定义:

    //借贷当事人信息
    abstract concept PartyPerson {
        o String partyName // 借款当事人(同态加密)
        o String loanIdent // 证件信息(身份证、统一信用码等(同态加密)
        o String loanMobile  // 银行预留手机号(同态加密)
    }
    
    //借款人贷款申请
    concept BorrowerPerson extends PartyPerson {
        o Integer borrower  // 借款额 
        o LoanType loanKind //产品类型,例:车抵贷
    }
    
    //车抵贷抵押资产信息
    concept CarMortgageInfo {
     o String licensePlateNumber // 车牌号(同态加密)
      o String engineNumber // 发动机号(同态加密)
      o Integer mileage // 里程数
      o DateTime timeToBuy // 购入时间
    }
    
    //资产数据
    concept AssetData{
      o String violationFineDataUrl optional // 违章罚款地址
      o String phoneRecordDataUrl optional // 电话记录地址
      o String medicalRecordDataUrl optional // 医疗记录地址
    }
    
    //风控结果
    concept RiskControlResult {
      o String score // 风控得分
      o Integer loanLimit // 贷款额度
      o Integer shareLimit // 风控参考分享额度 
    }
    
    //参与条件
    concept JoinLimit{
      o Integer sharedLimit // 分享额度
      o Integer sharedRate // 分享利率 (单位:%)
      o Integer tokenRate // Token费率(单位:1 token/万元)
      o Integer paticipantCount // 允许参与机构数量
      o DateTime startTime // 共享资产上链时间
      o DateTime endTime // 共享资产结束时间
    }
    

    机构数据定义:

    
    //机构基本信息
    abstract participant PartyOrg identified by partyID{
        o String partyID //机构ID
        o String partyName optional //机构名称
        o PartyOrgType partyOrgType //机构类型(借贷、Token分发、数据服务)
        o String publicKey optional //机构公钥
    }
    
    abstract participant CreditorOrg extends PartyOrg {
        o CreditorOrgType creditorOrgType //出借机构类型(借贷参与机构、借贷贡献机构)
        o Integer balance //Token余额
    }
    

    关键类型participant(参与者)定义:

    //借贷资产贡献机构
    participant CreditorContributorOrg extends CreditorOrg{
      --> LoanSharedPlan[] sharedAssets //机构已分享资产
    }
    //借贷资产参与机构
    participant CreditorParticipatorOrg extends CreditorOrg{
      --> LoanSharedPlan[] takeInAssets //机构已确认资产
    }
    
    

    资产确认回复信息定义:

    //资产参与机构的确认信息
    concept LoanShareConfirm {
      o String partyID //共享资产参与机构ID
      o Integer confirmTakeInLimit //确认参与额度
      o Integer confirmTakeInRatw //确认参与利率 (单位:%)
      o Integer token optional //Token费用(单位:1 token)
      o DateTime confirmTime //确认参与的时间
    }

    关键类型asset(资产)定义:

    //链上资产模型
    asset LoanSharedPlan identified by assetID {
      o String assetID //共享资产ID
      o BorrowerPerson borrowerPerson //借款基本信息
      o CarMortgageInfo carMortgageInfo optional //抵押资产信息(本条为可选之一:车抵贷)
      o AssetData assetData //资产数据
      o RiskControlResult riskControlResult //风控结果
      o JoinLimit joinLimit //共享资产参与条件(分享额度/分享利率/通证费用)
      --> CreditorContributorOrg creditorContributorOrg //贡献机构
      o LoanShareConfirm[] loanShareConfirms optional //共享资产参与者确认信息数组
    }
    

    关键类型transaction(交易)定义:

    //资产分享确认交易
    transaction orgConfirmAsset {
      --> LoanSharedPlan  sharedAsset //被确认资产
      o LoanShareConfirm loanShareConfirm //机构确认信息
    }
    
    //确认交易触发事件
    event OrgConfirmAssetEvent{
     --> LoanSharedPlan  sharedAsset //被确认资产信息
    }
    

    在CTO模型文件定义时,按照领域模型设计了以资产、参与者、交易为骨骼的合约架构。

    资产(asset字段声明)LoanSharedPlan是为共享资产定义的类型,其作用类似于面向对象语言中的类(class),资产上链操作就是用这个类实例化一个存储在智能合约里的对象,其属性包括发起共享资产机构信息、资产详情、发起机构提出的参与条件(如额度、利率、Token数量、截止时间等),同时loanShareConfirms属性是来收集该笔资产的参与信息。

    参与者(participant字段声明)creditorContributorOrg是为借贷贡献资产的机构定义的类型,其属性包括机构号、机构名称、机构Token余额和已贡献出的资产数组。creditorParticipatorOrg 为借贷资产参与机构的模型定义,其中和贡献机构不同的属性是将数组替换为已参与的资产。

    交易(transaction字段声明)orgConfirmAsset 是为资产参与机构定义的类型,这个transaction会被暴露成外部可调用的API接口,通过这个接口调用智能合约来参与这笔资产,同时将触发已定义的OrgConfirmAssetEvent事件,订阅此事件的外部程序将接受到调用OrgConfirmAsset这个transaction的所有交易通知。

    Hyperledger Composer会将CTO模型中的可实例化类型生成API,通过API可以增加、条件查询智能合约中的资产和参与机构。

    6. 合约设计

    6.1. 资产上链

    借贷资产贡献机构将资产通过js-sdk/上链客户端/自主研发客户端上链,将会调用 本机构区块链节点中的智能合约(chaincode),以下为资产上链智能合约伪代码:

    //链上资产模型
    asset LoanSharedPlan identified by assetID {
      o String assetID //共享资产ID
      o BorrowerPerson borrowerPerson //借款基本信息
      o CarMortgageInfo carMortgageInfo optional //抵押资产信息(本条为可选之一:车抵贷)
      o AssetData assetData //资产数据
      o RiskControlResult riskControlResult //风控结果
      o JoinLimit joinLimit //共享资产参与条件(分享额度/分享利率/通证费用)
      --> CreditorContributorOrg creditorContributorOrg //贡献机构
      o LoanShareConfirm[] loanShareConfirms optional //共享资产参与者确认信息数组
    }
    

    将其使用composer-rest-server生成REST API:

    图片描述

    6.2. 分享确认

    借贷资产参与机构通过《链上资产-客户端-WEB》确认要参与借贷资产分享计划,将会调用本机构区块链节点中的智能合约(chaincode),以下为资产上链智能合约伪代码:

    /**
     * 资产分享确认交易 transaction
     * @param {org.tl.biznet.orgConfirmAsset} orgConfirmAsset
     * @transaction
     */
    function confirmAsset(orgConfirmAsset){
            ... 
            //发布分享确认事件
            var  orgConfirmAssetEvent = getFactory().newEvent('org.tl.biznet','OrgConfirmAsset');  
            emit(orgConfirmAssetEvent); 
            ... 
        });
    }
    

    6.3. 分享监听

    // 创建新的 business network 连接.
    let businessNetworkConnection = new BusinessNetworkConnection();
    
    // 订阅事件
    businessNetworkConnection.on('event', (event) => {
      console.log('business event received', event);
    });
    
    // 连接到 business network.
    return businessNetworkConnection.connect('profile', 'biznet', 'admin', 'adminpw')
      .then(() => {
        ...
      });
    

    6.4. 代币充值

    代币充值接口由transaction 暴露API调用:

    //TOKEN充值交易
    transaction tokenRecharge {
      --> CreditorContributorOrg  creditorContributorOrg optional //借贷资产贡献机构
      --> CreditorParticipatorOrg  creditorParticipatorOrg optional //借贷资产参与机构
      o Integer amount //充值金额
    }
    
    //TOKEN充值事件
    event TokenRechargeEvent{
      --> CreditorContributorOrg  creditorContributorOrg optional //借贷资产贡献机构
      --> CreditorParticipatorOrg creditorParticipatorOrg optional //借贷资产参与机构
    }
    

    充值逻辑:

    /**
     * 资产分享确认交易 transaction
     * @param {org.tl.biznet.orgConfirmAsset} recharge 
     */
    function tokenRecharge (recharge){
            ... 
            //发布充值事件
            var  tokenRechargeEvent = getFactory().newEvent('org.tl.biznet', TokenRechargeEvent);  
            emit(tokenRechargeEvent);   
            ... 
        });
    }
    

    6.5. 数据解密

    借贷资产贡献机构接收到分享确认通知后,将数据用自身私钥解密后再用借贷资 产参与机构的公钥加密,反馈回区块链网络。借贷资产参与机构接收到用自己公钥加密到数据后,用自身私钥解密,完成借贷资产分享。

    //交易数据加密解密
    transaction dataProcessing {
      --> CreditorContributorOrg  creditorContributorOrg optional //借贷资产贡献机构
      --> CreditorParticipatorOrg creditorParticipatorOrg optional //借贷资产参与机构
      --> LoanSharedPlan  sharedAsset //共享资产
    }
    
    //交易数据加密解密事件
    event DataProcessingEvent {
      o String eventName
      --> CreditorContributorOrg  creditorContributorOrg optional //借贷资产贡献机构
      --> CreditorParticipatorOrg creditorParticipatorOrg optional //借贷资产参与机构
      --> LoanSharedPlan  sharedAsset //共享资产
    }
    

    数据加解密合约逻辑:

    /**
     * 交易数据加密解密 transaction
     * @param {org.tl.biznet.dataProcessing} dataProcessing
     * @transaction
     */
    function onDataProcessing(dataProcessing){
            ... 
            //发布数据加密解密事件
            var  dataProcessingEvent = getFactory().newEvent('org.tl.biznet','dataProcessingEvent');  
            emit(dataProcessingEvent); 
            ... 
        });
    }
    

    7. 单元测试

    1、 hyperledger composer单元测试和nodejs应用单元测试无太大差异;

    2、引用官方提供的npm包:composer-admin、composer-client、composer-common,引用chai断言库;

    const AdminConnection = require('composer-admin').AdminConnection;
    const BusinessNetworkConnection = require('composer-client').BusinessNetworkConnection;
    const BusinessNetworkDefinition = require('composer-common').BusinessNetworkDefinition;
    const IdCard = require('composer-common').IdCard;
    const MemoryCardStore = require('composer-common').MemoryCardStore;
    const path = require('path');
    require(‘chai’).should(); 
    

    3、创建一个基于内存的卡片仓库(MemoryCardStore),传入连接信息、证书和通道信息,创建一个卡片(IdCard),使用PeerAdmin账号信息进行连接,使用admin账号信息连接业务网络(BusinessNetworkConnection),使用业务网络连接对象获取工厂对象(factory);

    const deployerCardName = 'PeerAdmin';
            adminConnection = new AdminConnection({ cardStore: cardStore });
            return adminConnection.importCard(deployerCardName, deployer-Card).then(() => {
                return adminConnection.connect(deployerCardName);
            });
    
            return BusinessNetworkDefinition.fromDirectory(path.resolve(__dirname, '..')).then(definition => {
                businessNetworkDefinition = definition;
                return adminConnection.install(businessNetworkDefinition.getName());
            }).then(() => {
                const startOptions = {networkAdmins: [{userName: ad-minUserName,enrollmentSecret: 'adminpw'}]};
                return adminConnection.start(businessNetworkDefinition, startOptions);
            }).then(adminCards => {
                adminCardName = `${adminUserNa-me}@${businessNetworkDefinition.getName()}`;
                return adminConnection.importCard(adminCardName, admin-Cards.get(adminUserName));
            }).then(() => {
                return businessNetworkConnection.connect(adminCardName);
            });

    4、使用工厂对象创建被确认资产和机构确认信息,创建orgConfirmAsset交易并提交到网络,并获取资产信息比对信息是否相等;

    describe('orgConfirmAsset()', () => {
                …
                newAsset.value.should.equal(orgConfirmAsset.loanShareConfirm); });
               } 
    

    5、npm i && npm run test 安装npm包并运行单元测试。

    8. 部署视图

    图片描述

    多组织安装:

    1.图中显示了一个多组织的区块链网络;
    2.我们有四个组织(Org0,Org1,Org2,Org3);
    3.每个组织都运行两个peer。有一个连接到kafka-zookeeper的orderer服务;
    4.我们有一个客户端,提供智能合约安装调用和维护转账等功能。

    图片描述

    双Organization常规部署:

    如图所示,构建了建立了 2个Org 的5个节点的Fabric网络

    1.每个节点都是由单独的 Docker 容器来实现。
    2.其中 peer0 和 peer1 是同属于 org1 的节点,peer2 和 peer3 是同属于 org2 的节点
    3.上述它们都加入了相同的 channel 中,并在该 channel 中进行交易,3 orderer 则为该 channel 中的交易提供排序服务。

    9. 价值表现

    合规交易:贡献方发起的请求将在区块链上记录下来,并对请求是否完成的状态做记录,当参与方给出响应后,触发智能合约自动将对应数量的代币打给贡献方,这笔交易的详情会永久记录在区块链上。

    信息真实:区块中包含了创始块以来所有的共享数据,且形成的共享记录不可篡改或虚构,任何数据都可以追本溯源,因此共享机构之间的价值交换数据可以随时被追踪和验证,保证信息的真实。

    共识机制:用例中按照认领资产的速度来判断资产共享参与方。在其他场景中任然可以根据贡献、算力来决定参与资产共享的参与者。

    如何保证贡献机构的借贷资产信息在没有获益前不泄漏?通过章节4.3#2和4.4的描述解答。

    如何让贡献机构高效将借贷资产上链?通过章节4.3#1. 1《通过所在机构自有的网贷管理后台经预先植入的资产上链JS-SDK选择可以分享的借贷资产》达成。

    作者简介:付银海,泰然金融CTO,拥有17年软件研发从业经历的技术开发与技术管理专家,专精于研发团队组建和管理能力、技术设计和实现能力。

    2018,想要follow最火的区块链技术?你还差一场严谨纯粹的技术交流会——区块链技术及应用峰会(BTA)·中国将于2018年3月30-31日登陆北京喜来登长城饭店。追求专业性?你要的这里全都有:当超强嘉宾阵容遇上业界同好的脑洞大联欢,1+1=无限可能,报名火热进行中,就等你了!

    点击报名:区块链技术及应用峰会(BTA)·中国

    图片描述

    展开全文
  • 在金融体系中,对于借贷而言,最为重要的是对借款人的信用进行调查和评估,从而信用贷款业务的安全性,以及信贷企业的能够获利。因此,信用两个字对于借贷而言至关重要。目前,除了银行借贷以外,诸如P2P借贷、小额...

    在金融体系中,对于借贷而言,最为重要的是对借款人的信用进行调查和评估,从而信用贷款业务的安全性,以及信贷企业的能够获利。因此,信用两个字对于借贷而言至关重要。

    目前,除了银行借贷以外,诸如P2P借贷、小额贷款企业、提供贷款业务的担保企业、财务公司、金融租赁公司、 典当公司、有借贷业务的保险公司,以及专门的贷款公司等都如雨后春笋般层出不穷。尤其是P2P借贷,作为互联网金融的重要组成部分,近年来呈现野蛮式增 长。但是由于技术因素、管理能力、法制环境、信用环境等多方面的欠缺问题,P2P借贷的信用风险越来越突出。

    显然,征信问题已经成为当前众多信贷机构开展业务重点关注的焦点。通常情况下,在贷款前,相关借贷公司都会预测贷款可能遭受的风险,评价借款人的还款意愿和能力,从而采取有效的防范措施,减少或避免信用风险。借款人的信用评价往往会通过其个人品德(是否诚实可靠)、资本(自有财产状况)、能力(未来按时偿还贷款的能力)、抵押品(审查抵押物的价值和变现的难易程度)、经营环境(是否对变动的环境具有适应性,能够保持经营的稳定性和持续性)、连续性(预测企业产品的生命周期和市场份额,以及企业的市场前景)等方面进行综合评估,如图6-5所示。但是目前,信用贷款业务的开展,主要是考虑借款人的自身债务偿还能力。

    对贷款人进行信用调查分析是需要经过一系列的流程才能完成的,这个流程不但工作量大,而且存在信息不完整、数据不准确、使用效率低、易被恶意篡改等诸多问题。

    但是,区块链技术在信用贷款业务中的应用,通过将其程序算法自动记录海量信息的方式,并且将它们存储在区块链 网络的每一台计算上,使得这些信息更具透明化、公开化,这样就提高了信息的篡改难度,同时还在很大程度上降低了使用成本。各个借贷机构以加密的形式存储并 共享客户在本机构的信用状况,这个时候,客户申请贷款就可以不像以往一样再到央行去申请征信查询,即实现了去中心化,借贷机构通过调取区块链的相应数据信 息就可以快速完成全部的征信调查分析工作。

    image.png

    图6-5 借款人信用评价

    此外,基于区块链的智能资产可以构建无需信用的借贷关系,在区块链上已经注册的数据资产能够通过私人密钥随 时使用。借贷机构向借款人借出资金的时候,可以将智能资产作为抵押,再借助智能合约的约束来自动执行可以定位为抵押品的智能资产。当所有的贷款流程结束, 即贷款全部还清之后,可以通过智能合约的条件自动解锁,这样就可以很好地化解可能存在的借贷双方之间产生的问题和争议。

    2016年9月,微众银行和华瑞银行联合开发了一套区块链应用系统,该系统主要是应用于两家银行微粒贷联合贷 款的结算和清算场景当中。微粒贷是微众银行的重点产品,这也是一种面向个人的消费贷款,目前已经获得了超过1000万的客户数量,并且已经发放了1000 万笔贷款,发放金额也已经超过了1000亿元,并且目前已经拥有了超过20家的银行合作伙伴。按照传统的习惯,交易和资金的结算要分开进行,且数据信息的 记录是通过对手来完成的,因此在各自交易完成之后,双方银行还需要投入大量的人力和物力来对账,从而确保账目的准确性。区块链技术的出现以及在实际操作中 的应用,使得整个流程更加简洁化,将所有的信息都记录在区块链网络上,就可以实现信息的透明化和公开化,从而达到无法篡改的目的,同时也保证了交易和清算 的高效性。

    未来,微众银行的合作银行还可以通过选择将部分信息写入区块链中,由微众银行提供统一标准的链上对账服务,以及统一的操作视图和交互接口,从而帮助合作银行能够更好地、更加高效地了解信贷以及资金交易情况,进行实时监控,很大程度上提升清算和结算效率。

    当然,区块链这项技术同样可以应用于企业与企业之间、个人与个人之间的资金拆借当中,尤其是陌生人之间的借贷方面,可以很好地解决信任问题,使得借贷业务能够更加高效地实现,为借贷双方建立更加友好的借贷环境,能更有效地降低借贷违约风险。

    除了以上借贷场景,区块链技术还可以应用于数字企业债券领域。由发行人自主在区块链上注册,如果进行物品抵押 或者借助第三方来进行担保,那么相关资产或担保也同样需要通过注册的方式来锁定,债券投资者通过各自端口接入自动发行体系进行认购,当发行人还本付息之 后,可以通过智能合约中的条件进行自动解锁,这时候债券债务双方之间的关系就自动解除,这也是一种人工智能化的有效体现。


    来源:我是码农,转载请保留出处和链接!

    本文链接:http://www.54manong.com/?id=739

    '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
    '); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();
    展开全文
  • (白色果树园,梵高)区块链具有去中介化的特性,这让任何需要中介撮合的平台生意都面临区块链体系的可能威胁,人们会逐步采用区块链解决不同的场景问题。在这些区块链场景中,借贷作为一个严重需要...
  • 智能合约保存所有用户的借贷信息,包括他们的区块链地址和数额 只有借款人才能向智能合约中添加借款记录。 若一个人既是借款人,也是贷款人,那么最终下图中的“Total Owed”只显示他总的欠款。因此,如果他借出去的...
  • 区块链被定义为“新技术基础设施”,但在行业领军者看来,其价值还远远不止技术。 8月20日,蚂蚁集团副总裁、智能科技事业群总裁蒋国飞做客《寻找区块链力量》对话节目。他表示,区块链绝对不是纯粹的IT技术,其...
  • 空投糖果项目名称:DeepFin数字资产抵押借贷平台空投糖果优质指数:★★★★★空投糖果活动时间:7月1日开始百万币送完截止,请留意平台公告做活动流程:打开链接——手机注册,必填邀请码:gBKQwS——个人中心——...
  • 与传统金融借贷相比,加密贷款似乎更具强大优势,比如更具竞争力的利率和灵活的借贷条款。 借贷已经以某种形式存在了数千年——可以追溯到久远的古代文明,在那里,农民会借种子并使用庄稼来还款。 法定货币的出现...
  • DeFi 是去中心化金融(Decentralized Finance)的缩写,指的是公共区块链上的应用程序,旨在创建无需中心化中介的金融服务。DeFi 描绘了这样一个愿景,每个人都可以直接参与全球范围的点对点金融活动。而 这个愿景...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,185
精华内容 1,674
关键字:

区块链加借贷