关于比特币与区块链

2018-02-23 AnnatarHe 更多博文 » 博客 » GitHub »

code eth blockchain btc bitcoin

原文链接 https://annatarhe.github.io/2018/02/23/talk-about-bitcoin-and-cryptocurrency.html
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。


很早之前就想写写区块链和比特币,我对于这些东西是比较关注的。

一些背景 - 深度学习

在去年开始,我花了半年时间在追深度学习相关的东西,学了深度学习的一些原理,概念。然而学了一段时间之后开始认识到,深度学习还是太简单了,它只能做一些非常非常简单而且基础的工作,即便已经很简单了,却还是做不好。比如语音识别,比如图像识别。而类似于什么机器人产生自主意识这种事情基本不可想象,以现在的科技水平来说,基本上是痴人说梦。

中途看到了 王垠的一篇文章 更感觉 AI 很没有希望,可能只是用来骗 VC 的概念,就像之前的 AR/VR 一样。

在这样的背景下,即便我认识到了深度学习没那么美好,可是由于没有意识到有更值得学习的东西,依旧看了深度学习一段时间。

炒币

我想很多人关注区块链都是由于它可怕的价格先关注到的。我不觉得这很丢人,毕竟也是吸引眼球的方式,而且非常成功。

我第一次接触比特币可能是在大学或者高中的时候,当时很清楚的记得它值 600 RMB(人民币)。那个时候脑袋里和绝大多数人一样,想的是:"疯了吧,600 块买一个看不着摸不到的东西?神经病"。到了今天,你可能和我一样也在后悔为什么不能回到那个时候做这个"神经病"。

之后频繁接触区块链这个概念是在一七年的三月份左右开始的。那个时候,坐在旁边的同事都在讨论,同事也都安利我买。然而你知道的,刚毕业的学生并不怎么在乎钱这个概念,也对钱没什么想法。所以几百倍的资本回报率并没有让我产生什么样的情感波动。(其实是没钱,实习生就那么点儿工资,租了房子吃个饭就啥都没了。不过没有对我产生太大的情绪影响倒是真的)

六七月份去楼上高管屋里签字的时候,听到有个人说进的早,翻了一百倍左右吧。不过投入本金太少了,只投了一万块。

之后我慢慢发现,周围同事大多都在炒币。他们入的早的,收益早已难以想象。我比较熟悉的同事,似乎是一七年上半年入的,一个几百万了。另一个 95 年的同事,也已然百万。而一个入的早的(大概早了三四年)的,已经千万往上。

刚毕业的时候也没有入手,因为很想自己组电脑,就拖着了。因为和那个 95 年的同事交流多,平常没事总安利我 all in。到了十一月份终于开始入场,断断续续投了一万多块。

同事们得知我入场,都笑称,如果在三四月份入场,现在过得肯定贼轻松。事实上也确实是,一七年随随便便买点儿什么至少也能翻十倍,百倍也没那么困难。

之后认识了很多人,他们大多是因为炒币才深入理解区块链的。我也是一样。

区块链,真是个了不起的东西,有点儿牛逼。

技术

区块链在我看来相当的厉害。而且远比人工智能成熟的多。

区块链最让我震惊的是,它和传统经济的跨度大到让人难以接受的隐私模型。

入账依赖于出账,钱包公开,交易公开。在比特币中,除了私钥,几乎所有的东西都是公开的。对了,连代码,原理都公开。

说到这样程度的公开,偏一下题。我父母,以及很多不接触计算机,甚至接触了计算机的朋友同学。都不能理解为什么会把代码公开,认为公开的肯定是坏的东西。好东西都是自己私有保留的。

事实是恰恰相反的。如果你参加了工作,看过了公司的代码,你肯定知道公司的代码有多烂,虽然这么烂的代码支撑了可能千万上亿的用户量。如果代码公开,只会让人惊呼:这他妈也可以?

