NET:趣说安全多方计算:如何用密码学玩转暗军棋游戏?_Vitalick Neuterin

提起军棋游戏,相信不少人儿时都玩过。

军棋游戏的玩法有三种:第一种是明棋,双方棋子都朝上摆放进行游戏;第二种是翻棋,棋子朝下摆放,双方依次翻开进行游戏;第三种,就是今天我们要特别说的:暗棋。

暗军棋除了对决双方外,还需要增加一个裁判,其游戏规则是:双方把本方棋子明面朝向自己进行摆放,仅自己和裁判可见,当双方棋子对碰时,由裁判按棋子大小进行判定并告诉双方结果。

棋子大小规则

由于暗军棋中,双方都不知道对方对碰的棋子,只能根据自己的棋子进行有限判断,极大增加了游戏博弈的复杂度和趣味性,因而深受很多玩家喜爱。

不过,在日常玩暗军棋时也会遇到一些问题。比如:李雷和韩梅梅,孤男寡女共处一室,没有第三方裁判或者不想让第三方裁判参与的时候,两个人还能玩暗军棋游戏吗?

慢雾:过去一周加密领域因安全事件累计损失3060万美元:7月24日消息,据慢雾统计,上周加密领域因遭遇攻击累计损失3060万美元,攻击者利用了不同的攻击向量。这些事件包括Alphapo热钱包被盗(损失2300万美元)、Conic Finance遭闪电贷攻击(损失30万美元)以及重入攻击(损失320万美元)、GMETA发生RugPull(损失360万美元)、BNO遭闪电贷攻击(损失50万美元)等。[2023/7/24 15:55:56]

当然可以!这时候密码算法的作用就凸显出来了。

简单起见,我们先不考虑特殊棋子,对其他棋子按顺序进行编号:司令=9、军长=8、师长=7、旅长=6、团长=5、连长=4、排长=3、工兵=2。

李雷和韩梅梅对碰的棋子分别为x和y,根据比较表的规则写一个比较函数f(x,y),规定:f(x,y)等于1时李雷胜,f(x,y)等于0时同尽,f(x,y)等于-1时韩梅梅胜。

慢雾:Platypus再次遭遇攻击,套利者获取约5万美元收益:7月12日消息,SlowMist发推称,稳定币项目Platypus似乎再次收到攻击。由于在通过CoverageRatio进行代币交换时没有考虑两个池之间的价格差异,导致用户可以通过存入USDC然后提取更多USDT来套利,套利者通过这种方式套利了大约50,000美元USDC。[2023/7/12 10:50:27]

当李雷出师长与韩梅梅的团长对碰时,7>5,f(x,y)=1,李雷获胜。

那么,在没有第三方裁判的情况下,对碰双方又不知道对方棋子,该如何进行比较判断呢?

回答这个问题前,要先了解一下姚氏百万富翁问题。

原理:姚氏百万富翁问题

慢雾:区块链因黑客攻击损失总金额已超300亿美元:金色财经报道,据慢雾统计数据显示,自2012年1月以来,区块链黑客造成的损失总金额约为30,011,604,576.24美元;黑客事件总数达到1101起。

其中Exchange、ETH Ecosystem、Bridge是在黑客攻击中损失最大的类别,损失金额分别为10,953,323,803.39美元、3,123,297,416.28美元,2,005,030,543.30美元。另外合约漏洞、Rug Pull、闪电贷攻击是最常见的攻击方式,分别发生黑客事件137起,106起,87起。[2023/7/7 22:24:09]

姚氏百万富翁问题由华裔计算机科学家、图灵奖获得者姚启智教授首先提出。该问题表述为:两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方和第三方知道自己的财富数额,该如何实现?姚教授设计一种巧妙的算法,Alice的财富为a,Bob的财富为b,Alice有一个公钥Ea和私钥Da。双方按以下步骤执行:

慢雾:过去一周Web3生态因安全事件损失约2400万美元:6月19日消息,据慢雾发推称,过去一周Web3生态系统因安全事件损失约2400万美元,包括Atlantis Loans、Ben Armstrong、TrustTheTrident、FPG、Sturdy、Pawnfi、Move VM、Hashflow、DEP/USDT与LEV/USDC、Midas Capital,总计23,795,800美元。[2023/6/19 21:46:18]

1)Alice将公钥Ea给Bob;

2)Bob选取一个大整数x,并用Alice给的公钥Ea进行加密得到密文K,然后将c=K-b发给Alice;

3)Alice拿到密文c,用自己的私钥Da对cm,cm1……cn进行解密得到n-m1个数字;

再选取一个适当大小的素数p,把这n-m1个数字对p进行mod运算得到dm,dm1……dn;

对于dm,dm1……dn前a个数不动,后面的数每个加1。然后将处理所得数字发给Bob;

4)Bob拿到这串数字并检查第b个数字db,如果db==xmodp,证明这个数字没有被加1,所以a>=b,反之,则证明a<b。

因为交互的数据都是处理过的,所以双方在这个进行计算的过程中都没有泄露自己信息,并且得到了想要的判断比较结果。这就是安全多方计算中的两方计算。

下图为演示代码输出结果:

回过头看暗军棋的对碰比较,和百万富翁问题本质是一样的,按照计算协议双方输入对碰棋子对应的数值即可。当然为了防止作弊,双方需要各自进行一次计算得到一致结果。各自把每一次对碰自己的棋子和结果记录,结束后按照步骤重现进行检查。

安全多方计算还可以取代狼人杀、暗兽棋等游戏的裁判,其原理都是MPC两方比大小或其扩展。

扩展:安全多方计算实际应用

MPC除可以解决各类暗游戏问题外,还可以在更多不依赖第三方来进行任何博弈的场景中应用。比如以下几种:

1、医疗数据协同计算

当前,医疗数据大都掌握在各个互不相通医疗机构手中,形成一个个数据孤岛,无法充分发挥价值。同时,由于医疗数据涉及大量个人敏感信息,要协同利用这些数据必须要解决隐私保护问题。通过MPC,可以在保证个人隐私数据安全的前提下,打通数据孤岛,实现医疗数据价值的最大化。

2、联合征信

银行或保险业,往往需要联合多家征信机构进行个人信用评分计算,而各征信机构通常不希望自己的核心数据被「拿走」。通过MPC可以在不归集各方数据的情况下,进行联合信用评估计算。

3、投票/拍卖

使用MPC进行投票/拍卖,既可保证用户隐私,又能有效避免跟投、恶意提价等作弊行为。

对于安全多方计算这项「黑科技」,你觉得还有哪些用途?欢迎留言和我们交流。

本文来源于非小号媒体平台:

矩阵元

现已在非小号资讯平台发布1篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/3627069.html

游戏链游

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

安全公司警告:新型恶意软件「WebCobra」劫持用户设备,挖掘门罗币及大零币

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-2:355ms