头号玩家的影评。昨天看了《头号玩家》。前一段时间没休息好,看的时候有点头痛,所以没能入戏,也可能这种电影本身代入感不强。看的时候感觉很精彩,眼睛用不过来,但结束后仔细琢磨一下,感觉许多地方逻辑不通,经不起推敲,硬...

昨天看了《头号玩家》。前一段时间没休息好,看的时候有点头痛,所以没能入戏,也可能这种电影本身代入感不强。看的时候感觉很精彩,眼睛用不过来,但结束后仔细琢磨一下,感觉许多地方逻辑不通,经不起推敲,硬伤不少。不过主要原因也是原著本身问题,也算不得硬科幻,所以也不用太纠结这个。

不过其中有一个问题,我倒想探讨一下。『绿洲』的创造者哈利迪死后,『绿洲』公司的人都干嘛去了?既然绿洲是个 MMORPG 游戏,无论是用任何技术实现,都是一个服务器端的软件系统。既然是软件系统,实际上权限最高的是开发者和运维人员,他们有修改这个系统的终极权限。也就是说,如果 IOI 公司真那么牛逼,第一时间应该是去搞定『绿洲』的开发运维人员啊,给自己开个后门,加个外挂啥的,再或者直接看源代码找到『关卡』的答案。但这些信息电影中都没有提到。也就是说,实际上有两个问题需要解答:

  1. 哈利迪如何保证自己死后,『绿洲』的开发和运维人员不会和外部人联合作弊,破坏游戏程序中设定的规则?那可是几万亿的利益诱惑。 2. 哈利迪如何保证游戏的获胜者最后肯定能拿到『绿洲』的控制权呢?靠遗嘱和法律?IOI 都能随意横行的世界,这两个还能生效吗?

这时候,我想到了区块链。也就是说,只有『绿洲』是通过区块链的方式运行的,分离了开发者和运维者(矿工),才能保证规则一旦设立,就不可篡改。哈利迪宣布这个遗嘱后,相当于冻结了代码变更。这时候如果有人想变更代码,会受到整个社区的抵制,变更无法部署。如果有矿工想作弊,那除非能联合超过一半的矿工一起变更,并且如果真这样,也造成游戏世界的分裂(分叉),『好矿工』可以号召玩家去放弃作弊的游戏世界。

另外一个问题,如何在源码公开的情况下(即便是不公开,也可以收买开发者),保证关卡的解法不被泄露?这个可以参考区块链的挖矿机制。区块链的挖矿机制就是解一个哈希(hash)谜题(可以理解成每个区块一个关卡),大家可以很容易造出来符合要求的哈希结果,但如果要倒推哈希结果的原始信息,是不可能的,所以只能大家只能随机掷骰子,然后再计算结果,直到找到结果符合要求的。

比如电影中的第二个关卡,实际上是触发了和游戏中的 NPC(基拉) 的对话。程序可以写成:

if(hash(对话) == hash结果){ return win }

而 hash 结果哈利迪自己是能算出来的,所以可以直接写到代码里,但别人是算不出对话的内容是什么的,所以只能根据线索去猜测。

但第一个关卡貌似是故意留的一个后门,只是别人没发现。第三个关卡,和第二个类似,可以把里面的游戏和游戏结果作为哈希的参数,游戏成功和失败的,都不匹配,只有玩出彩蛋结果的才匹配。

那再看看第二个问题如何解决。当然,如果这个游戏真是区块链游戏的话,实际上不应该存在控制权的说法,也就是说不可能存在像哈利迪那样的在系统中像神一样存在的人。比特币现在市值7千多亿,假如中本聪本人出现,也不可能订个遗嘱,说如何就能获取到比特币的控制权。那按照我的假设,应该转让的是代码管理权,可以决定哪些变更可以接受到主仓库中。当然变更最后能否实际部署,是需要矿工同意的。

那既然修改权的价值没有那么大,为什么 IOI 公司拼命想要?按照我的推理,IOI 作为『绿洲』游戏的外设生产商,相当于比特币的矿机生产商。现在矿机生产商想同时取得比特币的源码管理权?那社区成员肯定要和矿机生产商斗争到底啊。

好吧,就扯到这里吧。算是帮《头号玩家》圆了一个大 bug 吧,虽然有点牵强。顺便也普及下区块链 :)。