加载中 ...

一冠王深度剖析比特币系统——12.关于比特币最后的思考

2019-07-08 08:16 编辑:btc268.com 来源:区块链资讯

  

  北京下了一整天的雨,公司门前的共享单车排列的整整齐齐。

  纵观我的前生,我始终没有好好地感受过北京这座城市。

  在我见到女孩子还没有任何杂念的年月里,我只知道天安门就是北京。杂念莺飞草长,脑中的北京便多了长城,天坛和清北。

  存于概念,长于新闻的城市应该跟平民百姓的生活没有多大关系,所以这里自然不需要淅沥一整天的雨。

  北京城大而无当。但对于老北京人来说,看不到的地方都不是北京。

  东城和西城座有帝王气,四方匀称才是故乡,海淀那是乡村,丰台那是河北。

  世事逼仄。恍惚了很久我才弄明白天安门原来是清明皇城的正门。无论当年的金戈铁马是怎样黄沙浮沉般攻城略地,一场雨就会将画面洗的清透。

  我知道景山上崇祯上吊的那棵老槐树已经死了很久,后海里老炮儿嘴里也渐渐不再提八旗,我也知道吹过的牛逼就像青春一笑了之。

  就给比特币专题收个尾吧。

  关于比特币最后的思考

  1. 哈希指针

  比特币的设计中很多地方都是用了哈希指针。比如每个区块头就包含指向前一个区块的哈希指针。

  但是学过计算机的同学都知道指针是存在计算机内存中的,你把这个计算中的指针放到别的计算机中是无效的。那么哈希指针是怎么做到在任何计算机中都能够生效呢?

  其实哈希指针只是一种形象的说法,实际应用中只有哈希,没有指针。

  回头看一下比特币block header的数据结构:

  

  hashPrevBlock字段就是指向前一个区块的哈希。这里只有哈希,没有指针。那么是怎么找到前一个区块呢?

  一般全节点是把所有的区块存在一个KV数据库里。key就是区块的hash,value是区块的内容。

  比特币应用的KV数据库是levelDB,所谓的区块链就是在levelDB中利用键值串联起来。

  只要你掌握了最近的一个区块的hash值,就可以取到它的区块内容,进而取到区块头以及区块头中前一个区块的哈希值。这样就可以一直逆推出前面所有的区块。

  一些节点并没有保存整个区块链的所有区块,仅仅保存了最近的几千个区块。当他们需要查询没有存储的区块时,就可以向其他的全节点要。

  2. “区块恋”

  我好久没有谈爱情了,正好赶上现在这个“分手已成佳话”的时代,也来蹭蹭热度 。

  我只蹭蹭,不进去。

  据说2017年七夕的时候,有些情侣合资购买比特币,然后将私钥从中间截断,每人保留一部分。如果一旦分手了,那么这些比特币将永远地成为不会被使用的UTXO。

  他们用区块链的不可篡改性做了爱情的见证。

  这样的作法曾引起过我的反思,假如有四个合伙人是不是也要把私钥平均分成四份呢?这样做有什么问题?

  第一、如果四个人中的一个人弄丢了私钥,那么这笔钱就可能永远无法被使用了。

  第二、这种截断私钥的作法,其实大大降低了私钥破解的难度。比特币地址安全是由于私钥长度决定的。之所以要采用256位的私钥,就是因为暴力破解在256位这个长度是不可行的,计算量太大了。但是只丢失了其中一部分,就只需要破解剩下丢失的那部分了。

  千万不要认为破解256位私钥的难度是破解64位私钥的难度的四倍!256位私钥有2^256种可能性,64位的私钥有2^64种可能性,那么他们之间差了多少倍?2^256/2^64=2^192(倍)。细思极恐呀。

  所以,在这里我想告诉大家,对于多人共享账户的情况,不要采用平分私钥的作法。而是采用多重签名

  前面我也谈过多重签名。多重签名中依赖的每一个私钥都是完整的256位私钥,破解的可能性几乎为。而且还有灵活的选择性,如N个私钥中提供M个私钥即可通过验证。

  3. 分布式共识

  对于分布式系统,许多科学家都给出了很多“不可能”结论。在理论上证明出了,分布式系统中取得百分百的共识是不可能的。那比特币系统为什么能够绕过分布式共识中的那些"不可能"结论呢?

  严格地说,比特币并没有完全地取得理论意义上的共识

  分布式系统要求一旦共识达成,那么就应该不可修改。但是比特币的分叉攻击在理论上是可以回滚链上数据的,所以比特币系统中并没有绕过那些“不可能”结论。

  比特币是分布式异步通信系统。所谓异步环境是指通讯传输的延迟是没有上限的。我给你发一个消息,你什么时候能收到谁也不知道。

  所以,比特币的成功说明了一个问题:理论和实际是完全不一样的,有些理论上的结论并不适用于实际情况。理论上的“不可能”结论是对于某一模型论证的,只要你改一改模型,这个“不可能”结论也就不成立了。

  老师们经常说“知识改变命运”。这句话说的没错,但是对知识的一知半解很有可能让你的命运变得更差。

  根据我的判断,创建比特币的中本聪应该不是学术出身的,否则在专业课原理层面就已经否定了该系统的可行性。

  在这个物欲横流的社会里,搞科研对于发展来说是非常有意义的,但是不要被科研理论束缚住了头脑。

  4. 比特币的稀缺性

  比特币网络中的矿工为什么要挖矿?这是因为挖矿的收益要大于挖矿的成本。

  如果想要增加矿工挖矿的积极性,宏观上看只有两种做法。要么提升挖矿的奖励,要么降低挖矿的开销。

  任何一种加密数字货币都牵扯到一个能启动的问题。为了让早期有矿工来挖矿,所以发币方要让矿工有更多的收益。那么比特币在早期是怎么做到这点的?

  1.比特币早期的挖矿难度比较低;

  2.比特币早期的出矿奖励也是比较丰厚的。最开始是50个,到现在已经降低为12.5个。

  有人认为比特币的设计是非常巧妙的。前面我也计算过,按照出块奖励每21万块后减半的规律,比特币的发行总量为2100万

  这种发行量固定的东西是不适合用来作为货币的。同样具有跨时代意义的区块链项目——以太坊就不存在出块奖励有衰减的现象。并且现在有些新型的加密货币自带通胀功能,每年都会将货币的发行量提高一个等级。

  为什么要这么设计呢?因为稀缺的东西是不适合用来做货币的。

  平时我们总觉得通货膨胀是一件坏事情,但是一种优秀的货币是要具有通货膨胀的功能的。有人会有疑问,那黄金呢?黄金不就是稀缺金属,也可以作为货币么?

  黄金在古代确实有很长一段时间是用来做为货币的。但严格地讲,当时可流通使用的黄金的总量并不是一个定死的数值。

  虽然现在每年都有新的金矿被开采出来,但是黄金的开采量远远赶不上当今社会新创造出的财富的数量。所以现在的国际社会基本(甚至是完全)废弃了金本位制

  如果还使用黄金来作为货币会出现什么情况呢?黄金会变得越来越值钱,因为越来越多被创造出来的财富的价值都锁定在少量的黄金上。

  假设有个人祖上传下来了许多黄金,那么这个人就不用再进行工作,每天看着财富不断地增长就行了。家里没有存储黄金的人,即使努力一辈子也赶不上这些毫无劳动能力的“金二代”。

  上面我说的这种情况,大家有没有觉得耳熟?国内近些年的房地产其实就是这种情况。

  如果房价再永无休止地疯涨的话,已经买房的人就会变得越来越富有,没有买房的人就永远也买不起,个人奋斗就已经没有任何意义了。一个健康向上的社会是不应该出现这种情况的。

  比特币最近几年的涨幅已经超过了北京的房价。大家如果对这个领域的内容感兴趣,可以看一下货币金融学的相关书籍。

