基于区块链的“乡村图书馆”众筹平台设计与实现开题报告

 2021-12-28 21:27:30

全文总字数:8083字

1. 研究目的与意义(文献综述)

1、目的及意义(含国内外的研究现状分析)

题目:基于区块链的“乡村图书馆”众筹平台设计与实现

目的及意义:

目前,慈善机构要获得持续支持,就必须具有公信力,而信息透明是获得公信力的前提。公众关心捐助的钱款、物资发挥了怎样的作用。既要知道公益机构做了什么,也要知道花了多少,成本有多高。这种公信度的高低和公益的成效决定了公益机构能否获得公众的认同和持久支持。

然而,在过去几年里,公益慈善行业时不时地爆发出一些“黑天鹅”事件,极大地打击了民众对公益行业的信任度。公益信息不透明不公开,是社会舆论对公益机构、公益行业的最大质疑。公益透明度影响了公信力,公信力决定了社会公益的发展速度。信息披露所需的人工成本,又是掣肘公益机构提升透明度的重要因素。

区块链从本质上来说,是利用分布式技术和共识算法重新构造的一种信任机制,是用共信力助力公信力。区块链上存储的数据,高可靠且不可篡改,天然适合用在社会公益场景。公益流程中的相关信息,如捐赠项目、募集明细、资金流向、受助人反馈等,均可以存放于区块链上,在满足项目参与者隐私保护及其他相关法律法规要求的前提下,有条件地进行公开公示。为了进一步提升公益透明度,公益组织、支付机构、审计机构等均可加入进来作为区块链系统中的节点,以联盟的形式运转,方便公众和社会监督,让区块链真正成为“信任的机器”,助力社会公益的快速健康发展。区块链中智能合约技术在社会公益场景也可以发挥作用。在对于一些更加复杂的公益场景,比如定向捐赠、分批捐赠、有条件捐赠等,就非常适合用智能合约来进行管理。使得公益行为完全遵从干预先设定的条件,更加客观、透明、可信,杜绝过程中的猫腻行为。

因此,区块链与公益众筹相结合将为目前体系出现的问题带来很好的解决思路。

国外的研究现状分析

众筹作为一种新型融资模式,起源于美国,出现不过十余年。近几年,该模式在欧美国家发展速度不断加快,在其它国家和地区也得到迅速传播。

Kickstarter创建于2009年,平台地点在美国纽约,是全球最大最知名的众筹网站。该平台运营模式简单有效:用户一方是有好创意、并想去实现创作的人;另一方则是愿意出资金帮助他们实现创意的人。而平台最大的特点是:大众化,门槛极低。任何人都可以无需支付手续费捐赠自己有意向的项目。

Kickstarter众筹平台出现后,众多平台模仿Kickstarter,但Crowdcube有它自己独特的创新,成为全球首个股权众筹平台。

创办于2009年的AngelList也并非等闲之辈。其独特的运营模式得到大众的认可及关注,AngelList的精妙之处在于它整合了Twitter、Facebook和LinkedIn的社交属性,为投资人追踪项目提供了极大的便利。

但以上不管哪种众筹方式,传统的众筹都需要第三方来运作。

流程方面一般都是,项目的投资者先将资金转账到众筹平台上面,如果资金达到了目标的数目就把钱转到项目发起人的账户;如果所集资金未达到目标金额就会把钱再返还到投资人手中。

不管是项目发起者,还是众筹平台本身,他们的行为都无法做到彻底的公开透明。因此,一些基于区块链的众筹项目的成功让我们看到了新的希望。

2017年,EOS推出了用于构建去中心化应用程序的智能合约平台。该平台由Block.one创建,成员都来自币圈的知名机构。新平台最初在EOS技术白皮书中提出,作为区块链计算新时代的曙光。EOS的开发方式使其与计算机的操作系统类似,它依赖于现有的区块链架构,该架构具有去中心化对等应用程序(dApps)的垂直和水平扩展功能。

EOS的目标是为去中心化应用程序开发开发世界上最强大的基础架构,提供一系列规范的服务和功能,dApp可以利用这些服务和功能来协助和简化其开发过程。 该系统将包括“数据库,帐户,身份验证,异步通信以及跨多个CPU核心或群集的应用程序调度”。

国内的研究现状分析:

自2011年进入国内以来,我国众筹行业正在以迅猛之势进行发展。

尤其在前几年,基于区块链的一种融资方式众筹也就是ico受到许多想要发币的人的欢迎。

