北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考)

这篇具有很好参考价值的文章主要介绍了北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1️⃣ 参考

  • 北京大学肖臻老师《区块链技术与应用》
    • P12 - BTC匿名篇
    • P13 - BTC思考篇
  • 部分图片和文字来源
    • 北京大学肖臻老师《区块链技术与应用》公开课笔记13——BTC匿名性篇2(零知识证明)

1️⃣2️⃣匿名

① 比特币的匿名性 (bitcoin and anonymity)

比特币并不是真的匿名,而是pseudonymity(笔名,化名)。

  • 比特币匿名性比较
    • 与现金
      • 现金更好,现金没有任何信息,连假名也没有
    • 与银行
      • 银行账户是实名制,你得提交身份信息,然后才能注册银行账户,而比特币不需要,从这点上看比特币匿名性要好。
    • 与银行(允许用化名)
      • 银行的匿名性更好,比特币可以追溯你的交易,虽然很麻烦但是可以做到,但是银行是有隐私协议的,尽可能保护用户隐私

有的人推荐每次收款都用一个新的地址,这样的话可以有不同的地址,谁也不知道哪些是属于你的,看起来好像匿名性很强,但实际上这些地址是可以被关联在一起的。

  • 比特币系统中什么情况下有可能破坏匿名性
    • 第一,一个人可以生成很多个地址账户但这些地址账户是有可能被关联起来的
      • 如下图,在输出中,很有可能有一个地址是属于找零钱的地址,即花掉之后剩余的钱。在某些情况下,也是可以分析出来的。
        北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链
    • 第二,地址账户跟现实世界中的身份也可能产生关联
      • 最明显的例子就是资金的转入和转出,盯住比特币的转入转出链是一个常用的手段。大笔的比特币和货币的交易想不引起司法部门的注意是很难的,转入转出也是比特币隐私容易被破坏的一个很重要的时机。
      • 社会工程。在实体世界中用比特币做支付,比如国外有的商家是接受比特币支付。

这样支付账户就跟你的真实身份建立联系了。这个账户可能跟个人的其他账户也是有联系的,所以这样很容易泄露个人隐私和身份。而且该交易不仅是该商家会知道,其他人也会知道。


  • 用比特币(线下)交易的缺点
    • 延迟很长。等到交易确认要等六个区块生成,即一个小时。
    • 交易费贵。如果买咖啡,交易费可能都跟咖啡差不多贵了。
      这样的话,

Satoshi Nakamoto 中本聪是匿名性最好的


  • 一个比特币用户能采用什么样的方法尽量提高个人的匿名性
    • 从两个方面入手
      • 比特币协议是运行于应用层 (application layer)
      • 底层是 (network layer)。

  • 网络层怎么提高匿名性?
    多路径转发。跟洋葱路由 (TOR) 是一样的原理。
    北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链

  • 应用层怎么提高匿名性?
    • 1) 币混(coin mixing)

      • 把不同人的币混在一起
      • 即把你的身份跟别人的身份混在一起,让别人分不清楚谁是谁。不光是区块链,在其他各个需要匿名的领域都能用到。有一些专门做 coin mixing的网站,提供一定的服务收取一定的服务费。所有想做coin mixing的人把币发给网站,网站内部进行一些重组,然后你再把币取回来,这时取出的币就不是发布到网站上的币了,它是随机抽取一些币给你
      • 缺点
        • coin mixing真正实施起来有一定的复杂性,如果设计不好的话,别人可以根据你当初存进去币的数额,推断出来哪些币是你存进去的。而且,在当今的区块链的世界里,没有什么信誉度非常高的coin mixing的服务。很多coin mixing的服务它本身也是要保持匿名的,它匿名的后果是:有可能投进去的币被他卷款跑路了,投币者是一点办法都没有的。
    • 2) 在线钱包

      • 很多人会把钱存入在线钱包里,在线钱包就会把这些人的币混起来,再取回自己的币时可能就不是当初存进去的币了。但在线钱包并不保证要履行coin mixing的功能。
    • 3) 交易所

      • 还可以通过加密货币的交易所,交易所一般有天然的coin mixing的性质。前提是交易所不会泄露提币、存币的记录,否则也是不行的。

  • 为什么保护隐私性难度挺大?
    • 本质原因是区块链是公开的,而且是不可篡改的。不可篡改性对于隐私保护来说是灾难性的。

