在学习密码学货币的过程中,最要紧的事就是理解设计它们的目的。
密码朋克
自80年代末以来,一个不断扩大的自由主义科学家、工程师、计算机科学家、哲学家团体,便一直在讨论,如何在一个日益被计算机和互联网掌控的世界中,用密码学来提高隐私性。他们被称为 “密码朋克(Cypherpunk)”。
密码朋克团体从90年代早期开始形成,一开始只是一个电子邮件列表;在这个电子邮件组中,他们提议和争论哪些系统能够实现他们的目标。这个目标自始至终只有一个:使用密码学在赛博空间中创造出一种安全的环境,使其中的人能免受政府和企业的监视。
随着讨论和提议的推进,三大主题浮现出来:隐私保护(最初的目标);在这个受保护的赛博空间里需要一种形式的货币;还需要智能合约,让匿名的陌生人无需信任第三方就能在彼此之间执行交易。
密码朋克全部努力的愿望基础,都可以归结为这样一种根本的概念:信任最小化、避免需要信任的第三方。
密码学货币的先驱
在追寻可用于纯粹互联网环境的货币的道路上,有几项成果不得不提。
DigiCash 是电子货币方面的最早尝试。它诞生于1989 年,是围绕交易隐私来设计的。
DigiCash 的创始人是 Dabid Chaum,是密码朋克运动的先驱之一,他的理念是在公网中使用密码学来保护用户日常交流的隐私。
当时 DigiCash 还被推举加入银行,但随着 1998 年该项目的结束,这种努力也终止了。
DigiCash 的主要缺陷在于会受到金融机构的控制,因为它依赖于对合规的政府货币的锚定来保持数字货币单位的价值;而且,DigiCash 通过一种叫做 blind signature 的技术来保护隐私,但它需要运行在一个中心化控制的服务器上,因此管理这个服务器就变成了一个需要信任的第三方。
HashCash 则是密码朋克 Adam Back 在1997年创造出来的,本意是为了防止滥发邮件。它实际上不是一种货币,也没想要创建一种互联网世界中的货币。
不过,其底层的技术就是强制计算机在执行一个行动前必须做大量的工作,形式是循环计算(computational cycles)。这种叫做 “工作量证明”的技术后来成了我们今日所知的密码学货币的核心。
Bit Gold 是 Nick Szabo(也是一位密码朋克)发明的;他在1998年发明了这个概念,又在2005年详细说明了其内涵。Bit Gold 是独立密码学货币的第一个模型,它将两种理念结合了起来:使用点对点网络来维护一个分布式的账本;基于计算难题的工作量证明。
Nick Szabo 提供了这个系统运作的细节,还专门模仿了黄金,以黄金在现实世界中的生产、稀缺性和价值来指引这种货币的运作。这也就是它的名字的由来。
Bit Gold 包含了工作量证明机制,让参与者能够(用成本的方式)证明自己创造出来、纯粹用作数字形式的货币的东西,是有价值的。而且,它也需要工作量证明来形成一种分布式的时间戳,并使用节点网络来维护一套账户和 Bit Gold 余额的账本;两者的结合形成了一套产权系统,让用户能持有、跟踪和转移他们的货币。
Bit Gold 的另一个创举是使用前一个工作量证明的结果作为谜题,参与下一波 Bit Gold 的生产。这种设计使得系统的运作最终会形成一串已解决的谜题的链条,非常相似于今天我们在密码学货币行业里说的 “区块链”。
这个链条也是参与者检验他们买到、收到的货币是不是*****的最简单的方法。
Bit Gold 的另一个重要特征是,它不仅使用工作量证明作为价值的基础元素,还使用一个“Bit Gold market”来形成此类不均一的证明(irregular proofs)的价格,所以价值不等的证明可以搭配组合成通用的单位(generic bundles),让这种数字商品更加标准化和可互换。
就像现实世界中的金锭,基于这些搭配而成的通用单位,一个代币的系统建立了起来,这种资产也变得可分割、可转让,也更适合在数字经济体中使用。
点对点网络的共识机制防止了串谋攻击和双重花费(double spend),只要系统中腐化的节点不超过 33%,就能保证安全性。这在计算机科学里面叫做 “拜占庭容错”。
拜占庭容错问题是说,如果33%的节点运营者都同意攻击网络,比如一起重组交易的历史,他们就可以这样做,因为在一个完全分布式、去中心化的系统中,没有办法能阻止和控制这样的活动。(译者注:这里解释得太粗糙了。)
虽然 Bit Gold 在当时是一个非常先进的提议,但它也有弱点。如果没有一个负责管理的第三方,Bit Gold market 就非常难实现;另外,点对点网络无法应对33%的串谋攻击。
紧随 Bit Gold, 另一位赛博朋克 Wei Dai 在1998年稍晚时候提出了 B-money。这一方案不仅有密码学货币,还加入了一些基本形式的智能合约。
B-Money 也使用节点网络来维护分布式的账本,账本记录了账户和余额;参与者们也在自己的电脑上执行工作,来证明他们投入了大量的计算资源来创建这种货币。
这种货币的价值会根据计算资源市场的市价来确定,而节点网络会通过给创建者的账户增加余额来奖励他们。
B-Money 的第二部分是加入了托管代理人,让网络参与者想缔结智能合约的时候,交易能得到保障。
B-Money 在当时可能并没有启动,因为缺乏方案不同部分的实现细节,也因为维护分布式账本的节点网络无法容忍超过33%的拜占庭错误。
RPOW 是 “可重用的工作量(Reusable Proofs of Work)” 的缩写,诞生于 2004 年,由 Hal Finney 提出(又是一位密码朋克!)。RPOW 使用了一个不同的方法来尝试解决历史性的拜占庭容错问题:参与者各自创建工作量证明(就跟 Bit Gold 一样),但他们会通过一个消息系统来直接向另一个用户转移这些证明,而不会使用一个点对点的节点网络来维护一个账本。
这个系统的核心是一个验证服务器,因为参与者会向其他人转移 PROW,新的交易就需要新的工作量证明,而中心服务器只需要验证这些证明是真实的。
虽然这个系统使得用户之间直接转移价值成为了可能,并用这种形式解决了拜占庭容错问题,但它的弱点就在那个中心化的验证服务器上,即使可以用一组相互独立的验证器来管理,仍然有中心化的风险,因为用户必须信任这些验证器。
划时代的比特币
如你所见,所有这些先驱,都有这样那样的弱点。要么是依赖于中心化的服务器、要求信任某个第三方,要么是其账本的共识机制无法抵抗参与者节点的小团体串谋。
待到比特币在2009年横空出世之时,中本聪为之引入了一个充满智慧的创新,使之成为了革命性的技术。它集大成地汇集了过去所有的解决方案,并使它们相互加强,在解决上述问题上获得了极大的改善和显著的提升。今天,我们管这些创新叫 “中本聪共识”。
在中本聪共识中,点对点网络中的所有节点都将新的事务(transaction)转发给所有其他节点;然后,所有节点都以这些事务,加上前一个区块的信息,以及一个时间戳,作为下一个工作量证明的谜题;谜题的解有最低的难度门槛;任何一个节点只要找到了符合这个门槛的结果,他就把结果广播给所有其他节点;节点收到工作量证明之后,基于系统的算法和他们已经掌握的工作量证明链条,各自验证所收到的工作量证明的有效性;通过验证之后,所有的节点就为那个最先解决难题的家伙的账户增加余额;增加的数额,也是根据比特币的货币政策预先约定好的。
如此以来,比特币就保证了代币的价值,不仅因为货币政策创造了稀缺性,也因为,为了创造新币,就必须付出大量的计算工作量。
工作量也是解决上述点对点网络33%拜占庭难题的关键。比特币算法要求的最低难度门槛,暗示着所有节点必须(平均)花费10分钟来解决一个难题,当某个节点发现并发出结果之时,由它所花费的时间(长于或短于10分钟),就向网络中的其他人保证了所有其他参与者也都在共同解决这个难题。(译者注:如果某些人不再参与解决这条链的难题,而去解决另一条链的难题,那这条链的难题就没法在10分钟内解决了。工作量证明就是认同的证明。)
不过,如果某人获得了网络中超过50%的计算力量,他们在制造区块这一点上仍然可以超过其他节点,从而仍然有伪造账本的可能。这就是通常说的“51%攻击”。
因此,中本聪共识的提升是,它将共识的安全性门槛从33%提高到了50%,现在,无论哪个串谋的节点团体,要想伪造账本,都必须拥有整个系统的超过50%的算力。
如此一来,比特币就成了第一个成功的、得到广泛使用的纯数字货币,就像数字世界的黄金。不过下一步,智能合约,就是它无法达到的了,因为它的内部设计也有局限性。
以太坊上的智能合约
如果说比特币是一个袖珍计算器,以太坊就是一台计算机。
以太坊由 Vitalik Buterin 在2015年提出,使用了与比特币同样的基础,也就是中本聪共识,再加上分布式的账本,还有一种作为货币单位的代币;但是,以太坊加入了一个虚拟机和一种编程语言,来打开这种货币的可编程性。(译者注:这里说以太坊使用了中本聪共识是不准确的,以太坊的共识算法是 GHOST 规则。)
换句话来说,以太坊支持智能合约。
以太坊的工作原理是,它使用工作量证明来生产包含了事务的区块,而网络中的所有节点都来验证区块和事务,但账本不仅记录账户合约,还存储一经上链就开始去中心化运行的程序。
这些程序,就像任何软件一样,可以建立规则和执行事务的条件,让价值能在全球化的网络中转移。
举例而言,以太坊上的简单程序可以有:
如果账户 X 有余额 Y,且当今天为2020年12月31日,那就转移5个币给账户 Z;如果条件不满足,那就不做任何事,集成去中心化运行的程序的能力,为去中心化应用(“dApp”)提供了可能,这些应用可以运行在这样的系统上,并具备与区块链同样的安全功能。
权益证明
因为密码学货币是开源的公共系统,这些系统也可以被拷贝、加以变更,实现成完全别样的系统。许多企业和计算机科学家一直想做的,就是让密码学货币不再以工作量证明为核心价值和安全系统,而迁移到另一种基础上。
对工作量证明的批评之一是,它耗费了太多的能量,对环境不友好。但是,比特币挖矿已经在全球范围内形成了巨大的规模,而且大约77%的挖矿活动都是用可再生的能源。实际上,随着可再生的能源变得更加便宜,比特币挖矿活动会加速迁移到使用可再生能源。
此外,许多新近启动的网络,从比特币和以太坊的模型出发,加入了许多功能和修改,比如以权益证明(PoS)作为共识机制。其他他们尝试添加的功能包括投票决策系统(译者注:指链上治理,用投票来决定协议往哪个方向改进)、可作为投资财源的 “国库”(译者注:指在协议的运行中向参与者收取资金,交由中心化的机构来分配),还有账本的分割化(人们管它叫 “分片”)来提升性能。
这样的例子有:Polkadot、Cardona、EOS、TRON 还有 Tezos。所有这些系统都能在 CoinMarketCaps.com 上找到。
哪怕以太坊也正在迁移到权益证明机制。
权益证明取消了计算工作的需要,因此也取消了能源支出,代之以节点运营者的安全保证金。这些以系统的内置货币形式表现的安全押金,就叫“stake”。
所有存入了押金的节点都具有收集事务并在账本上发布的权利。发布区块后,这些验证者们就加入了一个彩票系统,用抽奖来决定谁能获取当前区块的奖励。这样做也使得其货币模型非常相似于 PoW 系统。
虽然我认为权益证明系统没有那么安全,但这里面也存在“可扩展性”的权衡。工作量证明系统更安全,但(以交易吞吐量计)可扩展性差一些,权益证明则反之。 这种明显的互补性,也正是一种可能性:最终这些技术会集成到一个更大、更可扩展和更安全的系统中。
什么不是密码学货币?
第二件重要的事是理解,什么不是密码学货币。
工作量证明和权益证明系统都被归类为密码学货币,因为它们的终极目标都是最小化对第三方的信任需要,无论它们采取了什么样的路径。
需要信任的第三方就是安全漏洞,因为他们掌控着人们的货币、财富、个人数据,在中心化的服务器里管理着一切,他们既有可能被入侵,也可能直接参与欺诈。换句话来说,他们无法保证产权账本、余额、交易和智能合约的不可篡改性。
因为上述理由,根据定义,那些由中央银行来创造和管理的货币(比如 CBDC),就不是密码学货币,哪怕他们模范了所有的外观。
同理,那些私有的货币方案也不是密码学货币。比如 Facebook 的“Diem”(之前大家所知的“Libra”),以及稳定币(比如 Tether、USD Coin,还有 DAI)。因为它们将金融机构、中央银行、政府支持的法币等风险引入了系统,与密码朋克的初始愿景背道而驰。