计算机软件论文栏目提供最新计算机软件论文格式、计算机软件硕士论文范文。详情咨询QQ:1847080343(论文辅导)

高并发区块链架构及其在数字彩票系统中的应用研究

日期:2021年01月11日 编辑:ad201107111759308692 作者:无忧论文网 点击次数:787
论文价格:150元/篇 论文编号:lw202101071255108808 论文字数:28255 所属栏目:计算机软件论文
论文地区:中国 论文语种:中文 论文用途:硕士毕业论文 Master Thesis

本文是一篇计算机软件论文研究,本文从区块链的研究背景出发,研究了如何构建一个区块链网络,主要包括存储的方式、怎样进行加密和达成一致的机制。介绍了目前基于 DAG 的高并发区块链架构,主要包括有向无环图、双层共识机制以及同构多链架构。本文设计研究了基于可延时验证的高并发区块链系统,提出了利用区块链网络中的超级节点和随机抽样节点验证来提高交易确认速度,并在普通节点的交易信息验证出错时,可延时提出全网共识,以保证区块链系统的安全性。基于可延时验证的区块链设计了一个数字彩票发行系统,主要包括分层架构、关键技术、需求和架构设计以及软件设计。


第1章 绪论


1.1研究背景及意义

近年来随着互联网信息技术的发展,价值的传递方式也在不断改变。价值的传递方式经历了从纸币到移动支付为主的电子货币。互联网的发展提高了信息的传输效率,在整个网络中点对点的传输高效且廉价。然而,对于信息传输可靠性的保护却存在很多问题,在网上复制和篡改一些信息的成本几乎为零。传统互联网无法保证点对点传递带有所有权信息的可靠性。互联网的发展虽然做到了让货币以数字的形式流通,但是都依赖第三方机构,会产生第三方的信任问题,同时也提高了交易成本。

区块链技术就是在这样的背景下诞生的。信息和价值是不可分割的,利用区块链技术在互联网中进行信息传输时,能够确保有价值的信息被可靠地传输。区块链技术的核心是建立了一个独立于第三方的可信网络。互联网具有信息传递功能,区块链技术能确保在信息传递中价值的可靠性。区块链技术通过特殊的数据结构和加密算法来保证数据的不可篡改,通过共识算法来达到去中心化的目的。

区块链技术具有去中心化和安全的特性,这使得它非常适用于涉及多方间安全的场景、需要获取真实性信息的企业以及基于分布式的市场商业新模型。在物联网中,随着新的分布式经济模型的普及,覆盖着数以亿计的机器,机器之间会涉及大量的交易情况,安全、分布式的交易模型就显得极其重要,区块链对于处理这种分布式交易情况高效且安全。区块链技术也适用于解决金融业的问题,金融业的核心之一是风险评估,获得的真实信息越多,风险就会越低。目前,跨境支付都是由第三方机构完成清算支付,这同时也将存在信息同步时差,并且成本将非常高。通过区块链技术应用的分布式数据库和一致性账本可以实现即时清算。区块链适用于各种各样的场景和行业,并不局限于各种代币,区块链在未来还将有更大的发展空间。

...........................


1.2国内外研究现状

2008 年,一位化名“中本聪”的学者发表了一篇题为《比特币:一种点对点电子现金系统》的论文[1],并在该论文基础上创建了比特币,从而产生了区块链技术。目前,区块链技术的发展经历了三个重要过程。区块链 1.0 是一种用来建立加密账户和进行数字支付的货币,它具有去中心化、数据不可篡改、不可伪造、可追溯等特点。区块链 1.0 的主要代表是比特币,它是目前最成功的区块链应用程序,它通过分布式和分散的数据库分散存储货币、金融交易、数据和信息,并通过分布式和分散的数据库存储信息。区块链 1.0 不需要可信的第三方,如银行或其他金融机构,来验证金融交易。区块链 2.0 在区块链 1.0 的基础上增加了智能合约,采用了不同的共识机制。智能合约是在满足某些条件时自动运行得到结果的函数方法。区块链 2.0 的主要代表是 ethereum,所有人可以在 ethereum 平台上开发其他区块链应用程序。在 ethereum 平台,每秒交易量相较于比特币有很大的提高。区块链发 3.0 的主要代表是 EOS,其目标是为各行各业提供去中心化的解决方案,包括通过区块链进行资历认证、数据存储、产权的确认等[2]。

区块链 1.0 到 3.0 都是对应用层或者共识层进行改进,目前也出现了很多对区块链底层的研究,其中被研究的最多的就是基于 DAG 的区块链架构。DAG 即有向无环图,在基于 DAG 的区块链中,没有区块的概念,通过所有的交易组成一个有向无环图。具体来说,在基于 DAG 的区块链中,要验证新的交易前,必须直接验证之前的两个交易,这也使得在这两个交易之前所有被验证过的交易得到间接验证。通过 DAG 的拓扑结构来存储区块,可以解决区块链的效率问题。区块链只有一条单链,打包出块无法并发执行。如果将区块的链式存储结构变成DAG 的网状拓扑,则可以并行写入。在区块打包时间不变的情况下,网络中可以并行打包 N 个区块,网络中的交易就可以容纳 N 倍[3]。

