veryyoung's blog

比特币简介

· veryyoung

初识比特币§

大约 13-14 年左右就听说过比特币,当时并没有特别的印象,只是把它当成用电脑挖矿开采的“Q 币”,还用当时的破电脑跑过挖矿程序,有没有运行起来并加入网络,有没有挖到过比特币已是毫无印象。

2015 年大学毕业后去到北京工作,和大学的几个好哥们一起合租,其中有个兄弟在传统互联网大厂离职出来,在火币网做开发(非数字货币交易相关),因此知道原来数字货币是有交易所的,交易量还挺大的。

2016 年我加入了某互联网独角兽公司,立志成为一名优秀的架构师,分布式架构是必不可少的部分。那位在火币做开发的朋友已离职,开始从事区块链行业的研发工作,因此知道了区块链这项技术的一点点皮毛,区块链是一种所有节点跑同一份程序来解决分布式协调问题、拜占庭将军问题的分布式方案,当时觉得这个技术挺傻的,太过于冗余了,不实用,对我的分布式架构学习没有太多的参考价值,弃之!

2017 年的夏天,在 IT 校友们的影响下开始接触数字货币投资,入金了几千块钱,看比特币太贵了不敢买,比特币是数字黄金而 LTC(莱特币) 号称数字白银,第一个币圈投资标的是 LTC,短线搞了几波,勉强平本,后面又玩了 ETC(以太经典,ETH 分叉币),BCC(比特现金,比特币分叉币,现在代码是 BCH) 等山寨币之王,盈利不少。因此拥有深厚兴趣学习做交易,看了不少技术分析做短线的资料并实践,而大盘一路上涨,比特币涨到了接近 5000 美金一枚,我在追涨杀跌几波后并没有盈利多少,却迎头赶上了币圈大震动的 “94 事件”,亏本近一半割肉离场,并表示永不回来。

其实已经很多次有机会深入了解这个币种和技术,但都没有深入去学习去了解更多信息,可能因为比特币的名声并不好(时常和诈骗和高倍杠杆绑定在一起),而区块链技术在我一个互联网技术开发人员看起来又是那么的低效无价值,导致我错过了比特币和区块链好多年,而拥抱它我的人生必然会发生翻天覆地的变化!

任何关联利益的新行业的兴起都存在很多负面案例,不能因为它超出自己的认知就把它简单的和骗局划上等号。需要的是去深入学习和理解,而不是简单的用旧知识和旧思维去想当然。谨记!

比特币简介§

2008 年 11 月 1 日,中本聪(Satoshi Nakamoto)发表了比特币白皮书 Bitcoin: A Peer-to-Peer Electronic Cash System,比特币就此诞生。

比特币是一种点对点的电子现金系统,跟其他货币不一样的是比特币没有特定的发行机构,它的运行是依靠特定的程序,每台部署程序机器的称为「节点」,「节点」之间相互连接形成「网络」。网络之间通过算法形成了共识来维持比特币的发行和交易。

比特币采用了「分布式账本」来摆脱第三方的制约,这个账本技术被称为「区块链」。区块头 + 区块体(交易集)构成区块,通过区块头中“上一区块哈希”字段,组成了链式数据结构。

区块链构成了一个不断增长的账本,每个全节点都拥有完整的区块数据,并且节点总是信任最长的区块链,这保障了区块链是不可篡改(理论上可篡改,后面会解释)的。

节点挖掘新区块的过程被称为「挖矿」,「挖矿」的节点被称为「矿工」。矿工节点会以 Merkle Tree 的形式把交易打包到区块体中,Merkle Root 加上前一区块头、版本、时间戳、当前难度与随机数 nonce 进行 SHA256 计算,直到找到的随机数达到难度要求(SHA256 结果以多少个 0 开头),视为挖矿成功,形成有效区块。有效区块会广播到全网,其他节点会用 SHA256 算法对区块进行验证,此过程满足零知识证明,验证通过后写入本地数据库,拼接在之前的区块末尾,并以此为基础进行下一个区块的挖掘。

这个过程叫做工作量证明(Proof Of Work),拥有算力越多,做 SHA256 次数越多的人越容易抢到新区块的打包权,这个设计简明扼要、有效可靠,相对公平,同时也解决了双花问题。

比特币特性§

1. 去中心化§

