赵鹏 赵伟
DOI:10.19850/j.cnki.2096-4706.2024.02.006
收稿日期:2023-06-05
摘 要:针对当前教育公益捐赠监管不力、资金流向不透明和信任危机等问题,提出一种基于联盟链和星际文件系统(InterPlanetary File System, IPFS)的教育公益捐赠方案,区块链的去中心化、数据不可篡改、交易透明等特点为该方案奠定了基础。首先,对该方案的应用模式进行了说明;其次,阐述了基于该方案的平台架构分层设计以及平台运行原理,以及数据加密处理、数据存储和捐赠溯源等关键技术;最后,基于该平台进行捐赠、溯源的可行性分析。分析结果表明,该平台性能更安全,吞吐量更高,溯源更高效。
关键词:联盟链;IPFS;教育公益;溯源
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2024)02-0021-07
Education Public Welfare Donation Scheme and Platform Design Based on
Alliance Chain and IPFS
ZHAO Peng, ZHAO Wei
(Taiyuan Normal University, Jinzhong 030619, China)
Abstract: An education public welfare donation scheme based on alliance chain and InterPlanetary File System (IPFS) is proposed to address the current issues of inadequate supervision of education public welfare donations, opaque fund flow, and trust crisis. The decentralization, immutability of data, and transparency of transactions of blockchain have laid the foundation for this scheme. Firstly, the application mode of the scheme is explained; secondly, the platform architecture layered design based on this scheme and platform operation principle are elaborated, as well as key technologies such as data encryption processing, data storage, and donation traceability; finally, feasibility analysis of donation and traceability is carried out based on this platform. The analysis results indicate that the platform has safer performance, higher throughput, and more efficient traceability.
Keywords: alliance chain; IPFS; education public welfare; traceability
0 引 言
近年來,随着互联网+教育公益事业的不断发展,各种教育公益活动逐渐转向便捷的线上模式[1]。尽管这种方式为热心公益的社会人士提供了极大的便利,但随着公益活动的增多,真假难辨的问题也愈发严重。不法分子利用这一弊端牟利,导致教育公益事业陷入了尴尬境地。总结起来,主要存在以下问题:公益活动真实性缺乏可信度;公益善款物资流向不明确,缺乏透明性;有关监管力度不够[2];公益活动流程烦琐,效率低。针对以上问题,本文结合联盟链和星际文件系统(IPFS)提出了一种新的教育公益应用模式。
1 相关工作
1.1 联盟区块链
区块链[3]是一种去中心化的、可追溯的、安全的分布式数据库技术。它基于密码学[4]技术,通过将交易记录按照时间顺序链接在一起形成一个不可篡改的“区块链”来实现数据的存储和交换。该技术使得数据可以被多个参与者共同维护和更新,而无须中央机构的干预。区块链技术的最早应用是比特币[5],它被用于实现比特币的交易记录和交易验证。如今,区块链技术已经被广泛应用于金融、医疗、供应链管理、版权保护等领域。它的主要优点包括去中心化、安全可靠、透明性高、防篡改等特点。基于区块链的这些特性,教育公益活动的每一笔交易都存入链中,一旦更改了链中的交易,整个链的Hash也随之更改,从而保证了公益活动信息的不可篡改,链上的交易数据用户可以随时查看,保证了公益活动的公开透明。
联盟链是由一组机构或组织创建的区块链网络,这些机构或组织通过协议来共同管理和维护这个区块链。与公有链不同,联盟链只对特定的参与者开放,而不是对任何人都开放,这意味着只有被授权的成员才能够参与到联盟链的验证和交易中。
联盟链与私有链的不同之处在于,它的参与者不仅仅是同一组织内的成员,而是多个组织之间的合作伙伴。这些组织通常是由类似于银行、保险公司、制造商、物流公司等实体组成,他们共同利用区块链技术来解决特定的业务问题。因此,联盟链可以看作是企业间(B2B)交易的一种形式。
联盟链在安全性方面相对于公有链更具有优势。在公有链中,参与者可以是任何人,这意味着它们更容易受到网络攻击的威胁。相反,联盟链只对授权的参与者开放,降低了安全威胁的风险。因此,本文选用Fabric联盟链作为区块链网络环境,提升公益活动中的交易性能,减少恶意节点的加入。
1.2 IPFS介绍
IPFS使用一个内容寻址的方式来唯一标识文件,这意味着文件的地址取决于其内容,而不是它们存储的位置。这种机制使得IPFS可以高效地存储和传输文件,并且可以通过多个节点进行分布式存储和传输。因此,IPFS具有较高的可靠性和冗余性,即使某些节点不可用,文件仍然可以被找到和检索到。IPFS还支持分片和加密文件,使文件更安全,并能够在互联网上进行可信的共享和存储。利用IPFS的这些特性,可以将教育公益活动的交易数据加密安全的存入IPFS中,减小区块链网络环境的负载压力。
1.3 研究现状
近年来,随着区块链技术的不断发展,其应用扩展到了教育、医疗、农业以及公益慈善等领域。李中振等[6]以区块链技术、智能合约在智慧校园中的应用为切入点,提出并设计了一种去中心化的学籍信息管理方案,同时基于Fabric框架开发了一个学籍管理系统原型。袁昊男等[7]针对患者病历数据存储不安全、跨域可信共享难、访问周期长等问题,设计并实现了基于Fabric联盟链的电子病历跨链可信共享系统。柳祺祺等[8]从区块链的理论研究出发,分析了国内现有农产品溯源方案的特征与不足;结合区块链技术和农产品溯源的各自特点,提出了构建基于Fabric的农产品质量溯源系统。
对于公益活动中存在的一系列问题,学者们进行了大量的研究。李琪等[9]利用区块链技术搭建了慈善应用平台,并对其进行了性能测试。但所搭建的系统中,善款只能在慈善机构规定的机构使用,以避免受助人滥用善款。但是在现实生活中,受助人在获得善款以后只能在特定的组织机构使用显然不太合理。Farooq等[10]提出一个透明、安全、可审计和高效的系统,该系统中引入了CharityCoin(CC)作为数字货币,引入的代币极易引入攻击者攻击系统,窃取利益。Rashid[11]等设计了一个基于区块链技术的教育公益平台,旨在支持非营利组织进行教育项目的资金筹集和管理。该平台使用联盟链技术保证透明性和安全性,并通过智能合约实现资金管理和分配。Almaghrabi[12]等提出了一个基于区块链的捐赠溯源框架。但系统采用的是公链以太坊,随着节点数目的增大,共识效率低,因此只能适用于小规模的场景。这些研究给区块链在教育公益领域的应用提供了启示,本文利用联盟链和IPFS技术提出一种新的教育公益应用模式与平台。本文方案保证了公益活动的真实性,资金流動的透明性以及资金捐赠的可追溯性。
2 基于联盟链和IPFS的公益捐赠方案
2.1 基于联盟链和IPFS的公益捐赠方案
基于联盟链和IPFS技术,本文提出了区块链码链在教育公益捐赠领域的一种应用方案[13],如图1所示。在该场景下,求助学生可以和社会爱心人士直接进行公益活动,不需要公益组织的信用作为背书。在捐赠方案中,有两种捐赠模式,一种是直接进行资金捐赠,另一种是物资捐赠,捐赠的物资需要到学校兑换机构中兑换。平台中加入监管人员,可以公益平台中的交易进行监管,防止恶意人员恶意集资。
该平台的使用流程图如图2所示:1)用户注册与登录:首先,当新的用户进入平台时,需要填写身份信息进行注册,如果是社会爱心人士不需要身份验证,如果是求助学生则需要进行学生身份验证。注册成功之后跳转登录进行其他操作。2)社会爱心人士操作流程:爱心人士登录平台之后,浏览学生发布的筹款申请,选择一个心仪的进行捐赠,如果没有找到合适的项目,爱心人士还可以直接捐赠给平台中的用户,或者直接捐赠给学校账户,由该学校支配该善款。3)求助学生操作流程:学生成功登录之后,可以根据自己的情况进行求助申请,学生可以随时查看自己的账户余额,当收到物资捐赠时,学生可以凭借物资兑换码去线下兑换。4)监管人员操作流程:监管人员对平台中的交易进行监管。5)学校管理人员操作流程:首先对学生身份核查,然后对学生申请的筹资项目审核,审核通过方可对其进行发布。
2.2 基于联盟链和IPFS的公益捐赠平台的设计
基于上述方案,本文设计了一个教育公益捐赠平台,该平台在一定程度上解决了教育公益捐赠领域存在的问题,如缺乏完整的信息披露、捐赠项目审批流程烦琐、捐赠不透明,等等。本平台的架构如图3所示,主要包括5个模块:区块链模块、SDK接口模块、智能合约模块、应用模块和用户模块。
区块链模块运用了联盟链稳定版本Fabric 2.2.1,为整个平台提供区块链网络环境,存储功能。在此模块中包含了数据层、网络层和共识层。在数据层中,区块链节点负责存储区块链系统数据,IPFS星际文件系统负责存储平台交易数据。网络层为整个区块链系统提供了通信基础,主要包括P2P网络,网络中的传播机制和验证机制。
在接口模块中使用Hyperledger官方提供的Fabric-SDK-Go接口与Fabric网络进行交互和通信。作为区块链网络和客户端的桥梁,客户端通过Fabric-SDK-Go接口加入和管理区块链网络。
智能合约模块指的是图中的合约层,在Fabric联盟链中,智能合约也被称为链码,是用go语言编写的一段代码块。是一种在区块链中广泛应用的自动化合约,可以执行和验证合约中的条款和条件。
应用模块是提供给客户端调用区块链的一些功能,比如筹款申请、组织发布筹款项目、社会爱心人士进行社会捐赠、信息披露和捐款明细,等等。
用户模块是整个平台的参与者,包括捐赠者、学生、学校组织和监管人员。
3 原理及关键技术实现
图4展示了该平台的运作原理。本平台采用Hyperledger Fabrci作为底层技术。用户作为客户端节点加入区块链中,每一笔交易都在区块链上进行,交易相关信息全部被记录,为了增强区块链的整体性能,用户数据和链上产生的交易数据都存入星际联盟系统中,防止数据泄露,本文通过RSA算法对数据进行加密存储,加密后的密文存入IPFS系统中,在分布式的IPFS网络中,用户浏览到的是加密数据,从而在一定程度上保护了用户的隐私。
3.1 数据加密
本平台使用当下主流的加密算法RSA对用户的上链信息和交易数据进行加密处理[14]。在现实生活中,用户不希望自己的信息和捐赠受赠信息泄露。因此本文提出将用户个人数据以及交易数据加密存入星际文件系统,虽然IPFS所用人都可以访问,但是经过加密处理之后看到的只是密文数据,从而在一定程度上保护了用户的隐私。
RSA是一种非对称加密算法,由Ron Rivest、Adi Shamir和Leonard Adleman于1977年提出。它是目前广泛应用于加密和数字签名领域的一种重要算法。非对称加密算法的主要特点是使用一对密钥:公钥(public key)和私钥(private key)。公钥用于加密,私钥用于解密,具体的加解密过程如下。
3.1.1 密钥生成
1)选择两个大质数p和q,这两个质数需要足够大以保证加密的安全性。2)计算n = p×q。n被称为模数,用于后续的加密和解密过程。3)计算欧拉函数φ(n) = ( p-1)×(q-1)。4)选择一个整数e,使得1<e<φ(n),且e与φ(n)互质。e被称为加密指数。
5)计算d,使得d×e ≡ 1(mod φ(n))。d被稱为解密指
数。6)公钥为(PU,n),其中PU为加密指数e。私钥为(PR,n),其中PR为解密指数d。
3.1.2 加密过程
将明文用户数据或者捐赠数据M转换为整数m,其中0≤m<n。通常,可以用一种字符编码方案(如ASCII或UTF-8)将明文消息转换为整数。
使用公钥(PU,n)对m进行加密:c ≡ m^e(mod n)。计算得到的c是密文。
3.1.3 解密过程
使用私钥(PR,n)对密文c进行解密:m ≡ c^d(mod n)。计算得到的m是明文的整数表示。
将整数m转换回明文消息M。通常,可以用一种字符编码方案(如ASCII)将整数转换回明文消息。
3.2 数据存储
本平台使用星际文件系统(IPFS)存储用户的信息及捐赠交易信息[15]。在传统的区块链中,一个区块大小为1 MB,如果只是处理捐赠交易大约能处理4 000笔交易,但在本平台中区块链还存储其他数据,因此处理的交易数量会大打折扣。因此本文提出将用户上链数据以及捐赠交易数据存入IPFS中,区块链中存储IPFS对应的Hash值,从而降低了区块链的存储压力,具体的存储过程如下:
1)文件处理:用户需要存储的文件将被分割成多个数据块。这些数据块会被加密,并对每个数据块生成一个唯一的哈希值。2)数据分发:这些加密的数据块会被分布式地存储在IPFS网络中的多个节点上。每个节点存储了文件的一部分,整个文件由这些数据块在IPFS网络中的分布来表示。3)存储证明:为了确保数据的完整性和可用性,存储节点需要向区块链网络提供存储证明。这是通过一个称为“存储证明”的机制实现的,它要求存储节点定期提交证明,表明它们仍然存储着相应的数据块。4)检索:用户需要访问文件时,会发送一个包含文件哈希值的请求。IPFS网络会根据这个哈希值查找存储了相应数据块的节点,并从这些节点中获取文件的所有部分。然后,这些数据块会被解密并组合成原始文件。
部分代码如下:
1)加密存入IPFS:
//数据加密
ipfsHash, err := sh.Add(strings.NewReader(b64ciphertext))
2)Hash上链:
compositeKey, err := ctx.GetStub().CreateCompositeKey
("user", []string{username})
ctx.GetStub().PutState(compositeKey, []byte(ipfsHash))
3.3 捐赠及溯源
在本平台中,捐赠分为物品捐赠和金钱捐赠,物品捐赠需要凭借兑换码线下学校兑换机构兑换,金钱捐赠可以直接发到受赠学生账户中。学生想要获取帮助,首先需要申请一个求助项目,填写相关信息,待审核通过后发布。具体的申请表如表1所示。
如图5所示,求助申请已经成功上传到区块链网络。
溯源是本平台最重要的功能,捐赠者随时可以查看自己捐赠的项目,查看具体的捐赠记录。传统的溯源成本通常比较高,周期长,而且在防伪成本也比较高。在本方案中,捐赠溯源变得尤为简便,只要输入溯源码便可查询每一笔捐赠交易信息。捐赠溯源智能合约部分代码如下:
func(s*SmartContract)GetDonationsHistory
(ctxcontracta-pi.TransactionContextInterface.
ID string) ([]DonationRecord, error) {
resultsIterator, err := ctx.GetStub().GetHistoryForKey(ID)
results := make([]DonationRecord, 0)
for resultsIterator.HasNext() {
if queryResponse :=esultsIterator.Next(){
res := DonationRecord{}
res.ID = queryResponse.TxId
res.Value=string(queryResponse.Value)
res.Times=time.Unix(queryResponse.Timestamp.Seconds, 0).Format("2006-01-02 15:04:05")
results = append(results, res)
}}
return results, nil
}
溯源部分结果如表2所示。输入捐赠者溯源码标识“马易”和受赠者溯源标识“Lucy”,可以看到马云和Lucy的账户余额在具体的时间发生的变化,每一笔捐赠记录都被记录在区块链中。
4 优势分析
4.1 与传统教育公益对比分析
信息披露完整。在传统的教育公益捐赠体系中,缺乏相对完整的信息披露,捐赠者往往很难找到相关捐赠信息,难以抉择对象去进行捐赠。在本平台中,每一笔捐赠信息都记录在平台中,捐赠者可以轻松获取,分析合适的学术进行捐赠。
捐赠信息透明。传统的教育公益捐赠通常是在线下举办,捐赠的金额物资公示期短,查询困难高。在该方案中,区块链上的每一笔交易记录在存入链中,链中信息永不过时,用户可以随时查询捐赠信息,捐赠者有更高的参与度。
筹款流程简化。在传统的公益筹款活动中,筹款流程烦琐,完成一次筹款项目需要多个部门的审批,消耗时间周期长。在该方案中,筹款项目申请、审核、发布和打款都是通过智能合约自动化完成,从而简化了筹款过程。
4.2 与现有公益平台对比分析
数据更安全。在传统的公益捐赠平台中,数据都是存入传统的集中式数据库中,这种传统的中心化数据库,权力集中在个人手中,数据易被掌权者篡改。在该方案中,数据存入区块链中,数据一旦被修改,就会被链上的其他用户知道,从而一定程度上保护了数据的安全性。
较高的吞吐量。在本方案中引入了分布式数据库IPFS存储,用户数据和捐赠交易数据都存入IPFS中,区块链中只是存储较小的Hash值,因此在一个区块长能存能多的交易,从扩展了区块链存储能力。
5 性能分析
5.1 平台功能测试
本系统是在Ubuntu 20.04操作系统下设计的,并在该系统下搭建Hyperledger fabric区块链网络环境、Caliper测试环境、区块链浏览器环境。Caliper用来测试系统的延迟和吞吐量,区块链浏览器可以实时观察网络中的交易,区块链节点。具体系统配置如表3所示。对平台主要功能测试结果如表4所示。通过表4的测试结果,可以看出通过本方案的平台是可行的。
5.2 安全性分析
1)身份管理。本方案中的Hyperledger Fabric使用成员服务提供商(MSP)来管理参与网络的各个实体的身份。MSP为每个网络成员提供了一套证书,这些证书可以用来签名交易和区块,从而确保参与者的身份可验证且受信任。从而在一定程度上阻止了恶意用户的加入。2)通道数据私有。Hyperledger Fabric提供了一种名为通道的隔离机制,允许不同组织之间的交易和数据存储进行隔离。每个通道都有独立的账本,只有被授权加入通道的组织才能访问相关信息。这有助于保护商业机密和隐私数据。3)智能合约安全。Hyperledger Fabric的智能合约被称为链码,运行在一个隔离的容器中,避免了潜在的安全漏洞。此外,Fabric通过背书策略来确保交易的正确性和完整性。背书策略定义了哪些组织需要签名以验证交易。这有助于确保交易在链上达成共识之前得到充分验证。4)无代币化。在传统的区块链中都引入了代币作為奖励机制,恶意组织为了获取代币,恶意攻击区块链网络。在本方案中,未引入代币,从而在一定程度上防止了恶意攻击。
5.3 吞吐量分析
吞吐量是指单位时间内处理的交易数目。本实验中将交易数作为实验变量,交易数依次递增。测试使用和不使用IPFS区块链网络的吞吐量。实验结果如图6所示。实验表面,加入IPFS之后,随着交易量的增大,区块链的吞吐量得到明显的提升,平台的整体性能得到了提升。
6 结 论
针对当前教育公益模式种存在的问题,例如公益活动造假、资金流向模糊、公益项目审批流程复杂以及信息不透明等。本文探索了将教育公益与区块链结合的方法,并提出了将教育公益与区块链相结合的应用方案。通过使用Hyperledger Fabric与IPFS构建了一个教育公益平台。同时进行了安全性分析和性能测试比较。实验结果表明加入IPFS之后区块链性能得到了提升。在本平台中,公益捐赠活动可以一对一地进行,无须第三方作为信用背书,资金转账由智能合约自动执行,简化了烦琐的审批流程,从而一定程度上提高了公益效率。
区块链技术目前教育公益领域并没有得到广泛的应用,一方面是因为区块链技术没有得到足够的普及,另一方面是因为公益活动是一个特殊的活动,它既需要道德的约束,也需要法律的监管,在与区块链结合的路上任重而道远。
参考文献:
[1] LI F,ZHANG Y L,TAN C D,et al. Integration of Environmental Public Welfare Projects and Internet Platforms: Survey of Environmental Public Welfare Organizations [C]//2019 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM).Macao:IEEE,2019:769-773.
[2] YADAV S P,AGRAWAL K K,BHATI B S,et al. Blockchain-Based Cryptocurrency Regulation: An Overview [J].Computational Economics,2022,59(4):1659-1675.
[3] BHUTTA M N M,KHWAJA A A,NADEEM A,et al. A Survey on Blockchain Technology: Evolution,Architecture and Security [J].IEEE Access,2021,9:61048-61073.
[4] RAIKWAR M,GLIGOROSKI D,KRALEVSKA K. SoK of Used Cryptography in Blockchain [J].IEEE Access,2019,7:148550-148575.
[5] SQUAREPANTS S. Bitcoin: A Peer-to-Peer Electronic Cash System [J/OL].SSRN Electronic Journal,2008[2023-05-06].https://doi.org/10.2139/ssrn.3977007.
[6] 李中振,高超越,刘敏,等.基于区块链技术的学籍管理系统 [J].四川大学学报:自然科学版,2019,56(3):450-456.
[7] 袁昊男,王瑞锦,郑博文,等.基于Fabric的电子病历跨链可信共享系统设计与实现 [J].计算机科学,2022,49(S1):490-495+638.
[8] 柳祺祺,夏春萍.基于区块链技术的农产品质量溯源系统构建 [J].高技术通讯,2019,29(3):240-248.
[9] 李琪,李勍,朱建明,等.基于区块链技术的慈善应用模式与平台 [J].计算机应用,2017,37(S2):287-292.
[10] FAROOQ M S,KHAN M,ABID A. A framework to make charity collection transparent and auditable using blockchain technology [J/OL].Computers & Electrical Engineering,2020,83:106588[2023-05-06].https://doi.org/10.1016/j.compeleceng.
2020.106588.
[11] RASHID M A,DEO K,PRASAD D,et al. TEduChain: a blockchain-based platform for crowdfunding tertiary education [J/OL].The Knowledge Engineering Review,2020,35[2023-05-02].https://doi.org/10.1017/S0269888920000326.
[12] ALMAGHRABI A,ALHOGAIL A. Blockchain-based donations traceability framework [J].Journal of King Saud University-Computer and Information Sciences,2022,34(10):9442-9454.
[13] HSU C S,TU S F,HUANG Z J. Design of an E-Voucher System for Supporting Social Welfare Using Blockchain Technology [J/OL].Sustainability,2020,12(8):3362[2023-05-02].https://doi.org/10.3390/su12083362.
[14] SHAND M,VUILLEMIN J. Fast implementations of RSA cryptography [C]//Proceedings of IEEE 11th Symposium on Computer Arithmetic.Windsor:IEEE,1993:252-259.
[15] 劉文选,赵金东.基于Hyperledger Fabric与星际文件系统相结合的数据存储框架 [J].郑州大学学报:理学版,2023,55(1):28-34.
作者简介:赵鹏(1973—),男,汉族,山西太原人,教授,博士,主要研究方向:软件工程、大数据、区块链;赵伟(1999—),男,汉族,贵州毕节人,硕士研究生在读,主要研究方向:区块链技术、共识算法。