Fabric 超级账本学习【8】Hyperledger Fabric 实战——基于区块链的学历学位系统

摘要

近年来,高学历人才成为了各企业快速发展的基石,而学历认证成为判断高学历人才的重要指标,但现有的学历信息系统存在许多数据安全问题,比如学历信息数据篡改、学历信息数据泄露等。同时高校毕业生数量逐年增加,给学历信息的查询认证工作带来了很大的困难。区块链以其不可篡改、可追溯等特性应用在多种场景中,论文将学历信息数据存储在区块链上,通过区块链共识机制对其进行信任背书,并且结合访问控制机制实现对学历信息的更可信、更细粒度的访问,增强其安全性和完整性。

首先,论文提出将访问控制机制与区块链结合的方案,利用密文属性加密(CP-ABE)算法对数据进行加密处理,当用户属性满足访问策略时才能进行合法性访问,提高了访问效率和链上学历数据的安全性,实现了用户级细粒度安全访问区块链数据。

其次,设计并实现了基于Hyperledger Fabric的可信学历信息查询系统,根据学历信息系统业务需求对系统架构、多个功能模块及合约函数进行设计。通过创建相关配置文件启动Fabric网络,调用运行在Docker容器中的链码实现业务逻辑功能,并且使用Fabric-SDK-Go与Web前端进行交互,实现对学历信息系统快速、高效的动态操作,包括学历信息的添加、学历信息的查询、更新记录的查询、学历信息的更新等,其中查询操作有通过唯一键值身份证号查询和通过证书编号和姓名查询两种方式。

安装部署 基于区块链的学历学位系统

报错1如下

SDK setup error: failed to initialize configuration: unable to load endpoint config: 
failed to initialize endpoint config from config backend: network configuration load 
failed: failed to load channel configs: failed to load network TLSConfig: failed to load 
client TLSConfig : failed to load client key: failed to load pem bytes from path 
/root/go/src/education/fixtures/crypto-
config/peerOrganizations/org1.example.com/users/[email protected]/tls/client.key:
open /root/go/src/education/fixtures/crypto-
config/peerOrganizations/org1.example.com/users/[email protected]/tls/client.key: 
permission denied

报错原因:config.yaml 配置文件中的证书路径错误

成功解决报错!!! 系统成功部署,接下来可以访问了

在这里插入图片描述

访问基于区块链的学历学位系统

http://localhost:9000/login

登录 基于区块链的学历学位系统

在这里插入图片描述

添加高等教育学历信息

在这里插入图片描述

查询高等教育学历信息结果

在这里插入图片描述
在这里插入图片描述

高等教育学历信息上链,在 couchdb 中查询学历信息数据

在这里插入图片描述

解决办法2:前面加上 sudo

sudo ./clean_docker.sh

报错2如下

./clean_docker.sh: 7: ./clean_docker.sh: go: not found
./clean_docker.sh: 8: ./clean_docker.sh: ./education: not found

解决办法:链码的相关依赖重新下载最新的

go mod init

go mod tidy 

go mod vendor

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42694422/article/details/129896006