V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
flyws
V2EX  ›  问与答

讨论:区块链对于 FPS 反外挂的潜在作用

  •  
  •   flyws · 2018-01-18 15:21:51 +08:00 · 5862 次点击
    这是一个创建于 2283 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大佬,小弟在研究了一天 BTC 官网以及相关文档之后,结合自己平时玩吃鸡的经历,思考了一个问题:

    既然 FPS 等网联游戏由于时效性要求本地记录数据再发包服务器,导致外挂猖獗,游戏体验下降,那区块链这种加密技术以及加密结构能不能用在数据包校验这一块呢?(猜想上传游戏服务器的也是记录伤害值、伤害部位等文本数据,压缩加密后应该不大)

    如果可行的话,请问大概的思路会是怎么样?还能不能满足去中心化的属性?

    如果不可行的话,能否请教下阁下觉得不可行的原因?

    谢谢。

    40 条回复    2018-01-19 16:50:05 +08:00
    xray887
        1
    xray887  
       2018-01-18 15:29:54 +08:00
    mark
    mokeyjay
        2
    mokeyjay  
       2018-01-18 15:34:05 +08:00
    FPS 之所以在本地记录游戏数据的根本原因不是因为数据包有多大,也不是没有合适的压缩加密技术。而是网络的物理延迟
    clino
        3
    clino  
       2018-01-18 15:34:19 +08:00
    你是说数据包如果校验好了就能防外挂吗? 怎么校验?
    4396NeverBeSlave
        4
    4396NeverBeSlave  
       2018-01-18 15:34:26 +08:00 via Android
    但是 fps 的自瞄,无后座之类的话是没办法的吧
    am241
        5
    am241  
       2018-01-18 15:34:30 +08:00 via Android
    传统技术就够用吧,只要够用心

    一个 tick 一个区块是不是对网络要求太高了?
    sujin190
        6
    sujin190  
       2018-01-18 15:39:35 +08:00
    首先区块链解决的的是经济金融问题的
    flyws
        7
    flyws  
    OP
       2018-01-18 15:42:13 +08:00
    @mokeyjay 感谢回复,我了解这一点,只是在想既然大家都是先存本地再上传,能不能把大家伙的本地数据用某种方式通过网络串起来,提高修改难度。
    @clino 谢谢回复,我并不是做游戏开发的,只是开个脑洞。。。我的想法是在游戏开场的时候形成第一个块,然后在随后的不断操作中加进去信息,因为要打死人总要发生玩家之间的交互,所以我猜想数据是可以比对的。

    再不济,如果游戏过程中因为网络延迟无法实时校验,那游戏结束后可不可以把校验发现的修改数据的混蛋给崩了-。-
    flyws
        8
    flyws  
    OP
       2018-01-18 15:43:19 +08:00
    @4396NeverBeSlave 目测是,感觉自瞄这种的,只能通过抓取鼠标动作行为数据去观测了吧?
    flyws
        9
    flyws  
    OP
       2018-01-18 15:44:06 +08:00
    @am241 对的,我觉得传统技术还是够的,只是开了个区块链的脑洞哈哈
    flyws
        10
    flyws  
    OP
       2018-01-18 15:46:00 +08:00
    @sujin190 感谢回复,我同意区块链是从金融中出来的,但是我仔细研读一些论文后,发现这种加密思路可以应用在其他一些需要反欺诈的领域,而反外挂感觉是个好场景
    xwhxbg
        11
    xwhxbg  
       2018-01-18 15:52:28 +08:00
    感觉要么网速扛不住,要么算力跟不上,一边玩吃鸡还一边生成区块,想想就刺激
    codermagefox
        12
    codermagefox  
       2018-01-18 15:53:26 +08:00
    您就别再折腾内存价格了好吗,已经够买不起了
    MonoLogueChi
        13
    MonoLogueChi  
       2018-01-18 15:57:13 +08:00 via Android   ❤️ 2
    但是区块链同步是需要时间的啊,fps 游戏延时都是毫秒级的,这种东西难道是要等区块链同步吗。如果要做的话,也是只能检查你有没有开挂,并不能防止开挂。以上仅仅是个人见解。
    flyws
        14
    flyws  
    OP
       2018-01-18 15:58:16 +08:00
    @codermagefox。。。。很有道理

    @xwhxbg 感觉显卡要爆炸啊
    gleymonkey
        15
    gleymonkey  
       2018-01-18 15:58:56 +08:00
    无非就是处罚力度不够造成的,发现作弊直接取消该身份证的所有网络权利与现实的功能。
    nazor
        16
    nazor  
       2018-01-18 16:00:14 +08:00 via iPhone
    ...FPS 游戏外挂多,是因为这类型游戏天生的缺陷,骨子里的问题,不是加密不加密的问题。
    m939594960
        17
    m939594960  
       2018-01-18 16:04:40 +08:00
    @gleymonkey 哈哈你想的太简单了,
    如果这样的话你就会发现 一堆人没上过挂 然后剥夺终身玩游戏的权利,因为他们的账号被盗了。
    然后一堆上挂的人还会去买账号上挂,买的是谁的号呢? 就是那群没上过挂但是号被盗的人。
    那群号被盗的怎么办呢? 当然去买其他被盗号人的号。
    然后还发现一群山区的人们 也在玩吃鸡,是为啥呢?因为有人花 10 块从某种途径买了他们的身份信息。
    到时候大家还得谢谢你 互惠互利 增长 GDP
    m939594960
        18
    m939594960  
       2018-01-18 16:08:14 +08:00   ❤️ 1
    这类游戏的血什么伤害就是服务器通讯的好吧?
    FPS 游戏最大的问题应该是透视 + 自瞄 这种只读内存不写内存的东西。 然后因为延迟的问题 必须把所有附近的人的行为、动作、位置记录在内存中,然后记录在内存中就会被读 然后就是透视 /自瞄了。
    其他的变态功能我觉得应该都是吃鸡这个游戏的问题。 什么缩小变大,既然走服务器 其他人能看见就能很容易的干掉这群人。
    codexu
        19
    codexu  
       2018-01-18 16:11:42 +08:00
    楼主你说的只是能够阻止 锁血、路飞这种暴力挂
    而这个传统手段也是能解决的。
    fps 游戏数据在本地最大的问题不是被修改,而是被读取,只要读取了,就会有自瞄
    真正需要解决的是本地数据加密,防止被读取
    gleymonkey
        20
    gleymonkey  
       2018-01-18 16:17:54 +08:00
    @m939594960 越是简单,够狠,其实越解决问题。厂商也也这么办的,板机器的,封账号的挺多的。
    flyws
        21
    flyws  
    OP
       2018-01-18 16:18:25 +08:00
    @m939594960
    @codexu
    感谢两位参与讨论,学习了,感觉目前区块链的计算资源以及速度会让它短时间内难以冲击传统反欺诈手段,即使理论上它能做得更好哈哈。
    we000
        22
    we000  
       2018-01-18 16:19:02 +08:00   ❤️ 3
    "我有一个锤子, 看啥都像钉子"
    m939594960
        23
    m939594960  
       2018-01-18 16:19:47 +08:00
    @gleymonkey 以我的经验,腾讯的游戏,ban 机器的基本都是实锤的工作室,普通的账号不会这样的, 你想象的太简单了,ban 机器网吧都得黄普。。
    VYSE
        24
    VYSE  
       2018-01-18 16:24:45 +08:00
    以后科技发达了搞个机器人代替人眼人手
    cugljd
        25
    cugljd  
       2018-01-18 16:29:42 +08:00 via iPhone
    @we000 😄
    Luckyray
        26
    Luckyray  
       2018-01-18 16:32:14 +08:00
    我觉得 22 楼说得对
    gleymonkey
        27
    gleymonkey  
       2018-01-18 16:40:43 +08:00
    @m939594960 参考主机圈,经历过 360 的都懂。反作弊一点都不难,就是看厂商态度。
    m939594960
        28
    m939594960  
       2018-01-18 16:58:09 +08:00
    @gleymonkey 在我的理解里反作弊是一件特别难的事。主机圈是啥有具体链接么?
    ryanz91
        29
    ryanz91  
       2018-01-18 17:07:22 +08:00
    不可行,外挂难以根治根本就不是数据包校验这一块的问题。fps 外挂多是因为 fps 对实时性要求太高了,很多数据都是客户端计算的。举个例子,客户端告诉服务器说我崩死了一个敌人,服务器就会当真,然后告诉被崩死的客户端,你死了,这跟数据包校验根本就没关系。
    skadi
        30
    skadi  
       2018-01-18 17:36:41 +08:00
    跟区块链完全风牛马不相及
    vibbow
        31
    vibbow  
       2018-01-18 17:38:51 +08:00
    "我发现在现在这个时候,就没有什么问题是“机器学习”解决不了的,如果有,那就用“区块链”解决。"

    from https://twitter.com/cherylnatsu/status/945831675132383232
    miaomiao888
        32
    miaomiao888  
       2018-01-18 20:01:18 +08:00
    我看只有云游戏才能根本解决外挂问题,大家都远程操作,看你还开什么挂!
    des
        33
    des  
       2018-01-18 20:22:45 +08:00 via Android
    @miaomiao888 图像识别敌人,然后一枪爆头
    bestkayle
        34
    bestkayle  
       2018-01-18 20:46:32 +08:00 via Android
    这样都没有实时性了,玩个鸟
    crysislinux
        35
    crysislinux  
       2018-01-18 20:57:27 +08:00 via Android
    好了,万物基于区块链的时代到了😂
    Gandum
        36
    Gandum  
       2018-01-18 23:16:38 +08:00
    显然你只知道区块链不能修改这一点,但不知道相对于传统方案,区块链完成一次同步速度是极慢的。

    以目前的 FPS 游戏方式,任何通信端的手段都不能制止 FPS 外挂,只有在客户端下功夫才行,最直接的方法就是用没有破解的主机,PC 端普遍的方案就是通过反外挂软件来监视。

    而且可以预期,除非发明超光速通信手段,否则 FPS 游戏方式以后也不会有本质改变,因为光速就只有那么快。
    limbo0
        37
    limbo0  
       2018-01-19 00:25:36 +08:00 via iPhone
    看过王者荣耀的反外挂,用帧同步技术,每个客户端都会计算,但是吃鸡地图太大。。。没办法这样搞,对客户端要求太高了
    johnnie502
        38
    johnnie502  
       2018-01-19 00:34:21 +08:00
    区块链不能修改,所以外挂改的数据,服务器端也必须认了,是不是这个道理
    dant
        39
    dant  
       2018-01-19 10:17:33 +08:00 via Android
    等一篇 Abusing Blockchain Considered Harmful
    zhjits
        40
    zhjits  
       2018-01-19 16:50:05 +08:00
    可以的,但是鉴于这是个 FPS 游戏,你需要把服务器和你都接到一个极低延迟的局域网里面,然后在服务器边上摆一千台矿机。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2929 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 02:55 · PVG 10:55 · LAX 19:55 · JFK 22:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.