基于fabric的校园征信系统——前期环境准备
阿里云服务器配置
由于一定原因,搭建fabric环境较为麻烦且耗时并容易出现错误。我也是参考了很多前辈的经验才将环境搭建成功,在这里可以参照下面这篇文章进行环境搭建,步骤详细且在b站还有她的视频教学,大家可以跟着一步一步的进行搭建。阿里云服务器Ubuntu16.04搭建Hyperledger Fabric1.2环境(详细)
需求分析
诚信档案建立的必要性及目前的痛点
- 做好大学生诚信档案建设,把大学生诚信档案作为高校思政教育效果评价的重要观测点,为大学生积累人生财富,铸就人生道路上不可或缺的竞争力,尤为重要。然而,由于当前我国社会信用体系不健全,高校诚信建设体制机制及物质基础欠缺等各方面原因,大学生诚信档案建设工作中面临着一些问题,剖析问题根源并研究相关对策,进而发挥诚信档案对于塑造良好人格的作用,迫在眉睫。
- 高校对大学生诚信档案建设工作缺乏重视。2003年上海大学建立了我国首份诚信档案后,各个高校开始探索诚信档案的建设,但始终推行不力,效果不佳。关键原因是高校对这项工作重视不够,大部分高校仅限于完成上级文件要求,并没有将诚信档案真正运用起来。
- 大学生诚信档案制度管理体系不规范。部分高校由于其大学生诚信档案管理主体的多样性,大学生诚信档案管理不够规范,工作推行难度大。诚信档案建设也存在标准缺失问题,许多高校虽然开始探索诚信档案的建设,但“各自为政”,缺乏统一的诚信标准,档案内容及项目也不尽相同。
- 大学生诚信档案材料应用不到位。当前,大部分高校大学生诚信档案建设在应用上都不够到位。诚信档案在高校、用人单位和社会信用机构间共享。大学生诚信档案材料内容相对简单和片面,且只作为基本数据来保存和记录,导致难以被用人单位认可。
参考文章 大学生诚信档案建设的困境与突破
利用联盟链的思想解决现阶段问题
- 相对于公链人人通过挖矿竞争参与记账,联盟链更适合校园诚信档案的建立,对于用户来说,他不需要参与记账,他仅需要在区块中能够获取可靠真实的数据,而记录数据的任务即可交给可靠的组织节点。虽然公链的去中心化程度更高一些,但牺牲了记账速度,而针对于征信系统而言联盟链或许是目前的最佳选择
- 联盟链的底层同样是区块链技术,所以他同样具有区块链的特性,每一个区块都记录前一个区块的哈希值,同时生成自身区块新的哈希值,从而形成互相依赖的链式结构。此特性保证了数据的不可篡改性,保证了诚信档案的真实性,增加了诚信档案的说服力。
- 联盟链的组织可以动态增加,只要通过项目中具有公信力节点的CA认证即可加入到组织中来,且与其他组织共同维护区块链数据。也就是说可扩展更多的征信平台加入到组织中来,作为更多的诚信记录加入到档案中。同时更多的企业和用人单位也可以加入进来,来获取档案数据。
- 以联盟的形式定制共同认可的档案内容,解决不统一的档案标准。加入联盟的组织可将共享数据写入至区块中去,而形成联盟中组织间的数据共享,解决信息断层及孤岛问题。
项目架构设计
Hyperledger fabric 交易流程
一个交易,基本上从客户端(SDK或APP)发起,然后根据背书策略发送交易提案到相关的背书节点,背书节点拿到提案后,验证签名,模拟执行,创建读写集,签名然后返回结果给客户端,客户端依次收集背书策略中要求发送至节点的返回结果,如果符合背书策略后,利用SDK打包交易(验证策略,打包提案、提案反馈和背书签名),然后发送到排序节点。排序服务器根据不同的通道按时间顺序排序,生成区块(RAFT共识就在此处),注意,此处不进行区块交易合法性验证。广播区块到各个组织的Leader节点,其它验证区块后广播给相关组织的通道成员,并且每个成员都要进行相同的校验处理。
所有合法的区块交易都会将写入状态写入数据库(状态数据库和帐本数据库)并更新世界状态。
项目整体架构
项目采用Vue+beego+fabric的架构进行开发,前端页面UI利用vue框架完成,数据请求通过前端上传到后端beego进行业务处理,调用fabric-sdk-go进行区块链上的数据读写操作。
后续将进行项目代码的编辑与部署并会上传到博客进行记录。