比特币通过区块链这个去中心化的网络保障了他的铸币和交易过程是第三方中心化体制无法干预的.

2. 不可篡改§

区块链依靠安全的哈希算法保证所有区块数据不可更改(下面技术分析会讲到),而区块链是个单项链表,只能往下蔓延。

想更改区块链数据需要拥有全网一半以上的算力,这样可形成自己的最长合法链,也就是 51% 攻击,需要投入大量的计算资源,这基本是不可能发生的。

3. 产块时间均衡§

比特币会通过历史产块时间来调整挖矿难度,来维持每个区块产生速度大概是十分钟。

4. 通缩§

比特币每开采 210000 个区块后会将新区块奖励减半,按每十分钟一个区块来计算大约是四年。初始区块奖励是 50BTC,目前已发生两次减半,变成了 12.5,随着时间的推移出块奖励会无限趋近于 0。

5. 总量恒定§

每四年周期产生的区块数: 624365*4 = 210240 ≈ 210000

区块奖励累加: 50+25+12.5+6.25+3.125+1.5625 + .... + 0 = 100

两者相乘得到比特币总量 210000*100 = 2100W

6. 支付自由§

无需受到法币跨境诸多限制,7*24 可交易

7. 匿名§

只需要产生一队私钥地址对即拥有一个账户,无需实名认证,更无需税费。这也是比特币被人和 Money Laundering 关联上的原因。

比特币技术分析§

1. Hash 算法§

1. Collision resistance§

Hash 算法是耐碰撞的,虽然从理论上可能存在两个 input 的 hash result 一致,但实际上

基本不可能发生。注意,hash 算法未被验证过是 collision free 的。

2. Hiding§

Hash 函数能隐藏输入,即给定 Hash(x) = y, 已知 y 的情况下无法反推 x,只能蛮力求解。此特性实现了 Sealed envelop。

3. Puzzle friendly§

Hash 计算结果不可预测,想要计算出的哈希值落在某个范围内,没有特定的办法去构造输入,只能通过蛮力碰撞。BTC 在挖矿过程中就是改成随机数 nonce 来碰撞 hash 结果,碰撞出来后结果能低成本验证。

Difficult to solve, but easy to verify.

这是比特币共识 POW(工作量证明)的依据。

2. Merkle Tree§

比特币把交易数据的以 Merkle 树的结构存储,每个叶子节点是每个交易信息的哈希,往上对相邻的两个哈希合并成字符串再哈希,继续类似的操作直到只剩下顶部的一个节点,即Merkle 根,存入区块头。这个设计极易验证某个区块整体的交易是否合法。

Merklle Tree

3. 公私钥体系§

比特币的公钥是由私钥通过椭圆曲线算法导出的。 公钥密码学使用一个公钥和一个私钥来进行消息交换,公钥加密数据私钥可以解密,私钥签名数据公钥可以用来验证签名。

比特币思考§

非常认可李笑来说的一句话:比特币是人类第一次用技术保证私有财产不可侵犯。

我们存在银行的、放在家里的现金、股票账户甚至埋在地下的黄金都有可能被某个个人或组织无情剥夺。四十年多年前财产大洗牌的事情并不遥远。

而比特币的特性保障了只要不泄露私钥,你的币永远不会被剥夺,甚至你有多少币外人都无法知道的,这在传统金融体系里面是绝无可能的。

在读完比特币白皮书之后我才真正的意识到这个物种有多么的美妙,多么的令人惊叹,同时也是兴奋与后悔。

惊叹中本聪神一般的设计,中本聪在发布白皮书的第一天可能就看到了现在和未来发生的事情,这是开天眼的存在。

兴奋自己终于找到了一个值得奋斗一生的事业。

后悔自己落后的观点和弱鸡般的执行力,导致太晚看到这份白皮书。

中本聪在比特币相对成熟后归隐了,归隐前说他要去做其他事情了。他到底是谁,他去做了什么事,无人知晓。但这并不重要,理解了比特币的人或许人人都是中本聪,作者的消失也让比特币彻底的「去中心化」。

Coinbase 上市前一天,创始人在推特上说道”Thank you Satoshi. Whoever you are ”,我也想谢谢中本聪,感谢他带来了如此精妙绝伦的技术和体系,让我真正愿意为之奋斗终生,也让我的人生变得不再那么迷惘。

Thank you Satoshi. Whoever you are.

参考文献§