极简解释 MimbleWimble

MimbleWimble 是一项阻止区块链欺骗个人信息的技术,它以哈利波特的咒语命名,以防止人们泄露隐私。

在比特币的每个交易中,都会泄露三个隐私,包括:

1)发送人地址
2)发送代币的数目
3)接收代币的地址


比特币之所以将这些隐私公之于众是因为任何货币系统都必须满足两个条件:

一是必须验证收到的金额是否等于发送的金额
如果一个交易可以从一个地址发送 1 个代币,并在另一个地址接收 2 个代币,那么加密货币体系将被击溃

二是必须确定交易是有借记卡持有人和PIN ,或网上银行密码(传统情况下)以及加密货币的私钥发送的

比特币交易中包含明文的金额和接收方地址,这满足第一个要求。

为了验证第二个要求是否得到满足,比特币基于私钥对应的公共地址,公共地址上持有比特币,交易发送方使用相应的私钥声称签名并签署交易,其中包含明文的金额和接收方的地址,每个人都可以检查签名来自代币持有地址后面的私钥这样就可以知道签名来自有权发起交易的人。

而MimbleWimble 在不泄露这三个隐私的同时,满足了上述的两个要求。
显而易见的是,可以很容易地计算下面三个算式:


2319=??? 11147=???
93231=?????

但是如果把问号的位置移动到式子的左边,即

????=923
????=1463 ????=4221

显然很难在两分钟之内解决这三个问题,但所做的无非是改变了操作的方向。

为了简单起见,并没有讨论椭圆曲线的相关问题,在实际的加密系统中不使用任何数字,而是使用椭圆曲线点,但共同之处在于“乘法很容易,但因子分解很难”

相应地,如果想要隐藏信息,可以通过乘以未知数来隐藏,使信息变得难以解读;如果想证明持有私钥,可以通过披露大数字的因子,来利用乘法的基本属性做到这一切

这称为 Perdersen Comitment ,它包含金额和私钥部分,发送方和接收方都参与交易的创建,这可以解决接收方地址的问题,但是需要一些其他方式让发送方联系到接收方,Beam 包含了一个安全的BBS 系统,允许发送方和接收方交换对应的 Pedersen Commitment

另外,比较重要的一点是"范围证明"(range proof),以证明隐藏的数字不是负数,因为如果发送的数字是负数,如同把加密货币免费放进发送方的口袋。

因此,MimbleWimble 交易包括两个 Pedersen Commitment,一个用于交易输入,另一个用于交易输出。

Leave a Reply

Your email address will not be published.