主页 > imtoken苹果怎么下载 > 浅析区块链隐私保护技术门罗币

浅析区块链隐私保护技术门罗币

imtoken苹果怎么下载 2023-02-09 06:50:23

一、简介

说起比特币出现的早期,亮点应该是它的去中心化以及随之而来的不变性,也就是说我们的账户信息不必提供给某个公司或者政府机构,看起来比较自由。 但事实上,随着政府监管力度的加强和各类交易所管理的加强,这部分自由已经受到了很大的限制。

但这不是我们要讨论的。 今天我们就从技术的角度来看一下区块链上的匿名性和隐私性。 这篇文章应该算是开始,所以会有一些简单的介绍。

比特币借币交易怎么玩_如何保障比特币交易安全_如果国内比特币交易网站销户了,那以后怎么交易

2. 区块链隐私保护

一、为什么需要隐私保护

其实比特币在设计之初也考虑到了账户和交易的匿名性,因为整个比特币的账户地址几乎是无限的,每个人都可以随意创建钱包地址,这样你甚至可以得到一个新的账户每笔交易。 地址接收,但受限于区块链网络的开放性和可追溯性,可能需要将这些分散的交易整合起来做成一个更大的交易,一旦出现这样的多输入交易,我们可以将这些源地址划分到同一个账户中,然后进一步追踪这些账户,这样我们就可以通过对整个交易网络的分析,得到很多相关的信息,而且交易金额也是公开的。 对于某些特定金额的交易,我们还可以找到线索。 如果确认了对应地址的身份,则可以通过这些信息计算出更多的地址信息。 另外,用于找零的找零地址也会带来信息暴露。 早期的比特币客户端有个bug,找零地址永远是第一个输出地址。 通过这一步一步,我们可以揭示隐藏在比特币网络下的真实身份。

可见,比特币网络仍面临着诸多隐私挑战。 可以说完全不能满足匿名的需要。 此外,由于区块链交易的全程可追溯性,每一笔资金的历史都可以一目了然,这相当于给所有的比特币打上了烙印。 那些参与过非法交易的比特币将永远保持这个品牌。 如果这样的钱在你手里,你肯定很难受。 如果你用比特币支付,别人可以看到你账户里有多少钱,怎么想都不太安全。

你可能认为区块链的隐私保护只是隐藏了账户所有者的个人身份信息和消费信息,但实际上区块链的隐私对于各种企业来说也是非常重要的,比如一些合约中的很多与对方在区块链上的签约,以及与客户的交易信息等,都应该被视为商业秘密,这些都是需要保护的。

区块链在隐私保护方面还存在很多薄弱环节,这里不再赘述。 一些网络嗅探和对节点的攻击也是非常具有威胁性的,但是区块链技术的匿名性确实有着得天独厚的优势,我们不能就这么放弃,所以这一切都在催促着新技术的应用。

2. 区块链隐私保护方案

说了这么多,其实我们关心的是交易的可见性,所以这里主要介绍基于交易信息加密的隐私保护方案。 可以说他们工作在事务层。 如果想更进一步,就得想办法处理更底层的分析,也就是网络层。 水平和篇幅限制就不多说了。 有兴趣的可以自行查阅相关资料。

目前典型的隐藏交易内容的隐私保护方案主要有Dash采用的混币技术,Monero采用的环签名和秘密地址,zcash采用的零知识证明,这些都汇集了很多密码学知识,如果再深入一些,你会发现它们真的很难,尤其是零知识证明,但是非常迷人,这可能就是密码学的魅力吧

此外,还有专为智能合约设计的Hawk方案和专为联盟链设计的Quorum和Coco框架,同样值得了解。 下面简单介绍一下门罗币采用的加密方案。

3. Monero的隐私保护方案

1.介绍门罗币

门罗币应该算是比较知名的加密货币了,现在看来已经超越达世币成为匿名币的老大哥了,不过说实话,之前我对它的了解主要是在挖矿领域,因为它使用了比特币的哈希算法比较特殊。 与比特币通过定制ASIC可以大大提高挖矿效率不同,比特币的这一特性使得其主要算力几乎全部来自于ASIC,即各大矿池。 为萝币定制ASIC的成本会很高,获得的提升也不是很大,所以我们可以直接用自己的电脑挖矿,而不是像比特币那样被矿池滥用。 服务器挖矿入侵和一些网站嵌入的恶意挖矿脚本一般都是针对门罗币的。 这些黑产对门罗币的青睐很大程度上是因为它的匿名性。 你不妨用它来挖门罗币。 收入不错的时候,说不定就能收回服务器的成本。

Monero的前身是bytecoin如何保障比特币交易安全,它基于cryptonote协议。 至于它的特点,就是区块链网络上的匿名性,所有的交易数据都是加密的,没有人知道一笔交易的输入。 哪个账户和输出来自哪个账户,所以这里的资金无法追踪,看起来很神奇,你一定很好奇这种情况下如何确认交易,毕竟没有人会知道你是否有足够的资金来完成交易,让我们看看Monero采用的加密方案是如何工作的

2. 隐身地址

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

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

用来支付的是spend key。 这对密钥中的公钥用于帮助我们参与后续的环交易和验证密钥镜像的签名,而私钥用于创建密钥镜像。 查看密钥用于查看,这对密钥中的公钥用于生成我们的一次性Stealth Address,私钥用于接收方扫描区块链以查看发送给他的交易。 这部分只是把概念划出来,看不懂没关系,后面会讲解。

