• [比特币]比特币中的匿名性


    一般来说,匿名通常跟隐私保护联系在一起。在比特币是基于交易的区块链,系统中没有用户的概念,不要求用户使用真名,可以用公钥产生地址,所以比特币具有一定的匿名性。

    但比特币中的交易记录在区块链上,区块链是公开的。虽然使用者可以生成任意多的地址来隐藏自己,但由于所有的交易信息的都是公开的,仍可以通过分析链上的交易信息来锁定用户。从这点上来讲,比特币又不是完全匿名的。

    什么情况下会破坏匿名性

    分析交易地址

    正常情况下,比特币交易都是通过钱包进行的。使用钱包交易时,输出地址中通常会有一个用于接收找零的地址。市面上常用的比特币钱包就那么几款,有心研究的话,发现各个钱包生成找零地址的规律并不是不能发现的。一旦找出规律来,结合区块链将很容易定位用户的身份。

    与真实世界发生交易

    通过比特币与真实世界发生交易时,比如从比特币交易所变现,使用比特币购买咖啡等,这些情况下用户的真实身份是很容易确定的。

    如何提供匿名性

    比特币系统是运行于应用层的,底层是个P2P网络层,要提高匿名性可以从这两方面入手:

    • 网络层:多路径转发
    • 应用层:将不同人的币混合在一起,即将所有用户的身份混合在一起,让人无法区分

    区块链的公开、不可篡改的特性,对于隐私保护来说是灾难性的。

    零知识证明

    零知识证明是指一方(证明方)向另一方(验证方)证明一个陈述是正确的,而无需透露除“该陈述是正确的”之外的任何信息。

    同态隐藏

    零知识证明的数学基础是同态隐藏,同态隐藏包含以下性质:

    • 如果(x)(y)不同,那么它们的加密函数值(E(x))(E(y))也不相同
    • 给定(E(x))的值,很难反推出(x)的值
    • 给定(E(x))(E(y)),可以很容易地计算出某些关于(x)(y)的加密函数值
      • 同态加法:通过(E(x))(E(y))计算出(E(x+y))
      • 同态乘法:通过(E(x))(E(y))计算出(E(xy))
      • 扩展到多项式

    零知识证明的应用:零币和零钞。


    声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)进行许可,使用时请注明出处。


  • 相关阅读:
    桶排序
    Ultra-QuickSort
    Merge Sort
    Max Sum
    快排
    Oil Deposits
    1009: josephus问题
    A+B Again(在某个数中找大于m的最小约数)
    luogu4181 [USACO18JAN]Rental Service (贪心)
    luogu4185 [USACO18JAN]MooTube (并查集)
  • 原文地址:https://www.cnblogs.com/lianshuiwuyi/p/13576060.html
Copyright © 2020-2023  润新知