第十章

文章目录

  • 第十章
  • 一、区块链的隐私问题
    • 1、化名和匿名
    • 2、去匿名攻击:交易表分析
  • 二、零钞:基于zkSNARK的完美混币池
    • 1、零知识证明
    • 2、零钞的运行原理
  • 三、Hawk:保护合约数据私密性
  • 四、Coco框架
    • 1、TEE环境简介
  • 五、以太坊隐私保护技术路线:Baby Zoe

一、区块链的隐私问题

1、化名和匿名

所谓化名就是我们在网络中使用的一个与真实身份无关的身份,在比特币或者以太坊紫彤的交易中,使用者使用公钥散列值作为交易地址。因此区块链中的交易具有化名性。
匿名:指的是具备无关联性(unlinkability)。由于用户反复使用公钥散列值作为交易标识,交易之间显然能建立关联。所以不具有匿名性。

2、去匿名攻击:交易表分析

若用户在一段时间内用不同的地址均与Y交易,则可能被攻击者归为地址簇。再结合现实中直接发生的交易来给地址簇加上标签,就可以画出一个标签蔟图,从而展开交易分析来对大部分的区块链交易去匿名化。

二、零钞:基于zkSNARK的完美混币池

零钞(Zcash)是一种利用零知识证明(zero knowledge proof)来构造一个完美混币池的密码学货币。

1、零知识证明

指的是证明者能够在不向验证者提供任何有用信息的情况下,是验证者相信某个论断是正确的。
zkSNARK是一种基于现代密码学的证明方法,需要一个NP问题作为基本难题。在P!=NP的假定下,暴力猜出一个输入量很大的NP问题的解被视为计算上不可行,验证一个解释对应NP问题的解则比较快。
zkSNARK需要证明者向验证者证明自己知道某个知识时,构造无需证明内容对应的NP问题的解。该NP问题仅与此时的问题相关,与证明者掌握的具体知识无关。Zcash采用的NP问题时二次算数问题QAP(Quadratic Arithmetic Problem),验证时只取一个点对函数值进行验证,因此验证只有O(1)的时间代价。

2、零钞的运行原理