........................


第2章 相关技术的研究


2.1分布式存储传统的互联网采用的是集中式存储,把数据存储在一台足够大的服务器上。部署的方式简单,部署一个服务节点即可,维护起来也很方便。因为它将所有数据保存在同一台服务器上,所以对数据的操作就变得简单了,例如存取。随着互联网的发展,移动互联网的兴起,主机数据和计算量越来越大,用户的并发访问也越来越多,那么在单一的大型主机服务器上进行扩容是非常难的,还存在严重的单点故障问题。目前大型企业基本都会部署多台服务器,部署的成本也非常高。在节约成本方面,区块链的分布式存储有着巨大的优势[48]。

区块链由多个区块连接而成,一个完整的区块包括作为区块分隔符的神奇数,区块大小,区块头,交易列表以及交易数。具体如下表 2-1 所示:

表 2-1 区块链的区块

区块链的分布式存储是将数据分成很多块,每个块的数据都记录在区块链上,这样可以防止被修改,我们在区块链上读取数据时就是读取每一个块的数据,然后拼接成完整的数据。区块链分布式存储采用全网络节点共同参与数据的存储,每个节点都是对等的,没有中心机构的控制,每个节点都保存了完整的数据账本,整个区块链共用一个账本来保证数据的可靠性[13]。区块链存储是将数据同步到全网节点,所有节点都参与数据的维护,这样还可以降低数据维护的难度。

..........................


2.2加密算法

区块链底层的实现离不开加密算法,区块链的核心是去中心化和安全透明,所有相互不信任的节点都必须在加密算法下保证数据的不可修改性[32]。区块链用到的密码学算法有两大类算法:哈希算法和非对称加密算法。

2.2.1哈希算法

哈希算法是区块链中用的最多的一类算法,它主要用于构建区块链和确认交易的完整性[22]。哈希算法是一类数学函数算法,也被称为散列函数。哈希函数一般是输入任意的字符串,由确定的哈希函数产生固定的输出,并能在较快的有效时间内得到输出[11]。哈希算法在区块链中要达到密码学安全还要求具备三个条件,一是要有碰撞阻力,即保证不同的输入会产生不同的输出,二是要有不可逆性,在哈希函数 y=Has(x)中可以通过输入 x 得到输出 y,但无法通过输出 y 推出输入 x,三是对于算法中 y=Hash(x)在已知 y 的情况下只能通过暴力枚举的方式不断尝试得到 x。

区块链中常用的哈希函数是 SHA256。SHA256 是一种安全散列函数,对于任意长度的消息,SHA256 都会产生一个 256 位的 hash 值,将这个 hash 值作为消息摘要。SHA256 哈希计算前要进行两个步骤[27]:

1. 对消息进行补位处理,保证最终的长度为 512 位的倍数

2. 以 512 位为单位对消息进行分块为 M(1),M(2),….M(N)

SHA256 的压缩函数对 512 位的消息区块和 256 位的中间哈希值进行操作,本质上,它是一个通过将消息区块作为密钥对中间哈希值进行加密的 256 位加密算法。

图 2-1 椭圆曲线加法

.........................


第 3 章 高并发区块链架构............................... 14

3.1从区块链 1.0 到区块链 3.0...................... 14

3.2区块链的发展难点和解决方案 ...................... 14

3.3基于 DAG 高并发区块链原理................................ 15

第 4 章 基于高并发区块链的数字彩票发行系统的实现.............................. 25

4.1引言....................... 25

4.2系统的分层........................... 26

4.3系统的需求................ 27

第 5 章 总结与展望 ............................... 42

5.1总结.................... 42

5.2展望...................... 42


第4章 基于高并发区块链的数字彩票发行系统的实现


4.1引言

随着彩票事业的大力发展,彩票的种类也越来越多,比较流行的就是数字型彩票,给定一组数字,一般是在其中选取六个数字,开奖后选中的数字越多奖金越多。

数字型彩票在整个发展过程中,存在一些无法解决的难题,最主要的就是彩票中心不可信任的问题。彩票中心控制着抽出中奖号码的摇奖机器,摇奖器真正的运行过程是不可知的,所有得到的结果是否可以人为控制也是未知的;还有一些数据,比如彩民购买彩票的具体时间、购买金额的多少等情况也只有彩票中心自己知道;最后中奖者的身份也是保密的。存在如此多的彩票中心人为可控的因素,购买彩票的用户多少也会对这种购买模式产生怀疑,长此以往购买彩票的用户也会越来越少。

为了扩大彩票市场,彩票中心又引入了互联网彩票发行模式,这种代购模式引发了更多的问题。由于买彩票的金额会达到千万级别,而中奖金额只有百万级别,中奖的几率非常小,互联网彩票站点会想方设法将这些彩票私吞,这就是“吃票”。而与此同时,这些