在学习密码学货币的过程中,最要紧的事就是理解设计它们的目的。
自八十年代末以来,一个不断扩大的自由主义科学家、工程师、计算机科学家、哲学家团体,便一直在讨论,如何在一个日益被计算机和互联网掌控的世界中,用密码学来提高隐私性。他们被称为 “密码朋克(Cypherpunk)”。
密码朋克团体从九十年代早期开始形成,一开始只是一个电子邮件列表;在这个电子邮件组中,他们提议和争论哪些系统能够实现他们的目标。这个目标自始至终只有一个:使用密码学在赛博空间中创造出一种安全的环境,使其中的人能免受政府和企业的监视。
随着讨论和提议的推进,三大主题浮现出来:隐私保护(最初的目标);在这个受保护的赛博空间里需要一种形式的货币;还需要智能合约,让匿名的陌生人无需信任第三方就能在彼此之间执行交易。
密码朋克全部努力的愿望基础,都可以归结为这样一种根本的概念:信任最小化、避免需要信任的第三方。
在追寻可用于纯粹互联网环境的货币的道路上,有几项成果不得不提。
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),让这种数字商品更加标准化和可互换。
就像现实世界中的金锭,基于这些搭配而成的通用单位,一个 token 的系统建立了起来,这种资产也变得可分割、可转让,也更适合在数字经济体中使用。
点对点网络的共识机制防止了串谋攻击和双重花费(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)转发给所有其他节点;然后,所有节点都以这些事务,加上前一个区块的信息以及一个时间戳,作为下一个工作量证明的谜题;谜题的解有最低的难度门槛;任何一个节点只要找到了符合这个门槛的结果,他就把结果广播给所有其他节点;节点收到工作量证明之后,基于系统的算法和他们已经掌握的工作量证明链条,各自验证所收到的工作量证明的有效性;通过验证之后,所有的节点就为那个最先解决难题的家伙的账户增加余额;增加的数额,也是根据比特币的货币政策预先约定好的 。
如此以来,比特币就保证了 token 的价值,不仅因为货币政策创造了稀缺性,也因为,为了创造新币,就必须付出大量的计算工作量。
工作量也是解决上述点对点网络 33% 拜占庭难题的关键。比特币算法要求的最低难度门槛,暗示着所有节点必须(平均)花费 10 分钟来解决一个难题,当某个节点发现并发出结果之时,由它所花费的时间(长于或短于 10 分钟),就向网络中的其他人保证了所有其他参与者也都在共同解决这个难题 。(译者注:如果某些人不再参与解决这条链的难题,而去解决另一条链的难题,那这条链的难题就没法在 10 分钟内解决了。工作量证明就是认同的证明。)
不过,如果某人获得了网络中超过 50% 的计算力量,他们在制造区块这一点上仍然可以超过其他节点,从而仍然有伪造账本的可能。这就是通常说的 “51% 攻击”。
因此,中本聪共识的提升是,它将共识的安全性门槛从 33% 提高到了 50%,现在,无论哪个串谋的节点团体,要想伪造账本,都必须拥有整个系统的超过 50% 的算力。
如此一来,比特币就成了第一个成功的、得到广泛使用的纯数字货币,就像数字世界的黄金。不过,下一步,智能合约,就是它无法达到的了,因为它的内部设计也有局限性。
如果说比特币是一个袖珍计算器,以太坊就是一台计算机。
以太坊 由 Vitalik Buterin 在 2015 年 提出,使用了与比特币同样的基础,也就是中本聪共识,再加上分布式的账本,还有一种作为货币单位的 token;但是,以太坊加入了一个虚拟机 和一种编程语言,来打开这种货币的可编程性。(译者注:这里说以太坊使用了中本聪共识是不准确的,以太坊的共识算法是 GHOST 规则。)
换句话来说,以太坊支持智能合约。
以太坊的工作原理是,它使用工作量证明来生产包含了事务的区块,而网络中的所有节点都来验证区块和事务,但账本不仅记录账户合约,还存储一经上链就开始去中心化运行的程序。
这些程序,就像任何软件一样,可以建立规则和执行事务的条件,让价值能在全球化的网络中转移。
举例而言,以太坊上的简单程序可以有:
同理,那些私有的货币方案也不是密码学货币。比如 Facebook 的 “Diem”(之前大家所知的 “Libra” )以及稳定币 (比如 Tether、USD Coin,还有 DAI)。因为它们将金融机构、中央银行、政府支持的法币等风险引入了系统,与密码朋克的初始愿景背道而驰。 来源:以太坊爱好者公众号
江苏省密码学会
互联网PC备案:苏ICP备2021024081号
地址:江苏省南京市栖霞区南京大学仙林校区潘琦楼A201
电话:02584470258
扫一扫
关注微信公众号