5. 量子计算

  最近几年,量子计算发展的很快。有些人担心比特币这种凭借密码学作为安全保障的数字加密货币会不会受到量子计算的冲击而变得不安全。

  稍微关注点前沿科技的人都知道,传说中的量子计算机的计算能力是非常强大的,可以破解现有的许多加密算法。

  我也来说说我自己对这个问题的看法。个人认为这种担心是不必要的。

  首先,量子计算技术距离实用还有很长一段距离,在比特币有生之年不一定能产生实质性的威胁。

  其次,如果有一天量子计算技术对现代加密技术产生了冲击,那么最先受到影响的不应该是比特币,反而是传统金融业,例如我们日常都会使用的网上银行、网上支付等。

  所以与其担心量子计算对比特币的冲击,不如去担心对传统金融业的冲击。因为金融运作的大多数钱还都在传统金融业中。

  另外,比特币支付中并没有把账户的公钥直接暴露出来,而是把公钥取哈希之后得到一个地址。

  比特币中的非对称加密体系,利用私钥是可以推导出公钥的。所以一旦你的公钥丢失了,也没有关系,只要能持有私钥就可以还原出公钥。当然,公钥是不可能推出私钥的!

  假如未来量子计算技术允许从公钥推出私钥,那该怎么办呢?

  比特币在设计的时候加了一层保护,地址没有直接使用公钥而是用的公钥的哈希。如果有人想要从公钥破译出你的私钥,首先要先从公钥的哈希逆推出公钥,这一点即使是量子计算技术也是做不到的。

  大家要注意加密和取哈希是两种性质的操作。加密的目的是之后可以解密,所以加密算法需要保证信息的完整性。但是取哈希的过程是会造成信息的损失的,并且是不可逆的。

  比特币中应用的哈希算法是SHA-256,无论你内容有多大,1M或者是1G或者是1T,取哈希运算后都是256位。很明显,这是无法保证数据完整性的。

  所以在比特币转账中,如果只需要收款的话,你就没有必要把公钥暴露出来,只需要提供公钥的哈希就可以生成地址了。只有在将来你要使用这笔比特币的时候,才需要提供出你自己的公钥以及由私钥产生的签名

  下面我来说说如果一个人拥有量子计算技术,他要如何做才能偷走你的比特币。

  首先他必须要拿到你地址对应的公钥,因为拿到地址是反推不出公钥的。那他只能在我要使用这笔钱的时候动手,因为只有这个时候我才会在使用这笔钱之前暴露我的公钥。

  他通过监听我的网络传输,在我向比特币网络广播交易的时候拿到了我输入脚本中的公钥。但是他必须保证在我的这笔交易正式被写入区块链之前破解出我私钥。

  不仅如此,他还要保证在他破解出我的私钥后冒充我发起另一笔交易(把我的钱转到他的账户)且保证全节点要先于我本人发起的交易之前接收到他的伪造交易。

  因为这两个交易是有冲突的,全节点会验证交易,来的晚的交易被认作是double spending。很明显,就算他拥有量子计算技术,这种偷币方式几乎也是无法实现的。

  从安全的角度考虑,比特币的地址在发起一笔交易后就不要再使用了。因为发起的交易被写入区块链之后,你的公钥也就暴露在区块链中,给了坏人作恶的机会。

  有经验的数字货币老手都是在每次交易后将所有剩余的钱转移到一个新的比特币地址中。

  综上所述,如果你担心量子计算的威胁,那么就不要轻易地将公钥暴露出来。

  写到这里,窗外的雨也停了。

  五道口和三里屯的男女也该串流息壤起来。夜色应该更黑,更香艳。

  

  往期厉文一览

  1、一冠王深度剖析比特币系统——11.由于明星分手而想谈的零知识证明

  2、一冠王深度剖析比特币系统——10.比特币的匿名安全性

  3、一冠王深度剖析比特币系统——9.围绕比特币迎来一波思索

  4、一冠王深度剖析比特币系统——8.比特币的销毁证据

  5、一冠王深度剖析比特币系统——7.比特币分叉

关注

  听说关注了

  后现代泼痞浪漫主义奠基人

  会得到

  夜幕的星辰

  凡世的幸福

关键词:比特币新闻 币牛牛

转载自比特币新闻网(www.btc268.com),提供比特币行情走势分析与数字货币投资炒币最新消息。

原文标题:一冠王深度剖析比特币系统——12.关于比特币最后的思考

原文地址:http://www.btc268.com/qkl/zs/13383.html

本文来源:区块链资讯编辑:btc268.com

本文仅代表作者个人观点,与本网站立场无关。

本网站转载信息目的在于传递更多信息。请读者仅作参考,投资有风险,入市须谨慎!

'); })();