加入收藏 | 设为首页 | 会员中心 | 我要投稿 南平站长网 (https://www.0599zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

解读:如何运用区块链隐私保护技术——以门罗币为例

发布时间:2018-11-10 18:45:13 所属栏目:经验 来源:佚名
导读:副标题#e# 【51CTO技术沙龙】10月27日,让我们共同探索AI场景化应用实现之道 在当今的加密技术中,隐私是一个很重要的话题,这已经不是什么秘密了。无论是公司还是个人都不希望将自己的所有信息发布到公共区块链上,不受任何限制,被本国政府、外国政府、家
副标题[/!--empirenews.page--] 【51CTO技术沙龙】10月27日,让我们共同探索AI场景化应用实现之道

在当今的加密技术中,隐私是一个很重要的话题,这已经不是什么秘密了。无论是公司还是个人都不希望将自己的所有信息发布到公共区块链上,不受任何限制,被本国政府、外国政府、家庭成员、同事或商业竞争对手随意读取。

比特币最初是作为一种假名加密货币开发的,只要现实世界的身份不会与比特币地址联系起来,它就能保持隐匿。然而,由于比特币区块链的公共性质,很快人们就清楚地发现,是有可能根据特定地址和交易的使用模式来甄别个人的。此外,节点在广播交易时也会泄漏其 IP 地址。

解读:如何运用区块链隐私保护技术——以门罗币为例
节点代表一个地址,边代表一项交易

区块链中的隐私保护

其实比特币在设计之初也考虑过账户与交易的匿名性,因为整个比特币的账户地址几乎是无限的,大家都可以随意创建钱包地址,这样你甚至可以做到每笔交易都拿一个新地址来接收,然而受限于区块链网络的公开性以及带来的可追踪性,对于这些分散的交易你可能需要整合才能进行一笔较大的交易,而这种多输入的交易一旦出现,就可以将这些来源地址划分到同一账户下,继而对这些账户进行进一步追踪,这样通过对整个交易网络的分析我们就能得到很多可关联的信息,加上交易金额也是公开的,对于一些特定金额的交易我们也能找到蛛丝马迹,如果对应地址的身份得到确认,通过这些信息就可以推算出更多的地址信息,另外还有找零所使用的零钱地址也会带来信息的暴露,早期比特币的客户端就出现过零钱地址总是在输出地址的第一个的bug,通过这样层层递进我们就可以揭开那些隐藏在比特币网络下的真实身份。

可以看到比特币网络所面对的隐私挑战还是很多的,可以说完全无法满足匿名性的需求,另外由于区块链交易的全程可追踪性,每笔资金的历史都可以查得清清楚楚,这就相当于给比特币都打上了烙印。

区块链中记录交易数据的全局账本在网络中是公开的,任意攻击者都能够获取所有交易信息,使交易者的隐私有泄露的风险。对账本中的数据进行分析整理,攻击者可以获得任意一个账户对应的所有交易,还可以分析不同账户之间的交易关系图谱。

即使用户采用不同的账户进行交易,攻击者也可以利用地址聚类技术分析出隶属于同一个用户的不同账户。而且由于用户进行的每一笔比特币交易都将永久记录在区块链中,一旦某一笔历史交易被实名化(例如比特币交易所受到黑客攻击,导致用户账户信息泄露),则相关的所有交易记录中的交易者身份信息都将泄露。

此外,随着区块链交易逐渐被应用到日常支付领域,攻击者可以利用链外信息推测区块链中账户的身份。例如,将用户的购物记录和比特币账户支付记录进行对比,分析账户的身份信息。

针对基于数据分析的隐私窃取方法,目前已出现一些隐私保护机制。主要思想是在不影响区块链系统正常工作的情况下,对公开数据中的部分信息进行隐藏,增加数据分析的难度。其中,混币是一种应用广泛的隐私保护方法。目前来说,比较典型的对交易内容进行隐藏的隐私保护方案主要是达世币(Dash)所采用的混币技术,门罗币所采用的环签名与隐秘地址以及zcash所采用的零知识证明,这些都汇聚了很多密码学的知识。

解读:如何运用区块链隐私保护技术——以门罗币为例

门罗币(Monero 或 XMR)是一个注重隐私、匿名性和不可跟踪的加密数字货币,它因为被网站或恶意程序利用 CPU 挖矿而受到广泛关注。但门罗币真的无法发现使用者的身份和跟踪交易?一组研究人员发现,虽然门罗币的隐私保护强于比特币,但它仍然未能隐藏用户的身份。

在 2017 年 2 月修改代码前研究人员发现门罗币并不匿名,可以被追踪。在这之前的交易很容易识别身份,而之后的交易在识别身份上也比用户以为的简单。

解读:如何运用区块链隐私保护技术——以门罗币为例

门罗币的匿名性主要是由其环形签名技术实现的。在十七世纪的时候,法国群臣向国王进谏时,为了不让国王追查到是由谁带头签名上书的,于是他们发明出了一种环形签名的方式,所有人的姓名按环形排列,自然的隐藏了签名顺序,从而做到无法追查源头。

环形签名算法与比特币一样也是使用基于哈希值的公钥+私钥模式,不同的是环形签名技术将交易发送方的公钥和另外一个公钥进行混合,然后对信息进行签署,最后再由接收者的私钥解密验证,这样一来外界就无法判断交易发起者的公钥是哪一个,从而使门罗币实现了隐藏交易发送方地址信息的功能,使外部攻击者无法看出地址之间的关联性。

Stealth Address (隐蔽地址)

首先我们来看看门罗币所使用的Stealth Address技术,这是门罗币用以提供匿名性保障的关键性技术之一。

解读:如何运用区块链隐私保护技术——以门罗币为例

与比特币中一个账户地址只有一对公钥与私钥不同,门罗币有两对密钥,可以理解为一对用来支付交易,一对用来查看交易。

用来支付的是spend key,这对密钥中的公钥用来参与后面的环交易,并对key image的签名进行验证,而私钥则用以创建key image。用来查看的是view key,这一对密钥中的公钥就是用来生成我们的一次性的Stealth Address,而私钥则是接收者用以扫描区块链来查看发送给他的交易。

门罗币的地址主要就是由上面的两部分密钥的公钥组成,基本结构大致如下:

解读:如何运用区块链隐私保护技术——以门罗币为例

这样得到的地址是138位,进行hex转换后将得到95位的标准地址。

然后看一下stealth address,其实它的中心思想很简单,就是利用接受者的view key的公钥计算出一个临时的一次性stealth address,然后将资金发送到这个地址,然后接收者对区块链进行扫描时发现这笔交易就可以利用自己的view key取走这部分资金,而网络上的其他人并不知道这笔交易是发送给谁的,只有接收者自己知道,从而确保了交易的匿名性

(编辑:南平站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读