
实施方案
1.用户实名身份认证阶段
区块链用户通过一个对等节点连接到网络上。
在处理交易之前,节点从组织可信身份数据库(如人力资源信息管理系统)检索用户的注册信息和个人关键身份信息(如职员编号、姓名、身份ID信息),核验合格后通过哈希算法生成唯一的个人区块链ID。
用户拥有这些身份证明才能在授权网络上进行交易。
因此,需要企业的即时通信软件和后台管理系统实时交互。对于业务系统注册账号可以分多个类别角色:普通员工用户、各部门用户、分公司用户。
这里的哈希算法采用双SHA256哈希函数运算,即将任意长度的原始数据经过两次SHA256哈希运算后转换为长度为256位(32字节)的二进制数字来统一存储和识别。
区块链平台为每个用户生成公钥和私钥。用户可以通过私钥加密登录信息后并将之发送给服务器后,后者接收后采用该用户的公钥解密并认证登录信息。公钥公开,私钥本地文件保存,身份认证完成。

2.法币与绩效考核KPI积分的等价值兑换阶段
区块链系统发放一种企业内部流通的、数量有限的“绩效考核KPI积分(token)”,它是无交易摩擦的数字通证。
红包系统利用以太坊智能合约和第三方支付,将预存现金按固定的比例兑换成积分,例如:1绩效考核KPI积分=1法币奖金奖励。
用户通过企业即时通信App购买积分,并进行收发红包操作。

“积分”生态流程图
3.红包奖金发送、充值、提现交易与绩效考核KPI积分消费交易记账阶段
区块链网络中包含多个记账节点。

区块链企业红包交易记账基本过程
(1)记账信息数据库:用于存储节点自身的交易记录。
(2)交易区块链数据库:用于存储交易区块链。
(3)交易信息摘要生成模块:信息摘要仅记录根Hash值而不是所有交易数据记录,支持简要支付验证(SPV),即在不运行完整区块链网络节点的情况下,也能快速进行红包交易动作并检验其有效性。
(4)查询记账信息模块:该模块主要帮助审计部门或有查询需求的用户查询和核实在交易区块链数据库中是否存在某个交易记录Tx,具体方法是:将记账节点提供的交易记录经过Merkle树运算得到交易信息摘要,若“交易信息摘要生成模块”中的对应信息摘要与该解密后的摘要完全一致,则证明该交易记录为真实,否则为假。
4.用户红包收支明细查询、积分消费明细查询、积分余额查询阶段
普通节点用户自身的详细交易记录和资金流水账可以在“记账信息数据库”中读取。若记账节点需要查询第三方交易记录,则在“交易区块链数据库”中检索。
区块链管理节点负责分配成员权限,例如将财务审计部门注册为“审计者”,将用户注册为“客户端”。审计员拥有较高查询权限,而客户端被授权部署、调用和查询某些特定类型的链码。
5.自动审计、审计预警阶段
将审计规则代码化,编写为审计智能合约。区块链记录交易的同时,触发审计规则判断交易合法性,对异常和发生冲突(双花)的交易进行报警,实现“记账即审计”。审计过程无需人工干预,可利用计算机语言实现自动监管。
区块链能够帮助企业提高绩效奖金红包资金流水的审计效率,还能优化审计预警机制,增强记账系统的公信力。
传统审计预警机制是依赖于内置在审计数据采集模块中的事件触发器,逻辑流程是:数据记录→事件触发→发送提醒→等待处理。
然而,企业被动地等待异常交易的出现耗时长、成本高,区块链技术能够对数据丢失、更改、销毁等异常情况自动判断和处理,进而实现审计的高效无偏差监督。
由于每个记账节点的账簿都是实时同步更新的,审计人员可以利用审计终端直接访问区块链上记录的信息,实现了脱离审计数据采集模块的远程审计。

关键技术及方法
多通道与隐私保护策略
通道是指两个或多个节点之间进行信息通信的私有空间。
在一个交易通道内,成员需要通过身份验证和授权才能进行交易。
Hyperledger Fabric作为一个许可网络,采用了多交易通道的设计,每个通道都维护一个独立的账本,让通道内的各方可以共享信息。
通道采用数据分区机制,隔离了参与者的交易可见性,这让网络中的其他成员无法访问该通道,也无法查看该通道中的交易。
Hyperledger的账本既可以在大型对等网络上共享(网络通道),又可以被定义为仅对特定的参与者可见(双边通道)。
双边通道强调保护用户的隐私,交易和排序都发生在通道内,交易细节仅对当前所涉及的一方可见。
通道中的双方都可以查看对方当前通道内的帐户交易,但是由于任何一方只能查看其交易对手一个通道内的账户余额,因此任何一方都不可能推断出交易对手的总余额和交易流水。

