宇宙链 宇宙链
Ctrl+D收藏宇宙链

如何用 zkSNARK 做一款链上德扑游戏?

作者:

时间:1900/1/1 0:00:00

作者:曼达洛人,MantaNetworkProtocol

在过去一年多时间里,越来越多人意识到ZK这种密码学工具的强大,我们也看到很多零知识证明应用的兴起,比如隐私社交、隐私投票、隐私DAO等等。实际上,零知识证明的应用非常广阔,有链上隐私需求的应用都可能会用到零知识证明。

在刚刚结束的ETHSanFrancisco2022期间的ETHGlobal黑客松活动中,MantaNetwork密码学开发团队的小伙伴们就在短短36个小时的时间里做出了一款基于zkSNARK的德扑游戏,并在ApeCoin、ENS、SKALE、Optimism主办的四个竞赛单元拿到奖项。

很多人所熟知的DarkForest就是基于zkSNARK的一款实时策略游戏。非完全信息游戏即玩家不掌握全部状态的游戏,比如在扑克中,玩家手中的牌是私密信息,摸牌的过程也是完全隐私的。非完全信息的有趣之处就在于可以催生一系列复杂的游戏策略。

“华尔街之狼”:正研究如何“大规模”进入加密市场:美国亿万富翁、“华尔街之狼”Carl Icahn表示,正在研究如何“大规模”进入加密市场。 (金十)[2021/5/27 22:48:08]

在公共区块链上,由于链上数据的公开透明,很难构建非完全信息游戏。但是,通过零知识证明技术,玩家可以保持在保持隐私状态的同时,公开提交可验证的有效动作。

在此次的黑客松活动中,MantaNetwork基于zkSNARK构建了一款链上德扑洗牌和发牌系统。这套系统主要解决了链上德扑游戏中存在的两个问题:如何公平地进行洗牌以及如何隐蔽地在玩家间发牌。

本质上,基于零知识证明的链上德扑,让发牌主体去中心化,庄家无法通过控制发牌来控制牌局。

DFI.Money(YFII)发起关于如何分配Balancer奖励提案:9月3日,聚合器项目DFI.Money(YFII)收到首批Balancer(BAL)奖励,共计BAL 679.83个,价值21,814美元。该奖励来源于YFII/DAI矿池,后续每周都将收到。关于奖励如何分配,社区发起提案进行投票:放进循环挖矿池;换成yCRV给投票人激励参与投票;注入社区基金。[2020/9/8]

在Web2中心化客户端里玩德扑,会遇到这样的情况,可能性极小的牌,刚好就发给你了。大概率能得到的牌,却出不来。

目的就是借发牌操纵牌局,让你的对手,在线下赢牌概率极低的情况下,在线上恰好赢你。

这就是为什么我们需要去中心化德扑。

直播 |“后浪”仙女力场-大丹如何乘风破浪:金色财经 · 直播主办的《 币圈 “后浪” 仙女直播周》第7期20:00 力场|大丹将在直播间聊聊“币圈‘后浪’仙女如何乘风破浪”,感兴趣的朋友扫码移步收听![2020/7/6]

ZKShuffle系统有三个功能:

ZKShuffle.setup:每位玩家都生成一个密钥对,并将每个人对应的公钥放在一起生成一副聚合公钥。

ZKShuffle.shuffle_encrypt:在进行洗牌时,每位玩家都需要依次调用shuffle_encrypt。

为了保证加密和解密可以任意顺序进行,这里我们用到的是同态加密方案。比如说,本局游戏中有三位玩家,在经过一轮加密后,每张牌都会有三个加密锁:Card{Alice,Bob,Charlie}。

动态 | V神阐述如何进行ETH委托挖矿:V神回复网友提问“1.可以通过合约合租一个validator(平民化参与,共享投票身份)吗?2.一个客户端可以跑多个valifator (共享机器)吗?”表示,“你开一个validator,需要设置两个公钥:签名的公钥和取款的公钥。Phase 2后,不一定需要设置取款公钥,也可以设置取款合约。签名的私钥能withdraw,withdraw完成后validator里面的资金都给取款合约的地址。所以你开新的validator到时候,可以先发比如1以太币,设置取款合约,这个合约的规则是,谁deposit多少谁按照比例withdraw多少。一段时间后,你发withdraw的交易。现在因为奖励这个validator的balance是33.6以太币(加 5%),33.6以太币给合约,合约的规则分配1.05给你,8.4, 10.5和13.65 给其他的参与者。签名的私钥是你的,谁能withdraw多少的规则是合约定的。别人能看一个还未activated的validator的withdraw合约的规则,如果他们觉得是合理的,则他们能发他们的币给这个validator,这个是委托的方法。”[2019/10/22]

ZKShuffle.decrypt:如果想要向一位指定玩家发牌,每个玩家都需要调用解密功能。比如说,如果游戏的逻辑是要将牌发给Charlie,正确的顺序应该是:Alice拿到加密牌Card{Alice,Bob,Charlie},用她的密钥进行解密,然后将解密后的牌Card{Bob,Charlie}在链上进行提交,同时提交一个零知识证明来验证解密的有效性。

