比特币是一种数字货币,它的出现对金钱的存储和消费方式带来了革命性的变化。在将来,它还可能影响其他诸多领域。想要搞懂比特币,并不需要数学家或者解码员那样专业的知识。而且,比特币的运作体系其实是个循环的过程,兜了一圈又会回到原地。认识到这一点,你就会发现它很好理解了。这篇文章我们先来讲关于比特币的第一部分内容。

比特币——数字信息运作的产物

比如说我现在要从网上发一部电影或者一首歌给你,那么我首先会把这个媒体文件附在邮件里。接下来只要我一按下发送键,你就会收到这个文件。你可以选择打开看或者删除,也可以随意处置这部电影。

 

但这时候你要注意:我自己电脑上也还留有一份这个电影文件的复制。

这也就是数字信息在因特网上的运作方式:复制而非转移。迄今为止,这种运作方式没出过什么毛病。虽然有时候“复制”会触碰到法律问题或者公平问题,但仅仅一首歌、一部电影的复制却并不太可能带来摧毁整个经济的影响。

 

但是想想看,如果钱也能复制呢?

 

如果我要给你一美元,那么我肯定不能像发电影一样自己也留下一个复制。通过发邮件不断复制生产出无限量的数字货币——这么个想法乍一看的确很是诱人,但如果每个人都学会了复制货币呢?那么接下来就会发生恶性通货膨胀,最终导致经济崩溃。

 

在传统的数字货币体系中,无论你用电汇还是借记卡,货币信息都是集中在一起的,因为这样可以防止造假。这个集中存放数字货币信息的数据库可以用于验证我们对货币的所有权。举例来说,银行就是这样一个数据库。那么换言之,这样的一套货币体系实行的是“集权制”;而诸如银行的“中央集权机构”则是整个体系仰仗的核心,他们对你的钱有绝对的控制权。

但是如果能换个法子呢?如果说,我们能摆脱那些不可靠的中央集权机构,转而实行去中心花的分权呢?如果说,我们手中货币的价值并不依赖于政府权力的支持,而是源自于我们对数学的信任呢?

比特币就是这样一个革命性的存在。

什么是比特币系统(Bitcoin)

比特币是一种数字货币体系。与其他货币不同的是,它与任何政府、任何组织都没有联系。

在英文中,比特币(bitcoin)和比特币系统(Bitcoin)是两个词,一个首字母大写一个首字母小写,因而有的时候容易弄混。比特币系统是2009年创造出来的,但是比特币货币则是通过不断进行一个叫做“挖矿(mining)”的过程出现的。所谓的“挖矿”其实就跟淘金之类的挖矿活动差不多。不同的是,它是在21世纪的数字世界中进行的。

比特币系统中的所有所有交易都是永久记录在一个长长的账簿上的,这个账簿我们管他叫 “区块链”。奇特的是,这个账簿并非由某个中央机构秘密保有,而是公之于众的。每个想参与的计算机都能取该账簿的复制。

 

 

区块链是一个不可变的、公开的、广为分布的账簿:

 

不可变:是说一旦某条记录被录入区块链达数个小时,那么就再也无法将其改变或抹除。这是因为已经又产生了大量基于该记录的交易。

 

公开:是指账簿不再只有银行员工可查看,而是每个人都能看。当然,具体是谁在付款收款你是不知道的,因为记录都是匿名的,以ID来代称收付款人。此外,这些ID的寿命一般也都不长。

 

广为分布:是指区块链的副本会实时同步到世界各个角落的电脑上;并没有什么权威的总账,每个账簿都是一样的。

最后,之所以说它是个账簿,是因为区块链本身就是一个记录交易的清单。如果大家用Venmo(PayPal旗下的一个移动支付服务)的话就会知道,跟那里面的交易清单是一码事。

那么为什么给它起名叫区块链呢?因为账簿里的个人交易会被划分为一个个“区块”,每个区块包含多笔交易,每笔交易按顺序链接起来,就成为了“区块链”。相比一笔笔地新增交易,以区块为单位速度更快。一般来说,每10分钟就会产生一个区块。

 

为了更好地阐释这个不可变、公开、广为分布的账簿,我们来举个例子。假设现在有价值5美元的比特币。(比特币的价值可能会不断涨跌,但是基本上一单位比特币的价格都远不止5美元)

 

在这个假设前提下,我的朋友Elizabeth给了我价值5美元的比特币。按照记录规则,这个交易立马就被计入了区块链中。接下来,由于新区块链的每个副本上都已经显示出这5美元的所有权由Elizabeth转移到了我这里,于是我又把这5美元比特币给了你。在这个过程中,涉及到的3个人,我、你、Elizabeth都不用去什么权威性的中央数据库确认所有权、批准交易。在比特币系统中,权威是去中心化的。世界各地的每个区块链副本都有权威性。

 

接下来你可能想问:Elizabeth给我的比特币又是从哪里得来的呢?最简单的情况可能是,是某个人给她的。基本上每个人得到比特币都是通过这种形式。但是比特币总归有最初诞生的一个环节吧。所以它到底是怎么来的呢?

 

比特币是如何诞生的

