Nervos和Grin展开合作
昨天8月7号,Nervos官方账户发文宣布将在Nervos上探讨隐私层的设计方案,在隐私性和匿名性方面和Grin社区进行合作,共同推动技术的发展,通过隐私层的技术,实现Nervos用户在使用CKB或任何其他发行在CKB上的Token交易时的隐私性和匿名性。
并且具体的计划已经制定出来,花费几个月的时间按照三个阶段进行开发,第一个阶段已经在进行中。
Mimblewimble协议
Mimblewimble是最初在2016年5月的一篇匿名白皮书中介绍的一种隐私性加密实现。这个名称是使用哈利波特小说中的词汇创建的。而第一个尝试实现MimbleWimble协议的项目就是在2016年11月以Grin的作为命名的项目。Grin最初的代码是由Ignotus Peverell在IRC发布的,直到现在他仍然是Grin最活跃的代码贡献者。Grin选择了用Rust语言来编写。
Mimblewimble协议到底是干什么的呢?如果你是哈利波特的粉丝从协议的这个名字就知道了,这个单词是哈利波特中的一句咒语名,这个咒语的用途就是让人们停止泄露秘密。
这里你是不是有了些许的疑惑,不是说区块链技术就已经有了匿名的特性了,还要这个协议干嘛,这不是来捣乱的吗?
其实还真不是,咱们下面就来仔细说说这个协议是来干嘛的。
虽然比特币有一定的匿名性保证,但是咱们不是说现在是大数据时代么,你的许多行为经过大数据分析过后就在方便的同时也就没了隐私,在日常生活中我们都应该能感觉到这一点,你才和朋友谈论了某某手机的新款,隔一天你各种APP推送的广告就都变成了各种手机的广告。
在数字货币世界也不例外,技术的发展使得比特币在隐私匿名这些方面表现的越来越差。
比特币为了满足两个要求,需要泄露用户的三个秘密,就因为这个缺点才使得比特币的隐私和匿名越来越差。哪三个秘密呢,那就是发币人的地址,收币人的地址,还有转币的数量,只要你会使用区块链浏览器在浏览器上这些都不是秘密,是任何人都能看到的,所以许多行情才能提供大额转账和巨鲸地址的监控,如果通过一些用户转账行为的分析,许多大佬的持币地址就不是秘密了。
那泄露了这三点为了满足什么需求呢,一个是确定代币数量的需求,一个账户给另一个账户转账,你转给对方几个代币,相应的你账户就要减少几个代币,接收方账户就要多几个,发送和接收的数量一定是相等的,不可能在转账的过程中凭空产生代币,为了验证数量相等就将数量进行了公开,为了保证接收方地址不出错,要对发送方和接收方地址进行验证,这就使得要公开发币人和收币人的地址。
Mimblewimble要做的就是在不泄露那三个秘密的同时,来满足那两个转账时必备的需求。具体是怎样实现的,有一篇文章写的特别好,咱们借鉴文中的例子给大家进行讲解。
乘法很简单,但是分解很难,什么意思呢,请看接下来的说明。
这样的三个式子让你计算结果很简单吧,不嫌麻烦的口算一下,嫌麻烦的计算器一按不用一秒都得出了准确无误的结果。
如果是这样的一个式子,并且填的数字不能为一,难度是不是就陡增。可能一时半会都摸不着头脑。
我想有些人一定不服,认为这也不难算么,那如果变成下面这个式子呢?
我想现在你就已经放下了刚刚才拿起的笔,这个看起来也并不复杂,但还真不是轻而易举就能得到结果的。
当告诉你结果后,这个计算就不是问题了。
验证起来特别简单,经过简单计算就可以证明给出的这两个答案是正确的。
通过这个简单的例子就可以让你感知到乘法的魅力,现在你知道可以通过这种乘法的逆向运算来解决匿名问题,而我们私钥证明就是使用了这个原理。
下面我们就可以通过这种乘法的方式去解决文章开头比特币泄露秘密的问题。
第一个问题,如何隐藏交易的金额。
你明白了上面的乘法道理,隐藏金额就是一件很简单的事,Mimblewimble协议是这样做的。
显示的数字是真实交易金额乘了一个其他的数字,并且在Mimbewimble协议中更加复杂,由发送方和接收方各自提出一个这样的数字。
就这样将交易金额和一部分密钥进行了隐藏。
并且因为发送者和接收方都要参与创建交易,所以也不需要接收方的地址。
乘法分配,这个我相信小学生都会算。
先加后乘还是分别乘之后再加起来结果都是相同的。
突然说这个干什么呢,当然要用它来解决问题了,我们前面说过公开转账金额不光是让接收方和发送方都知道,还要验证发送和接收的数量是否相等。显然光靠前面那样隐藏数字还是不行的,要证明相等就要用到乘法分配了。
有些人看到这已经懂了,但是就算现在还不懂没关系,下面具体来说。
以转5枚代币为例。
发送方减少5枚,接收方增加5枚,并且都有一个数字相乘,相当于给数字进行了加密。
当进行验证时就会出现这样的情况。通过这样一种变化就达到了数量是否相等密钥是否正确都处在一种加密的状态下被验证。
既不影响那两个需求又不泄露那三个秘密。虽然实际上Mimblewinble协议其中许多设计比这里所说的复杂的多,但是最基本的实现原理就是这样的。
这次合作对Nervos来说有什么影响
其实隐私方面的问题是公链中的一个基础的问题,应用是十分广泛的,许多时候我们都不愿意让别人监控我们的地址,可能这就是币多的烦恼吧。
长文活动接受币友建议进行一定的改变,取消第三轮红包,改为精评活动,一、二轮照常发放。
每天二轮KEY红包,每轮1000KEY。
第一轮红包在文中“。”处。随文章一同发出。
第二轮红包在文中“,”处。第一轮抢完即发第二轮。
精评活动字数和转发都不进行强制要求,主要评选标准就是评论和文章内容的契合度。一共是1000KEY奖励。