Bitcoin

比特币技术简史

在 2014 Maker Faire 上 Andreas 发表了关于比特币的演讲,youtube 上面有完整的视频。在问答环节开始的时候,有观众问到比特币的起源问题,下面是他的回答。

基础技术早就有了

回到七十年代的时候,一帮科学家发明了一种新的加密算法,叫做“非对称”加密算法。可以让人们不用事先互通口令,就可以实现加密通信。( ref: http://happypeter.github.io/bitcoin_basics/book/015_crypto.html )

上面这几位老先生在七十年代末发明了一系列的技术,让你可以进行加密和做数字签名。数字签名是非常有意思的一件事,它在历史上第一次使得数字加密货币成为可能。因为你有了自己的数字签名,然后你可以随便拿出一段数据,任意的数据,然后你可以对它进行数字签名,说,这个东西是特别的,是权威机构发布的,这个就可以当钱用。

双花问题一直无法解决

所以这个概念就是,如果我有一段数据和数字签名那我们就可以制作数字货币,这些强大的技术在八十年代初就都有了。但是这样的数字货币是有一个巨大的问题的,因为要对数据进行复制是非常简单的,你很容易就可以得到一个拷贝,而且根本没有办法确认是谁拷贝了谁。所以数字货币的问题是,如果你给一个人一美元的数字货币,他就能马上弄出两美元来。这个问题就是所谓的“双花”( double-spending ),早期这个问题的解决方案就是,设立清算机构,这样人们就可以查查,看这一块钱是不是已经被花过了。这个模式的问题就是大家必须相信这个清算机构,如果它出了问题,你就完了。

所以在过去的 35 年里,人们一直在研究如何做数字货币,但是一直也没有人知道如何解决这个问题。知道如何来通过不信任任何人的方式来建立一个完全可信的清算机构,其实问题的本质就是你要在一个大家互相都不认识的人群里面建立信任机制,而不通过给一个老大绝对的信任的形式。你不能信任老大的原因是,你给某人权利,他就会腐败,你给他们控制钱的权利,他就会自己把钱揣起来,历史上这些事是一遍一遍又一遍的反复出现。从3000年前的古希腊就有这个问题,终于到了2008年,有了曙光。

比特币解决了双花问题

2008年有一个研究人员发表了一篇论文,《比特币,一个点对点的电子货币系统》,文中给出了一种新的解决方案:竞争。本质上没有人是清算机构,同时所有的人都可能成为清算机构。如果你通过纯碎的数学方法来把竞争的机制做的可以公开扩展,那么整个系统就会变得很大,很健壮,没有人可以在其中进行欺诈。因为随着系统的扩展,想要欺骗系统意味着需要极其强大的运算能力才可以,所用的电费也将会让欺诈者无法承受。如果欺诈者用同样地资源,不去欺骗网络,而去在游戏规则内玩,那么他可以捞到更多好处。这种想法听起来挺疯狂的,现在比特币系统已经值很多钱了,而且过去几年一直就经受各种攻击,所以显然这种竞争机制是奏效的。

一切都从那篇论文开始,系统本身是点对点技术,代码全部开源,基于的原理是一些常用的数学公式算法,没有人控制这些数学公式,每个人都可以自己看看它们是什么原理。

就这样比特币诞生了。