第三节 信任靠什么(1 / 1)

诞生于2009年1月3日的比特币,可谓“年少成名”。近些年更是大出风头,出镜率奇高。许多人认为,未来比特币将取代国家主权货币。比特币为什么能如此“吸粉”呢?

咱们先穿越一把,回到苏美尔人的黏土泥板的时代。上次讲到种田的老王赊账在老李的饭馆喝酒。不过“空口无凭”,这笔债要由官府记录才行。可问题是,官府记录就能不出错吗?要是记录的官员和老王有仇,偷偷地在老王欠款的数字上多加一个0(小数点前),可不就把老王坑惨了。又或者在一个月黑风高的晚上,老王悄悄地潜入官府,“润物细无声”地把黏土泥板上的数字抹掉一个0,经营酒馆的老李就该哭了。看来黏土泥板也不见得靠谱。说到底还是个信任问题!这样看来谁都靠不住,那怎么办?最可靠的信任就是谁也不信!这仿佛又是一个悖论(本书的悖论还真不少)。怎么操作?这就是比特币的“能”。

比特币的“能”在于其区块链技术能够解决交易中的信任问题。1976年,迪菲和赫尔曼发表了一篇题为“密码学的新方向”的论文。文章提出了一种完全不同于对称密码体系的新思路。我们可以把一条信息的加密和解密比作关门和开门,锁就是算法,它的作用是用混淆的技术,将可识别的信息转变为无法识别的信息。而密钥则相当于这把锁的钥匙,信息发送者用密钥加密(上锁),信息接收者用密钥解密(开锁)。所谓对称密码体系就是“上锁”和“开锁”用的都是同一把“钥匙”,这样只有掌握密钥的人才能看到信息。战争大片《中途岛》中那个整天把自己锁在黑屋子里,穿着睡袍见美军太平洋舰队司令官尼米兹的家伙,就是偷偷摸摸“配”一把同样的钥匙干活(破译密码)。

因此,对称密码体系存在被黑客破解乃至篡改信息的问题。此外,对称密码体系还要信息发送方和接收方事先定好密码的算法。如果双方住隔壁还好,下楼找个偏僻无人的地方(严防隔墙有耳)约好“暗号”即可。可是一般发密文的双方都是相隔十万八千里(要不也犯不着发密文),又没有孙悟空腾云驾雾传递密码本(再说孙悟空也不一定可靠),那该怎么办呢?

迪菲和赫尔曼提出了一种非对称的密码体系,也就是说“上锁”和“开锁”用的不是同一把“钥匙”。简单来说,“上锁”的加密密钥可以公开,称为“公钥”;“解锁”的解密密钥则由个人维持其机密性,称为“私钥”。从私钥可以推导出公钥,但从公钥很难逆推出私钥。信息的接受方生成一把“私钥”和“公钥”(一个“私钥”可以对应多个“公钥”),并将“公钥”发送给信息发送方。信息发送方用“公钥”对明文(“老王欠我酒钱”)进行加密,并将密文发送给信息接受方。这个密文即使被黑客截收了也没关系,因为只有“私钥”才能解密,没有“私钥”的黑客是无法解密的。这就是非对称密码体系的厉害之处。

区块链技术正是充分利用了非对称密码体系和分布式记账,来使比特币成为可能。非对称加密一个重要应用就是“数字签名”。数字签名使用私钥生成一个签名,接收方使用公钥进行校验。因为公钥和私钥是成对的,唯一对应的私钥只有签字方拥有,所以对方也不能对签名进行抵赖。

在实际应用中,信息发送方发送报文时,先用哈希函数从报文文本中生成文件摘要。注意,这个哈希函数是很牛的,它可以将一段信息转为字符,比如“我欠老李酒钱”这段话转为“4593hbba87303j”。哈希函数可以保证任何其他的文字都无法转为“4593hbba87303j”。其次,哈希函数是不可逆的,你无法通过“4593hbba87303j”反推导出“我欠老李酒钱”这句话。最后哈希函数本身可以在有限时间和有限资源内能计算得到其值(速度快,节省算力)。这些特性就保证了信息不易被篡改。