ico365是针对数字货币、区块链领域的融资服务平台,致力于为数字货币、区块链支持者提供安全、诚信、公平、透明的融资服务平台。项目发起者可在ico365平台发起项目筹款,收集用户需求及获取种子用户,并承诺提供回报给项目支持者,支持者可在ico365平台发现及支持可靠的项目,并获得由项目发起者承诺的回报。

ICOGOGO是由火链管理咨询(北京)有限公司孵化,并由區塊動力金融服務(香港)有限公司在香港注册并运营的数字货币众筹融资服务平台。致力于为广大区块链投资者提供投资信息服务。

人人ICO是一家针对数字货币、区块链领域的融资服务平台,由一支有着丰富数字货币、区块链行业经验的团队成立。基于对数字货币、区块链行业的深刻理解,平台坚持去中心化的经营理念,项目发起者可在RenRenICO平台发起项目筹款,收集用户需求及获取种子用户,并承诺提供回报给项目支持者,支持者可在RenRenICO平台发现及支持可靠的项目,并获得由项目发起者承诺的回报。

众筹在发展过程中,不足主要体现在以下几方面,如首先,好的比较匮乏,众筹平台的审核严格,项目通过率低,即使通过审核,在规定时间内成功获得足额筹资资金的比例同样较低。这说明众筹的模式、行业、项目等还需要继续挖掘探索,只有更多优质的项目众筹才能正常发展。其次,投资人对项目的期望过高。众筹的特点是小额、大众、公开,其中最为显著的是小额,几千块钱便可以参与,当然和小额相对应的收益也相对低,而投资人对于众筹的收益给予过高的期望,即便获得足够筹资金额的项目,其成功实施,完全达到投资人期望的比例也不高。这还需要投资人对于众筹行业的进一步认识和了解。再次,投资人对于新生事物接受起来慢,不够活跃。众筹在国内的发展时间比较短,很多投资人还不是很了解众筹的具体详情,对于众筹项目活跃度不够,影响众筹的筹资速度。

区块链的研究现状分析:

区块链技术如今是非常火热,不仅让金融家和创投家趋之若鹜,如今已经在多个领域遍地播种。

但是对我们大多数人的使用和开发区块链的目标来说,并不是要真的自己重新创建一套区块链,只是希望基于现有的区块链底层或技术框架去开发自己的应用。

寻找一个区块链底层去做我们的应用开发的基础,其次,这个区块链底层需要配套强大易用的开发接口或开发框架,此外,这个区块链底层如果要考虑以后真正

符合一些区块链的技术指标,如扩展性、燃料费用、交易频率等等。目前来说,已经有一批成熟的区块链底层平台供大家使用。

比特币:最早的区块链开发便是基于比特币的区块链网络进行开发了,由于比特币是全球最广泛使用和真正意义的去中心化,就区块链应用来说,比特币就是世上最强大的锚,拥有最大的权威性。基于比特币的区块链网络开发大致有两种方式,一种相对比较简单,基于Blockchain.info的API进行开发,如果要进一步的探索,可以采用Docker容器来快速安装和配置私有节点的比特币测试网络(bitcoin-testnet)作为开发试验环境,这样可以更深入了解、调试和使用块链网络。

以太坊:可以说除了比特币外,以太坊目前在区块链平台是最吸引眼球的。 以太坊是一个图灵完备的区块链一站式开发平台,采用多种编程语言实现协议,采用Go语言写的客户端作为默认客户端(即与以太坊网络交互的方法, 支持其他多种语言的客户端)。

IBM HyperLedger:IBM HyperLedger 又叫 fabric,他的目标是打造成一个由全社会来共同维护的一个超级账本,fabric源于IBM,初衷为了服务于工业生产,IBM将44,000行代码开源,是了不起的贡献,让我们可以有机会如此近的去探究区别于比特币的区块链的原理。fabric还未进入真正的商用阶段,更多是试验和探索,不过相对于很多其他区块链,从技术底蘊他又是比较可信和靠谱的。

布比网络:布比,是国内区块链技术特别是底层技术领先者之一。布比区块链平台分为基础框架层(BubiChain)和应用适配层(Bubi Application Adaptors)。底层基础框架层提供区块链的基础服务,应用适配层提供所需的功能组件,为具体的应用系统开发提供接口和SDK,降低由于区块链自身复杂的逻辑所带来的应用开发的难度。

对于一般开发的应用适配层,布比提供布萌区块链应用开发平台,该平台基于布比区块链技术,将上层应用所需要的功能组件进行封装,开发者想接入区块链只需要注册成为布萌开发者即可获得接口使用权限。同时,平台提供开发者运维所需要的可视化管理工具。