② 零知识证明(Zero-Knowledge Proof)

  • 概念(From 维基百科)
    • 一方(证明者)向另一方(检验者)证明某命题的方法,特点是过程中除“该命题为真”之事外,不泄露任何资讯。因此,可理解成“零泄密证明”。

②① 同态隐藏(零知识证明的数学基础)

北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链

  • 第一个性质

    • 说明如果有E(X)=E(y),则必然有x=y。(无碰撞,这跟哈希函数有所不同,哈希函数是可能出现碰撞的)。反过来逆否命题说明如果 E (x) 和 E (y) 是相等的,那么 x、y 也是相等的
  • 第二个性质

    • 说明加密函数是不可逆的,知道加密后的值,没办法推出加密前的值。(hiding property
  • 第三个性质是最重要的,叫作同态运算

    • 它说的是对加密之后的函数值进行某些代数运算,等价于对这些输入直接进行代数运算然后再加密
    • 同态加法:加密值的和等于和的加密。
    • 同态乘法:加密值的乘积等于积的加密。

②② 举栗子

北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链
北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链

②③ 简单的答案

北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链

  • 说明
    • Alice将E(x)、E(y)发给Bob。(性质2,不可逆)
    • Bob通过收到的E(x)、E(y)计算得到E(X+Y)。(性质3,同态加法)
    • Bob进行验证E(x+y)和E(7)是否相等。若相等则验证通过,否则验证失败。(性质1的逆否)
    • 缺陷:Bob可以暴力获取x与y的值。因此 Alice 要对 x 和 y 的值做一些随机化处理,保证 x 和 y 加起来还是不变的。

补充

  • 为什么计算机科学如密码学喜欢用 Alice 和 Bob 举栗子?(源于知乎问题)
    北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链

②④ 盲签

正如其名,签名的人看不到所签署文件的具体内容就签

  • 特点
    • 签名者对消息的内容是不可见
    • 签名被公开后,签名者不能追踪签名

为什么要这么做呢?
例如电子交易中,我们的交易信息依赖于银行等第三方机构。第三方机构需要防范双花攻击等,就需要对电子货币进行签名。而签名的过程中,必然会导致其了解到交易内容。如果想要银行等第三方机构负责相应工作,但不知道交易具体内容,就可以采用盲签的方法。

北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链

我举一个例子:
A从汉堡店得到了一个薯条券,A把券给B,B去汉堡店兑换薯条,商家是不知道B的券是哪来的,但知道这个券是合法的

②⑤ 零币和零钞(专门为匿名性设计的加密货币)

比特币在很大程度上提供了匿名性,但它不能完全消除关联性,那么我们能不能设计一种新的加密货币,这个货币从一开始的结构设计上就用了密码学的原理保证了匿名性,所以就有了零币和零钞
北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链

  • 与比特币的本质区别

    • 用的时候要证明本来是有一个基础币,让基础币变得不能花费 (unspendable),然后换取一个零币,零币在花的时候只需要用零知识证明你花掉的币是系统中存在的某一个合法的币就行了,但是不用透露你花的是系统中具体的哪一个币。这样的话就把关联性破坏掉了,就没法追溯了
    • 而比特币是每一笔转账交易都要说明币的来源
  • 零币和零钞的不足

    • 因为其为了设计匿名性,付出了一定性能代价
    • 并未解决与系统外部实体发生交互时对匿名性的破坏

1️⃣3️⃣思考

① 哈希指针

问题

  • 指针保存的是本地内存的地址,那么只是在本地这台计算机上才有意义,发送到其他计算机上就没有意义了。那么在发布区块的时候哈希指针是怎么能够通过网络进行传输呢

北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考),区块链
所谓的哈希指针只是一种形象的说法,实际系统中用的时候只有哈希,没有指针。回顾一下之前看到的block header的数据结构,如上图。block header里只有哈希值,没有指针,也可以认为哈希值的本身就是指针

  • 那么怎么才能找到前一个区块的内容呢?

全节点一般是把这些区块存储在一个 (key哈希,value区块内容) 数据库里面,一个常用的 key value 数据库是 level DB。所谓的区块链这种链表结构实际上是在level DB里面用哈希值串起来的。
只要你掌握了最后一个区块的哈希值,那么你通过level DB的查找,可以把最后一个区块的内容取出来。然后这个区块块头里面,又有指向前一个区块的哈希值,可以找到前一个区块的内容,以此类推,一步一步往前找,最终能够把整个区块链都找出来。

