主页 > imtoken钱包最新版本 > 区块链中的隐私保护方案

区块链中的隐私保护方案

imtoken钱包最新版本 2023-01-17 08:51:41

前言

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

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

页首配图

为什么区块链中的隐私保护需要隐私保护

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

可见,比特币网络仍面临诸多隐私挑战。可以说根本满足不了匿名的需求。另外,由于区块链交易的完全可追溯性,每个基金的历史都可以一目了然,相当于给所有比特币打上烙印。那些参与黑产交易的比特币将永远保持这个品牌。如果这样的钱得到你的手,你一定不要太确定。放心吧,同时,如果你在外面用比特币支付,别人可以看到你账户里有多少钱。这不是很安全。

你可能会觉得区块链的隐私保护看似只是隐藏了账户所有者的个人身份信息和消费信息,但其实区块链的隐私对于企业来说也是非常重要的,比如作为在区块链上与对方签订的一些合同,以及后续的交易。客户的交易信息等,很多都应该被视为商业机密,需要加以保护。

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

区块链中的隐私保护解决方案

p>

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

目前典型的隐藏交易内容的隐私保护方案主要是达世币采用的混币技术,门罗币采用的环签名和秘密地址,zcash采用的零知识证明,所有的里面收集了很多密码学的知识,深入进去,你会发现真的很难,尤其是零知识证明,但是非常的引人入胜,这可能就是密码学的魅力吧。

此外,还有专为智能合约设计的The Hawk方案,联盟链的Quorum和Coco框架也值得了解。下面我们来简单看看门罗币使用的加密方案

门罗的隐私保护方案介绍门罗

门罗币

门罗币应该算是比较知名的加密货币了,现在好像已经超越达世币成为老牌匿名币哥了,不过说实话,之前我对它的了解主要还是在挖矿领域,因为它使用的哈希算法比较特殊,不像比特币,通过定制ASIC可以大大提高挖矿效率。一个特点使得它的主要计算能力几乎完全来自ASIC,也就是各大矿池,而为门罗定制ASIC会非常昂贵,而且获得的提升也不是那么大,所以我们可以直接用自己的电脑来做挖矿,不会像比特币那样被矿池滥用。那些针对服务器的常见挖矿入侵和一些网站中嵌入的恶意挖矿脚本,一般都是针对门罗币的。罗币的流行,很大程度上也是因为它的匿名性。如果你有一台空闲的服务器,你不妨用它来挖门罗币。收入好的时候,或许可以收回服务器的成本。

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

隐形地址(隐形地址)

首先我们来看看门罗币使用的隐形地址技术是门罗币用来提供匿名保证的关键技术之一。

Stealth Address

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

支出密钥用于付款。这对密钥中的公钥用于帮助我们参与后续的环交易并验证密钥镜像的签名,而私钥用于创建密钥镜像。查看密钥用于查看,这对密钥中的公钥用于生成我们的一次性隐形地址,私钥用于接收方扫描区块链查看发送给他的交易。这部分只是介绍概念,看不懂没关系,我们后面会解释。

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

网络编码(1 byte)+public spend key(32 byte)+public view key(32 byte)+校验和(4 byte)

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

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

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

P = H(rA)G+B

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

得到公钥P后,得到一个门罗地址,即一次性隐形密钥。

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

接收方不断扫描链上的交易。对于每笔交易,计算:

P1=H(aR)G+B

其中a是接收者的私有视图密钥,因为椭圆曲线对应的公私钥关系中A=aG,所以rA=raG=aR,所以当接收者找到P=P1时,就知道该交易是发给自己的,因为对应的P1只能由接收方自己计算,所以除了他之外没有人知道交易的目标地址。

要使用这个交易,接收方只需要计算对应的私钥:

x=H(aR)+b

使用私钥签名本次交易的资金已使用。

可见,接收方的压力还是比较大的,需要对整个链上的交易进行扫描,这也是目前门罗币性能的一大瓶颈。

环签名

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

其实环签名的中心思想也很好理解。当你直接签署一笔交易的时候,交易的来源自然就确定是你了,但是如果你选择交易的另一部分,把你的签名和这些签名混合起来,你就会得到一个新的签名,这样别人就无法判断交易是否来自你,但只能判断来自公钥集合。事实上,这是一种混合货币。非常相似。

自2001年第一个正式的环签名方案提出以来,环签名一直在不断的发展和完善,现在已经算是成熟了。具体的操作方案有不少,但我有点糊涂。强制,我们简单说一下环签名的过程。想了解详情可以看cryptonote2.0白皮书中的签名方案。

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

确定环大小后,发送方会随机选择一个环大小为-1的公钥集,然后加上自己的公钥,形成一个环大小为{P1,P2的公钥集,P3...Pn}一个币有几个合约地址,接下来的操作很有意思。

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

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

环形CT

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

至于算法的详细过程,有兴趣的可以去看看它的论文,我就不展开了(毕竟太菜了)。

写在最后

本文主要简要分析了区块链的隐私保护情况以及门罗币采用的一些隐私保护技术。毕竟,它已经发展了这么多年。当然,结构并不像我说的那么简单。研究的过程中可能会遇到很多障碍,要放弃还是不容易。至于其他几个隐私保护方案,我也应该稍后再写。零知识证明很吸引人,但也让我非常头疼。此外,级别是有限的。文中如有错误,敬请指教。