动态 | Coinbase试验如何让用户更好地控制个人信息:据coindesk消息,Coinbase正在试验如何让用户更好地控制他们的个人信息。Coinbase身份团队的产品经理B Byrne表示:“正在创建依赖于Coinbase产品(如其移动钱包)与dapp资源管理器之间的桥梁。我正在观察dapps,哪些客户正在使用哪些dapps。这可能是一个很好的指标,表明我们的客户希望在链上开展哪些类型的活动。”[2018/12/6]

Bob在链上拿到Alice提交的这张部分解密的牌Card{Bob,Charlie}后,再用自己的密钥进行解密,并在链上提交这张牌Card{Charlie}以及验证解密有效性的零知识证明。最后Charlie就拿到了Card{Charlie},只用他自己的密钥解密就可以查看他的牌了。

MantaNetwork密码学开发团队用ZKShuffle构建了一套德州扑克demo,这是一个基于Solidity,React和Ether.js的去中心化应用。在这个demo中,每当一轮新的游戏开始,所有的玩家都要进行一轮设置,以保证在链上的这幅扑克牌是公平洗过的。然后,每位玩家都需要进行一轮解密后拿到两张牌。这些,玩家就可以在一条EVM区块链上玩德州扑克啦。

Manta目前已将这个DApp部署在了OptimismGoerli,EthereumGoerli和Skale区块链上。

实现原理

整个项目由3部分组成:

ZK电路;

用于验证解密和洗牌的智能合约,包括ZKShuffle合约和游戏逻辑合约DApp前端,使用React和ether.js以及CircomlibJS库构建的Demo;

CircomlibcryptographicJS库。

在Circom的实现中,采用ElGamal加密方案,并使用现有的Circom库,如poseidonhashes。

加密电路有87308个R1CS约束,在DApp中的证明生成时间为4.5秒。解密电路有1522个R1CS约束,在DApp中的证明生成时间为0.1秒。使用SnarkJs来生成DApp中的零知识证明。

智能合约由两部分组成:ZKShuffle框架合约和德扑游戏逻辑合约。ZKShuffle合约简易封装了ZKP验证逻辑和两个电路。逻辑合约部署了一个状态机,从RPC节点获得游戏当前阶段和轮到哪个玩家的次序。

DApp使用React框架和Ether.js实现,展示德扑桌面以及每位玩家的动作动画。当需要玩家做出动作时,这个玩家只需点击UI中的按钮,使用metamask进行交易签名即可。

观看Demo

关于MantaNetwork

MantaNetwork致力于通过隐私保护构建一个更好的Web3世界。Manta的产品设计从第一性原理出发,通过zkSNARK等领先的密码学架构为区块链用户提供端对端的隐私保护。在保障隐私的同时,Manta兼具互操作性、便捷性、高性能以及可审计性,允许用户进行任意平行链资产间的隐私转账和交易。Manta的愿景是为整个区块链世界提供更便捷的隐私保护服务。

Manta的创始团队由多位加密货币资深人士,教授和学者组成,他们的经验包括哈佛大学,麻省理工学院和Algorand。Manta的投资机构包括Polychain、ParaFi、BinanceLabs、Multicoin、CoinFund、Alameda、DeFiance以及Hypersphere等。Manta也是波卡官方Web3基金会资助获得者,SubstrateBuilderProgram成员,伯克利大学区块链加速器成员。

标签:ANTAMANANTZKSLegends of Fantasy WarHumaniqVARIANTSzksvm币币情

狗狗币价格热门资讯
DAOrayaki:账户抽象如何确保以太坊大规模采用

作者:FiftyFinney原文标题:《AccountAbstraction—ApivotalstepinensuringEthereum’sadoption.》账户抽象是今年被反复关注的话题.

1900/1/1 0:00:00
福布斯杂志公布 SBF 拟陈述证词全文

来源:福布斯杂志 编译:Babywhale,ForesightNews在北京时间昨日晚间进行的FTX破产听证会之前,《福布斯》杂志公布了其获取到的SamBankman-Fried计划在听证会上陈述的证词草稿.

1900/1/1 0:00:00
CoinList 推出新功能 Wallet Link,本周将与 Nomad 合作向受攻击影响用户返还资金

CoinList宣布推出新功能WalletLink,支持用户将其链上身份与CoinList的验证身份相连接.

1900/1/1 0:00:00
晚报 | SBF 在巴哈马被捕或将被引渡回美国并面临多项指控;孙宇晨从币安提取 5000 万美元稳定币

整理:饼干,链捕手 “过去24小时都发生了哪些重要事件”?1、SBF在巴哈马被捕,或将被引渡回美国并且面临多项指控在美国执法部门对SBF提出指控后,巴哈马当局逮捕了SBF.

1900/1/1 0:00:00
速览 Mask Network 生态系统首期捐赠项目

来源:DimensionTechMaskNetwork长期致力于Web3社交生态的建设和Web3公共品发展的支持。MaskGrant计划旨在资助入选项目并提升其在Web3或MaskNetwork生态中的价值.

1900/1/1 0:00:00
ByteTrade Lab:以 GMX 为例,详解链上永续合约协议的创新之道

原文来源:BytetradeLab,FrankHu与?KesterWu原文标题:《InnovationsofOn-ChainPerpetualProtocolsPart1》编译:倩雯,ChainCatcherFTX暴雷事件余波未止.

1900/1/1 0:00:00