先说说我们常用的法定货币。美元的诞生是靠政府印制出来的,其他的传统货币也都是因为各自政府发行而产生。很久之前,美元的价值是靠国库内等值的黄金撑起来的。那时候,想要额外发行货币必须要新增等量的黄金才行,因此才有了那时的淘金热。

 

 

比特币的产生同样也是靠一个叫“挖矿”的过程。当然这是一种数字挖矿的方式,靠的是电脑和软件而非炸药和铁锹。要想把新的区块不断添加至区块链中,就得解决一系列繁重的数学问题,最先解决问题的“旷工”会获得全新比特币的奖励。比特币就是这样不断被挖出来的。

 

换句话说,挖矿活动同时实现了两件事儿:一是给区块链新增了区块,而是创造除了新的比特币。说到这儿又引出了下一个话题——哈希算法。之前说的那个旷工们都争着抢着要解决的数学问题就和哈希算法息息相关。

 

哈希算法101

我们可以把哈希值理解为一段数据的指纹,因为哈希值可以用于辨别某段数字内容的身份。这个数字内容的形式不限,可以是一张照片、一个相簿、一部电影、一串密码、一段文本,等等。哈希值是根据数字内容、经由哈希算法而产生的,其形式可以是一串字符、数字或其他符号。

哈希算法是计算机科学中的一个核心概念,在很多场景中都有应用。

比如我们登录时常用的密码。一般在线服务都会通过储存密码的哈希值而非密码本身来增强安全性。用户登陆的时候,他们验证的也是哈希值。Facebook还会通过哈希值检验用户所上传的图片是否符合发布要求。仅仅靠人工来检视每张图片是否含有暴力、色情元素是不可能的,因而Facebook会先对一些不雅图片运行哈希算法,然后列出一张清单来。每次有新的照片上传到Facebook,系统会先算出去哈希值,然后将其与违禁清单上的哈希值比照。如果匹配到了相同的哈希值,那么Facebook就会知道这张图片是不符合要求的了。

 

一般来说,运行哈希算法的时候,输入的内容是类似照片之类的数据,而输出的则是一段天书一般的字符串,也即哈希值。

 

下面我们举个例子,比如我们给下面这张小狗的图片运行一下哈希算法。这次我们用的哈希函数是SHA-256:

显而易见,这张可爱的小狗图片怎么可能违反Facebook的上传条例呢!这点谁都看得出来。当然在Facebook,是不会真的有人去检视这张图的。任务被交到了Facebook某个软件的手中。它要负责检查这张图的哈希值。这张图经过运算得到的哈希值是这样的:

 

8EC9D4718F919C6087CA589EDA09E7DD9A7ACCDB820F42B4196E1D0D4BEDE77A

 

这就是经过SHA-256运算得到的结果。可以看出,这是一段以十六进制表示的字符串。看起来可实在没有小奶狗那么可爱了!

 

哈希算法还有个有趣的特征,那就是我们哪怕只对输入内容做一点点改动,最后的输出结果也会完全不同。还是那上面的图距离,我们仅对这张图做了一个像素的改动——在小狗的眼睛上方放了一个1像素大小的黑色跳蚤。

 

 

仔细看,能看到跳蚤吗?

 

好,然后接下来我们对照片运行哈希算法。尽管只做了一个像素的改动,但得到的结果却完全不同:

 

039E1AF92F7D00775ECE35C2216FC3F7F0BBCD31F912A105D2601380D8DEABA2

 

讲到这里想必大家都明白哈希算法是怎么回事儿了。接下来的内容其实也完全可以利用真实的哈希值来讲解,但是哈希值实在不太适合阅读、也很难分辨。因而下面我就还是用emoji来代替输入和输出。在下面这个例子中,输入内容(即将被运行算法的内容)用一只猫脸emoji来表示,输出内容(运算后得到的哈希值)则用一个蝴蝶结emoji来表示:

 

我们假设Facebook已经对两张不符合要求的图片运行过哈希算法了,并且得到了对应的哈希值(下图中右侧两个emoji)。

 

 

接下来,有人上传了一张照片。这张照片我们用问号“?”来代替,因为Facebook还不知道这张图长什么样。然后Facebook对该图片运行了哈希算法,得到的结果如下。

 

 

至此,虽然并没有人真正看过这张什么的照片,但Facebook却知道这张图是不符合要求的,因为它的哈希值与违禁哈希值匹配。既然哈希值已经显示其不合要求,我们也就不用再亲眼去看了。

 

图片识别只是哈希算法的一种应用。而比特币的挖矿,这个创造比特币、为区块链新增交易的过程,则是另一种应用。

好了,那么第一部分就讲到这里了。在这一部分中,我们学到了比特币是一种去中心化的货币、它不由政府或金融机构产生,还学了什么是哈希算法。接下来在第二部分中,我们会继续学习比特币旷工是如何运用哈希算法制造金钱的,以及加密系统是如何在比特币可转让的同时保证其独一无二性和不可复制性的。

 

 

作者丨Tess Rinearson

编译丨Anna

原文链接:https://medium.com/@tessr/making-money-trustworthy-6c552a1cfc25