2. 研究的基本内容与方案

2、基本内容和技术方案

基本内容:

本平台的业务逻辑与网站搭建部分基于SSM框架集和bootstrap前端框架进行开发,之后使用相关区块链开发平台提供的API进行接入,采用UML进行建模,并严格按照软件的生命周期进行开发。

主要模块分为:

1、业务逻辑层,包括用户模块、发起模块、捐赠模块、结算模块等。用于完成普通用户的登录注册,个人信息管理,发起项目及项目管理,捐赠与交易信息查询,项目自动结算等功能逻辑的实现,并完成相关数据在本地数据库的备份。

图1 功能模块图

2、数据封装层,含数据写入的封装与数据查询的封装。此部分完成对于区块链开发平台提供的接口的封装处理。

3、接口层,包括账户注册,同步发行资产,同步转移资产,账户查询,交易查询,同步追加资产等。主要是使用区块链本身提供的API,业务逻辑层的每一个操作都与该层息息相关。

技术方案:

1)环境与工具:

①操作系统:Win10专业版;

②服务器:Tomcat7.0.94;

③数据库:MySQL5.5.58;

④Java开发:ideaIU,jdk1.8,Maven仓库;

⑤数据库设计:SQLyog;

⑥编辑器:Notepad ;

⑦区块链:布比链;

2) 设计框架

基于SSM(spring spring MVC mybatis)框架集进行网站开发,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层,springMVC负责请求的转发和视图管理;spring实现业务对象管理 ;mybatis作为数据对象的持久化引擎。

图2 SSM框架图

基于布比区块链进行平台设计开发,主要分为三个主要层次,分别为应用展现层、服务层和数据访问层。

图3 平台设计框架图

3) 总体设计

软件结构的设计,分为用户功能和工作人员功能的设计。

数据结构的设计,包括概念结构、逻辑结构、物理结构的设计。

图4 系统物理结构图

4) 详细设计

接口层的设计:指区块链提供给开发者的接口,布比官网提供了详细的API查询方法。这里只对使用到的进行描述。主要分为写入类型与查询类型的接口,请求方式分别为post和get,需要根据功能的需要进行合理使用。

表1 主要接口参数表

接口

名称

请求方式

数据格式

说明

registerBubiAccount

账户注册接口

post

json

Add2Issue

追加资产接口

post

json

对应账户充值功能

issue

发起资产接口

post

json

对应发起众筹功能

send

转移资产接口

post

json

对应跟投功能

info

账户信息查询接口

get

json

transaction

交易信息查询接口

get

json

数据封装层的设计:

数据写入的封装:用于将数据写入到区块链之前进行处理。

账户注册:需要用到三个参数:用户名、密码、交易id。封装成map类型,再将其转换成json类型,调用registerBubiAccount方法。

账户充值:需要用到四个参数:密码、交易id、资产id、资产数量。转换后调用add2Issue方法。

众筹发起:需要用到七个参数:发起者的区块链地址、发起者密码、一次区块链交易的编号、在区块链中发起资产的名称、资产的单位(本次为币)、资产的数量、附近信息(可以为空,本次为众筹信息),调用issue接口。

捐赠:需要用到的参数:随机字符串、账户密码、交易id、资产单位、资产编号(资产在区块链中的id)、资产数量、捐赠者区块链地址、发起者区块链地址、附近信息(可以为空),调用send接口。

数据查询的封装:

账户查询:参数为区块链的地址。调用info方法。

交易查询:参数为区块链地址。调用transaction方法。

Bean层的设计:将数据库中的四张表分别抽象成四个类:UserInfo、WorkerInfo、ProjectInfo、DealInfo 。

Dao层的设计:在这层分别定义对四张表实际操作(增删改查)的接口IUserDao、IWokerDao、IProjectDao、IDealDao及其具体实现的mapper。

Service 层的设计:这层负责用户与工作人员两大业务功能的接口定义IUserService、IWorkerService与实现UserService、WorkerService,这个部分是系统最重要的部分,下面对几个重要业务做详细描述:

①注册(userRegister):在这个模块要完成三次条件判断,包括输入合法性检查,提交参数是否成功,以及点击登录后进行的登录检查。这个部分要注意对用户密码以及资产的隐私保护。

②发起项目(projectNew):在发起项目前需要对用户的身份信息进行检查,因此要进行登录状态检查以及账号下项目结算状态的检查,而在提交项目信息后不仅先由系统做参数合法性检查,之后要保存到数据库中等待工作人员的审核。

