http://www.7klian.com

雷达(RADR)中间层的环机要生意业务技能的深度分解:

3.2 Borromean Ring Signatures应用于范畴证明

(2)ransaction Verifification

由于钱币金额是界说在有限域上的,所以进攻者可以在满意输入便是输出的环境下,,通过输出溢出(输出大于有限域的阶)来发生巨额自由钱币(有限域阶的整数倍)。好比有限域的阶是10,输入是1,输出是5和6,固然满意(5+6)mod 10=1,但产生溢出,即5+6大于10,故凭空多了10个钱币。所以检测并阻止溢出而发生自由钱币是十分须要的。

3. rang proofs

1.1 一次性密钥:

在签名的链接阶段,将沟通的I举办链接,第二次签名作废,制止用同一个密钥对举办两次环签名,即:每个密钥对只答允签名一次,从而制止了反复耗费。

通过链接机制实现,链接机制通过I:“key-image”实现:

P=H(rB),个中P是生意业务的一次性密钥,H是哈希函数,B是转账吸收方的果真密钥,r是发送方选取的随机数。发送方阿把rG发送给吸收方,接管方由rG的到brG=rB,进而计较出P。即可通过P来检讨生意业务的有效性。

机要生意业务(Ring Confidential Transaction)回收CryptoNote协议。需要实现:(1)去中心化;(2)匿名;(3)埋没生意业务金额。 个中(1)是通过proof-of-work“挖矿”机制来实现的。(2)是通过一次性密钥实现的。(3)是通过多层可链接自发匿名群签名(MLSAGS)并团结Pedersen Commitment实现的。别的还应抵挡“二次耗费”进攻,并举办性范畴证明。

1.Introduction

与MLSAG验证步调沟通。

假设取范畴证明中的正整数是2的n次方,即证明每个输出都在0到2的n次方之间。

1.2 埋没生意业务金额:

范畴证明就是证明每一个输出都在某一正整数范畴内。溢出可分为两种环境:(1)存在一些较大的输出(等价于绝对值较小的负输出)(2)大量较小的输出。可以通过配置有限域的阶+范畴证明来配合检测和阻止这两种环境。通过把有限域的阶配置得足够大(好比2得256次方),把范畴证明中的正整数配置得足够小(好比2的64次方,大于系统内钱币总额即可),使得(1)时范畴证明不通过,(2)时因输出个数庞大而不行行(好比上个例子在通过范畴证明的环境下发生溢出最少需要2的196次方个输出)。

1.3 防备两次耗费:

将Confifidential Transactions插手MLSAGS。

今朝雷达(RADR)已经实现了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中也内置了雷同的曲线。

2.3 Ring CT For Monero Protocol

2. MLSAG

1.4 范畴证明:

3.1 Borromean Ring Signatures

2.1 LSAG(Back)

可以利用Borromean Ring Signatures来实现。

2.2 MLSAG(对LSAG的推广)

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

相关文章阅读