有一些节点没有保存完整的区块链的信息,只保存了最近的几千个区块,如果需要用到前面的区块的信息可以问其他的全节点要。哈希指针的性质保证了整个区块链的内容是不可篡改的。

② 区块恋

就是指,把一个私钥截断,分成几份,有几个人各自保管,只有最终大家都拿出自己的部分私钥,才能拼成完整的私钥。

  • 这样存在的问题
    • 这些人中任何一个人把私钥丢了钱就取不出来了。
      • 这对矿工UTXO不友好,造成这个UTXO集合的膨胀
    • 因为比特币系统中每个账户的安全性跟所用的私钥的长度是相关的。这种截断私钥的做法会降低账户的安全性。因为分一半的话难度就从 2 256 = > 2 128 2^{256} => 2^{128} 2256=>2128,如果是四个人的话,其中三个串通,难度就变成 2 256 = > 2 64 2^{256} => 2^{64} 2256=>264

③ 分布式共识

前面已经讲过,从理论上实现分布式系统的共识是不可能的

  • 为什么比特币系统能够绕过分布式共识中的那些不可能结论?
    • 严格来说,比特币并没有取得真正意义上的共识,因为取得的共识随时有可能被推翻,比如出现了分叉攻击。(可能回滚,甚至是回滚到创世纪块)

按照分布式系统理论的要求,共识一旦达成之后,就不应该再改了,所以从这方面来说比特币并没有绕过分布式系统那些不可能的结论,因为它并没有达到真正意义上的共识。这说明理论和实际往往是有区别的

④ 比特币的稀缺性

  • 早期如何吸引人来挖矿?

    • 要么增加挖矿的收益
    • 要么降低挖矿开销
    • 给早期的矿工高收益是合理的,因为他们也承担了风险
  • 比特币的做法是

    • 早期难度设置的比较低
    • 早期的出块奖励比较高

比特币这种总量恒定的性质是不适合用来做货币的。一个好的货币其实是要有通货膨胀的功能的。

⑤ 量子计算

随着量子计算的发展,量子计算机计算力变得越来越强大,加密货币会不会变得不安全了?

  • 这种担心是没必要
    • 第一,量子计算技术离实用还有很长一段距离,如果量子计算在将来能强大到破坏加密体系的话,首先会冲击的是传统金融业(网上银行)。
    • 第二,比特币当中没有把账户的公钥直接暴露出来,而是用公钥取哈希之后得到一个地址。比特币当中用的非对称加密体系,从私钥是可以推导出公钥的

  • 假设将来量子计算技术发达了,能够从公钥中推出私钥,那怎么办呢?
    • 首先,收款是用公钥的哈希地址
    • 其次,哈希是不可逆的

  • 加密和取哈希是两个不同性质的操作
    • 加密的是为了将来能够解密,所以加密算法要保证信息的完整性
    • 哈希是不可逆的,取哈希的过程一般是会造成信息的损失

试想,如果哈希可逆,那可就变成了一个超级压缩算法。(所有数据岂不是都可以压缩成256位)


  • 自己收款:公钥哈希生成的地址
  • 自己取款:公钥和私钥产生的签名

  • 安全的做法
    • 一个地址用过之后就不要再用了,每次取钱最好把钱一次取走,即使取不完,也最好把钱转给另一个安全的账户
    • 公钥不随便泄露

升华

  • 很多理论上的不可能结论对于实际当中是并不适用的,因为这种不可能结论只是对某种特定的模型下是不可能的,实际当中把模型稍微改一改不可能结论就不成立了。

  • 不要被学术界的思维限制了头脑,不要被程序员的思维限制了想象力文章来源地址https://www.toymoban.com/news/detail-859162.html