门罗币的地址主要由以上两个密钥的公钥组成,基本结构大致如下:

网络编码(1 字节)+ 公共花费密钥(32 字节)+ 公共查看密钥(32 字节)+ 校验和(4 字节)

这样得到的地址是138位。 十六进制转换后,将得到一个95位的标准地址。 有兴趣的可以在这里测试Monero地址。

那么我们再来看看隐身地址。 其实它的中心思想很简单,就是利用接收方的查看密钥的公钥计算出一个临时的一次性隐身地址,然后将资金发送到这个地址,然后接收方检查区块的时候扫描链上发现这笔交易,可以使用自己的查看密钥带走这部分资金,网络上其他人不知道这笔交易发送给谁,只有接收方知道,从而保证了交易的安全性交易匿名

隐身地址的公钥计算如下:

P = H(rA)G+B

其中,H()表示门罗币使用的哈希算法,r为发送方选择的随机数,G表示椭圆曲线的基点。 不懂的话最好先查一下ECC,毕竟这也是区块链中的基本密码学,公式中的A和B分别代表接收方的public view key和public send key。

得到公钥P后,就可以得到一个门罗币地址,这是一个一次性的隐秘密钥。

接下来,发送方计算另一个 R=rG,然后将 R 打包到以 P 为目标的交易中,并将交易广播到链上。

接收者在这里不断扫描链上的交易,并为每笔交易计算:

P1=H(aR)G+B

其中a是接收方的查看私钥,因为椭圆曲线对应的公私钥关系中A=aG,所以rA=raG=aR,所以当接收方发现P=P1时,就知道这笔交易发送给Own如何保障比特币交易安全,因为对应的P1只能由接收方自己计算,所以除了他之外没有其他人知道交易的目标地址。

要花费交易,接收者只需计算相应的私钥:

x=H(aR)+b

使用这个私钥,可以对这笔交易中的资金进行签名使用。

可以看出,接收端的压力还是比较大的,需要扫描全链上的交易,这也是门罗性能的一大瓶颈。

3.环签名

接下来,让我们看一下门罗币中用来提供匿名性的另一个关键技术,环签名。

其实环签名的中心思想也很好理解。 当你直接签署一笔交易时,交易的来源自然就确定为你,但如果你选择交易的另一部分,你将把你的签名与这些签名结合起来。 混合后得到一个新的签名,这样别人就无法判断这笔交易是不是你发的,只能判断是来自那些公钥的集合。 其实这和混币很像。

自2001年第一个正式的环签名方案提出以来,环签名不断发展和完善,现已算是成熟了。 具体的操作方案有很多,但看得我有点懵。 下面就来简单介绍一下吧。 下面说一下环签名的过程。 如果想了解详情,可以参考cryptonote 2.0白皮书中的签名方案。

首先,发送方会确认一个环的大小,也就是这个环签名中使用的签名个数。 一般来说,环越大,对应的公钥集越大,也意味着安全性越高。 但是,这也会占用更多的空间,影响网络的效率和区块数据的扩展。 毕竟,这必须存储在链上。

确定环大小后,发送方会随机选择一个环大小为-1的公钥集,然后加上自己的公钥,形成大小为的公钥集{P1,P2,P3...Pn}戒指尺寸。 接下来发生的事情非常有趣。

我们将使用这些公钥一起构建一个方程,而要求解这个方程,你需要知道其中一个公钥对应的私钥,而且只需要一个,所以你可以使用自己的私钥来解密,然后将这个方程的解、公钥和选择的参数打包,形成签名,发送给验证节点。 验证节点验证你的签名后,可以确认你确实是这笔交易的发送方,但无法判断你就是公钥。 集中哪一个,至于这个方程,其实有很多解。 cryptonote的白皮书中有一个实现,写的很详细,但是有点复杂,就不细说了(其实还是太好了)。

完成环签名后,你可能还有很多疑惑,比如在无法确认发送方的情况下,如何保证不会发生双花攻击,这就涉及到新的密钥镜像,即I = xH( P) ,其中x是发送方的私钥,P是我们前面提到的隐身地址,意思是要发送给接收方P,因为P是一次性的,所以这个密钥镜像是给由每笔交易产生,也就是说每笔交易的关键图像是不同的。 节点可以通过验证密钥图像来验证交易是否发生,避免双花攻击。

4.环形CT

环形加密,即环形CT,应该算是门罗币比较新的技术创新,去年正式应用。 它进一步改进了前面提到的环签名,减小了签名的大小,进一步提高了效率,更棒的是,它的出现使得门罗币交易信息中的金额也被隐藏起来,唯一可见的就是交易金额Coinbase,也就是挖矿收益,这也算是进一步提高了门罗币的匿名性,同时交易规模的缩小也降低了所需的手续费,这一点相当重要。 毕竟门罗币之前一直被诟病手续费高,其中很大一部分都来自于这部分签名。

至于算法的详细过程,有兴趣的可以看看它的论文,就不赘述了(毕竟太牛了)。

四、写在最后

本文主要简要分析区块链的隐私保护情况以及门罗币采用的一些隐私保护技术。 毕竟发展了这么多年,它的结构肯定没有我说的那么简单。 阻力重重,但我还是不能轻易放弃。 至于其他的隐私保护方案,有时间我也应该写一下。 零知识证明很吸引人,但也让我非常头疼。 另外,我的水平有限。 文中如有错误,请多多指教。