时至今日,硅谷是人类的希望,程序员是人类的希望。那些顶尖的程序员都是辛苦奉献自己,开源 Linux,公开 gcc,开源 vscode,开源 react,还有太多太多的互联网基础设施都是这么一群怀揣着人类希望的人做出来的。虽然他们带来了部分其他收益,然而做出的贡献有目共睹。接触到计算机行业,我对于人性有了更多善意方面的信任。这可能是受文革影响,受传统势力影响的人很难理解的事情。甚至连高中的教科书都在教导孩子们,我们做事情应该选择自己的利益,选择所谓的国家利益。决口不提人类社会的进步与发展。

我提到了人类社会,比特币有极大的可能会改造人类社会,这是我看到的未来。

后面的展望小节再说吧,这一小节还是聊聊技术。

区块链的技术还算比较深邃。只谈技术的话,有共识算法,分布式处理,P2P 网络,椭圆随机算法,Merkle Tree,Base 58, Hashcash 等等。每个关键字都足以我们深究。这只是比特币中的概念。

如果延展到以太坊,则又生出了一些诸如智能合约,PoS, EVM 的概念。

区块链具体的技术细节这里就不说了,最底下会有一些学习资源以供有需要的同学拿去学习。

说一个技术相关的事情。我有一个同事,是之前公司的 mentor 。他十分关注区块链,而且入场时间较早,和其他人相比,他更加关注技术。这就带来了这个故事。由于他本人做事非常的认真,所以我猜想他接触到区块链以后,很快就深入进去了。随后有个项目公开征集提 PR 求性能提升。他果断参与提交代码,据他说,仅仅可能十几行或者几十行提升了 3% 左右的性能。就获得了奖励,奖励是这个项目的代币,最高时,价值百万人民币。

赶紧学技术去啊!同学们!

私钥和密码

他几十行代码就得了百万,看文章的你心里很不甘吧?不用着急伤心,让他心痛的事情来了。他弄丢了,确切的说是被盗了。

没错。我听到时跟你一样震惊。不是说加密货币不会丢吗?怎么就说没就没了?

这个锅不能让数字货币背,数字货币,例如比特币中,想要篡改账本需要 51% 的算力,而且还要一直改整条链上新出的交易。可以说是几乎不可能的事情。问题在于公钥私钥。

比特币的所有安全体系建立在私钥上。谁拿到了私钥,谁就是钱包的主人。不是说你拿个搜查令就可以拿走别人账户上的钱,或者你拿个身份证,比特币就知道你的身份了,会把钱再返给你。它一切的一切都建立在私钥之上。

没错,他把私钥通过互联网传了。放在了邮箱里,然后由于邮箱被人攻破了,所以私钥也就被他人看到了。所以,钱没了。

我还看过一篇文章,骗子做了一个 EOS 空投网站,要求输入私钥,然后有一哥们就真的把私钥填上去了。然后四百万没了。

有人说区块链一文不值,不过普及了密码学知识,算是大功一件。

我觉得关于密码知识的普及真的是很有必要。就像上面的两个案例一样,即使家财万贯,依旧会被偷的血本无归。

第一个案例,原因在于邮箱被攻破了,还不算是很丢人的事情。第二个案例基本上可以用没有脑子来评价了。私钥这种东西的重要程度并不为众人所知,甚至可能很多程序员都不太了解。

私钥是和公钥配对使用的。公钥可以公开,用来加密信息。私钥则不可公开,用来解密信息。世界上目前为止还没有听说过有破解出私钥的案例。

可以这样理解:小明给小红写了情书,用了小红的公钥加密了这封情书,小明托胖虎送信,胖虎想偷看,然而没有小红的私钥胖虎根本没办法解密。小明的情书只能被有小红私钥的人查看到。

这样应该可以理解私钥的重要程度远高于银行卡密码。

ICO

由于以太坊的兴起,使得分布式应用(Dapp)变成了可能。以太坊也有众筹,在以太坊之后,越来越多的项目选择了 ICO 这条路。

首先,必须要承认,ICO 确实是一个很棒的实践,它代替了 VC 的职能,对于小团队的发展起到了至关重要的作用。可以说多少的小团队都因此而活了下来,贡献出了一批代码。

然而随着事情的发展,ICO 变了味道。现在的 ICO 已经沦为了骗子敛财的工具。我这么评价是有道理的:我总共只投了两个 ICO,都已经破发了(跌破发行价)。

