美文网首页区块链区块链研习社区块链大学
第二十一讲 张治谈“区块链的诞生及运转”:环签名技术与门罗币 |

第二十一讲 张治谈“区块链的诞生及运转”:环签名技术与门罗币 |

作者: 55e841da187d | 来源:发表于2018-11-24 10:56 被阅读4次

    大家晚上好!

    上周的话题是零知识证明,主要讲解了这项技术在隐私保护方面的一些应用。接下来的话题还将围绕隐私保护讲解一些其他技术。本次课的内容为“环签名”,这项技术被应用在数字加密货币“门罗币”之中,来保障门罗币的匿名性和隐私性。

    -环签名-

    01环签名的作用

    在签署一份文件或发送一笔交易的时候,如果不对签名信息进行处理,那么实际签名者的身份就很容易被其他人得知。环签名技术目的就是不让其他人看出谁是实际签名者,但是又能证明确实是正确的人进行了签名。举个例子:

    以前有一个大臣想要给国王进谏,但是他不想让国王知道是他牵头的,以免惹上杀身之祸,于是让所有官员都签署了这份进谏文书,并且将这些签名呈现一个环状,这样从签名上看,没有人的签名是排在第一位,国王就无法得知究竟是谁牵头起草的文书,但是又知道确实有人在牵头做这件事。这是环签名最原始的例子。

    那么环签名如何应用到计算机加密领域中呢?

    02环签名在计算机加密领域的应用

    为了让大家更好的理解环签名在计算机世界发挥的作用,首先介绍与环签名类似的一项签名技术——群签名。

    1.群签名原理

    群签名是一种群体签名的方式。比如某公司所签发出去的文件中,签名都是该公司的名字,外界就无法得知到底是这个公司哪个人签署的。

    在计算机领域实现群签名的时候,首先管理员会生成一个群公钥和群私钥,而后为每个群成员颁发证书,颁发证书前需要使用群私钥先进行签署。在群成员得到属于自己的群证书后,就可以使用这个证书对自己发出的各种消息进行签名了。

    这个签名对于群成员来讲,是只能看到群信息而不能看到实际签名人的,但是可以使用群管理员发出的群公钥进行验证,确认这个消息确实是群成员签署发出的。

    但是对于管理员来讲,他是可以使用颁发证书的私钥对群成员的签名进行解密的,从而得知实际签名人信息,也就是说管理员拥有解密权限。虽然从一定程度上降低了隐私保护力度,但实际上也可以对意图作恶的群成员形成一定的威慑,防止他们作恶。

    2.环签名原理

    环签名也是一种群体签名的方式,但它的思想是连群签名里中心化的管理员也取消掉。

    实际应用中,首先由系统给每一个成员产生一个密钥对(公钥和私钥)。

    在群成员签名时,签名者用自己的私钥和任意多个群成员(包括自己)的公钥为消息生成签名。

    在验证时,验证者可以通过所有使用的公钥和签名后的消息(通过哈希运算生成的一串哈希值),验证签名是否是群成员所签署的。

    这样签名者的私钥信息就可以隐藏在签名后产生的哈希串中,其他人就无法确定环签名是由哪个成员生成的,也就达到了隐藏签署者信息的目的。

    这就是环签名实现的基本原理。

    -门罗币-

    环签名的基本原理在门罗币的一些具体流程中得以实现。

    01门罗币的特点

    门罗币的目标是实现持币人能够对所持币拥有绝对的控制权,这就需要门罗币满足三个条件:

    数字形态的,即电子现金;

    去中心化的,例如比特币;

    隐私的,即持币量、交易信息等在系统中完全隐私、不透明。

    在实现过程中,门罗币提出了一个概念,即币要有可替代性。下面先来了解下什么是不可替代性:

    假如A借给B一辆宝马车,B又还给A一辆宝马车,但这辆宝马车并非A的那辆,而是B从另一个地方拉过来的,那么大概率事件是A是不会愿意的,因为这已经不是A原来的那辆了。宝马车是不可替代的。

    那么可替代性是指什么呢?例如:A借给B 100元钱,而后B还给A一张面值50元、两张面值20元和一张面值10元的钞票,显然A是可以接受的。这里的钱就是可替代的。

    02门罗币创造初衷

    对于具备隐私保护性的加密货币来讲,没有印记的、可替代的特点是必须存在的。以比特币为反例,虽然它的每一个地址都是匿名的,但是仍然能够追踪到比特币的交易地址,而且在程序上完全可以识别哪些比特币与某个交易地址有关,这就相当于给比特币施加了印记。如果某地址涉嫌非法交易,就可以将与该地址有关的比特币同样视为非法的,那么这些币也就不能在进行正常的交易了。

    门罗币的创造者并不赞同上述做法,因为通过不同渠道购买比特币的人可能并不知道这些币曾经参与过什么交易,但却被判定为所持币是非法的,平白无故地损失一笔资金。所以门罗币的创造者要将门罗币变成一种完全隐私、不透明的数字加密货币,使其具备可替代性。

    03门罗币隐私保护手段

    在比特币和以太坊网络中,每一个账户只有一个公私钥对,而门罗币网络的每一个账户地址都有两种公私钥对,分别为view key(即观察者key,包括public view key 和 private view key) 和spend key(花费者key,包括public spend key 和 private spend key)。门罗币在实现它所希望实现的特性时,主要从四个方向切入:(1)发送方匿名化;(2)接收方匿名化;(3)隐藏交易金额;(4)传输数据过程匿踪化。

    1.发送方匿名化

    在交易发送方的操作中,首先要进行一次环签名,发送方可以从系统中存在的地址中,随机抽取一定数量的公钥(public view key),与自己的公钥和私钥(private spend key)相结合,完成环签名,使得交易发出后其他人无法知道真正签署者信息。

    在这个签名环节中,抽取的公钥size越大,相应的交易手续费就会越高。

    在验证环节,矿工如何验证这笔交易金额不会被双花呢?在一个用户发出一笔交易时,他所使用的私钥是private spend key,同时他会用这个私钥生成一个密钥镜像(key image), 每一笔交易都会有唯一的密钥镜像,当矿工做验证时,就会先去比对这笔交易的秘钥镜像,如果有人想使用这个签名再去发送另一笔交易,矿工就可以非常容易地检测,判断是否双花。

    比特币交易的验证环节是去检查交易地址,而门罗币则是检查密钥镜像,这样在交易发送端通过环签名技术,也就实现了发送方的匿名化。

    2.接收端匿名化

    在门罗币网络中,当交易发出后,目标地址是接收账户地址吗?显然不是的,因为要实现匿名化。

    接收地址由另外两个key组成,也就是接收方账户所提供的public view key和public spend key结合产生的一次性公开地址,资金将会通过这个地址发送给接收方。

    在接收过程中,接收方通过自有的private view key去扫描相关交易,如果交易能够和他的private view key互相验证,那么就能够取回属于他的资金。

    整个过程中,因为private view key是接收方所唯一持有的,其他人也就无法看到实际接收方的真实信息,从而达成了接收匿名性的目的。

    3.交易金额

    除了交易双方信息匿名化,门罗币还隐藏了交易金额。

    具体实现过程中,门罗币团队发明了环签名保密交易技术,即Ring CT(RING CONFIDENTIAL TRANSACTIONS),是指把原始的交易金额进行了一定的运算,并和另一个随机数经过处理所得的结果相加产生另一个数字作为这笔交易的金额,但接收者同样可以使用个人私钥进行解密验证,来获得具体的金额信息。

    在整个交易过程中,虽然各种信息包括发送方、接收方、金额等信息都是加密的,但系统是可以确保所记录的信息是真实无误的。

    4.数据传输过程匿名

    除了隐藏所有交易信息,门罗币点对点网络系统中的各个节点,在做数据交流时可以采用一种叫做I2P的路由技术,该技术与洋葱路由很像,能够让节点无法得知信息流向以及具体内容。这样,如果要追踪一个交易,当遇到一个路由以后就没有办法再追踪下去了,因为流入路由的数据流和流出路由的数据流之间找不到对应关系。

    综上,门罗币网络系统就成为一个无法被监管、但所有人都对自己持有的币拥有绝对控制权的系统。当然在这方面门罗币也就会有一定的争议性。

    今天的分享就到这里,下一次我们会再讲另一个与隐私保护有关的话题——安全多方计算,也是近期热度较高、比较新颖的隐私保护技术。

    谢谢大家!​

    彩蛋

    1、转发文章到朋友圈,送50平台积分(不许设置权限、删除,截图发群秘,未进群的小伙伴请先加群秘入群)

    2、本篇文章内留言,超过50个赞,送500平台积分(留言限高质量提问、精彩观点分享、参考资料推荐)

    以上两项活动时间截止本周日20:00。

    3、Q&A、大神考核环节:

    小伙伴可在授课公众号文章内留言提问。

    DRC精选问题,下周一晚8点直播解惑,并开展线上互动Q&A,随后将迎来大神考核,根据课程内容出三道题,每个社区群全部答对的最快的前三名小伙伴将平分600平台积分。​

    上期精彩回顾:

    张治谈“区块链的诞生及运转”第二十讲

    相关文章

      网友评论

        本文标题:第二十一讲 张治谈“区块链的诞生及运转”:环签名技术与门罗币 |

        本文链接:https://www.haomeiwen.com/subject/qnpeqqtx.html