当用户要花这个币的时候,与比特币需要提供签名不同,用户需要:给出序列号,利用zkSNARK证明自己知道生成存在于承诺列表中的某个承诺的用户私钥(但不透露具体是哪个承诺。
而矿工只需要验证交易发起方的零知识证明,确认某个交易发起人可以使用承诺列表里的某个承诺,并把承诺把对应序列号放入列表。在这个过程中,矿工不知道用户具体用了哪个承诺,而仅仅知道某个承诺被使用了。而序列号的唯一性保证了同一个承诺不能使用两次(防止双花)。
用户还可以赎回操作把混币池中的零钞提取出来。

三、Hawk:保护合约数据私密性

零钞方案正对交易双方身份,金额等信息进行隐私保护,但并不能保护区块链合约内容的隐私性。
多方计算是密码学中一类经典算法,专门用于解决多实体在乎不透露秘密的情况下合作利用秘密来计算的问题。如姚期智百万富翁问题。
可信计算是一种利用硬件来实现一个可信的黑盒子,用于进行多方计算的技术,例如Intel SGX。
Hawk项目是基于以太坊的智能合约平台进行的此时,包括合约部分用的也是Serpent语言。巧妙的结合了zkSNARK和多方计算或者是可信计算。
一个典型的Hawk系统中的合约分为共有合约和私有合约部分。其中私有合约部分负责处理用户的输入并且结合多方计算以及零知识证明来隐藏用户身份和输入数据的具体值,这部分是在manager节点处进行执行的,这也是合约的主要逻辑所在;而公有合约部分表达了一个押金的逻辑,保证任何交易方都不能在中途退出,否则将支付违约金。
为了提供一个隐私保护的执行环境,Hawk借鉴了Zcash中的铸币和浇铸操作,用户可以利用这两个操作隐藏自己的地址;然后只要浇铸的地址目标设定为智能合约地址,矿工在收到交易后会利用多方计算或者可信计算来执行智能合约,算出正确的结果。相比于多方计算,可信计算的效率更高。但是由于需要使用专门的可信计算硬件,则普适性和去中心化不如前者。
与以太坊不同的是,Hawk还提出了如何将智能合约分为公开合约部分和私有合约部分。前者保证公平性,后者用于保证合约的执行和私密性。但是Hawk不能保证合约代码的私密性,只能保证合约代码的输入的私密性。

四、Coco框架

为了解决Quorum通用性不强以及Hawk无法加密合约代码的弊端,Coco框架理论上可以用来保护任意区块链系统的隐私性。
Coco框架充分利用了可信执行环境TEE。利用TEE的证明(attestation)功能和黑箱性质,如果经过证明的区块链代码被完全放入可信硬件这个黑箱中运行,那么区块链的运行状态江边的可信且完全不被外界所知。
Coco框架的优点:灵活、强大的隐私性;更高的效率:可以将低效的共识机制换成更高效的,如Raft等。

1、TEE环境简介

可信计算环境TEE(Trusted Execution Environment)。TEE环境既可以证明放入代码的正确性又可以保证运行时内部数据对外界不可见以及不被篡改,进而可以保障区块链协议关键代码和数据的机密性和完整性,使得区块链应用可以在完全受信任的成员节点上高效运行。

五、以太坊隐私保护技术路线:Baby Zoe

Coco是针对联盟链且需要特殊的硬件。以太坊团队对于隐私保护采用了传统的基于密码学的方式。相比于Zcash,Zoe进行了大量简化,只保留了匿名转账中验证相关的椭圆曲线操作以及复用了Zcash中的公共初始化参数,并只在C++版本的以太坊中加入了libsnark(zkSNARK的代码库)相关代码来辅助生成合约。
ZoE的运行模式和零钞极其类似。但是与普通转账相比,依然会极大的增加转账的代价。

隐私保护和数据安全:区块链的隐私问题、零钞:基于zkSNARK的完美混币池、Hawk:保护合约数据私密性、Coco框架、Baby Zoe相关推荐

  1. 云象黄步添:区块链和隐私计算打破数据安全流动矛盾,构建数据要素市场基石

    7月9日,2020世界人工智能大会云端峰会开幕式在上海世博中心金厅召开,因疫情原因,大会以线上为主.大量线下产业受到重大影响的大环境下,线上包括在线教育.视频娱乐.数字经济等产业却逆势而上,迎来一轮快 ...

  2. 【转】区块链的隐私保护方案介绍

    区块链的账本是具有分布式的特点,需要多个节点参与账本的存储与验证,而这容易导致人们对账本隐私的担忧.尤其是金融行业对隐私保护会更加注重.隐私问题成为区块链应用落地的主要障碍之一.本文将介绍现有区块链应 ...

  3. 区块链的隐私怎样保护?

    近年来,随着整个数字现金市场的快速发展,区块链技术已经为公众所熟知,并寄予厚望.它被认为是下一代互联网的核心技术之一.区块链的技术属性也有望在限制隐私侵犯方面"发挥作用".区块链通 ...

  4. 三万文字透视前瞻:区块链及隐私计算在传统企业中的技术认知与进阶思考

    作者  :招商局集团数字化中心  山金孝 声明:文章仅代表作者个人观点,与任何组织或公司无关 前言 区块链是一种分布式网络数据管理技术,其利用密码学和分布式共识协议保证网络传输与访问安全,并实现数据多 ...

  5. 构建数字经济新生态,和数区块链结合隐私计算可发挥作用

    为了促进数据要素的市场化配置,国家从上到下持续出台了一系列的法律法规--从数据安全法律"三驾马车"<网络安全法><数据安全法><个人信息保护法> ...

  6. 国内首个隐私计算盛会闭幕,区块链与隐私碰撞,数据流动价值未来可期

    7月5日,国内首个隐私计算产业论坛["隐私计算:让数据安全有序流动起来"暨2020隐私计算产业30强榜单颁奖典礼]在杭州区块链国际周上强势登场.活动汇聚了AI.区块链.大数据.物联 ...

  7. 蚂蚁链发布新一代网络平台「FAIR」 区块链进入隐私计算原生时代

    10月22日,2021杭州云栖大会上,蚂蚁集团旗下蚂蚁链宣布升级区块链架构,在新架构上,隐私计算成为一种原生能力.蚂蚁链还基于这一新架构推出全新区块链网络平台「FAIR」,在「FAIR」上,隐私计算将 ...

  8. 区块链交易隐私如何保证?华为零知识证明技术实战解析

    摘要:本文通过介绍华为如何在同态加密及零知识证明框架的集成介绍来介绍了一些对金融领域交易隐私保护的思路,通过代码结和应用场景描述了zksnark如何集成到现有联盟链体系保护交易隐私. 本文分享自华为云 ...

  9. 2021北京大学暑期课程:区块链与隐私计算

    2021年度北京大学应用数学专题讲习班,课程之一:Blockchain, Privacy-Preserving Computation, Theory and Algorithm(区块链与隐私计算的理 ...

最新文章

  1. java 热替换_class卸载、热替换和Tomcat的热部署的分析
  2. 打印九九口诀表(15)
  3. UA OPTI512R 傅立叶光学导论16 Nyquist-Shannon采样定理
  4. git的一些常用命令讲解和开发规范总结
  5. c语言中赋值表达示与复制语句的区别
  6. 情怀满满 新一代观影神器坚果1895
  7. Spring MVC 源码-运行调用阶段
  8. spark读取文件源码分析-3
  9. stm32正交编码器 原理图_恶劣环境下应用的电感式增量编码器和绝对编码器
  10. 搭建用友开发环境(基于碧桂园的nchome)
  11. Nginx源码分析 - 主流程篇 - 模块的初始化(12)
  12. LeetCode之二分查找
  13. (转)星巴克其实是靠大数据盈利的!
  14. win7系统蓝屏修复工具如何使用
  15. 推荐免费下载380套大型商业源码
  16. 4600u黑苹果 r5_黑苹果集显hd4400、hd4600显卡Clover引导驱动方法教程
  17. WPS Office 国际版 添加中文语言包 及相关问题
  18. 十进制和二进制相互转换
  19. 利用excel搭建动态图表
  20. 优酷土豆实时推荐系统架构升级实践

热门文章

  1. css实现立体感按钮
  2. 基于Spring的微服架构实战之问题记录
  3. 历届试题 九宫重排 (bfs 八数码问题)
  4. ADB常用命令(adb常用命令)
  5. 一个正整数到 Excel 编号之间的转换
  6. stanfordnlp使用自定义分词分句
  7. TI达芬奇系列TMS320DM8168浮点DSP C674x + ARM Cortex-A8高性能视频处理器
  8. i7-10700K和i7-9700KF哪个好
  9. 单片机理论篇(未完成)
  10. 微信小程序登录(Java)