这里要拉出来两个案例。一个叫做 SMT 的项目,看官网觉得很牛逼,做的无线通讯 P2P 网络,再看他们都说已经出了产品了。到这里,我以为自己发现了一个万中无一的好项目,果断加仓投。然而一直不温不火,安利自己这是信仰投资。

随后有大佬说这个项目很垃圾,但是只是提了一下。我开始产生了些怀疑,于是看了代码。

不看不知道,一看吓一跳。讲道理这种项目应该是作为一个组织来做的,而不应该放到个人仓库里,对吧?我催眠自己说,可能是由于项目起始的时候是这样的,不算不专业。然而哪儿 TM 有人给自己的账户名字叫 SmartMesh 基金会的!

忍住,接着看项目。点开零零星星没多少 star 项目的仓库,看着这个结构怎么有点儿怪?作为一个发展了一年多的项目怎么就十几个 commit ?先不管,打开 commit 看一下。

FUCK!

总共 个 commit。其中 个是 rebase 了 eth 的,还有 个是用来全局替换名称的???

2018 年 3 月 14 日的时候再看,commit 数量已经多了一些。然而点开 commit 信息 review 一下代码,你会惊奇的发现这些 commit 只是加了空格,改了缩进。

下一个是一个 ICO 项目,朋友让我参与,说了好多次这是挣快钱,我没理解这个快钱是什么意思,就留了几天到手上。本来三倍的价钱直接破发变成了 60%。其实一开始我就觉得这个项目不靠谱。

  1. 全是中国人。我现在很怕有中国人的项目,真的非常非常害怕。太多太多的案例告诉我有中国人的项目基本都是骗人的。

  2. 官网做得很烂,给我做可能半天就结束了。你能想象官网代码用拼音做变量名,而语言选择却没有简体中文吗?

  3. 没有代码。这一条基本就是骗子的标志。

  4. 看到了 Ruff.io 的创始人。让我看到了又一个眼热想要骗钱的人(因为我有个认识的人,和 ruff 的这个创始人非常像)。

这是RealChain 官网 说是有什么周鸿祎站台。当初就应该看清 360 系就没几个好东西。

后面投了一个叫做 dadi.cloud 的项目,完全没有上面我提到的那些缺点,也 TM 破发了。

其实 ICO 特别的简单,写智能合约也特别简单。难度就在于怎么营销,怎么骗到钱。

我已经在着手做一个叫做 MelodyToken 的项目了,不过这个项目还没想好要干嘛,也不会 ICO,只是用来学习 Dapp 开发。以我目前的想法来看,会结合到 Athena 项目中,作为激励用户发布图片的奖励,而看图片会消耗代币。

如果你也想投 ICO,千万要小心,这里的骗子都装得很像。

如果你想做 ICO 骗钱,最好放点儿代码,至少让人觉得没那么像是骗子。

我认为区块链的一整套技术十分的厉害,应该是要比深度学习有价值一些。深度学习要求了太长的研发学习周期,而区块链则短了很多,因为更成熟一些(仅仅是相对于 AI),和区块链相比,深度学习的应用场景更少。

我讲区块链技术的时候喜欢拿 AI 来做对比,因为这两个都比较火。不过在我眼中的分量并不一样。在我看来,AI 更像是一个学术型,概念型的产品,可用性低到几乎没有,而且在可预见的二三十年的未来,也很难产生足够的进化,使得强人工智能得以诞生,其实我更悲观一些,人工智能连专业领域的平均线都很难达到。与之相对的是区块链技术,看起来它是从中本聪的创世论文开始。实际上那个时间节点上,所有的原料都已备齐,只待这个天才把它用论文写出来。密码学?足够。分布式?有了。算法?有了。所有的一切都备好了。所以,区块链来了,比特币来了。

为什么我们需要区块链:信任与价值

这一节应该放到第一小节的,然而思来想去不知如何组织结构,所以先放到这里吧。

首先,我们为什么需要比特币。

需要说明的是,我们需要的不是货币,而是价值的代表,是信任。

信任对人人类社会是极其重要的。因为有了信任,人类才有了合作,因为有了合作,才有了发展。不是说现在我们没有信任,而是信任的成本太高,而且成效也不明显。区块链的出现就是在解决这个问题。

