赞
踩
论文:Cryptology ePrint Archive: Report 2018/1024 - ZLiTE(youtube解读)
相关论文:Bite: Bitcoin Lightweight Client Privacy using Trusted Execution(CSDN解读)
问题:
ZLiTE:“轻客户端”的系统
Zcash:解决交易隐私问题
零知识证明存在一些过去的交易,这些交易给了用户他们可以花费的资金,从而删除了所有信息,如发送者/接收者的身份、金额和可链接性。
收款通知:协调shield transaction
以太坊:account;比特币:UTXO扫描区块链并检查每个事务;
Zcash tx:(一个不透明的承诺、一个密文、一个防止重复消费的序列号,以及一个零知识证明交易的正确性和可用资金的存在)链上tx没有明文标志接受者的元数据,客户识别付款:解密tx中以接收者的公钥加密的密文。pc平台的资源充足的客户端可行,但资源紧张的移动设备客户端不可行。
创建交易:协调shield transaction
在zcash中需要提供witness以创建交易,witness是资金来源tx到最新区块tx构建的note commitment tree(Merkle tree),且需要动态实时更新新tx。
ZLiTE系统:私有信息检索+侧通道弹性可信执行+新的承诺树更新机制
屏蔽交易shielded transaction
input note -> joinsplit -> output note
nullifier:更新note set
spending key & viewing key
lightweight client:仅存block header,满足利用merkle tree验证交易
ORAM:隐藏内存的address、access pattern、read/write
SGX
并不是识别和隔离平台上的所有恶意软件,而是将合法软件的安全操作封装在一个enclave中,保护其不受恶意软件的攻击,特权或者非特权的软件都无法访问enclave,也就是说,一旦软件和数据位于enclave中,即便操作系统或者和VMM(Hypervisor)也无法影响enclave里面的代码和数据。
架构
交易检索Transaction Retrieval(收款通知)
a. ZFN初始化:连接p2p网络,下载完整zcash blockchain并不断更新
b. ZLC初始化:从p2p网络请求所有新block header,用安装包中原始block header验证;保留最近block header用以处理浅分叉,并不断更新。
(1)ZLC对ZFN远程认证(remote attestation)
(2)认证成功,则建立TLS安全通信隧道
(3)ZLC请求(viewing key用以解密s-tx,h标志从已知区块高度开始检索)
(4)ZFN创建rORAM以存储要返回的tx;从h层开始用viewing key扫描BC;
DE成功,tx写入rORAM;
DE失败,用cmov技术进行读取操作(与写入操作看起来一样,混淆侧信道)
(5)ZFN将rORAM序列化,返回数据(tx,block headers,note commitment tree update)
(6)ZLC验证block header PoW和merkle tree,更新witness
交易创建Transaction Creation
witness路径根据note commitment tree得出,其需要根据最新区块更新。客户端保存已构建的note commitment tree,再根据update更新witness。
信息泄露Information Leakage
1、ORAM的read/write不可区分,且cmov使控制流独立于tx,以此向侧信道掩饰相关tx
2、response大小与扫描的区块数量h有关,与tx数量无关
资金完整性与数据完整性Integrity and Completeness
1、ZLC验证PoW,从p2p中其他节点接收block header以确保最长链,抵御eclipse攻击
2、ZLC通过TEE attestation保证代码完整运行,相比SPV可以确定接收到所有收款通知
SGX完全受损Full SGX Compromise
假如ZFN的enclave内数据泄露,则viewing key隐私泄露(R1),spending key仍在ZLC保密(R2)
信任假设Trust Assumption
与Zcash相同,要求大多数诚实的挖矿节点,且p2p广播信息不被eclipse攻击
1、BIP37
2、BITE
3、Zcash Scalable Clients
4、Decentralized anonymous micropayments
5、Bolt: Anonymous payment channels for decentralized currencies
1、ZLC轻客户端可以创建和接收屏蔽支付。
2、TEE改变了Zcash的原始信任模型(viewing key->ZFN),但在最好的隐私和Zcash使用场景间取舍平衡。
3、开发支持屏蔽交易的移动客户端成为可能,更多用户可以受益于Zcash完善的隐私保护。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。