隐私保护技术在区块链中的应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在RingCT之前,假设Alice转给Bob 5xmr,Monero会将5xmr拆分,比如1,1.5,2.5 形成三个环签名,每个环中所有 交易金额必须相同,并且外部可以看到具体的金额,RingCT是为了解决这个缺陷而设计。
RingCT不会暴露转账金额,但是为了矿工对交易进行验证,发起人需要提供一些commitment,证明input与output 之和相等,RingCT同时使用的range proof算法,证明output的数值大于0,并且小于转账金额(满足货币系统的第 一个条件,交易零和且不凭空造币) 。如上内容足够证明交易的合法性而不需要暴露金额。
第三方仅能获取到one-time public key,但没有Bob的private view key 是无法追踪到output对应的接收者身份
01 交易隐私保护 - Monero
三. 交易金额保护(RingCT)
RingCT( Ring Confidential Transactions),作为Ring Signature的改进,可以使交易金额同样被隐藏
2. 用户只能从自己的银行账户中进行电子转账,而不能从他人的银行账户中 转账。且能够验证交易是从加密货币中的私钥持有者发出的。
• 以Monero和Mimblewimble为例,前者主要从隐私保护的三个数据出发,后者主要从货币系统需要满足的两个 条件出发进行协议设计。
01 交易隐私保护 – 环签名
• 环签名的过程:
01 交易隐私保护 - Monero
• Monero 是使用环签名的代表项目,并主要针对交易接收者,交易发送者,以及交易金额提出了相应的隐私保护算法实现。
一. 交易发送者保护(环签名Ring Signature混淆发送者身份)
环签名由一位签署者与多位非签署者组成的“环”所构成,每一位参与者都是同等的,实际的签署者使用one-time spend key签署“环”。并且使用key images对应唯一一个output,用途是防止key images对应的output被双花。
RING SIGNATURES
5 XMR
STEALTH ADDRESSES
01 交易隐私保护 – 环签名
二. 交易接收者保护(Stealth address也叫做 one-time public key)
具体实现方法(假设Alice 转给Bob 5 xmr):
1. Monero钱包公钥地址包括public view key 和 public spend key,Alice 钱包首先需要使用Bob的两个public key作为随机数据源来生成one-time public key 供Bob之后使用
RING CONFIDENTIAL TRANSACTIONS
* XMR (隐藏可被验证)
STEALTH ADDRESSES
01 交易隐私保护 - MimbleWimble
• MimbleWimble是一个区块链格式和协议,依托于健壮的加密原语,提供非常好的可扩展性、隐私和可替代性。
• MimbleWimble依赖于两个基本属性:(对应货币系统的两个条件)
1密钥生成。为环中每个成员产生一个密钥 对( 公钥PKi,私钥SKi)。
2签名。签名者用自己的私钥和任意n个环 成 员(包括自己)的公钥为消息m生成签名a。
3签名验证。验证者根据环签名和消息m,验 证 签名是否为环中成员所签,如果有效就接收,否 则丢弃。
• 环签名的优势:
1 无条件匿名性:攻击者无法确定签名是由环中哪个成员生成,即使在获得环成员私钥的情况下,概率也不超过1/n。 2 正确性:签名必需能被所有其他人验证。 3不可伪造性:环中其他成员不能伪造真实签名者签名,外部攻击者即使在获得某个有效环签名的基础上,也不能 为 消息m伪造一个签名。
1. 零和验证。 输出总和减去输入总是等于零,证明交易没有凭空创造新的资金,而且不会显示实际金额 2. 交易输出的所有权,基于ECC设计。并且MimbleWimble中,并不是通来自百度文库公私钥对实现所有权控制,具体实现
后续说明。
• MimbleWimble技术实现:
MimbleWimble 有三个基本组件,第一个基本组件叫CT(Confidential Transaction),第二个基本组件叫 Coin Join, 第三个组件叫OWAS(One Way Aggregate Signatures)。第一基本组件主要实现了交易隐私,而后两个组件主要是 配合交易的结构范式,设计了区块存储优化方案,后续主要针对第一个基本组件展开说明。
具体实现方法(假设Alice 转给Bob 5 xmr):
1. Alice 组装交易环,假设包含5个交易,Alice需要从区块链中任意选取4个交易当做诱饵,对于第三方 来说,这五笔交易都有可能作为signer
2. Alice 使用one-time spend key对整个交易环进行签署,并且5个output均对应唯一的key images供矿工维 护,后续output作为输入时,检验key images来防止双花
隐私保护技术在区块链中的应用
技术创新,变革未来
目录
01 · 交易隐私保护
1. ·环签名 & 机密交易 2. · MimbleWimble
02 · 智能合约隐私保护
01 · 零知识证明(ZK-Snark && ZK-Stark) 02 · 可信执行环境 (TEE) 3. · 安全多方计算(sMPC)
4. · 同态加密 (HE)
03 · 链上数据隐私保护
01 · fabric的隐私保护方案
01
交易隐私保护
01 交易隐私保护
• 隐私保护的数据包括:交易发送者,交易接收者以及交易金额 • 隐私保护的目的:保证交易过程的匿名性 • 隐私保护后,区块链系统需要满足如下两个条件:
1. 系统能够验证接收的金额与发送的金额相等。在正常的系统中,如果Alice 将 5 人民币放到Bob手里,那么Alice少了 5 人民币,Bob多了 5 人民币。在 这个交易过程中没有凭空产生的钱,也没有凭空消失的钱。
2. one-time public key在区块链上公开,但只有Alice和Bob知道双方产生了交易,Bob通过使用自己的 private view key 去从区块链上扫描可使用的one-time public key,并计算出一个 one-time private key, 从而结合private spend key对output的5xmr进行消费
相关文档
最新文档