基于联盟链的财务监督信息管理平台设计
2023-07-17廖四维
廖四维
(湖南环境生物职业技术学院,湖南 衡阳 421008)
0 引言
联盟链是一种区块链技术的实现方式,介于公共区块链与私有区块链之间,由几个组织或实体共同控制和管理形成的联盟。此类组织或实体在联盟链上交换数据信息,联盟链对数据信息进行记录并验证获取相应的交换数据。与公共区块链不同的是,联盟链通常需要许可或授权才能访问和使用,这意味着只有联盟成员才能加入该链,参与其管理与操作。由于联盟链的节点数量相对较少,使其交易速度更快、成本更低并且能够更好地保护成员的商业隐私和数据安全。设计基于联盟链的财务监督信息管理平台,可保证所有联盟参与方清晰地了解具体交易信息记录,实现高度透明的交易和监管过程[1]。该文充分考虑联盟成员之间的利益和合作关系,通过数据录入、数据查询、交易处理和执行合约等操作设计一款基于联盟链的财务监督信息管理系统,实现了财务监督管理信息平台自动化和规范化监管,降低人工管理的风险和成本。
1 平台总架构
为充分满足联盟链财务监督信息管理需求,该文建立一个可用于实现联盟交易的逻辑和数据操作系统。该系统可满足财务监督管理联盟需求,基于联盟链的财务监督信息管理平台总结构如图1 所示。
图1 基于联盟链的财务监督信息管理平台总结构图
由图1 可知,基于联盟链的财务监督信息管理平台硬件部分由服务器、存储器、网络以及防火墙组成,软件部分通过数据录入、数据查询、交易处理完成构建,其中,数据录入是通过数字加密认证与哈希值计算实现的;数据查询通过设计数据结构及制定智能合约要求,保证数据完整及准确;交易处理部分通过采用Hyperledger Fabric 共识算法,确保联盟链网络中的交易得到批准,基于联盟链的财务监督信息管理系统成功运行[2]。
2 硬件设计
联盟链节点服务器是联盟链网络的核心设备,用于存储和处理交易数据和智能合约,对服务器的性能要求较高,HP ProLiant DL560 服务器具有强大的计算和存储能力,因此将其作平台联盟链节点服务器;存储设备用于存储交易数据和智能合约,需要具有高可靠性和高容量,因此采用Isilon NL400 对数据信息进行存储;网络设备主要用于联盟链节点服务器之间的通信和交互,需要具备高带宽、低延迟和高可靠性的要求,采用华为AC6605网络设备可满足以上需求;安全设备用于保护联盟链网络的安全性和可信度,需要具备高可靠性和高安全性,选用Cisco ASA 5550 作为财务监督信息管理平台安全设备。
3 软件设计
3.1 数据录入
3.1.1 联盟用户身份认证
在联盟链财务监督信息管理系统中,对联盟用户进行身份认证是必不可少的环节,能够提高系统的安全性和可靠性,保证联盟成员的合法权益[3]。数字证书是一种基于非对称加密技术的身份认证方式,通过数字证书可以证实联盟成员身份。具体流程如图2 所示。
图2 联盟用户身份认证流程图
由图2 可知,联盟成员在注册时需要提供其身份信息,并向数字证书认证机构申请数字证书,数字证书认证机构对联盟成员进行身份认证,确认其身份信息的真实性和合法性,并将身份信息加密至数字证书中,数字证书认证机构使用私钥对数字证书中的身份信息进行加密签名,生成数字证书;登录身份认证阶段,联盟成员使用系统时,将个人数字证书发送给系统,系统使用数字证书认证机构的公钥解密数字证书中的签名,获得联盟成员的身份信息。系统使用数字证书中的身份信息和认证机构的公钥进行验证,确认联盟成员的身份信息是否与数字证书中的信息一致,如果信息一致,就认为联盟成员身份合法,允许其使用系统。
3.1.2 数据输入及验证
输入数据前,系统需要定义数据结构和数据存储格式,确定数据的属性、数据类型和数据格式等,并在联盟链上创建智能合约实现数据输入功能,联盟成员将需要输入的数据按照预定格式填写,并通过系统将数据提交给联盟链。系统将数据进行哈希计算,记录数据哈希值和时间戳等元数据信息,然后将数据存储到联盟链上,并记录数据的存储位置。哈希值是一个固定长度的数字或字母串,即使输入数据中只有一个字符发生改变,其计算结果也会有较大的差异,因此,不能根据哈希值反向计算出原始数据[4]。为保证数据的完整性和可追溯性,系统需要记录数据的哈希值和时间戳等元数据信息,在使用时间戳的过程中,可以使用区块链上的时间戳,也可使用联盟成员自行维护的时间戳。假设待录入文件名为“test.txt”内容为“hello world”,此时需对其进行哈希计算,并记录哈希值和时间戳,使用 SHA-256 算法对该文件进行哈希计算。利用SHA-256 算法产生1 个256 位的哈希值,其计算出的哈希值为“f7ff9e8b7bb2e0 9b70935a5d785e0cc5d9d0abf0c80a0b”。然后记录该哈希值以及计算哈希值的时间戳,将元数据信息记录到数据库中,见表1。
表1 元数据信息在数据库中的记录
表1 记录了文件的哈希值和时间戳等元数据信息。若需要验证该文件的完整性,可以重新计算文件的哈希值并与记录的哈希值进行比较,如果比较结果相同,就说明文件没有被篡改过。数据验证在基于联盟链的财务监督信息管理系统中具有非常关键的作用,可以验证数据的完整性、准确性和一致性,确保数据的可信度。通过记录哈希值和时间戳等元数据信息,可以有效防止数据被篡改和删除,增强系统的安全性和可信度。
3.2 数据查询
3.2.1 数据结构设计
设计数据结构可以确定联盟链上需要存储的数据及数据的存储方式,包括数据类型、字段、数据格式等,确保数据存储的一致性和可读性,方便后续数据的查询、分析和应用[5]。此外,数据结构与智能合约密切相关,智能合约是基于数据结构的条件、限制和操作流程而执行的。因此,设计合理的数据结构可以保证智能合约正确执行,进而实现联盟链的财务监督目标。基于联盟链的财务监督信息管理平台数据结构见表2。
表2 基于联盟链的财务监督信息管理平台数据结构
表2 数据结构包括用户信息、公司信息、财务信息以及哈希信息结构体,每个结构体包括不同的字段以便于存储相关数据,实现系统的身份认证、数据验证等功能。数据结构可以帮助联盟链上的参与者对数据进行有效管理,包括数据的录入、验证、审计和共享。通过明确数据结构和相应的数据管理流程,可以保证数据的安全性、完整性和可追溯性。
3.2.2 智能合约设计
智能合约的主要作用是验证交易的合法性并记录交易数据,它可以保证财务数据的完整性和真实性,避免恶意篡改和错误录入的情况发生。同时,智能合约可以实现自动化的数据验证和同步功能,提高财务管理的效率和准确性[6]。通过限定合约条件,可以提高系统的效率和可扩展性,避免因为人为因素导致的交易延迟和操作瓶颈,从而帮助系统更好地实现财务监督、信息管理和数据交换等功能。当一个联盟成员发起一个交易时,智能合约会验证交易条件和限制是否符合要求,若通过验证,智能合约会将交易数据存储在区块链上,并记录哈希值和时间戳等元数据信息。智能合约通过触发数据验证功能,验证交易所包括的财务数据是否符合系统定义的格式和数据类型,若通过验证,智能合约将交易数据更新到系统中,并触发通知其他联盟成员的功能,其他联盟成员收到通知后可进行数据同步操作。操作流程如图3所示。
图3 智能合约操作流程图
由图3 可知,智能合约在操作流程过程中,需在审核时间戳,确定时间节点后,检查交易数据是否符合规定的数据格式或数据范围,确定交易流程正确合法后,更新数据。数据更新后,再次检查数据的正确性和完整性,确保数据的准确性,若交易合法并且数据更新成功,则提交交易,结束智能合约执行。智能合约的主要作用是确保提交的数据是合法的,只有在指定的时间范围内提交的数据才能被更新。
3.3 交易处理
通过使用联盟链平台的交易API 或SDK,可创建一个交易提案。交易提案包括交易交易类型、交易双方名称和交易金额等,将交易提案发送给参与者进行审批前,需要使用发送者的私钥对交易提案进行签名。这项操作可确保发送者能够成功创建交易提案,并确保交易提案的真实性。然后通过联盟链平台提供的网络通信机制可完成交易提案发送给其他参与者进行审批的操作,在审批过程中,参与者可以验证提案中的信息是否正确,并根据自身判断决定是否批准该交易。如果交易提案得到足够多的参与者批准,就被认定为交易批准。在Hyperledger Fabric 中,可以使用共识算法确保交易得到足够的批准。共识算法是确保联盟链网络中交易得到足够批准的一种机制。Hyperledger Fabric 中采用的共识算法为Kafka PBFT(Practical Byzantine Fault Tolerance)。Kafka PBFT 是一种BFT(拜占庭容错)算法,其可以容忍一定数量的恶意节点,能够保证联盟链网络的安全性和可靠性,如公式(1)所示。
式中:n是网络中的节点数;f是最大容忍的恶意节点数。公式指代在网络中存在f个恶意节点时,共识算法仍然能够保证网络的安全性和可靠性。在Kafka PBFT 中,每个节点都需要进行2 个阶段的投票,客户端将交易请求发送给一个节点,该节点将交易请求广播给其他节点,并等待其他节点的响应,节点收到其他节点的响应后,将对交易请求进行验证,并生成一个执行结果,节点将执行结果广播给其他节点,并等待其他节点的响应,若节点收到其他节点的响应,则将该执行结果视为有效,否则将其视为无效;随后,节点将有效的执行结果广播给其他节点,若有超过2f+1 个节点广播了相同的有效执行结果,则该执行结果被认为是共识结果,交易得到批准。一旦节点收到足够多的交易被批准,则提交交易,并将交易结果发送至智能合约的联盟链网络中,智能合约检查交易有效性,并及时更新账本状态。
4 结语
基于联盟链的财务监督信息管理平台具有高度透明、数据安全和去中心化等优势。通过结合联盟交易逻辑,平台系统构建由数据录入、数据查询、交易处理组成的数据操作系统,对基于联盟链的财务监督信息系统进行智能化管理。通过设计智能化平台管理系统,提升财务监管的公正性及效率,降低了财务监督管理的人力成本。