5.2 区块链平台与 IPFS 环境搭建.................................. 40
5 基于区块链的社交平台的实现与测试
5.1 系统环境
由于本系统是基于区块链技术进行开发的,需要自行完成区块链平台及IPFS 集群的搭建,并且需要对区块链中的节点及区块等进行一系列的配置。本系统的运行环境如表 5-1 所示。
将系统部署到服务器之前,对系统进行测试是软件开发流程中很重要的一步。本文对基于区块链的社交平台进行测试时,测试用例的设计遵循以下原则:
(1)一个测试用例只针对一个功能模块,各功能模块间分别设计测试用例。
(2)每个设计用例都要有清晰的执行前提和确定的测试数据。
6 总结与展望
6.1 论文总结
随着互联网技术的发展,对于社交的方式也从面对面交流转移到了无线通信设备上,网络拉近了人与人的距离的同时,也暴露出很多的问题。社交平台每天都会产生海量的数据,如何保证数据不被泄露,如何保证用户发布在社交平台上的信息是最原始的未被篡改过,如何使社交平台上优质内容的发布者能够得到应有的奖励,是社交平台需要解决的问题。本文通过查阅资料深入了解网络社交平台的特性及发展历程,并基于区块链技术开发了一个安全高效的网络社交平台。由于智能合约的出现,在丰富区块链应用的同时,智能合约的漏洞问题也是区块链领域需要解决的一大难题,所以本文中对于智能合约的安全性验证也进行了相关研究;为了优化区块链的性能,本文提出了一种混合存储方案,该方案既保留了区块链的安全性又保证了数据的读写性能。在本论文中主要做了以下工作:
(1)对基于区块链的社交平台进行了需求分析、功能模块设计、数据库及智能合约设计,使用以太坊推荐的 Solidity 语言完成智能合约的编写,并通过Remix 将其部署在以太坊网络上,通过 Web.js 库操作智能合约并与 Springboot后端框架和 Vue 前端框架结合起来完成了系统的实现。
(2)对智能合约安全验证进行相关研究和实验,本文中将 Petri 网技术应用于智能合约业务流程验证中,并结合符号执行技术对智能合约进行两个层面的安全验证,分别是业务流程层面和代码层面。首先使用 Petri 网技术对智能合约的业务流程进行验证,然后再基于符号执行技术对已经编写完成的智能合约进行验证。经过双重验证,本文中编写的智能合约均不存在漏洞,可将其部署至区块链上。
(3)区块链上存储的数据虽然足够安全,但是存储效率较低,由于社交平台产生的数据量较大,所以本文设计了一种混合存储方案,并将该存储方案应用到基于区块链的社交平台中。该方案同时使用了区块链、IPFS、MySQL 进行存储并缓存技术,充分发挥了各个数据库的优点,使本系统中存储的数据既达到了区块链的安全性又保留了本地数据库较高的读写性能。
参考文献(略)