区块链原理与技术
目录
区块链原理与技术 1
一、方案设计 1
合约机制 1
账户体系 2
案例 3
数据流图 4
二、存储设计 4
区块链合约存储 4
区块链数据库表结构 5
服务器数据库表结构 6
三、合约核心功能 7
合约事件 7
金融机构和政府机构注册 7
企业注册 8
转账 8
还款 9
四、功能测试 12
创建用户 12
账户审核 12
用户注册 15
给予信用额度 17
企业申请和转移信用凭证 19
返还 20
五、界面展示 22
注册页面 23
管理面板 23
审核面板 24
转账页面 25
确认转账 26
还款页面 27
确认返还 28
查询面板 29
六、心得体会 30
一、方案设计
合约机制
信用凭证
信用凭证指企业间签发的应收账款单据,以及金融机构向车企签发的应收账款单据。简单来说,信用凭证指对企业未来盈利能力的衡量,或者企业债务。应收账款单据包含金额、逾期时间、和收款双方。
信用凭证由债务方向债权方提供,表示债务方在一定时间前将会偿还。因此信用凭证的流动方向和人民币的流动方向相反:若债务方向债权方支付人民币欠款,债权方就要向债务方返还相应的信用凭证。
签发信用凭证
信用凭证分借入和借出。企业在借出信用凭证时(欠债),不能超过自己所拥有的的信用凭证总额(借入-借出),以确保企业不会透支自己的信用。银行在衡量企业的信用评级时,不能只看信用凭证净值,因为信用凭证为 0 时不代表企业不欠钱,企业信用在未来的一段时间内,可能会因为信用凭证的逾期,导致信用为负。因此银行在评估企业信用时,需要查询企业的所有交易信息。
融资
信用凭证的产生和转移都是一样的,只不过信用凭证的产生是从金融机构到企业,而转移是企业和企业间的转移。企业还可以向银行融资(借入人民币),操作不太一样,企业需要将自己的信用凭证转移给银行,银行向企业提供人民币贷款。到期时企业向银行还款,银行向企业返还信用凭证。
账户体系
本合约将用户分为以下几种
央行
合约的管理员账户(部署合约时传入)由央行控制,允许央行审核、管理金融机构和政府的账号。审核机制允许央行审查账户的真实性,避免账户被冒名顶替。
央行可以通过调用合约更新自己的信用凭证总量,和增发货币一样,该机制允许央行调节合约内的信用凭证总量,以便进行宏观调控。
央行可以通过合约向银行派发信用凭证,并设置有效期。这种方式类似央行的逆回购操作,是允许央行调节市场中信用凭证总量的另一个手段。通过审查金融机构的担保能力和信誉,央行可以借此机制精准调控每个金融机构能派发的信用凭证总量。避免金融机构过量担保,产生造成经济不稳定的因素。
央行具有合约数据库的管理权限,央行可以直接修改合约数据库,以便执行合约未提供的高级操作。通过 FISCO-BCOS 提供的 CRUD 合约来查询合约数据库的数据、对某个账号的交易进行管理。
政府
政府账户只负责审核企业。由于企业比较多,管理员一般没有足够精力管理这么多账户,因此开设新的一个层级来管理企业。政府可以审核企业资质,准许企业进入区块链,也可以剥夺企业的区块链账户。
政府账户也是一个普通的账户,可以接受和转移信用凭证,地方政府可以通过其区块链账户来进行融资操作。
金融机构
金融机构可以从央行获得信用凭证,代表央行对金融机构的信用评级,允许金融机构最多担保多少款项。金融机构若遇到企业希望融资,可以查询企业的相关信息:企业的借入借出凭证总额、企业的借入借出交易细表。以便金融机构结合企业的实际情况和区块链内的信用派生情况,对企业的再盈利能力进行评估。
金融机构在为企业融资时,可能需要再次验证企业的还款能力。金融机构可以查询区块链内所有企业的交易信息,因此金融机构可以沿信用凭证转移链查询到信用凭证来源,也就是查询到供应链上游企业是向哪个金融机构获取信用凭证的。通过认可供应链上游企业依赖的金融机构的信誉,这个金融机构便可以向该下游企业提供贷款。
企业
企业可以查询自己的借入借出凭证,允许向其他企业转移信用凭证,前提是双方都要确认交易。这样供应链下游企业就可以借助供应链上游企业的信誉,融到人民币。