到了这里,关于北京大学肖臻老师《区块链技术与应用》P12(匿名)和P13(思考)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 北京大学肖臻老师《区块链技术与应用》ETH笔记 - 13.0 ETH-美链 事件

    13.0 ETH-美链 事件 2018年4月发生的事件,美链是发行在以太坊上的代币,这些代币没有自己的区块链,而是以智能合约的形式运行在以太坊的EVM平台上。发行这个代币的智能合约,对应的是以太坊状态树的一个节点,这个节点有它自己的账户余额,就相当于这个智能合约一共有

    2023年04月27日
    浏览(33)
  • 北京大学肖臻老师《区块链技术与应用》ETH笔记 - 11.0 The DAO 事件

    11.0 The DAO 事件 以太坊实现了去中心化的合约,有人想既然去中心化这么好,为什么不把所有的东西都改成去中心化呢?有人提出口号:decentralized everthing。DAO(Decentralized Autonomous Organization)去中心化的自治组织就是在这个背景下诞生的。传统社会下,组织都是建立在某种法律文

    2024年02月11日
    浏览(26)
  • 北京大学肖臻老师《区块链技术与应用》ETH笔记 - 7.0 ETH挖矿算法篇2

    7.0 ETH挖矿算法篇2 7.1 伪代码理解以太坊挖矿算法 mkcache:根据一个seed,填充整个cache数组。 calc_dataset_item:通过cache来生成大数据集中的第i个元素,基本思想是通过伪随机的顺序读取cache中的256个数,每次读取的位置是由上一个读取的数计算得到的。第一个要从cache读取的数据

    2024年02月01日
    浏览(30)
  • 北京大学肖臻老师《区块链技术与应用》ETH笔记 - 8.0 ETH挖矿难度的调整

    8.0 ETH挖矿难度的调整 比特币是每隔2016个区块来调整挖矿的难度,目标是维持出块时间平均在10分钟左右,以太坊是每个区块都有可能调整挖矿难度,调整的方法也比较复杂,而且还改过好几个版本,包括以太坊的黄皮书和实际代码也有一些出入,我们这部分以代码为准。

    2023年04月08日
    浏览(39)
  • 北京大学肖臻老师《区块链技术与应用》公开课笔记:以太坊原理(一):以太坊概述、账户、状态树、交易树和收据树

    1、ETH-以太坊概述 比特币和以太坊是两种最主要的加密货币,比特币被称为区块链1.0,以太坊被称为区块链2.0 以太坊在系统设计上针对比特币运行过程中出现的问题进行了改进,比如: 出块时间 ,比特币的区块时间是10分钟,以太坊的出块时间大幅度降低到了十几秒,而且

    2024年01月18日
    浏览(45)
  • 《区块链技术与应用》北大肖臻老师——课程笔记【21-23】

    提示:以下内容只是个人在学习过程中记录的笔记,图片均是肖老师课程的截图,可供参考。如有错误或不足之处,请大家指正。 权益证明proof of stake 比特币和 以太坊目前都是使用基于工作量的证明,这种共识机制受到一个普遍的批评——浪费电。 Y轴是TWH=Terawatt hours 10的

    2023年04月08日
    浏览(32)
  • 《区块链技术与应用》北大肖臻老师——课程笔记【11-12】

    提示:以下内容只是个人在学习过程中记录的笔记,图片均是肖老师课程的截图,可供参考。如有错误或不足之处,请大家指正。 1. 转账交易时如果接收者不在线(没有连接到比特币网络上)怎么办? 转账交易不需要接收者在线,这个交易只是在区块链上记录一下,把发送

    2024年01月22日
    浏览(36)
  • 《区块链技术与应用》北大肖臻老师——课程笔记【6-8】

    提示:以下内容只是个人在学习过程中记录的笔记,图片均是肖老师课程的截图,可供参考。如有错误或不足之处,请大家指正。 比特币网络传播的工作原理(the BitCoin network): 比特币工作在应用层(application layer),底层是P2P的overlay network(覆盖网络)。 比特币的 P2P网络

    2024年01月18日
    浏览(34)
  • 《区块链技术与应用》北大肖臻老师——课程笔记【19-20】

    提示:以下内容只是个人在学习过程中记录的笔记,图片均是肖老师课程的截图,可供参考。如有错误或不足之处,请大家指正。 Block chain is secured by mining. 对于基于工作量证明的系统来说,挖矿是保障区块链安全的一个重要手段。 比特币的挖矿算法总的来说比较成功,没有

    2024年02月09日
    浏览(27)
  • 《区块链导论》北京大学 雷凯 — 郑纬民院士、李晓明教授作序

            国务院发布的《“十四五”数字经济发展规划的通知》明确指出,到2025年实现我国数字经济竞争力和影响力的稳步提升。23年7月新出版的 《区块链导论》 (作者:北京大学 雷凯;ISBN:978-7-121-45433-2)一书全面介绍了区块链的基础知识,包括区块链概述、区块链

    2024年01月19日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包