天天看点

北大肖臻《区块链技术与应用》04

11.比特币的一些问题

12.比特币的匿名性

13.比特币引发的思考

11.比特币的一些问题

1.转账时接收人不在线怎么办?

-知道他的地址就行,离线没关系。

2.假设某个全节点收到了某个转账交易,接受者的收款地址是这个节点从来没有听说过的。

-是可能的。创建的时候不需要通知其他人,本地创建公私钥对就行了。

3.账户私钥丢失了怎么办

-没有办法,钱永远取不出来了,加密货币交易所,不受监管,未必安全。

e.g Mt Gox 交易所机构曾被盗了。破产了。

4.私钥泄露怎么办

-尽快转到安全账户上。

5.转账写错地址怎么办

-凉拌

6.会不会有的矿工偷答案,偷别人提交的nonce,怎么判断是哪个矿工最先找到的nonce?

-偷答案需要改目标地址,改地址coinbase tx就变了,导致markle tree 的哈希改变。nonce和根哈希都在header里。所以不可能偷答案。

7.怎么知道交易费该给哪个矿工?

-事先不需要知道哪个矿工会得到这笔交易费。只要total inputs>total outputs,差额就是交易费。

北大肖臻《区块链技术与应用》04

12.比特币的匿名性

Bitcoin and anonymity,privacy

Pseudonymity假的匿名

可能破坏比特币匿名性

第一个方面,这个人可能生成很多个地址账户,但是这些地址账户很可能是关联起来的。

第二个方面,这些地址和你社会中的真实身份产生关联。eg资金的转入转出

中本聪没有花比特币,到现在都不知道他是谁。匿名性很强。

Silk road 一个非法网站,eBay for illegal drugs,为了逃避法律,就是用的比特币。警察抓的时候搞了十几万个比特币。但是他不敢花。

经验表明,比特币匿名性并不是很好。

Hide your identity from whom?

如何尽量提高匿名性?

应用层和网络层。

网络层IP地址。多路径转发的方法,Tor,解决网络层匿名性。中间结点只知道上一个是谁,不知道源头是谁。

应用层,把各个不同人的币混在一起。Coin mixing,存在跑路风险。还有不断提币存币。但是要保证交易所不泄露你的信息。

零知识证明

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

向你证明我知道私钥但是我又不能把私钥告诉你——签名,你知道公钥,你验证一下。这个是不是零知识证明是有争议的,因为我透露了签名。

零知识证明的数学基础是同态隐藏

北大肖臻《区块链技术与应用》04

用户A自己生产序号。银行记录这个序号的币是否被花过,防范双花攻击。

银行只知道我给了你个币,但是是哪一个币我不知道,你再跟别人花的时候,别人无法验证你这个币是从哪里来的。盲签的原理并不复杂,在不知道具体内容的情况下对它签名。

北大肖臻《区块链技术与应用》04

专门为了匿名性设计的货币。

交易的时候,零币只要证明你花的这个币是系统中合法的就行,不用知道具体来源是哪个币。

数学原理很复杂。到现在还不是很主流。

为了加密,付出了代价,性能有损失。对初始化要求高,初始时用的随机元要能销毁掉,否则存在安全漏洞。需要极强匿名性的用户不是很多。

这个币在和现实生活中交互的时候还是无法保证匿名性。

北大肖臻《区块链技术与应用》04

13.比特币引发的思考

1.哈希指针

指针当中的地址只在本地有意义。区块链怎么传播的。

-实际上只有哈希没有指针。

北大肖臻《区块链技术与应用》04

怎么找到前一个区块的内容?

全节点把这些区块存在一个(key,value)数据库中,key是区块的哈希,value是区块的内容,常用的数据库levelDB。

2.区块恋

把私钥分开保存。降低账户安全性。私钥长度减小一半,破解难度降低很大很大。

不要截断私钥,用多重签名。Multisig

3.分布式共识

理论上是不可能的。

为什么比特币系统能够绕过分布式共识中的那些不可能结论?

严格说,比特币没有取得真正意义上的共识。比如分叉攻击。

理论和实际有差距。

不要被学术界的思维限制了头脑

4.比特币的稀缺性

早期都有冷启动

看看货币金融学

5.量子计算

不用担心。

量子计算离使用还很远。

量子计算首先冲突的是传统金融业的冲击。

将来会有量子加密算法。

量子计算机也很难完成公钥的哈希值逆运算。

哈希算法真牛逼!

关于比特币的部分就刷完了,接下来先看一段时间论文,再继续刷以太坊的。

密码学越学越有意思,尤其是密码学应用于加密货币中,加密货币又能生钱。太刺激了。一定要好好学。抓住这波制造财富的机会呀!!!

据说央行最近准备发加密货币了,刚开始一定会有冷启动期,希望可以挖一点。