基于区块链的数据交易平台的设计与实现毕业论文
2021-11-06 23:18:24
摘 要
随着社会信息化的发展,数据成为越来越重要的一种资源,与此同时,数据的流通与共享也变得尤为重要。数据只有进行流通和共享才能充分发挥它们的价值。而现在还存在许多数据流通不畅、“数据孤岛”的现象。现有的数据交易模式也存在一些问题。本文以区块链和智能合约为底层技术,致力于开发一个去中心化、数据安全的数据交易平台,供用户进行数据交易,以使数据流通更流畅。
现有的数据交易模式有原始数据交易模式、数据产品交易模式、数据接口交易模式等。本平台比较类似于数据产品交易模式,但克服了一些缺点。比如:传统的数据交易依赖于第三方,这就会带来一系列问题,比如数据安全、交易效率、交易公平、隐私泄露等。而区块链的去中心化、可追溯和不可篡改等特性恰好可以在一定程度上解决这些问题,使得用户放心地进行数据交易。
本系统采用以太坊和智能合约为主要平台,用solidity语言编写智能合约,用vue,js编写前台界面,Visual StudioCode为开发工具,开发一个去中心化的数据交易平台。此平台不直接对数据文件进行存储,而是通过IPFS分布式文件系统进行文件的存储和取用。过程中使用非对称加密,平台从始至终没有直接接触数据文件的机会,从理论上杜绝了数据泄露的可能。
本文先介绍了现有的数据交易平台和国内外相关研究成果,并对相关知识和技术进行了介绍,然后介绍了交易平台的规则,对系统进行了分角色需求分析。在此基础上对系统进行了系统设计,编写智能合约和前端界面并记录了测试的过程。最后,通过对此区块链交易平台的开发体验,提出了一些对于区块链这种去中心化交易模式的思考和问题。
关键词:区块链 智能合约 去中心化 IPFS 数据交易
Abstracts
With the development of social information, data has become an increasingly important resource. At the same time, the circulation and sharing of data has become particularly important. Only through the circulation and sharing of data can they give full play to their value. However, there are still many problems such as poor data flow and "data island". There are also some problems in the existing data transaction mode. This paper takes blockchain and smart contract as the underlying technology, and is committed to developing a decentralized, data security data trading platform for users to conduct data transactions, so as to make data flow more smooth.
The existing data transaction modes include original data transaction mode, data product transaction mode, data interface transaction mode, etc. This platform is similar to data product transaction mode, but it overcomes some shortcomings. For example, the traditional data transaction relies on the third party, which will bring a series of problems, such as data security, transaction efficiency, transaction fairness, privacy disclosure and so on. The characteristics of blockchain, such as decentralization, traceability and non tamperability, can solve these problems to a certain extent, so that users can safely conduct data transactions.
This system uses Ethereum and smart contract as the main platform, uses solid language to write smart contract, uses Vue, JS to write the front interface, and visual studio code as the development tool to develop a decentralized data trading platform. This platform does not directly store data files, but stores and accesses files through IPFs distributed file system. In the process of using asymmetric encryption, the platform has no direct access to the data file from the beginning to the end, theoretically eliminating the possibility of data leakage.
This paper first introduces the existing data trading platform and related research results at home and abroad, and introduces the relevant knowledge and technology, then introduces the rules of the trading platform, and analyzes the requirements of the system by roles. On this basis, the system is designed, the smart contract and front-end interface are written and the test process is recorded. Finally, through the development experience of the blockchain trading platform, some thoughts and problems about the decentralized trading mode of blockchain are put forward.
Keywords: blockchain smart contract decentralized IPFS data transaction
目录
摘要 I
Abstracts II
第1章 绪论 1
1.1 研究背景 1
1.2 研究目的及意义 2
1.3 国内外研究现状 2
1.3.1 国内外数据交易平台概述[5] 2
1.3.2 国内外研究综述 4
第2章 相关知识及技术介绍 4
2.1 区块链 4
2.2 智能合约 5
2.3 以太坊 5
2.4 IPFS 5
2.5 开发环境与工具 6
第3章 系统规划与需求分析 7
3.1 角色与功能需求分析 7
3.1.1 数据持有者 7
3.1.2 数据购买者 8
3.1.3 智能合约 8
3.1.4 数据存储方 8
3.1.5 非功能需求 8
3.2 平台交易流程分析 9
3.3 数据交易规则 11
第4章 系统设计 11
4.1 Datastore 智能合约 11
4.2 Datatrading 智能合约 12
4.3 IPFS文件存取模块 13
4.4 前端页面设计 14
第5章 智能合约测试 16
第6章 系统实施 22
第7章 总结与展望 32
7.1 总结与心得 32
7.2 思考与展望 32
致谢 35
附录 36
绪论
研究背景
随着许多新技术融入我们的日常生活,如移动和社交网络应用,以及基于物联网(IoT)的智能系统(智能家居,智能城市,智能交通,智能电网等),将会收集到大量的数据。 我们已经进入大数据时代,数据的共享和交易是大势所趋,也是市场的必然需求。随着人们越来越重视大数据在提高效率、进行决策、用户体验和其他方面的经济价值,一些第三方交易中心相继建立起来。为了满足数据需求的增长,数据交易中心为数据拥有者和数据购买者提供了相互连接的空间。但数据有其特殊性,即没有唯一性,没有明确的权属约束;一旦看到,就有了所有权;数据复制是完全无差别的。因此,当数据所有者通过数据交易中心交易数据时,很有可能发生数据泄露问题。[1]
传统的数据交易模式主要有三种,分别为原始个人数据交易模式、数据产品交易模式、数据API接口交易模式。除此之外还有直接利用数据提供解决方案的模式。
原始个人数据交易模式指直接以个人为对象进行交易,一般是个人拥有具有较大价值的信息,比如游记、评论等。由于数据所有较为分散,在技术上和操作上难度较大。但是根据区块链的“众筹功能”获取能突破技术上的限制,迎来新的发展。
数据产品交易模式或称数据包交易模式,是比较常见的一种模式,数据产品是基于具有相同特征的数据经过分析、处理而得到的新型产品,它能为用户决策提供帮助。如电子商务数据产品能够帮助企业了解用户行为与商品信息,便于企 业进行产品革新和服务升级。
数据交易中心通过API接口链接数据所有者。数据交易平台为购买者提供 API接口,使得用户可以通过对相关数据库的调用获取其所需要的特定数据。数据所有者无需将数据托管到数据交易中,预先设置中心,数据由数据管理所有者自己。数据购买者何时需要购买数据,通过实时数据交易中心的API接口获取。 拥有数据响应信息并将其返回给数据由数据交易中心购买。[2]
数据交易中心作为可信任的第三方,表现出不愿意也没有动力保留数据。 但是不能保留数据和不愿意保留数据是两个概念。 无法保留数据是想做却没有能力做,这不是威胁。不愿意保留数据就是能做而不做,这是一个潜在的威胁。 这种潜在的威胁是由于数据交易中心的集中化。中心化平台容易出现单点失效,缺乏透明度,权力结构层级分明等问题,容易滋生腐败。 此外,集中式平台还依赖于可信的第三方支付,这使得其不可靠,不可信。
研究目的及意义
利用区块链可以实现去中心化,改善传统的数据交易模式。 区块链技术基于分散式的分布式分类账,具有不可更改性和不可篡改性的特点。本文利用区块链,智能合约和IPFS文件系统来设计解决方案,证明数据交易中心在数据交易过程中无法保留交易数据。解决方案的主要重点是消除可信第三方的需求,克服数据交易过程中参与者之间的信任问题。[3]
本平台要实现的目标是:利用以太坊的智能合约开发一个去中心化的数据交易平台,此平台不需要第三方的参与,数据拥有者可以将自己拥有数据的基本信息发布到平台上,有数据购买需求的购买者可以在平台上浏览信息,如遇到自己需要的信息可以发送购买请求并进行付款。数据拥有者将自己的数据文件上传到IPFS上并进行加密,生成一个独特的令牌,由平台发送给数据购买者。数据购买者可以用此令牌进行数据下载,审核数据是否属实后完成交易。
所有交易过程都会在区块链上存储,公开透明且不可篡改,交易对象的基本信息也会进行存储,但具体内容不会。保证交易平台在根本上没有可能保存交易的数据文件。并且在交易途中可以进行及时撤回,保证资金的安全性。
这样一个系统可以在一定程度上弥补现有交易平台和交易模式的不足,从根本上降低在交易中心泄露数据的可能,提高数据交易的效率和成本,进而使得数据持有者和数据购买者都更愿意进行数据交易,打破数据壁垒,促进数据流通,有助于大数据产业的发展。[4]
国内外研究现状
国内外数据交易平台概述[5]
- 贵阳大数据交易所
贵阳大数据交易所(Global Big Data Exchange,简称GBDEx)在贵州省政府、贵阳市政府的支持下,于2014年12月31日成立,2015年4月14日正式挂牌运营,是我国乃至全球第一家大数据交易所。
贵阳大数据交易所交易模式是会员制,只有加入会员才可以进行数据交易,其对象主要是企业,涉及政府、教育、法律、医疗等多个领域,数据交易模式为数据包和API。其官网介绍在确权编码和交易信息有使用区块链进行辅助。[6]
- 上海大数据交易中心
上海数据交易中心有限公司,是上海市政府牵头成立的国有控股混合制公司,由上海信息投资股份有限公司、中国联通、中国电子信息产业集团等公司联合发起成立,是少有的具有国有企业性质的数据交易中心,承担着促进商业数据流通、政府数据商业化、数据的跨区域流通等职责。