基于区块链的三人篮球数据库构建的研究
2020-08-10高士博姚辉波
高士博,刘 波,杜 禹,姚辉波
1 前言
三人篮球起源于20世纪60年代美国纽约州的一种街头篮球游戏。三人篮球运动是传统五人篮球运动的一种延伸,是集于休闲娱乐和竞技竞赛为一体的体育项目。作为一种全新的体育赛事。三人篮球自诞生至今,凭借其自身强大的吸引力在世界范围内迅速发展,赛事规模进一步扩大,赛事体系不断完善,国际篮协参与或直接举办的比赛有三人篮球世锦赛、世界三人篮球巡回赛等一些具有国际交流意义的重大赛事,2020年,国际奥委会正式把该项运动纳入奥运会,三人篮球在世界篮球的发展下国际舞台影响越来越高。由于三人篮球作为正式比赛起步较晚,各级篮球赛事繁杂,缺乏比赛的系统性和权威性,尤其是缺少赛事的技术统计,限制了三人篮球事业的进一步发展。因此要重视完善三人篮球赛事体系、赛事数据统计与分析,在大数据时代建立三人篮球赛事数据库,为有效提高赛事质量,扩大赛事影响力提供帮助。
2 区块链对三人篮球数据库的意义
区块链作为全新的数据管理模式,其核心功能在于分布式数据存储、点对点传输、共识机制等,其技术模式和主要工作是如何在一个去中心化的分布式系统中,实现数据的安全可靠存储与共享。 因此, 我们正在进入的大数据时代迫切需要区块链技术的植入和应用,以提升大数据平台的工作效率和安全系数,推动包括体育大数据在内的数据信息技术的革新和应用。篮球数据库包含最新篮球赛程、篮球联赛资料,篮球队及队员资料,还包括了篮球赛事赛果、联赛积分等数据资料。区别于传统五人篮球赛专业的数据管理平台,现在的三人篮球缺少专业的数据统计平台,三人篮球的各个组织,包括俱乐部、媒体、篮球爱好者,完全属于一个分布式的现状,而且通过中心化的组织来全面的统计现有的三对三篮球赛事数据不太现实。基于三人篮球赛事种类杂、关注度不高、分布较为分散的特点,正好可以发挥区块链架构下分布式记录、激励性强的优点。一方面可以较为全面的记录所需赛事数据,另一方面可以调动多种实体参与数据统计的积极性,提高三人篮球的关注度。而且,区块链防篡改的特点又能够保证三人篮球数据的可靠性。
3 基于区块链的三人篮球数据库构建的技术研究
3.1 三人篮球大数据的采集与存储方式
如图一所示,我们采用虚拟P2P区块链网络作为三人篮球大数据联盟平台的框架。将联盟中的一个实体i(体育媒体、篮球俱乐部、现场观众) 映射为区块链网络中的一个节点。每一个节点i都具有自己的一个信息账户,用于记录三对三篮球比赛的数据统计以及一些附加信息。每个节点除了可以共享区块链数据平台中的数据之外,还可以通过上传相关数据到区块链中来获得联盟提供的奖励积分,而积分又可以用于兑换区块链数据平台中的相关数据。随着数据的增多,我们将在这些节点中选取一个可靠节点将一定时间段内的数据打包到一个区块中,被选中的节点会因为它的打包数据工作而获得相应的奖励积分,继而随着时间的增长,我们又将不同时间的区块串联成一条链式结构,以这种链式结构来存储数据,可以保证网络数据的无法被篡改。首先,我们先对联盟区块链中的概念进行描述定义:
设(Pi,Si)为节点i的公钥/私钥对,H(·)为抗碰撞、不可逆哈希函数。节点i使用其公钥Pi的哈希编码H(Pi)作为其个人的标识地址。
图一 三人篮球区块链网络
数据记录: 节点i(篮球俱乐部、体育媒体、现场观众)上传一场有关比赛j数据我们称之为一条记录ri,j。在区块链上,ri,j主要由四部分构成,即ri,j={H(Pi),xi,j,Ci,j,σi}。H(Pi)表示比赛数据上传节点i的个人标识地址,xi,j表示比赛j的技术统计,包括得分、篮板、助攻、失误等等。Ci,j表示节点i通过上传比赛j的数据而获得的奖励积分,σi是节点i使用密钥加密的公开可验证的数字签名,用以证明数据上传节点身份的真实性,σi=signi(Si),signi(·)是节点i的签名函数。
节点根据现有协议(例如,在Ethereum中的Whisper)向整个篮球区块链网络上传一场比赛数据,从而创建一条数据记录。为了可靠并且有序地管理一定时间段内的数据记录,区块链将这些数据记录存储在一个块链中,每一个块记录一组数据记录。下面我们将介绍区块链的数据结构。
区块:如图二所示,时间t产生的区块Yt主要有五部分组成,即Yt={t,Rt,(Px,σx),H(Yt),?H(Yt-1)}。t是区块链中块Yt的时间戳,它记录了Yt生成的大致时间。Rt={r1,r2,···,rw}是t-1到t时间段内产生的数据记录集合,他以默克尔树的形式存放在区块中。(Px,σx)包含发布块的节点x的公钥和签名,σx=signSx(Rt)。H(Yt)和H(Yt-1)分别是t和t-1时刻的区块头,H(Yt)=H(t‖Rt‖(Px,σx)‖H(Yt-1))。
图二 三人篮球区块链数据结构
区块链:我们将Gt={Y1,Y2,···,Yt}定义为按时间顺序的连接成的链。Y1是Gt的第一个块,即创世区块。因为所有区块都被连接到一条链上,如果存在某恶意节点想要修改一个块中的某些数据记录,那么它必须修改后面的每个块。此外,每个节点都有整个区块链的所有数据记录。区块链可以作为分布式的三人篮球联盟的防篡改公共数据库。
3.2 三人篮球数据上链的实施手段
三人篮球区块链网络是一个公共、公开的数据库,同时也是一个点对点的协作网络。网络中的每一个实体都有一份完整的篮球数据备份,所有节点的数据内容必须完全一致。每个节点都可以向区块链中上传数据。然而,区块链是一个完全去中心化的组织,没有一个中心来指挥、协调,也没有一个固定的组织来打包数据上链,因此,要完成数据高可靠的上链,区块链就必须有一个共识机制,这个机制必须解决最基本也是最重要的问题:谁有权写入数据。
目前比特币中使用的共识机制称为工作量证明机制。区块链中的每个实体都对区块链贡献自己庞大的计算能力,由能够完成系统给出数学难题的节点获得出块权即创建一个新的区块并获得出块奖励。而在篮球区块链中,大多数节点没有足够的计算能力来解决难题,而且计算难题也会造成大量的资源浪费以及较长的数据上链时间。因此采用积分结合股权证明的出块方式是一个较好的解决方案。
在篮球区块链中,所有的网络实体(篮球俱乐部、体育媒体、现场观众)均可以参与竞争出块,出块者获得出块奖励积分,这也是产生新积分的方式。 接下来我们将介绍我们的出块机制:
(1)时间被划分成多个时刻,每个时刻产生一个区块记录该时刻内实体上传的数据记录。多个时间段构成一个时间段,同一时间段内的参与的潜在出块者相同。
(3)每个时刻内的出块者由所有的潜在出块实体投票产生,获得的选票比例最大者获得出块权。并获得出块奖励积分。
由上可知,积分获得要么通过出块奖励获得,要么是通过积极的上传比赛数据获得。因此,实体的表现越积极,所获得积分越高,那么他获得出块权的概率也就越大。因此,基于积分与股权证明的出块方式既能激励各方实体参与出块,也能激励用户更加积极地参与三人篮球数据上传。
4 结论
1.三人篮球各级篮球赛事繁杂,缺乏比赛的系统性和权威性,尤其是缺少赛事的技术统计,限制了三人篮球事业的进一步发展,完善三人篮球赛事数据统计与分析,在大数据时代建立三人篮球赛事数据库,可以有效提高赛事质量,扩大赛事影响力。
2.区块链架构下分布式记录、激励性强的优点。一方面可以较为全面的记录所需赛事数据,另一方面可以调动多种实体参与数据统计的积极性,提高三人篮球的关注度,同时,区块链防篡改的特点又能够保证三人篮球数据的可靠性。
3.通过积分奖励或者上传比赛数据获得激励。实体的表现越积极,所获得积分越高,获得出块权的概率也就越大。因此,基于积分与股权证明的出块方式既能激励各方实体参与出块,也能激励用户更加积极地参与三人篮球数据上传。