-
区块链自带隐私保护机制
假名机制
用户可以独立生成任意数量的区块链地址,不需要通过注册或认证,并且同一用户生成的不同地址可以单独使用,彼此间不存在任何关系。仅通过地址无法关联到用户的真实身份,该机制能够隐藏用户在区块链上不同操作的记录。
广播机制
区块链系统通过 P2P 网络传输数据,采用flooding广播协议传播消息。接受节点是无法判断消息来源是直接发起者还是转发者,从而保护真实发起者的身份。
假名机制和广播机制能够在一定程度上保护用户的隐私安全,但在实际应用中,区块链用户的隐私仍然面临很多威胁。 主要原因是区块链为了保证去中心化系统的正确性和安全性,所有节点共同维护一致的分布式账本,记录区块链中所有的历史数据,为了所有节点都能验证账本的正确性,账本中所有数据要保持公开,所以账本数据能够被攻击者轻易获得,可通过分析公开的记录,来窥探用户的隐私。此外,区块链系统还采用去中心化网路进行通信,在公链中,节点加入网络不需要任何身份认证,这样增强了系统的扩展性,但也导致攻击者可以自由部署节点加入网络,监听网络中节点的隐私和通信信息。
-
区块链隐私威胁
这里,将区块链隐私威胁分为三个方面:
交易层的隐私威胁
·交易隐私威胁。攻击者可以通过分析交易记录获得,例如特定账户的资金余额、交易详情、特定资金的流向等信息。
·身份隐私威胁。攻击者在分析交易数据的基础上,通过结合一些背景知识获得交易者的身份信息。
网络层的隐私威胁
·恶意节点可以轻易接入网络,监听网络层的通信数据。
应用层的隐私威胁
·用户行为和区块链服务商导致的隐私泄露。
这里主要分析交易层面的隐私威胁。 对于交易隐私方面的威胁,可以对具有关联性的区块链地址进行聚类分析,能够得到许多有价值的信息,比如可以发现不同地址之间的资金关系,尤其对一些特殊账户,这种方法效果更好。还可以跟踪某些特殊交易,比如针对大额交易或者涉嫌盗窃等恶意行为的交易,可以通过持续监控后续的交易信息,追踪资金流向。 对于身份隐私方面的威胁,由于区块链交易中存在很多潜在信息,利用这些潜在信息有可能推测出交易数据背后的身份隐私,比如大多数多输入交易都是由同一个用户发起,这被很多研究者作为启发式推测条件使用,还有在同一个coinbase交易中的多个输出地址属于同一个用户集合、找零地址和输入地址隶属于同一个用户等等,利用这些信息都可以发现不同地址之间的关联性,降低区块链地址的匿名性。
-
交易层的隐私保护机制
通过分析交易层的攻击方法,可以看出攻击者主要是通过分析公开的区块链交易数据获得隐私信息.因此,交易层保护机制的侧重点是在满足区块链正常运行的基础上,防止恶意节点获得准确的交易数据,这主要有三类方法:
基于数据失真的技术
·通过将交易内容的部分数据进行混淆,使攻击者无法获得准确的数据,增加分析难度。难点在于不破坏交易结果的条件下,防止攻击者发现不同地址之间的关系。
·地址混淆机制(“混币”机制)
基于数据加密的技术
·通过将交易信息加密,使攻击者无法获得具体的交易信息,从而无法开展分析。这种方案的难点在于实现加密的同时,必须保证原有的验证机制不受影响。
·门罗币、Zcash(零知识证明zk-SNARKs)
基于限制发布的技术
·通过发布少量或者不发布交易数据,减少攻击者能够获得的信息,增加分析难度。
·闪电网络、联盟链和私有链
其中,这里主要分析地址混淆技术的各种方法。
-
地址混淆机制
地址混淆机制有多种不同的实现形式,根据具体操作者的不同,分为