隐私保护是Mixin网络设计的目标之一。本文简要介绍Mixin 网络如何使用CryptoNote协议来增强隐私保护。
Mixin 网络的交易基于和比特币一样的UTXO,而不是帐户模型。同比特币一样,Mixin 网络使用从用户的公钥派生的伪随机数和字母组成的公共地址,地址作为用户的公共ID。
然而,同比特币不同的是,Mixin网络基于CryptoNote协议,该协议隐藏了发送方和接收方地址之间的关联。也就是说,如果地址A将交易发送到地址B,使用比特币网络,您可以通过交易记录找到从A到B的交易纪录,但是在Mixin网络您无法看到A和B之间的交易。
那么Mixin网络是如何做到的呢? 让我们简要解释一下基于CryptoNote协议的Mixin网络执行过程。
在比特币交易中,一旦发布地址,它就成为收付款的明确标识符。而且,不同地址之间的联系是通过交易进行的,很容易追踪到多个地址之间的联系。
Mixin 网络基于CryptoNote协议的解决方案允许用户发布未关联的交易。每个交易输出的目的地(默认情况下)是从收件人的地址和发件人构造的随机数派生的一次性公钥。默认情况下,此一次性公钥是唯一的(除非发件人使用相同的随机数发送到同一地址)。因此,没有“地址重复使用”的问题。
在我们的方案中,公钥和私钥分为两部分,公钥表示为(A,B),私钥表示为(a,b)。我们还使用基于椭圆曲线的EdDSA签名算法。下面提到的相关参数包括基点G =(x,-4 / 5); I是一个常数; Hs是加密哈希函数;并且根据椭圆曲线A = aG,B = bG的特征,我们强制要求a不等于b。
举个栗子,Alice想要向已经给她地址的Bob发送一笔交易。她从地址获取Bob的公钥(A,B),然后生成随机数r∈[1,I -1],并计算一次性地址P = Hs(rA)G + B.
Alice使用P作为输出的目标地址,并将值R = rG(作为Diffie-Hellman交易的一部分)打包到交易中。
那么如何验证交易过程呢? Bob使用他的私钥(a,b)去验证它接收到的每笔交易,并计算P'= Hs(aR)G + bG。如果Alice发送给Bob的交易在其中,则aR = arG = rA(因为上面提到aG = A),那么P'= P。我们可以确认这笔交易是发送给Bob的。
另外,Bob可以恢复相应的一次性私钥:x = Hs(aR)+ b,我们也会发现P = xG。通过使用该一次性私钥x对交易进行签名,Bob可以随时花费该笔交易。
这样可以保护隐私吗?让我们再看一遍。
交易双方的隐私保护
为了防止发送方被识别,我们仅仅构造一个由发送方生成的随机数的交易,这使得无法确定是谁实际发送了该交易,从而保护了发送方的隐私。
在接收端,我们为每笔交易生成一次性公钥和一次性地址,即使对于相同的发送方和接收方也是如此。接受方的隐私也得到很好的保护。
此外,发送方为每次交易传输生成一次性临时密钥,只有接收方可以恢复相应的私钥,以确保资产的安全。没有第三方可以确定是否有两笔不同的交易发送给了同一接受方。
Mixin网络匿名交易
总之,基于CryptoNote协议的Mixin网络保证了隐私和资产安全。以上是Mixin网络如何保护隐私。我们还会有一系列的关于Mixin技术实施的文章。
原文链接:https://medium.com/mixinnetwork/instruction-to-anonymous-tansaction-in-mixin-network-c4f51955bd05
我的英文水平大概是这样的:买了一堆山寨币,怕项目方跑路而天天在电报群蹲着,看不懂就查词典,外加百度语法。
翻译得不好,您就多担待。有问题的地方,欢迎您指出来。
网友评论