摘要生成后,信息发送方用自己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起发送给接收方。接收方首先用与发送方一样的哈希函数从接收到的原始报文中(“我欠老李酒钱”)计算出报文摘要(“4593hbba87303j”),接着再用发送方的公钥来对报文附加的数字签名进行解密,如果得到的摘要相同,那么接收方就能确认传输的文件并未受到篡改,是安全可信的。

不过借钱还钱这事,如果只是“天知地知你知我知”感觉还是不靠谱,必须要有人见证才行,万一其中一方抵赖,老天爷又一时忙不过来,可不就叫天天不应,叫地地不灵了。区块链的分布式记账技术则实现了大家共同见证、监督的作用。

接着上面文件加密传输的内容继续往下说。如果老王把“我欠老李酒钱”的信息(含老王数字签名)不仅发给了老李,还发给了网络里所有的人,由于大家都有老王的公匙,都拥有鉴定笔迹的能力,大家拆开信一看,果然是老王的签名,于是大家就把这封信归档。哪天老王反悔了,说我没有欠钱,那可做不到,所有人都收到信并且验证过了。

好了,这又碰到一个问题,大家和老李非亲非故,干嘛吃饱了撑的去为老李存档见证呢?为了激励大家验证和存储,系统会为大家提供奖励,奖品就是比特币。而大家验证和存储的过程就是俗称的“挖矿”,“挖矿”的本质就是竞争记账的权利。所有人都来做这件事情,每个人的见证和存储都是等价的,这就是“去中心化”。与之对应的就是中心化。我们平时通过银行转账,钱并不是直接从老王到老李,而是通过银行进行划拨,银行就是中心。同理,银行间的清算也不是由A银行到B银行,而是要通过中央银行完成。

中心化的运作存在三个问题。第一,是一对多,普通商业银行对成千上万的储户,中央银行对所有的商业银行。这种模式下,所有的业务都需要依靠“中心”处理,这对“中心”系统提出很高的要求。一个很明显的例子是,每到11月11日0时,某宝的支付总会出现“交易失败”,这就是“中心化的”系统突然间要处理大量交易,系统难以负荷造成的。而在区块链系统内,交易都是点对点的,老王和老李交易不需要通过第三方。第二,是通过“中心化”与第三方交易效率较低。这个好理解,通过第三方中转总是慢于“两点一线”。最后,也是最重要的就是信任。中心化的一个重要基础是相信第三方。我们通过银行转账是因为我们相信银行,我们接受主权货币,是相信国家的信用。如果这种信用被滥用了怎么办呢?比如你转账的钱并没有转出去而是被银行家们转到了自己的口袋,又或者中心化的系统受到黑客攻击,你账户上的信息被篡改了怎么办呢?

这在去中心化的区块链系统就可以有效避免。理论上,要想通过黑客攻击篡改信息(档案)也不是不可以做到,但条件是你要成功“黑”进系统中51%的电脑中,而整个网络中的电脑数量不是以万计而是以亿计(图9-2),所以,事实上要想篡改数据是一个不可能完成的任务。英国《经济学家》杂志给区块链技术取了一个有趣的名字“信任机器”。

图9-2 区块链技术原理

前面还说过,货币转移的本质就是债务的转移,你的存款是银行的负债,你手中的纸币是中央银行的负债(或者说是国家的负债),如果哪天国家想抵赖,就可以通过多印钞票来稀释自己的负债(钱不值“钱”)。而比特币上限为2100万个,预计在2140年将达到这一数值,因此,比特币不存在超发的问题,自然不会带来通货膨胀的问题,这也是被“粉丝”们所津津乐道的。这样看来比特币真是未来货币的不二之选,是吗?