1.一种基于区块链的防作弊方法,其特征在于,所述方法包括:S1、第一服务器对客户端的后台进程进行扫描,若未扫描出作弊进程,则将该客户端加入白名单表;
S2、第一服务器读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次,然后按照采集频次采集各客户端的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务携带有获取频次;第二服务器实时接收白名单表中客户端所产生的游戏事件数据,将其以第二任务的形式实时发布至区块链;
S3、区块链创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;
S4、节点从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次,节点对获取到的第一任务进行预处理后生成学习倾向标识,通过强化学习模型对携带有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时间戳的作弊判定结果,节点将作弊判定结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖励区块,然后进入S5;或,节点从区块链中随机获取第二任务,并在处理完成后生成带有时间戳的游戏事件结果,节点将游戏事件结果发送至第二服务器,并同步上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第二奖励区块,然后进入S7;
S5、区块链根据作弊判定结果对信用分数 进行更新,并将更新后的 发送至第一服务器中;
S6、若 第一服务器向对应的客户端发送警告消息;若 第一服务器将对应的客户端进行暂时封停;若 第一服务器将对应的客户端进行永久封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值;
S7、第二服务器根据游戏事件结果生成相应地命令发送至对应客户端,以使客户端对游戏事件结果进行展示。
2.根据权利要求1所述的方法,其特征在于,所述信用分数的计算公式为:其中,λ为更新后
的信用分数,C9、…、C5、…、C1分别表示更新前1个、…、更新前5个、…、更新前9个信用分数,α、β、χ、δ分别为第一权重、第二权重、第三权重、第四权重。
3.根据权利要求1所述的方法,其特征在于,所述采集频次的计算公式为:其中,fj表示采
集频次,C8、…、C4、…、C1分别表示当前、…、前4个、…、前7个信用分数,表示采集频次、A、B、C、D分别表示第一参数、第二参数、第三参数、第四参数,J表示采集频次修正因子,L表示平均在线时长,[X]表示对X进行取整。
4.根据权利要求1所述的方法,其特征在于,所述获取频次的更新公式为:其中,fk'为更新后的获取频次,fk为更新前的获取频次, 为节点十次采集的平均节点权重,ω1为当前的节点权重,P为校正因子,Q为偏移量,K表示获取频次修正因子,[X]表示对X进行取整。
5.根据权利要求1所述的方法,其特征在于,强化学习模型的构建方法具体包括:基于游戏图像训练集建立训练函数模型: 其中,[T]为*
采样步数,t∈[T]时的策略为π(t),c(xt,at)为每步采样的代价,假设存在最优策略π,为在最优策略π*下每步采样的代价;
定义训练函数模型的V函数: 以及定义
训练函数模型的Q函为:Qπ(x,a)=c(x,a)-λπ+E[Vπ(x′)|x,a];其中,E为迭代次数,将训练函数模型拆分为以下三个子模型,表示为: 其中,不断对三个子模型进行训练学习,直至 小于预设阈值,得到基于游戏图像数据的强化学习模型。
6.根据权利要求1所述的方法,其特征在于,所述区块链约束规则包括:每个节点每次只处理一个任务;
当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;
当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;
第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用 进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:第一服务器对客户端的后台进程进行扫描,若扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入游戏。
8.根据权利要求1所述的方法,其特征在于,所述第一任务包括指定时长内的举报数据、玩家交流数据、游戏图像数据、外设操作数据和操作映射关系。
9.根据权利要求8所述的方法,其特征在于,所述节点对获取到的直播数据进行预处理,具体包括:S201、若第一任务中携带有举报数据,则进行作弊预标记,否则,进入S202;
S202、判断玩家交流数据中是否存在与作弊词库匹配的内容,若是,则进行作弊预标记,否则,进入S203;
S203、判断外设操作数据中的外设操作频率是否超出预设范围,若超出则进行作弊预标记,若未超出,则进入步骤S304;
S204、从外设操作数据中随机挑选3次玩家行为操作,并将其与操作映射关系进行比对,若出现比对失败,则进行作弊预标记,否则不进行标记;
S205、若第一任务中存在作弊预标记,则生成作弊学习倾向标识;若第一任务不存在作弊预标记,则生成非作弊学习倾向标识。
10.一种基于区块链的防作弊系统,其特征在于,包括:服务器集群,服务器集群至少包括第一服务器和第二服务器;
所述第一服务器包括:
扫描单元,用于对客户端的后台进程进行扫描,在当未扫描出作弊进程,将该客户端加入白名单表,当扫描出作弊进程,则将该客户端加入黑名单表,禁止该客户端进入游戏;
读取单元,用于读取区块链上记录的客户端历史数据,并在识别客户端历史数据上的信用分数和平均在线时长后,生成对应的采集频次;
采集单元,用于按照采集频次采集各客户端的游戏过程数据,将游戏过程数据以第一任务的形式实时发布至区块链中,所述第一任务携带有获取频次;
判断单元,用与接收区块链更新的信用分数 以及在 向对应的客户端发送警告消息;在 将对应的客户端进行暂时封停;在 将对应的客户端进行永久封停;其中,Σ1为第一阈值,Σ2为第二阈值,Σ3为第三阈值;
所述第二服务器包括:
接收单元,用于实时接收白名单表中客户端所产生的游戏事件数据,将其以第二任务的形式实时发布至区块链;
处理单元,用于根据节点发送的游戏事件结果生成相应地命令,并发送至对应客户端,以使客户端对游戏事件结果进行展示;
多个节点,所述节点包括:
获取模块,用于从区块链的OPEN表中随机获取第一任务,同步更新该第一任务的获取频次;或者,用于从区块链中随机获取第二任务;
预处理模块,用于对对获取到的第一任务进行预处理后生成学习倾向标识;
处理模块,用于通过强化学习模型对携带有学习倾向标识的第一任务进行学习以生成强化学习结果,基于强化学习结果生成带有时间戳的作弊判定结果;或者,对第二任务进行处理,生成带有时间戳的游戏事件结果,并发送至第二服务器;
区块链交互模块,用于将作弊判定结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第一奖励区块;或者,用于将游戏事件结果上传至区块链并进行全节点广播,其他节点在收到广播后基于区块链约束规则进行处理,区块链基于区块链约束规则生成第二奖励区块;
区块链,所述区块链包括:
存储层,用于记录客户端数据、节点数据和服务器数据;
交互层,用于和节点、第一服务器和第二服务器进行数据交互;
处理层,用于创建OPEN表和CLOSE表,将新发布的第一任务存入OPEN表,将达到获取频次的第一任务存入CLOSE表;以及,用于根据作弊判定结果对信用分数 进行更新,并将更新后的 发送至第一服务器中;以及基于约束层进行第一奖励区块和第二奖励区块的生成、交易与记录。
约束层,用于建立区块链约束规则,具体包括:
每个节点每次只处理一个任务;
当前节点在处理任务过程中,若接收到其他的基于相同任务的任务结果时,立即停止对当前任务的处理;
当任务结果被区块链以区块形式记录时,区块链向带有最早的时间戳的节点投放奖励区块,该奖励区块可在节点之间进行交易,且交易记录写入区块链;
第一奖励区块和第二奖励区块的实际价值比按照指定周期进行更新,用 进行表示,其中,Λ表示价值比,M1表示该指定周期内平均每获得一个第一奖励区块所消耗的计算量,M2表示该指定周期内平均每获得一个第二奖励区块所消耗的计算量。