一个基于区块链慈善募捐软件--捐赠人与慈善机构部分

 2022-11-10 10:53:09

论文总字数:30962字

摘 要

随着互联网技术的不断发展,慈善募捐也逐渐地由线下捐助向线上线下相结合演变。虽然互联网技术为慈善捐助带来了很多方便,但也带来了新的“信任危机”:慈善捐款不透明,资金流向无法查询;集中式服务器端数据存在被非法篡改的现象。能够同时实现内容透明、不可篡改、可溯源三个特点,区块链技术正是解决这一难题的最佳方案。

本文的主要研究目标是设计一个基于区块链慈善募捐软件--捐赠人与慈善机构部分,主要实现了以下成果:

1.对区块链技术进行研究,在了解传统募捐系统的各项优缺点后将其与区块链结合起来,以区块链公开透明的优点解决现有募捐系统存在的信任问题。对于区块链技术的框架选择,本文选择的共识算法是POW共识机制,它相比其他的共识算法来说更为安全,募捐系统的数据很难遭受篡改。

2.本文针对募捐系统的捐赠人与慈善机构两角色的应用场景进行了需求分析,在此基础上设计了募捐系统前台网页和后台区块链数据库部分。前台网页实现了捐赠人和慈善机构在募捐系统中各项功能的设计,后台区块链数据库用于存储符合申请条件的有效募捐数据,其中主要包含了共识算法和激励机制的设计。

3.使用黑盒测试法对募捐系统的功能需求与非功能需求进行了详尽的测试,测试结果表明本文设计的募捐系统功能完善,性能可用,达到了设计预期。

关键词:慈善系统;区块链;共识机制;POW;捐赠人;慈善机构

Abstract

With the continuous development of Internet technology, charity fundraising have gradually evolved from offline donations to a combination of online and offline donations. Although Internet technology has brought a lot of convenience to charity fundraising, it has also produced a new "trust crisis": charitable donations are opaque, and the flow of funds cannot be queried; centralized server-side data could be illegally tampered with. Blockchain technology is the best solution to this problem which can fulfill the three characteristics of content transparency, non-tampering, and traceability at the same time.

The main content of this thesis is to design a charity fundraising software based on blockchain-the part of donors and charity organizations. The main works are as follows:

Research on the blockchain technology, combine it with the traditional fundraising system after understanding the advantages and disadvantages of the traditional system and solve the trust problem of the existing fundraising system with the advantages of the openness and transparency of the blockchain. For the framework selection of blockchain technology, the consensus algorithm chosen in this article is the POW consensus mechanism, which is more secure than other consensus algorithms, and the data of the fundraising system is difficult to be tampered with.

This article conducts a demand analysis for the application scenarios of the two roles of donor and charity organization in the fundraising system, and designs the front-end webpage and back-end blockchain database of the fundraising system on this basis. The front-end webpage implements the design of various functions in the fundraising system for donors and charities. The back-end blockchain database is used to store effective fundraising data that meets the application conditions, which mainly includes the design of consensus algorithms and incentive mechanisms.

Use the black box test method to conduct a detailed test on the functional and non-functional requirements of the fundraising system. The test results show that the fundraising system designed in this paper has perfect functions and usable performance, which has reached the design expectations.

Keywords: Charity system, Blockchain, Consensus mechanism, POW, Donor, Charity Organization

图目录

图2.1 面向对象方法概述 5

图2.2 C/S网络结构(左)与P2P网络结构(右) 8

图2.3 区块链总体架构 10

图3.1 募捐系统之捐赠人与慈善机构部分用例图 13

图4.1 募捐系统之捐赠人与慈善机构部分软件结构图 15

图4.2 系统功能模块图 16

图4.3 募捐系统工作流程图 17

图4.4 用户信息管理模块流程图 20

图4.5 发布募捐项目流程图 21

图4.6 修改募捐项目流程图 21

图4.7 查看募捐信息流程图 22

图4.8 项目捐赠流程图 22

图4.9 区块链结构 23

图4.10 POW共识机制 23

图4.11 区块链上链 23

图5.1 用户注册界面 28

图5.2 登录界面 28

图5.3 资金项目列表 29

图5.4 物品项目列表 29

图5.5 闲置物项目列表 30

图5.6 修改个人信息界面 30

图5.7 查看资金项目详情 31

图5.8 资金项目捐赠列表 31

图5.9 查看物品项目详情 32

图5.10 物品项目捐赠列表 32

图5.11 查看闲置物详情 33

图5.12 查看闲置物领取列表 33

图5.13 捐赠人用户发布闲置物 34

图5.14 慈善机构添加募捐项目 34

图5.15 慈善机构编辑募捐项目 35

表目录

表2.1 区块链共识机制对比 9

表2.2 区块链类型对比 11

表4.1 捐赠人用户表 18

表4.2 慈善机构表 18

表4.3 募捐项目表 19

表4.4 捐赠信息表 19

表5.1 添加募捐测试用例 36

表5.2 添加闲置物测试用例 36

表5.3 捐赠测试用例 37

表5.4 修改项目测试用例 37

目录

摘要 I

Abstract II

图目录 III

表目录 IV

