版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
零知识证明在区块链应用中的安全和隐私问题零知识证明在区块链应用中的安全和隐私问题1大纲区块链和ZKP介绍零知识证明在区块链应用中的安全和隐私问题实现漏洞信任风险非屏蔽交易信息泄漏密码方案风险其他风险总结大纲区块链和ZKP介绍2比特币的隐私问题比特币:去中心化数字货币防止双花:广播交易到公开账本(区块链)比特币不存在匿名性假名≠匿名隐私问题:个人交易记录/账户余额/商家现金流钱的等价性:黑钱/收藏币比特币的隐私问题比特币:去中心化数字货币3隐私
VS
可审计性保护隐私?
→
数据加密加密与公开可审计性存在冲突隐私VS可审计性保护隐私?→数据加密加密与公开可审计4零知识证明x∈R,w接受或拒绝x∈R……π完备性:如果论述是正确的,证明者可以说服验证者正确性:如果论述是错误的,证明者无法说服验证者(可忽略概率说服)零知识性:验证者除了论述是正确的之外,无法获得任何其他信息非交互式零知识证明(NIZK)如果因式分解困难,对任意NP语言都存在NIZK零知识证明x∈R,w接受或拒绝x∈R……完备性:如果论述是5零知识证明加密全部交易证明π:非交互式零知识证明,证明加密的交易合法(满足合法规则、未双花)解决加密与公开可审计性的冲突零知识证明加密全部交易6zkSNARKs通用性零知识证明方案性能通常不高区块链性能要求高zkSNARKsSuccintNon-interactiveArgumentofKnowledgeZero-knowledgezkSNARKs通用性零知识证明方案性能通常不高区块链性能7zkSNARKs流程图待证明问题电路R1CSQAP参数生成证明者验证者FlattenSynthesizeIfftSetupPKVKx’,
π’x∈R(x’,w’)∈RzkSNARKs流程图待证明问题电路R1CSQAP参数生成证8区块链上zkSNARKs的应用流程待证明问题电路R1CSQAP项目方:参数生成交易生成全网验证FlattenSynthesizeIfftSetupPKVKx’,
π’x∈R(x’,w’)∈R1.验证逻辑2.等价转换3.公链参数生成4.交易生成(c1,c2,c3,
π)5.全网验证区块链上zkSNARKs的应用流程待证明问题电路R1CSQA9全景图全景图10零知识证明在区块链应用中的安全和隐私问题实现漏洞信任风险非屏蔽交易信息泄漏密码方案风险其他风险零知识证明在区块链应用中的安全和隐私问题实现漏洞信任风险11实现漏洞实现漏洞12实现漏洞内存破坏漏洞内存安全语言:
rust、java、golibSNARKs(C++),该场景中,内存破坏相关漏洞难以利用逻辑漏洞电路设计问题应用层逻辑问题密码实现漏洞新的密码原件实现容易出现漏洞实现漏洞内存破坏漏洞13电路设计电路设计复杂大量密码算法实现大量约束、优化审计需要高超的密码技巧以zcash为例电路设计电路设计复杂14输入输入输出输出…………绑定签名输入锚
rt唯一值
nf根节点rt使用签名值承诺
cv证明输出输出承诺
cmu临时密钥
epk密文1密文2值承诺
cv证明Zcash屏蔽交易证明输入的总额与输出的总额相等输入输入输出输出…………绑定签名输入锚rt唯一值nf根节15输出电路公开私有中间值摘自qedit的审计报告输出电路公开摘自qedit的审计报告16输入电路公开私有中间值摘自qedit的审计报告输入电路公开摘自qedit的审计报告17电路常见问题电路设计漏洞:ZcashFaerie
Gold攻击攻击者可选择相同的rho,造成接收者无法使用收到的钱。链接:
/zcash/zcash/issues/98电路与非电路实现不一致未在知名项目中发现标准与实现不一致ZcashVersion2019.0.1
[Overwinter+Sapling]Page
139:
cm^{old}
与cm未绑定,恶意攻击者可对相同note选择多个cm^{old}
,产生多个nf,造成双花LibrustZcash中实现没有该问题电路常见问题电路设计漏洞:18应用逻辑安全问题应用开发者调用ZKP库来实现ZKP应用对底层ZKP缺乏足够理解,代码容易产生安全漏洞应用逻辑安全问题应用开发者调用ZKP库来实现ZKP应用19Semaphore双花问题未限定nullifier长度,造成双花Semaphore双花问题未限定nullifier长度,造成20Tron零知识参数未校验未校验参数直接使用Librustzcash,造成多种安全问题(如双花)Tron零知识参数未校验未校验参数直接使用Librustzc21Tron
nullifier双花未校验一笔交易多个输入的nullifier是否不同,造成双花Tronnullifier双花未校验一笔交易多个输入的nu22密码实现安全问题新方案实现易带来额外风险LibSNARKs:R1CS-to-QAP
规约漏洞只有QAP中多项式是线性独立的,才能保证soundness增加冗余约束修复问题/2015/437.pdfZcash侧信道漏洞Reject攻击、Ping攻击节点处理与自身地址相关的交易:信息泄漏打破节点匿名性/timings/pingreject.pdf密码实现安全问题新方案实现易带来额外风险23信任风险信任风险24setup信任问题zkSNARKs思路:提前生成验证者挑战:x保留加密的x,丢弃明文x验证过程:检查证明(A,B,C)满足:已知明文x,可伪造任意证明不可检测的后门(x)任意创建证明,无法被发现
(零知识性)解决信任问题:MPC生成加密的xsetup信任问题zkSNARKs思路:25MPC1:Powerof
tauMPC生成参数
(可通用给任何电路)公开可验证安全前提:至少一人诚实MPC1:PoweroftauMPC生成参数(可通用26MPC2:Sapling
MPC针对特定电路生成参数两个MPC阶段缺一不可MPC2:SaplingMPC针对特定电路生成参数两个27MPC问题Ethereum、Tron都在进行MPC仍有很多项目没有可信的setupMPC过程完全人为控制一些MPC参与经历如果你没有参与,你不能100%确认安全还没有考虑软件实现问题MPC问题Ethereum、Tron都在进行MPC28例子:ZoKratesZoKrates:
零知识证明智能合约编译器将验证逻辑编译为零知识验证合约参数生成由合约方控制合约生成者:证明伪造例子:ZoKratesZoKrates:零知识证明智能合约29非屏蔽交易信息泄漏非屏蔽交易信息泄漏30Zcash
交易分类85%14%1%tto
ttto
ssto
ssto
t2019-09透明交易 部分频闭交易 完全频闭交易大多数的交易可被追溯Zcash交易分类85%14%1%ttotttos31Zcash
货币池95%3%2%透明池
sapling池sprout池2019-09Zcash货币池95%3%2%透明池 sapling池sp32零知识证明在区块链的安全和隐私问题课件33经验式分析非屏蔽交易信息泄漏相似的使用习惯相关的地址:
地址聚类分析相关的金额:
金额匹配分析相关的时间:
时间相关分析案例分析:Shadowbrokers地址A地址C地址B1.1111
Zec5.4321
Zec6.5432
Zec屏蔽池USD1天后经验式分析非屏蔽交易信息泄漏地址A地址C地址B1.111134轻节点隐私问题大多数参与者是轻节点解密后才能知道交易归属轻节点无区块数据解密交易:轻节点需将解密密钥交给全节点屏蔽交易对轻节点不友好:计算开销大轻节点隐私无法得到保障目前ZKP数字货币项目主要为全节点设计:市场上未见有好的轻节点解决方案轻节点隐私问题大多数参与者是轻节点35Tron交易扫描RPC服务Tron交易扫描RPC服务36非屏蔽交易信息泄漏信息泄漏原因:轻节点对屏蔽交易支持不足交易所仅支持透明交易经验式对抗方法:使用屏蔽交易每次使用新地址金额不要相同等待足够长的时间最佳方案:只使用屏蔽交易非屏蔽交易信息泄漏信息泄漏原因:37密码方案风险密码方案风险38密码方案风险ZKP技术相对较新16年论文,17年大规模使用有待时间考验参数选择和优化比较激进可证明安全有的困难问题并不标准依赖太多安全问题缺乏足够的审计密码方案风险ZKP技术相对较新39Zcash伪造漏洞CVE-2019-71672018年3月1日发现(Ariel
Gabizon),2019年公开零知识证明密码方案[BCTV14]漏洞任意人可伪造证明,凭空创造Zcash影响多个Zcash的分叉项目大概8个月时间才完成修复改变整个证明方案,升级全网没人知道漏洞是否被利用,因为是零知识的Zcash官方认为漏洞没有被利用:很少有人拥有的高水平密码技术发现该漏洞未发现zcash总额出现明显问题Zcash伪造漏洞CVE-2019-716740Zcash伪造漏洞CVE-2019-7167[BCTV14]并不存在可证明安全[BCTV14]参数生成存在冗余元素可被利用生成伪造证明原理并不复杂[BCTV14]升级为[Groth16]可证明安全并非第一次出现漏洞BryanParno发现过另一个漏洞是否会是最后一次?Zcash伪造漏洞CVE-2019-716741Zcash承诺和哈希方案复杂仅承诺与哈希就涉及多个方案多个安全证明有待时间考验摘自qedit的审计报告Zcash承诺和哈希方案复杂摘自qedit的审计报告42其他风险其他风险43完美的零知识?数学上完美的零知识方案[Groth16]实际应用会有额外的信息泄漏zcash的例子:证明是统计上零知识的密文安全性:依赖于困难问题打破了完美的零知识性完美的零知识性
≠ 完美的隐私保护输出输出输出承诺
cmu临时密钥
epk密文1密文2值承诺
cv证明加密给ivk,ovk完美的零知识?数学上完美的零知识方案实际应用会有额外的信息泄44屏蔽地址不可链接性屏蔽地址不可链接性:安全性依赖于Jubjub群上的DDH问题Jubjub群并非常用的ECC群,而是为了ZKP性能特制的DDH可能会被攻破交易信息在链上不可被抹去目前不可链接,不代表未来不可链接屏蔽地址不可链接性屏蔽地址不可链接性:45隐私与侧信道侧信道通常不被重视利用困难不直接造成安全问题隐
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 奢侈品销售工作总结
- 仪器仪表销售工作总结
- 亲子行业营销实践总结
- 绿色校园与环保教育计划
- 广西玉林地区2022-2023学年六年级上学期英语期末试卷
- 股东会议召集书三篇
- 《灾后心理援助》课件
- 《糖尿病治疗昌玉兰》课件
- 2024年安徽省芜湖市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2022年安徽省淮南市公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 《辐射安全许可证》申请条件核查表
- DB15-T 2537-2022 涉路工程安全性评价报告编制指南
- 名著导读简·爱整本书阅读计划
- 护理基础知识1000基础题
- 2023-2024学年成都市武侯区数学六上期末质量跟踪监视试题含答案
- 毕业设计(论文)-铁路货物运输装载加固方案设计
- 开关电源设计报告
- 煤矿新技术新工艺新设备和新材料演示文稿
- 选词填空(试题)外研版英语五年级上册
- 雷火灸疗法专业知识讲座
- 冷连轧机张力控制
评论
0/150
提交评论