保护交易隐私在密码学货币的发展历史上一直是一个很重要的分支,BIP32、CoinJoin、Zerocoin、Monero、Grin等等都是这个技术方向上的代表。过去,这些技术主要应用在UTXO模型(如BitCoin)的密码学货币上。如何在World State账户模型的RADR上实现更好的交易隐私保护,一直是雷达实验室的研究课题。同为World State账户模型的Ripple和Ethereum在这个方向上也一直进展缓慢没有实质性的突破,RADR可以说是第一个在World State账户模型上实现了无条件的交易隐私保护的密码学货币。 当下,主流的隐私保护技术有三类,CoinJoin、Ring Confidential Transaction、Zero Knowledge Proof(零知识证明)。其中,CoinJoin通常需要依赖一个中心化或半中心化的服务,完全去中心化的方案非常复杂并且要求较为苛刻鲜有实现,很难达到无条件的隐私保护,在一段时间的研究之后被宣告排除。我们也投入了很多精力研究零知识证明。零知识证明这个技术被应用到了很多项目上,但经过一段时间的研究之后我们发现这个技术也有不少弊端,其中有两个弊端我们认为会严重影响使用体验。第一个弊端是在World State账户模型上会造成存储空间和计算效率的严重浪费,这是由于零知识证明的所有历史交易都必须保存和用于计算,同时额外需要保存密钥指纹防止双花。第二个弊端是,一笔转账需要通过四笔交易才能最终完成,首先需要将明文余额转为零知识余额,然后声明一个零知识余额转出,之后接收方声明一个零知识余额转入,再将零知识余额转为明文余额。 经过全面研究,我们决定采用Ring Confidential Transaction技术,这个技术的优势在于只需要两次交易就可以完成,提取完毕的环数据可以直接从World State里删除,不会浪费存储空间,同时还有很好的延展性,保护交易对手方的同时也可以保护交易金额。更详细的技术说明参见我们关于交易隐私的WhitePaper。 目前我们已经实现了Ring Transaction,能够消除交易双方的关联性,并即将产品化在主网上线。具体方法为,发送方发起一笔RingDeposite交易向环存入相应金额,当环累计一定数量的交易(相同金额)后即可发起RingWithdraw,环上没有任何证据可以证明某两笔RingDeposite和RingWithdraw之间存在关联性,从而保护该环内交易多方的关联性隐私。这个在WhitePaper里有详细的阐述。相关代码见 https://github.com/radrbiz/radard/blob/master/src/ripple/app/tx/impl/RingDeposit.cpp和 https://github.com/radrbiz/radard/blob/master/src/ripple/app/tx/impl/RingWithdraw.cpp 。环签名采用的曲线为AltBn128,代码见 https://github.com/radrbiz/radard/blob/master/src/ripple/crypto/impl/AltBn128.cpp ,这个曲线较好的平衡了安全性和性能,Ethereum中也内置了类似的曲线。 下一步我们还将实现Ring Confidential Transaction和Stealth Address,用来保护交易金额和更简化的交易方式,将RADR上的交易隐私保护提升到目前已知的最高等级。 —- 编译者/作者:雷达通行企业联盟 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
雷达实验室采用环机密交易技术实现交易隐私保护
2020-08-18 雷达通行企业联盟 来源:区块链网络
LOADING...
相关阅读:
- 英格兰银行加入中央银行数字货币设计关键圆桌会议2020-08-18
- Nervos与Chainlink集成以实现分散式解决方案2020-08-18
- 币赢DeFi专区|8.18项目复盘:MLN/STAKE/FXC/HAKKA/2020-08-18
- 更好的保护交易隐私2020-08-18
- 热爱可抵岁月漫长隐私保护不是说说而已2020-08-18