您好, 访客   登录/注册

基于区块链的慈善系统的研究与实现

来源:用户上传      作者:

  摘  要: 针对现有慈善组织存在的公信力不足、便捷性低,以及善款流向不透明、集中式服务器易出错和工作效率低等问题,设计了一种基于区块链技术的慈善募捐系统。该系统利用区块链的信息公开和数据可追溯,让所有参与者共同记账,并对物资、资金流通进行监管,且不收取任何费用,直接将物资、善款交至求助者手中。与现有慈善系统相比,该系统能及时、高效地对需要帮助的人施以援手,同时能够随时、便捷地监管捐赠物资和款项。
  关键词: 慈善; 区块链; 分布式账本; 共识机制; 智能合约
  中图分类号:TP393          文献标识码:A    文章编号:1006-8228(2020)02-62-05
  Research and implementation of a charity system based on blockchain
  Yi Qin, Ou Wei, Liu Wei, Hu Jiao
  (Department of Electronic and Information Engineering , Hunan University of Science and Engineering, Yongzhou, Hunan 425199, China)
  Abstract: Aiming at the problems existing in charitable organizations, such as lack of credibility, low convenience, opaque flow of money, centralized servers’ errors and low efficiency, a charity system based on blockchain technologies is designed. In this system, information disclosure and data traceability of blockchain technologies are used to allow all participants to keep accounts together and supervise materials and funds without any fees, so that the materials and funds can be directly handed over to the help-seekers. Compared with the existing charity systems, this system can efficiently help the people in time, and it also can conveniently monitor the materials and funds at any time.
  Key words: charity; blockchain; distributed ledger; consensus mechanism; smart contract
  0 引言
  中國的慈善思想源远流长,随着全面建设小康社会的推进,慈善事业在社会救助领域迅速发展并取得初步成就。慈善事业受到人们关注的同时,也面临着信任危机:①善款流向不透明,监管力度不够,社会公信力低[1];②集中式服务器出现问题,存在为谋私利而进行篡改信息的可能[2];③政府行政干预过大[3]。事实证明,在巨大灾难面前,民间机构的反应速度是最快的[4]。因此,对慈善系统的研究成为热点。
  本文利用区块链技术提出了一种新的慈善模式,并基于该模式搭建了一个慈善募捐系统。该系统采用分布式架构,在政府的合理管理之下,将每笔慈善捐款的信息完全公开,并致力于利用区块链技术改善当前慈善事业的现状,提高慈善组织的公信力,呼吁更多的群众参与慈善捐助,这也是建立该系统的目标和意义所在。
  1 国内外研究现状
  目前国内外许多机构都在尝试将区块链技术应用于慈善领域,国外较为成熟的代表是Helperbit平台,Helperbit平台在受捐人收到捐款时需缴纳一定比例的交易费用,中间成本高,但Helperbit平台不仅是慈善平台,还可以进行其他的交易;国内的代表则是“心链”,心链是由众托帮互助平台专门为公益事业而开发的产品,具有基本完备的功能[5]。
  当前较热门的是将区块链技术运用于慈善事业。区块链的去中心特点可以将慈善公益项目相关的信息分布在网络各个节点上[6],目前没有什么技术能同时篡改整个网络上51%以上的节点数据,杜绝了某一个组织或个人操控慈善公益项目而谋私利的行为。区块链的公开透明特点[7],即所有的信息都是对全网络公开的,因此可以知道所捐助的每一笔款项的对应接收人是谁、如何使用、共发放几次、救助效果如何等等,方便点对点的查询和追溯每一笔交易的相关责任人。区块链的信息可追溯的特点[8],将捐赠人和受捐项目直接关联,每笔款项流通都被储存在链上,各方均可进行查看监督,对每一笔捐赠都了如指掌,保证公益项目的公开性和透明性。
  2 关键技术
  2.1 分布式账本
  账本层负责区块链系统的信息存储,包括收集交易数据,生成数据区块,对本地数据进行合法性校验,以及将校验通过的区块加到链上。账本层将上一个区块的签名嵌入到下一个区块中组成块链式数据结构,使数据完整性和真实性得到保障,这正是区块链系统防篡改、可追溯特性的来源。
  账本层有两种数据记录方式,分别是基于资产和基于账户。基于资产的模型中,首先以资产为核心进行建模,然后记录资产的所有权,即所有权是资产的一个字段。基于账户的模型中,建立账户作为资产和交易的对象,资产是账户下的一个字段。相比而言,基于账户的数据模型可以更方便地记录、查询账户的相关信息,基于资产的数据模型可以更好地适应并发环境。为了获取高并发的处理性能且及时查询到账户的状态信息,多个区块链平台正向两种数据模型的混合模式发展[9]。   2.2 共识机制
  共识层负责协调和保证全网各个节点数据记录一致性。区块链系统中的数据由所有节点独立存储,在共识机制的协调下,共识层对每个节点的账本进行同步,实现节点选举、数据一致性验证、数据同步控制等功能。数据同步和一致性协调使区块链系统的信息透明化,实现数据共享。
  区块链有两类现行的共识机制[10],即第一类共识机制和第二类共识机制。根据数据写入的先后顺序判定,从业务应用的需求看,共识算法的实现应综合考虑应用环境、性能等诸多要求。一般来说,许可链采用节点投票的共识机制,以降低安全为代价,提升系统性能。非许可链采用基于工作量、权益证明等的共识机制,主要强调系统安全性,但性能较差。为了鼓励各节点共同参与进来,维护区块链系统的安全运行,非许可链采用发行Token的方式,作为参与方的酬劳和激励机制,即通过经济平衡的手段,来防止对总账本内容进行篡改。因此,根据运行环境和信任分级选择适用的共识机制,是区块链应用落地应考虑的重要因素之一。各类共识算法的对比如表1所示。
  2.3 智能合约
  智能合约层负责以代码的形式编译、部署区块链系统业务逻辑,是一种可以在区块链环境中自动谈判、履行和执行协议条款的新技术,能完成既定规则的条件触发和自动验证履行,最大限度的减少人工干预。智能合约的操作对象大多为数字资产,数据上链后难以修改、触发条件强等特性决定了智能合约的使用具有高价值和高风险,如何规避风险并发挥价值是当前智能合约大范围应用的难点。
  智能合约[11]允许可信交易,这些交易在没有第三方的情况下进行可追踪且不可逆转。该系统利用此特点,保证捐赠者的捐赠有效,且捐赠者可随时查看自己的捐赠记录来确认自己的捐款去处,杜绝了个人为谋私利截取捐款的行为发生。
  2.4 密码算法
  密码学实现的安全并非通过对算法的实现过程进行保密[12-13],而是通过算法所依赖的数学问题来提供,也是保证区块链上交易数据安全的关键屏障,通常分为对称加密和非对称加密。对称加密实现了速度快,但相对容易破解,而非对称加密算法则相反。所以在实际用户中为了实现既加密速度快,又实现安全方便管理密钥,一般采用对称加密和非对称加密算法的结合体,集成两类加密算法的优点。
  3 系统架构
  3.1 系统目标
  ⑴ 充分挖掘中国潜在的慈善力量,利用区块链技术,增加群众对慈善的热情,推动慈善事业的发展;
  ⑵ 利用新型产品技术为求助者提供一个可即时获得帮助的去中心化平台,为捐助者提供一个可以随时帮助他人的公开透明平台;
  ⑶ 为管理人员提供便利的审核平台;
  ⑷ 利用区块链技术保障捐助信息的真实性,提高慈善机构公信力度;
  ⑸ 采用科学技术设计慈善系统,将慈善事业科技化,让广大群众感受新时代科技化的便利。
  3.2 技术路线
  3.2.1 系统整体设计
  系统整体设计如图1所示。
  ⑴ 设计美观大方、易操作的登录與注册界面,让使用者能更高效的使用该系统。
  ⑵ 创建MySQL数据库,建立用户信息表等,将用户信息存储进数据库中。
  ⑶ 采用区块链技术编写相关代码,实现预期效果。
  3.2.2 捐赠者登录
  捐赠者首次进入系统时,需先注册,注册后登录系统,进入系统首页,可以选择进行捐助并且查看捐赠笔数和捐赠总金额、个人信息及申请求助,如图2所示。
  3.2.3 求助者登录
  当求助者登录系统时,可以发布有关自身详情的一些描述,系统会要求求助者上传相关材料以鉴定其真实性,如图3所示。
  4 系统测试
  4.1 客户端界面
  当登录后进入用户主界面时,用户主界面的下方会显示所有求助者发起的募捐项目,捐助者可任意选择某一个(或多个)筹款项目进行捐款。点击该界面中的“立即筹款”按钮进入发起筹款页面,如图4所示,需要在该界面填写“目标金额”、“筹款标题”、“求助说明”,提交“附图”以证明自己筹款项目的可信度。点击“筹款项目”进入项目详情页面,如图5所示。
  4.2 Web端后台审核
  求助信息审核如图6所示。对于未审核的筹款,点击该页面的“查看”按钮进入筹款项目管理员审核页面,如图7所示,在筹款项目管理员审核页面可以查看筹款项目的具体详情,对于审核通过的筹款,也可进入详情页面查看。
  5 结束语
  将区块链技术用于慈善捐助,实现了一个去中心化、高效、透明、自治的慈善系统:利用分布式账本技术实现参与者共同记账,每个节点都有一个独立完整的账本,从而达到信息不可篡改和共同监督的目的;利用共识机制中的实用拜占庭容错算法,提高了共识效率,降低了系统的资源消耗;利用智能合约将一些预先定义好的规则和条款转换为代码,由机器自动化执行,保证系统的高效性,同时减少了人为干预;利用轻量级密码算法,高效、可靠地保障了用户隐私。
  当前,区块链技术正在润物细无声地改变着慈善组织。未来,愿景是在逐步完善的区块链技术支持下,公益慈善工作将不再存在猜忌、纠纷,让真正需要帮助的人得到资助。
  参考文献(References):
  [1] 许晓芳,朱国荣.我国慈善机构内部控制构建思考[J].财会月刊,2012.3:35-37
  [2] 贺昌余.我国公益慈善组织内部控制评价研究——以四川省红十字会为例[D].成都:西南财经大学,2014:55.
  [3] Theodore R. Hart.Ephilanthropy:Using the Internet to build Support[J].International Journal of Nonprofit and Voluntary Sector Markeing,2002.7(4):353-360
  [4] 王云斌.中国公益慈善信息管理系统的设计与实现[D].长春:吉林大学,2015:53.
  [5] Laura Marzahl.ePhilanthropy: An Important Trend for Nonprofit[D].Connect University of Memphis,2006.
  [6] 王继业,高灵超,董爱强,等.基于区块链的数据安全共享网络体系研究[J].计算机研究与发展,2017.54(4):742-749
  [7] 朱建明,付永贵.区块链应用研究进展[J].科技导报,2017.35(13):70-76
  [8] 王坚.慈善捐助信息管理系统的设计与实现[D].成都:电子科技大学,2013:57.
  [9] 李奕,胡丹青.区块链在社会公益领域的应用实践[J].信息技术与标准化,2017.3:25-27
  [10] 陈志东,董爱强,孙赫,等.基于众筹业务的私有区块链研究[J].信息安全研究,2017.3(3):227-236
  [11] 何蒲,于戈,张岩峰,等.区块链技术与应用前瞻综述[J].计算机科学,2017.44(4):1-7
  [12] 阿尔文德·纳拉亚南,约什·贝努著,林华,王勇译.区块链技术驱动金融[M].中信出版集团,2016(8).
  [13] 袁勇,王飞跃.区块链技术发展现状与展望[J].自动化学报,2016.4:481-494
转载注明来源:https://www.xzbu.com/8/view-15147997.htm