值得信赖的区块链资讯!
零知识证明 – zkHack mini挑战赛第一名
Trapdoor Tech获得zkHack mini挑战赛第一名
https://www.zkhack.dev/mini.html
这次的挑战赛由两道题目组成。一道题目一个星期的挑战时间。和第一期的挑战不同,这一期的题目都是基于STARK算法。STARK算法,AIR,FRI低阶测试等等技术会在后续的文章仔细介绍。本文先总结一下这次挑战赛的两个题目的解题思路。
第一题:There's something in the AIR
https://www.zkhack.dev/puzzleM1.html
该题需要找到一种方法来骗过基于ZK-STARK和winterfell构建的投票系统。该题实现的电路逻辑如下图:
这个是典型的隐私保护的实现。通过Nullifier证明拥有私钥。
解题思路
如果用户Alice能对同一个主题(topic)完成2次有效投票,说明系统中存在一个漏洞使得:
-
证明者(prover)能产生 > 1 个的nullifier,并基于此构建证据(witness)
-
验证者(verifier)根据相应的公开输入和证据,无法分辨证明者伪造的nullifier
首先,构造nullifier是在make_signal函数中,并将其作为验证者的输入
//! - A nullifier is computed by hashing a private key together with a hash of the topic - i.e.:
//! hash(priv_key, hash(topic)) using the same Rp64_256 hash function.
let nullifier = priv_key.get_nullifier(topic);
/// Creates a nullifier for the provided topic against this private key.
///
/// A nullifier is computed simply as hash(key, topic).
pub fn get_nullifier(&self, topic: Digest) -> Digest {
let key: Digest = self.0.into();
Rescue::merge(&[key, topic])
}
但是证明者进行证据的计算过程中,使用12列的执行轨迹, 即State[12..23],来构成nullifier, 不只是私钥和主题。
// prover set the initial state
// -- nullifier section of the trace --
state[12] = Felt::new(8);
state[13] = Felt::ZERO;
state[14] = Felt::ZERO;
state[15] = Felt::ZERO;
state[16] = priv_key[0];
state[17] = priv_key[1];
state[18] = priv_key[2];
state[19] = priv_key[3];
state[20] = topic[0];
state[21] = topic[1];
state[22] = topic[2];
state[23] = topic[3];
一个合法的nullifier应包括以下3个部分
[12 13 14 15] [ 16 17 18 19 ] [ 20 21 22 23 ]
nullifier = [8 0, 0, 0, --- 私钥Priv_key----------, -----主题Topic------- ] — 在执行到第 0 步时
然而,检查验证者的程序时,发现在evaluate_transition函数中没有设置对state[12-15]的验证, 类似的验证可以参考默克尔树验证的部分。
result.agg_constraint(1, hash_init_flag, are_equal(E::from(8u8), next[0]));
result.agg_constraint(2, hash_init_flag, is_zero(next[1]));
result.agg_constraint(3, hash_init_flag, is_zero(next[2]));
result.agg_constraint(4, hash_init_flag, is_zero(next[3]));
答案
可以为state[12-15]设置不同的值来伪造nullifier,例如[16, 0, 0, 0]。
pub fn get_fake_nullifier(&self, topic: Digest) -> Digest {
let key: Digest = self.0.into();
let mut state = [Felt::ZERO; 12];
state[4..12].copy_from_slice(Digest::digests_as_elements(&[key, topic]));
state[0] = Felt::new(0 as u64);
// apply the Rescue permutation and return the first four elements of the state
Rescue::apply_permutation(&mut state);
Digest::new(state
[4..8].try_into().unwrap())
}
同时在证明者产生证据时,将state[12-15]设置为伪造的nullifier所对应的值。
Prover.build_trace()
|state| {
......
// -- nullifier section of the trace --
state[12] = Felt::new(0);
第二题:Can you turn up the heat?
https://www.zkhack.dev/puzzleM2.html
本周的题目可以说是 zkHack 有史以来最难的一道题。本题的目标是伪造 STARK 证明,需要解题者对 STARK 证明的整个逻辑步骤有较为清晰的知识。
来回顾一下题目:Alice使用 STARK 电路写了一个斐波那契数列的计算程序,能够同时生成 STARK 证明并验证。某天她收到了一个错误的证明,计算出数列的第32项等于123(实际应为832040)。但这个证明却能通过她的 STARK 验证器。现在我们想要知道该证明是如何被伪造的。
。
比推快讯
更多 >>- Lighter 空投价值位列加密史上第十,总价值 6.75 亿美元
- 数据:Coinbase Prime 流入 2.71 万枚 ETH,价值约 8860 万美元
- Neo 基金会:财务报告计划 2026 年 Q1 发布,联创争议不影响日常运营
- 数据:2025 年 NFT 供应量增至约 13.4 亿枚,全年销售额下降 37%
- 数据:2025 年收益型稳定币产生超 2.5 亿美元回报
- 三菱日联:美元恐将创下 2017 年以来最差年度表现
- 芝加哥期权交易所拟修改 Mini 比特币指数期权报价增量
- Bubblemaps:TGE 后 2.5 亿美元资金自 Lighter 平台撤出
- 韩国 FIU 对 Korbit 处以约 188 万美元罚款,并处以“机构警告”处分
- Matrixport:加密货币的结构性增长趋势依然完好
- 某交易员在 Polymarket 通过预测下注单日获利 92.8 万美元
- 数据:4000 枚 ETH 从 Chun Wang (F2Pool) 转出,价值约 1189 万美元
- 美国会计准则委员会计划 2026 年探索将部分稳定币列为“现金等价物”
- 数据:ETH 全网合约持仓量 24h 减少 5.48%
- 分析师:BTC 大资金换手积极性下降,链上单笔交易金额较月中跌近 47%
- Shaw:量子计算对比特币的威胁是无稽之谈,炒作者一无所知
- 数据:过去 24 小时全网爆仓 1.08 亿美元,多单爆仓 5,756.54 万美元,空单爆仓 4,994.82 万美元
- 月之暗面完成 5 亿美元 C 轮融资,IDG 领投
- Coinbase 高管警告美国稳定币政策或让中国在全球支付竞争中占优
- 慢雾:警惕浏览器历史记录污染攻击,恶意软件攻击再次抬头
- 慢雾:钓鱼攻击仍是 Q4 资金被盗首因,共收到 300 起被盗案件追回 100 万美元
- Neo 创始人决裂:达鸿飞被指未履行财务披露承诺,Erik 被控独揽基金会财权
- 交易所 XRP 供应量降至 7 年低点,由 37.6 亿枚降至 16 亿枚
- Gate Alpha 开启积分空投第 136 期,持有相应积分可抢先领取 150 或 500 OOOO
- dYdX:已回购约 750 万枚 DYDX,总价值约 135 万美元
- Upbit 将新增支持 CRO 作为可质押数字资产
- Michael Saylor、Tom Lee 和 Arthur Hayes 的 2025 BTC 价格预测均未实现
- 中国银行:1 月 1 日起数字人民币实名钱包余额将计付利息
- 以太坊主网单日交易量创下 220 万笔新纪录,手续费平均降至 17 美分
- Arthur Hayes:流动性可能已在 11 月触底,是时候开始上涨了
- 山寨空军车头LIT 空单浮亏转盈后再次加仓,短时增持超 200 万美元
- 以太坊充币情绪加剧,过去 24 小时 CEX 净流入 10.58 万枚 ETH
- 2026 年美国加密监管关键时间点一览
- Arthur Hayes:购买 ZEC 就应使用隐私保护功能,否则投资将毫无意义
- 币安:今日 15:00(UTC+8)可领取币安 Alpha 空投,空投门槛 240 个 Alpha 积分
- 数据:GMGN 聪明钱榜单显示 KABUTO 过去 24h 获净流入 2 千美元
- 特朗普牌手机推迟发布,因美国政府停摆导致交付延迟
- 币安披露新型骗局:用户伪造“高管诈骗”证据,试图诱导客服表态
- 马斯克承诺大幅提升 X 平台创始者收入奖励并标记 Solana 顾问负责处理
- A 股数字货币概念午后震荡走强,拉卡拉涨超 10%
- 特朗普前顾问改口:关税本质是隐形消费税,或拖累经济与就业
- Pacifica 全线交易手续费减半,每积分获取成本或将降至 0.2 美元
- OneKey 创始人:公司已从烧钱模式迈入增长阶段,将全面转型 AI 原生硬件金融公司
- OpenAI 人均股票薪酬达 150 万美元,创科技初创公司纪录
- 数据:当前加密恐慌贪婪指数为 20,处于极度恐慌状态
- 数据:监测到 3,374.43 万 USDT 转入 Binance
- 终极空头巨鲸减仓 LIT 空单头寸,入场均价降至 2.8 美元
- 机器人和 AI 开放组织 Fabric 基金会成立,OpenMind 为其合作伙伴
- 比特币提币情绪延续,过去 24 小时 CEX 净流出 3,451.64 枚 BTC
- 全球多地金融市场今日提前休市
比推专栏
更多 >>观点
比推热门文章
- Lighter 空投价值位列加密史上第十,总价值 6.75 亿美元
- 数据:Coinbase Prime 流入 2.71 万枚 ETH,价值约 8860 万美元
- Neo 基金会:财务报告计划 2026 年 Q1 发布,联创争议不影响日常运营
- 数据:2025 年 NFT 供应量增至约 13.4 亿枚,全年销售额下降 37%
- 数据:2025 年收益型稳定币产生超 2.5 亿美元回报
- 2025 美股年鉴:高墙新耸,围栏坍塌,2026 如何寻找新秩序的锚点?(下)
- 三菱日联:美元恐将创下 2017 年以来最差年度表现
- 芝加哥期权交易所拟修改 Mini 比特币指数期权报价增量
- Bubblemaps:TGE 后 2.5 亿美元资金自 Lighter 平台撤出
- 韩国 FIU 对 Korbit 处以约 188 万美元罚款,并处以“机构警告”处分
比推 APP



