Hyperledger Fabric原理详解与实战2

886 阅读4分钟

本文主要内容如下,爱看不看~

实战项目介绍

前面聊了些金融相关的背景知识,希望你已经理解了。

我们来构建一个虚拟项目,以此为导向,引出我们的主角--Fabric,然后逐层深入。

业务背景

M公司是一家知名企业,生产自动驾驶的电动汽车。4月上旬,M公司赢得了一个大订单:在10月1日前交付10,000辆D型汽车。但前期只收到少量的定金,剩余货款在交付后支付。

要完成这个订单的生产,M公司将需要新雇佣1000名工人至少6个月。这给公司的财务造成了短期压力---每月至少需要500万元来支付这些新员工的工资。

基于M公司良好的信誉和未来可期的大量现金流(订单交付后,获得资金)。公司决定,每月发行500万元的债券。

企业发债一般是要找一个金融机构(一般是商业银行)来帮助它完成债权融资。

也就是公司需要请一家承销机构帮忙把债券卖出去,以及负责处理后续的相关事务。公司获得债券融资资金后,同时给承销机构一部分佣金作为报酬。

而现在,我们有了区块链、有智能合约,发行和销售债券完全可以由公司自己搞定,承销机构这个中间商就没有存在的必要了。

而你,就是这个区块链网络和相关智能合约的创建者。

准备好了吗?

整体目标

做项目,总得有个项目目标,才能制定执行计划。

首先,我们的目标是:没有中间商赚差价

利用Fabric搭建一个证券交易网络:

  • 允许公司自由的发行证券(不仅仅是债券)
  • 允许其他组织或机构自由的买卖或赎回证券
  • 允许评级机构对证券进行评级。

这个目标是不是有点大?

这整个就是个大平台了,把证券交易所都给取代了!

好了,知道你们会知难而退,这么宏大的目标任务就由我来承担和实现好了。给你们简化一下,如下图:

场景示意图
场景示意图

在后面的示例中,我们就引入这么几个角色:

  • M公司:债券发行人
  • R公司:证券评级机构
  • DB和BH:金融机构,买卖债券

整个网络命名为Bond Net。

读过Fabric官方文档的同学,是不是对我上面写的这个示例场景和图片很眼熟?

没错,这确实是参考的官方文档。但官方文档对初学者来说不够友好。我写这些文章,也想以这个示例来做一个系统性的入门和实战教程。

不过!不过,不同的是,我这里还想引入一个角色---中间人

本来在实际情况中,上面的网络就已经满足需求了。但是,Fabric网络在部署上有一个“中心化”的节点(下一章说到Fabric原理的时候你就明白了),还有在后面的学习过程中会遇到一些陌生的概念。

为了能把问题说得更明白,也照顾下初学者的阅读体验,还是决定把这个“中心化”节点交给这个“中间人”来管理。目的是别让这么多的角色和概念把你们绕晕,毕竟我也是初学者过来的,明白要理解这些概念其实并不容易。

需求分析

按照上面说的业务场景,我们可以将用户分为三种,分别具有如下行为:

发债公司员工:

  1. 发行债券
  2. 到期赎回

投资机构员工:

  1. 买入债券
  2. 卖出债券
  3. 赎回债券

评级公司员工:

  1. 获取评级(邀请)通知
  2. 评估债券

注意到,我对这三个角色都称呼为xx员工。

是因为,Fabric网络的参与者是一个个的组织。而执行具体业务操作的人必须是这些参与者组织中的成员。

实施计划

  1. 搭建基础网络
  2. 将发行人、评级机构和买方加入网络
  3. 部署智能合约
  4. 各种测试

今天就说这么多吧。

下期,来聊聊Fabric的运作原理,以及和比特币的一些区别。

我是2流程序员,我们下次再贱!

本文使用 mdnice 排版