MimbleWimble 系列之Pedersen 承诺

MW协议中几个主要的概念

  • Pedersen 承诺
  • 交易合并
  • 范围证明
  • 蒲公英路由

**Pedersen承诺-**用来达到匿名保密交易的协议,简单来说你转给我5个token,在其他人不知道数额和地址的情况下,保证这笔交易是有效的,任何人在区块浏览器上都查不到数额和地址信息,跟BTC/ETH不一样,这听起来有点玄乎,但确实在真真切切的在实现,在MW之前之前,已经有Zcash ,门罗在做这种探索了,都有各自的优秀之处,MW试图以一种新的方式,简单易实现来达到同样的目的。

这是一个BEAM的交易 1,大家进去看一下,你啥也看不到,全是隐藏的,感受下!

经常会看到这个公式: P = r · G +v·H,在第一篇文章里也简单介绍了这个协议,G和H是椭圆曲线上的不同的点,r是Blinding factor(可以看作是私匙) ,v就是打币的数值,如果已知 C,G,H,反向求r 和v的数值几乎是不可能的。这里用到了数学上的离散对数问题(你也不用管它是啥,我也不懂,哈哈!总之你反向推到不出来结果,到现在数十年过去了,也没人破解的了)

刚才我们说了Pddersen在不泄漏转账数字的情况下可以把交易这个活干了,他是怎么实现的呢?

首先是一个等式,大家想想看,如果我有8个mw 币 ,给你转了6个,1个是找零,还有1个座位矿工费用

这个等式为 8 - 6 =1 + 1,这个对吧?把P承诺公式套进来,利用陈乐博士这张图咱们尝试看一下它的交易逻辑!

Pedersen_exchange

左上角的那个是传统的UTXO,一个UTXO 5个token,一个UTXO 3个Token ,如果Alice想给Bob转6个Token,找零1个,交易费1个。左下角那个图是MW里的交易过程,看不到数额,右边2个图是Alice 在MW里转移6个Token 给Bob的过程,这里面利用了前面说的Pederson等式!

  1. Cin1 = r1G + 5H (r1是Alice的私钥 5是数量), 同理Cin2 = r2G + 3H, 5 和3即为Alice持有的token数量

  2. C change (找零) = r3G + 1H, r Alice = r1 + r2 - r3(加加减减还是一堆秘钥,不告诉你就破解不了)

  3. 对于Bob来说,他利用自己的私钥r4 和G, H还有他要收到数量6一样生成个Pedersen等式,在生成一个K,利用r alice 和自己的r4 产生的,每一个交易都会产生这么个东西,留着给矿工用。

  4. 大家回过头来看看,Bob知道r alice的结果,但是解不出来 r1 r2 和r3,即他不知道Alice的秘钥,或者你再给其一个系数G,变成Ralice=r alice *G,离散对数里的方程,假如已知 R 和G,你是计算不出来r alice的。

  5. Bob可以检查等式两边是否相等,同样矿工利用公布出来的数据也可以检查两边的数据是否相等,也不需要知道里边的秘钥细节,总之out=in+找零 相等就行了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值