第一章 引言 1

1.1 论文工作背景与意义 1

1.1.1 选题背景 1

1.1.2 选题意义 2

1.2 相关研究现状 2

1.2.1 募捐系统现状 2

1.2.2 区块链技术现状 3

1.3 主要工作内容 3

1.4 论文组织结构 4

第二章 相关技术基础 5

2.1 系统开发相关技术 5

2.1.1 面向对象软件开发方法 5

2.1.2 MVC设计模式 6

2.2 区块链相关技术 6

2.2.1 密码学技术 6

2.2.2 P2P网络 8

2.2.3 共识算法 8

2.2.4 区块链结构 9

2.2.5 区块链特点 10

2.2.6 区块链分类 11

2.3 本章小结 11

第三章 系统需求分析 12

3.1 系统功能需求分析 12

3.1.1需求描述 12

3.1.2定义用户 13

3.1.3用例图 13

3.2 系统非功能需求分析 13

3.3本章小结 14

第四章 系统设计 15

4.1系统总体设计 15

4.1.1 系统分层结构设计 15

4.1.2系统功能模块结构设计 16

4.1.3系统总体工作流程设计 16

4.1.4系统数据库设计 17

4.2 系统详细设计 19

4.2.1用户信息管理模块设计 19

4.2.2募捐信息管理模块 20

4.3 核心算法设计 22

4.3.1 区块链设计 22

4.4 本章小结 24

第五章 系统实现与测试 25

5.1 系统实现工具与环境 25

5.2 核心代码分析 25

5.2.1 区块链结构 25

5.2.2 POW机制 25

5.2.3 产生新区块方法 25

5.2.4 查看募捐项目列表 26

5.3 系统主要运行界面 28

5.4 系统测试 36

5.4.1 系统测试环境与工具 36

5.4.2 系统功能测试 36

5.4.3 系统非功能测试 38

5.5 本章小结 38

第六章 总结与展望 39

6.1 总结 39

6.2 展望 39

致谢: 40

参考文献 41

引言

论文工作背景与意义

自古以来,慈善便一直是中华文化的一项优良美德,中国人民都乐于通过自己的努力来帮助别人。随着互联网技术的不断发展,慈善募捐也逐渐地由线下捐助向线上线下相结合演变。虽然互联网技术为慈善捐助带来了很多方便,但也带来了新的“信任危机”:慈善捐款不透明,资金流向无法查询;集中式服务器端数据存在被非法篡改的现象。现有慈善系统的搭建,仅建立在用户对网络虚拟慈善组织的信任上,一旦慈善组织发生了失信事件,那么整个慈善系统都会面临崩塌。随后通过我们的调查研究发现,能够同时实现内容透明、不可篡改、可溯源三个特点,区块链技术正是解决这一难题的最佳方案。

      1. 选题背景

近年来随着网络技术的不断发展,人们获取信息的方式也不再局限于传统媒体,自媒体、短视频平台及各类社交平台为人们获取各类信息提供了极大便利,与此同时也扩大了各类事件的影响力。从中国红十字会“郭美美事件”到水滴筹“扫楼筹款”事件,人们无从得知慈善系统善款的最终去向及募捐项目的受助人是否真的如申请中所述贫困需要帮助。据媒体报导,“5.12汶川大地震”后存在部分慈善人员变卖救灾物品、挪用救灾物资中饱私囊的现象,暴露出了慈善机构在组织信任上和内部人员管理上存在的诸多问题。且据水滴筹“扫楼筹款”视频揭露,筹款顾问都是按筹款单数获得提成,每单最高提成150元,业绩好的筹款顾问,一个月底薪加上提成,能有一万多元。以及募捐平台的筹款申请所填信息不对称导致筹款信息的真实性有待考证,如2019年5月7日德云社相声演员吴帅突发脑出血而住院救治,其家人为其在众筹平台“水滴筹”上发起金额100万元的众筹。然而网友发现,吴家经济状况较好,在北京有两套房产、一辆车,却在众筹时还勾选了“贫困户”标签。人们对众筹平台的信任随着这些事件的发生逐年下滑,专家学者们也着力于寻找一种解决方案,区块链技术作为一匹“白马”最终杀了出来。

区块链技术起源于比特币,这个虚拟货币曾为整个世界掀起了挖矿狂潮。在挖矿热浪退去,人们冷静下来后,区块链作为比特币的底层技术开始为人们所熟悉。这项技术在比特币现世近十年间几乎未出现重大错误或停机。随着区块链技术的发展,人们已将它的应用领域从虚拟货币扩展到了更多地方,金融、能源、物流等各个行业。区块链在互联网的基础上,依靠P2P网络、公钥机制与共识机制等技术解决了人类社会关系中的信任问题,从而提供了一种新型的去中心化、去中介的陌生信任体系。很多网络公司早已嗅到了区块链具有的大好前景,开发出了许多基于区块链的系统,Kosba [1] 和Zyskind [2] 等人创建了一个用于保存隐私数据的区块链系统,Hallgren [3] 等人用区块链开发出类似于比特币的电子货币。

剩余内容已隐藏,请支付后下载全文,论文总字数:30962字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;