区块链通过把双方认定的事实数据写入到区块链当中去而解决了信任问题。只要写入到区块链中的信息,不会再有人不承认,也不会有人怀疑它的准确度。

比特币只是区块链的附带品,它在鼓励大众加入到这个行业中,加入到区块链的世界里。同时他也是一种价值流通的代表,一种反抗传统货币的实践。

比特币作为一种固定发行量的货币来说,远比传统金融可靠。想象一下当年国民党退出大陆之前搞的货币超发,严重到去买菜得挑着一旦的钱。再想象一下上世纪六十年代的五块钱和今天的五块钱那是一个概念吗?

我们必须要清楚,法币没有任何成本,对,一丁点都没有。布雷诺森林体系崩溃之前可以安慰自己说至少和黄金挂钩。而现在不过是一张废纸。

法币值得信任吗?所有的历史教育我们法币没有丝毫信用。在和平时期尚且不可信任,在极端情况下更是没有丝毫价值。我们手上的法币可以被银行篡改,可以被政府回收,可以被增发冲垮,可以被声明为无效。

那么当年和货币挂钩的黄金有价值吗?其实一点儿卵用都没有。用黄金用来导体可能还稍微有点儿用,但是说到价值代表就很扯淡了。在明朝,世界用白银来做价值基准,后来则切换到了黄金,再后来变成了空气。

从本质上来说,黄金,白银,青铜,比特币都没有价值,有价值的是信任。而黄金白银青铜连基本的信任都没有,比特币的信任是所有人都可以算出来的,可以看清原理的,它很单纯的依赖于算力。

比特币值得信任。它的所有原理和实现的代码和论文都是公开的。可以被任何人查阅,监督。它不会因为一国政府声明无效就真的无效,只要有人信任比特币,它就是有价值的。它超越了国界,超越了政治,属于全人类。

我在读比特币论文的时候同样是被它的隐私模型震惊了一把。传统的隐私模型是尽量暴露更少的信息。而比特币是啥都告诉你,只是不告诉你公钥和个人的匹配关系。

这是一个怎样的天才才能跳出传统思维的误区而拥抱全新的思想,创建出如此伟大的模型!

区块链未来可能产生的影响

以比特币为首的区块链一定会影响着我们的生活。在可以预见的未来,比特币很有可能会成为大宗商品交易,上流社会交易的货币。可以说,拥有了比特币才能加入到上流社会的交易中,当然,现在这种交易只是在技术圈里。

比特币选择了去解决传统金融这个垃圾摊,但是仍然有着更多的行业同样需要信任。

比如买房可以写入到区块链中,我们再不需要房产证。厂家可以把自己产品写入到区块链中做防伪。律师可以把合同写入区块链,扯皮的时候就少了点儿顾虑。学校可以把毕业生名单写入到区块链中,学信网从此可以关停了。还有着太多太多的场景值得我们去探索,去发掘。

但是,区块链不是万能的。它不能解决的场景有很多,比如两个小年轻谈恋爱,要把恋爱里说的什么海誓山盟的鬼话记录到区块链?记录进去又怎么样,该分手还是分手。

还有,区块链因为有着写进去了就改不了的特性,注定了它有很多场景有可能比现在可修改的数据库更可怕。

比如上面我举的例子:学校把毕业生的名字写入到区块链中。这有个非常大的问题,学校写入这条信息之前,难道不能被篡改吗?答案当然是可以的。花重金贿赂一下浙大里负责相关录入信息的人,那我就有了浙大四年的履历了,岂不妙哉?类似的还有教育机构的测评数据。我们能够保证写入到区块链中的数据是不可篡改的,但是不能保证它的信息是正确的。

更可怕的是犯罪记录如果记录到区块链中,并可被所有人预览。地球上规模最大的歧视就会出现。

其他

时至今日,我读了一些书,了解了更多以后。我依然认为算 Hash 的 PoW 算法是最粗暴,最公平,也是最有力的算法。

最好的区块链实践,依旧是比特币。

也可能,区块链世界也并不需要智能合约。

References