通道结构
Hyperledger多通道设计的目的是,希望在保护隐私的同时促进跨通道的交易和资金流动。
网络参与者可以识别每个交易所涉及的通道,因此可以根据系统配置的需要在基础设施级别保护数据隐私(例如通过部署额外的加密函数来确保数据机密性),也可以完全取消交易通道以提高效率。
网络通道有交易双方的身份信息、交易执行指令以及每一方可用于执行支付指令的净额,但并不暴露个人交易金额。
在一个交易指令有限的交易周期中,推算交易量是有可能的;但在交易吞吐量很大的情况下,净额结算很可能涉及某一周期的多个交易,那么个体的交易量就很难推断。
双边通道为这个问题提供了解决方案,它在通道内进行双边净额结算,而不涉及网络中的其他参与者。
由于双边交易的排队支付指令都在双边通道内解决,不受多方交易吞吐量的影响,从而解决了整体网络流量的瓶颈。
为了满足用户在各自通道中保管资金及其他交易资源的需要,交易银行之间还引入了独立双边通道的设计,符合业务运营规则的所有交易都可以通过链代码(智能合约)自动执行。
Hyperledger Fabric的共识机制
在Hyperledger Fabric中,共识的概念比以比特币为代表的公链更为广泛,它是网络中的多个节点对某一个交易集合内交易的顺序、正确性以及账本的最终状态达成一致的过程。
Hyperledger Fabric的共识贯穿着交易的整个生命周期,即从交易提案、背书到排序、验证、提交的整个过程,而不仅仅是在确认交易时使用的只有单一加密验证功能的特定算法。
在Hyperledger Fabric中,共识的目的是验证新区块中所有交易的正确性。当区块中交易的排序和执行结果满足某些特定策略的检查时,就会达成共识。
这些检查也发生在交易的各个环节,包括对背书节点的检查,指定某些节点为特定的交易类别背书,以及检查系统链码是否有效。
在提交交易之前,验证节点需要使用系统链码来检查背书数量是足够的,背书的签名和来源是有效的(Hyperledger Fabric中有背书节点、排序节点和验证节点三个节点角色)。
此外,在任何新交易区块被添加到账本之前,都会进行版本控制检查,这种最终检查可以防止双花和可能破坏数据完整性的其他威胁。
除了背书、有效性和版本控制检查之外,Hyperledger Fabric还在交易流的各个方向上进行持续的身份验证。
访问控制列表被植入到网络中上至排序服务、下至通道的每一层,并且当交易提案经过系统中的不同组件时,负载将被重复地签名、验证和授权。
对于Hyperledger Fabric区块链网络的用户来说,重要的是弄清楚共识流程是如何发生的、谁可以改变它,以及如何改变。
首先交易提案被提交到背书节点,背书节点执行链码将已背书的交易发送到排序节点;
排序节点将排好序的交易打包到一个区块中,广播给通道内的参与者进行验证;
最终,验证成功后的交易区块被更新到账本。
这个机制可以确保通道内交易的最终性,然而目前Hyperledger Fabric还没有用于通道之间通信的交易链码,因此必须使用诸如Node.js这样的传统技术来进行跨通道的通信。
多排序服务设计原则
在概念验证阶段,一个Hyperledger Fabric网络可以只包含一个排序节点(orderer),它将交易发送给通道中的多个验证节点(peers)进行验证。
但是,当从概念验证过渡到区块链实施项目的生产阶段时,应该设计多个排序服务,这是因为如果只有一个排序服务将交易发送到通道中的所有对等方进行验证,很可能会造成单点故障。
一旦排序失败,交易就不会被打包成区块并被提交给区块链,这时就会出现交易中断。而多节点排序服务(例如Kafka)由于有多个排序节点,排序服务的可用性被大大提高了,也就避免了单点故障的发生。
Kafka是一个高吞吐量的分布式消息平台,对实时数据进行高吞吐量和低延迟处理。通过分离共识服务和账本,即在所有参与者之间共享散列数据的同时(共识服务),保持有限集合的私有数据(交易日志),从而减少由多个通道造成的开销,提高整个系统的运行效率。
Hyperledger Fabric工作流设计的一个折衷原则是在保证隐私所需的通道数量的同时,实现高吞吐量的信息通信,因此跨通道的信息通信(例如不同双边通道之间的价值流动)是十分必要的。
Hyperledger Fabric目前尚不支持跨链交互,两个通道之间的协调逻辑需要使用Node.js在自定义应用程序中编写。
在早期开发阶段,最好为应用程序的协调函数提供回滚机制。
因为该函数涉及多个链代码,回滚机制可以方便追踪执行过程。
在原型设计阶段,最好在系统架构中设置冗余节点,以支持更高的网络弹性。

小结:
区块链提供了一种信任成本几乎为0的信用建立范式,在这种范式中,公司员工可以通过区块链加入一个共同的分布式数据库,通过共同记账、身份认证、数据加密和智能合约,在没有中间方的环境中达成信用共识。
这个分布式数据库包括了所有用户的历史交易记录及相关信息,所有信息都分布式存储并透明可查,并以多点备份和共识算法保证其不能被非法篡改。
因此,我们可以通过区块链记账的方式,更快捷方便地对账目信息进行审查,不仅节省了第三方支付和银行转账的中间费用,还能提高财务安全和可审计性,在企业中有很大的应用价值。
相似的场景,除了企业KPI考核对应的绩效奖励,还可以应用于政府扶持产业的补贴场景,及学生奖学金发放等。