③捐赠项目(userDonation):捐赠操作的用户身份检查同样十分重要,因为涉及到账户资金的变动,因此对金额的合法性以及余额的判断都要十分严格,在进行资产转移后,要在交易表中保存此次交易信息,方便之后系统进行自动结算。

④结算项目(projectBal):在这个部分,首先要对项目的期限进行判断,然后才是是否达到目标,特别要注意的是,结算业务是在每一笔交易开始前以及完成后自动调用的,目的是及时更新项目的结算状态,避免无效捐赠的完成。众筹失败结算与成功结算是两个不同的结算子业务,因比较复杂不在此详述。

Web层的设计:在一个web项目中,web层要负责前端页面的交互与跳转,这里由于选择使用了SSM框架来协助开发,所以前端页面大多使用html做内容展示。其中比较重要的是controller控制器的编程,使用UserController与WorkerController类来封装相关的跳转方法。而框架的配置文件放在这一层的resources目录下,前端相关的文件放在webapp目录下。

5) 技术分析

Tomcat 是一个开源的web服务器,运行时占用的系统资源小,扩展性好,支持负载均衡与邮件服务等开发应用系统常用的功能;

ideaIU 相比起eclipse拥有更好的项目管理方式和更高的开发效率。

布比区块链 不仅提供标准REST API,并提供JAVA等主流语言的SDK接入,同时,平台专注数字资产应用场景,跟其他大部分区块链接口纯技术和面向广泛应用的方式而言,布萌提供的接口更贴近业务场景的,更便于相关数字资产写入到区块链。相对以太坊着重区块技术和智能合约的区块链不同,布比区块链的接入更务实和落地。

3. 研究计划与安排

3、进度安排

(1) 2020/1/13—2020/2/28

查阅文献阶段(含书写文献摘要)15天

外文翻译阶段 15天

开题报告撰写阶段16天

(2)2020/3/1—2020/4/30

系统需求分析阶段(同时填写周记)15天

系统设计阶段(同时填写周记) 15天

系统实现与测试阶段(同时填写周记) 31天

(3)2020/5/1—2020/5/25

毕业论文撰写及修改阶段

撰写阶段 15天

修改阶段 10天

(4)2020/5/26—2020/6/5

准备答辩 10天

4. 参考文献(12篇以上)

4、参考文献

[1] W. Zheng, Z. Zheng,X. Chen, K. Dai, P. Li and R. Chen, "NutBaaS: A Blockchain-as-a-ServicePlatform," in IEEE Access, vol. 7, pp. 134422-134433, 2019.

[2] J. Al-Jaroodiand N. Mohamed, "Blockchain in Industries: A Survey," in IEEEAccess, vol. 7, pp. 36500-36515, 2019.

[3] T. Saisho,"A Study on New Business Models of Utilize ICT: Current Situation andChallenge on Crowd Funding," 2015 International Conference on ComputerApplication Technologies, Matsue, 2015, pp. 177-182.

[4]AndreasMAntonopoulos. 精通比特币(第二版)[M]. 南京东南大学出版社, 2018.

[5] 周平平,杜平宇,李平斌,等. 中国区块链技术和应用发展白皮书[R]. 中国区块链技术和产业发展论坛,2016.

[6] 陈赛,狄前防,范秋辞,等. 2018年中国区块链产业白皮书[R]. 工业和信息化部信息中心, 2018.

[7] 邹均.区块链技术指南[M]. 机械工业出版社,2016.

[8] 陈东敏,郭峰,广红.区块链技术原理与底层架构[M]. 北京航空航天大学出版社,2017.

[9] 王凯正. 基于区块链技术的众筹平台的设计与实现[D].内蒙古大学,2017.

[10] 张帅,延安,贾敏智.基于区块链的众筹智能合约设计[J].计算机工程与应用,2019,55(08):220-225.

[11] 张烨.我国图书馆众筹项目案例分析与研究[J].图书馆工作与研究,2017(04):107-110.

[12] K. Christidisand M. Devetsikiotis, "Blockchains and Smart Contracts for the Internetof Things," in IEEE Access, vol. 4, pp. 2292-2303, 2016.

[13]沈鑫,裴庆祺,刘雪峰.区块链技术综述[J].网络与信息安全学报,2016,(11):11-20.

[14] 骆慧勇.区块链技术原理与应用价值[J].金融纵横,2016,(07):33-37 76

[15]戴维.基于Bootstrap的响应式网页设计[J].电脑编程技巧与维护,2018(11):132-133 166.

[16]张慎武.基于SSM框架集的省级档案科技管理平台的设计和实现[J].数字技术与应用,2018,36(04):173-174 176.

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

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