用最简单的表述来说,比特币(bitcoin)就是一种数字货币。你可以以美元、欧元或日元换取比特币,也可以通过向人提供产品或服务来获取比特币,或者通过“挖掘”(mining)来获得比特币(后面详细介绍)。你获取及随后拥有比特币的行为以一个或多个条目的形式存在于一个公共账目(即区块链)中,在这里面你的身份通过匿名的安全“密码”来认证。每次你使用比特币,新交易被记录的同时,账目中也会增加一个条目。
很多对比特币的关注都集中在它成功地创造了一个没有政府背景的货币,或者是比特币相对传统货币的价值随时间波动很大(尽管在2015年它的汇率相当稳定),或许还包括比特币的商业运用被许多政府认为是非法的。下面将重点关注比特币作为众多新落地技术应用中的一员,而不再讨论以上这些话题。我还将讨论其他两个相关的应用程序:OpenBazaar和La’Zooz(以色列一家区块链式拼车应用)。通过下面的讨论,我们对去中心化点对点市场的一些关键的经济、技术因素的理解将变得更加透彻。
比特币
去中心化点对点市场的许多重要构件都部分类似比特币的思想。假设你想要向你的朋友克莱发送数字货币。你最好这样表述:“我从上一笔交易中能获得至少一个单位的货币,然后我将给克莱一个单位。”这就确认了三件事:你有钱、你将进行这项交易、克莱将获得钱。在真实世界中,就相当于你将钞票给了克莱。
建立一个数字化的等效体系首先需要使用“数字签名”。假设有两个独特的数字(称为“密码”,类似于解锁的钥匙)与你有关。一个只有你知道,或者存储在你自己的设备上的,被称为私钥(private key)。另一个可供任何人查找,被称为公钥(public key)。如果有人用你的公钥“锁上”消息(或使用加密算法进行编码),那么这种加密消息只能用你的私钥才能“解锁”。反过来也一样——如果消息是用你的私钥加密,那么它只能用你的公钥进行解密。这就有了一个简单的方法来创建一个“签名”:因为你是私钥的唯一拥有者,一个加密消息只能来自你。又因为你的公钥是公开的,所以任何人都可以确认这是你的签名。
未来一定有办法阻止你任意使用不属于你的钱。在真实世界中,可以通过将银行票据制造得难以被伪造。另一方面,在PayPal等系统中,一个受信托的第三方(比如一个中心化的实体或PayPal本身)——每次有人向其他人付费时,就追踪每个人有多少钱以及不断更新每个人自己的数字“账目”。[48]相反,比特币使用公共账目,即区块链。每个比特币的用户都有这个区块链的副本,它包含了每一个比特币自诞生以来的交易情况。当你说“我从上一笔交易中能获得至少一个单位的货币,然后我将给克莱一个单位”时,克莱可以通过你的数字签名来验证消息真伪,他也可以检查他的区块链副本去确认你是否真的有比特币可以支付。
但是这种方法会导致一个问题。假如你只有一个单位的货币。现在,假设你给克莱和艾米丽同时发送带签名的消息,告诉他们你要给他们每人一个单位货币。如果他们两个都检查过了当前的区块链副本,他们会找到之前的交易,它似乎会显示你是有钱的,同时他们都会更新他们的账目,从而导致出现问题。
一个可能的解决方案可以是委托“大众”来维护账目的完整性。我以这个简单例子来说明:克莱和艾米丽收到你的消息后检查他们的区块链副本,以确认你是否有钱,然后向整个网络的用户广播这次交易。然后这笔交易将进入“未决事务”的列表,只有当网络上足够多的人将此次交易与自己的区块链副本进行比对并表明它没有问题时,这笔交易才能被“确认”。在等待确认期间,可能会有人发现你(也许只是失误)试图用该单位货币支付两次。
这有点像真实世界中的支票。如果你给人一张个人支票,虽然他们现在拥有这张支票,但实际上他们当时收不到钱,直到银行“确认”这张支票。在上面的例子中,用户网络(拥有个人的区块链副本)共同提供银行的服务。
但是,是什么阻止了你创建数百万的网络账户并通过控制大多数的账户来“接管”网络呢?如果你能在大多数区块链副本中植入假的交易信息表明你有钱,这会不会使你有能力创建“假冒”的货币呢?
比特币用一个巧妙的方法解决了这个问题:继续依赖于基于大众的交易确认方法,但人为地增加了验证过程的复杂度。如何实现?为什么会有效?当一个用户,我们还叫他克莱吧,检查了待交易的列表并确认其有效性,克莱还必须解决一个非常具有挑战性的计算问题(“挑战”)。解决挑战有点像将一个很复杂的多项式做因式分解——通常解出因数是非常困难的,但一旦分解成功,证明它们相乘就是原来的数却很容易。也就是说,比特币的挑战是非常困难的,但是一旦解决,检查答案是否正确却相对简单。[49]
同时,艾米丽和其他人也可能和克莱一样在验证待确认的比特币交易列表,试图解决这个挑战。如果克莱赢了(首先他解决了挑战),其他人将验证他的答案是否正确,然后用他验证的交易列表更新其区块链(它实际上比一组交易记录被区块链接受所需要的时间更长,但这是一个与我们的讨论不太相关的细节)。
因此,克莱不能简单或任意地生成伪造身份接管网络以及插入假账目条目。他需要大量的计算能力,与此同时,其他人则忙着解决同样的挑战来验证交易。同时挑战中还存在足够的随机性,因此最有计算能力的人也不一定每次都能赢(虽然从普遍意义上来说,具有计算能力确实有优势)。因此,尽管存在这样的风险,有人会比其他人投入更多以提高计算能力,甚至开始接管网络,但这远比建立的数以百万计的假身份更加困难和昂贵。
但是,这将导致另一个问题,计算能力并不是免费的。为了让克莱和艾米丽投入资源去反复解决挑战,我们有什么激励手段呢?于是,挑战的“赢家”被奖励新的比特币(截至2015年,这个奖励是25比特币,价值几千美元)。这个交易验证、解决挑战、获得赏金的过程被称为“挖掘”新比特币。因为每10分钟都会有一个新的交易清单(或“区块”)需要验证,“挖掘”可以使计算能力转化为不错的投资回报。
换句话说,区块链对“无许可创新”的发展发挥的作用就像TCP/IP协议之于互联网。阿尔伯特·温格(Albert Wenger)是纽约联合广场投资公司的合伙人,他于2013年在其早期有影响力的关于区块链的博客中解释了这些协议的重要性:
然而,政策制定者们需要理解这些协议对于分布式无许可创新的重要性——这种创新形式来自于无数个人和创业公司。例如,超文本传输协议(http)让浏览器和web服务器实现了对话——只要服务器支持协议,它就可以向任何浏览器提供创新内容或服务。http本身建立在许多其他下级协议之上,如DNA和TCP/IP。历史上,协议出现往往是从个人或小团体的研究项目中产生,就像从主干中长出分支。关于比特币的争论,关键是认识到比特币有可能成为这样一个能促进很多创新出现的协议。
虽然比特币工作原理的具体细节比我在本节中的描述要复杂得多,但一些关键点仍然描述得很清楚:确认身份的数字签名;存储在每个客户设备里的分布式账目(区块链);群体共同确认每笔交易;为避免潜在的主宰区块链的情况发生有必要使结算工作具有挑战性;以及有必要使用一定激励(相当于钱,通常称为“硬币”[coin],它是从内部系统产生的)让大众对有挑战性的验证交易工作感兴趣。
现在,如果你仔细想想,点对点支付实际上是一个相当简单的商业应用。一旦你建立一种认知,创建一个系统来对交易进行结算,同时使人们相信他们的钱有足够的保障,你就有了足够的信用去让一切运转起来。被交易的是统一单位(即货币)。不需要考虑产品多样化。不存在实物资产。不需要去确认实用性或进行价格比较。不需要去思考买方如何从卖方获得物理资产。(被交易的东西)质量得到充分保证——钱就是钱。不需要复杂的关于送达和质量的合同。在商业交易上不需要透露你在真实世界中的存在或位置,不存在与令人讨厌的人面对面的风险。
因此,毫不奇怪,大部分关于区块链市场开发的初始焦点都集中在创造新的系统去交易虚拟资产:数字资产和金融资产。亚当·卢德温是我之前在这一章中提到的区块链创业公司Chain的首席执行官。2015年,在我和他的一次谈话中,他将区块链形容为“以资产交易为目的新数据库技术”,同时他还看到了,在以区块链为基础的新市场中,在忠诚度点数、移动分钟数、礼品卡,当然还有一系列金融资产中潜藏的巨大力量。卢德温描述了当前这些资产的交易系统中有多少能显著地得益于新的去中心化的市场。他提到:“并不是说一个集中的机构有什么问题,但它会增加成本、抑制创造力而且需要不同层面的调解。”他还进一步指出,在去中心化市场的竞争压力下创新是如何轻易就被激发了,如同非法的点对点文件分享网络就会导致iTunes、Pandora、Spotify的出现。
如果你回顾电子市场的历史,金融市场成为最早被关注的市场这件事并不奇怪。因为许多股票交易所本身就是数字技术的早期采用者,比eBay和亚马逊的出现要早十年或更长时间。然而,要超越数字资产市场而面向更广泛的真实商品和服务市场,只要我们寄望于继续向前去为更复杂的市场交易创造严谨的去中心化的备选方案,那么我上面提到的每个(老)问题——比如参差性、物流和不确定性——都在不断产生并需要解决。
OpenBazaar和智能合同
OpenBazaar平台向去中心化点对点市场的建立迈出了第一步。如果你有一个物品待出售,你可以把它加入OpenBazaar客户端的列表里(一个下载到你的移动设备里的程序或应用程序),内容还包括产品描述和价格(以比特币为单位)。一旦你确认将其加入列表,这个列表就会在OpenBazaar平台上被广播给所有其他客户。
所以,你怎么找到待售的物品呢?除了最关键的分散市场(即分享账目)作为“基础设施”这个因素之外,其次还有分布式哈希表(distributed hash table)。作为背景,让我们回到第2章讨论的关于Napster和Gnutella的区别——Napster有一个中央音乐索引存储在一个中心化的Napster的电脑中。相反,Gnutella则将索引分布在网络各处。虽然Gnutella开创了分布式索引,但该方法的问题在于它的用户需要花很长时间才能找到他们想要的东西;此外,每次有人进行搜索,这个动作将“弥漫”整个网络。而且因为每个点之间互不了解,不能保证这种方法一定能找到可供下载的歌曲。
分布式哈希表,就是将Gnutella的方法努力改善的结果,它是一个在分布式网络中进行搜索的更复杂的索引方式。它在分解索引、复制索引、分发信息上更明智,这种方法使搜索结果更可靠。如今最流行的点对点文件分享技术,比特流(BitTorrent),使用的就是这种方法。当在一个数以百万计的数据库服务器中检索你朋友的照片时,Facebook也是这么做的。
但是,回到OpenBazaar,如果你发现一个你喜欢的产品,你就可以用比特币购买它。就像PayPal,在点对点市场早期发展中它是使eBay正常运转的关键组成部分,如今比特币技术也为OpenBazaar的支付提供了必要的基础设施。而且类似eBay的拍卖系统,如果OpenBazaar上的价格太高,你可以向卖方重新提出一个较低的价格。
一旦你(作为买方)同意卖方的价格,那么你将遇到另一个挑战。你怎样保证你会得到你买的产品?这就是分布式点对点市场的第三个关键基础设施因素:合同。在OpenBazaar里,合同相对简单,将受信任的第三方作为公证人——在OpenBazaar中,这个公证人可以是任何其他客户端。合同一旦成立,你就要发送比特币进行支付,这些钱都由第三方暂为保管。你,作为买方,通知卖方说“我已付款”,然后卖方发货(并负责所有物流)。当产品送达时,你宣告已收货。这些钱就会被支付给卖方。如果有争议,公证人则可以充当中介(由任何2~3个当事人——买家、卖家、公证人——来决定钱最后的流向。例如,买方和卖方可以自己解决他们的纠纷)。有一个评级系统来帮助你选择卖家、买家、公证人。这与集中市场的方法略有不同,也完全避免了人为操作。
还有一类新兴的基于区块链交易的更复杂的合同(被称为智能合同)。在《区块链:新经济蓝图》(Blockchain: Blueprint for a New Economy)这本书中,梅勒妮·斯旺(Melanie Swan)解释说,虽然传统的合同是两个或两个以上的当事人之间的协议,但对于一个智能合同而言,这些条件都一样,只是有一点不同——信用是不是来自第三方变得不那么重要。这是因为智能合同的协议可以用计算机代码指定某些条款,在这些条款下必须履行相应义务,也可以执行某些行动,如一旦付款或者有证据表明合同条款被履行则该合同文件就会被终止(智能合同的前身是在类似iTunes等媒体存储播放器中使用的数字版权管理系统,在此系统下你付费观看的电影在24小时后自动失效)。
“智能合同”如何能做到这一点的呢?普里马韦拉·德·菲利皮(Primavera De Fillipi)2014年在哈佛大学伯克曼中心发表的极具影响力的演讲中解释道,点对点交易合同的风险可以通过引入三个新的前提而减少:自动性、自足性、分散性。
在交易确定后,智能合同自动生成,理论上不需要再次触发启动部门。智能合同也具有自足性,能自己争取自己的资源。最后,智能合同是分散的,他们分布在各个网络节点,而不是在一个集中的位置,并且是自行驱动。这意味着,智能合同将跨越司法的管辖区或适用范围,在某种意义上,将无国界。我们甚至可能因此缓慢逼近实现斯坦福大学教授劳伦斯·莱斯格的令人难忘的咒语:“代码就是法律。”在这方面,智能合约将解决一个我们面临的自20世纪90年代开始就在网络中传播的难题——超越司法对政治边界的依赖。问题最后的答案,毫不意外地,就是代码本身。
然而,我们有理由保持谨慎。迄今为止,通过代码进行监管取得了好坏参半的结果。与互联网一同到来的还有垃圾信息。随着时间的推移,我们已经试图阻止这些垃圾信息使用各种不同的自动化方法,但是正如莱斯格自己指出的那样,努力阻止垃圾信息也阻止了其他类型的信息在互联网上传播。因为我们没有达成互联网的基本原则——自由言论上进行妥协,从某种意义上说,通过代码进行管理已然失败。目前尚不清楚对人类的限制是否能同样限制智能合同的有效性范围。
去中心化的服务平台
类似比特币的货币或像OpenBazaar一样的市场变得越来越强大,因为它拥有更多的用户。但是,如果你仔细想想,比特币的早期用户加入的这项事业时,平台并不能保证他们贡献的时间、支持或计算能力会产生真正的价值。当然,也有部分人因为“挖掘”了价值数百万美元的比特币获得了丰厚的回报。在某种程度上,正如物理学家马坦·菲尔德(Matan Field),同时也是区块链的思想家和连续创业者,在2015年夏他向我解释的,这些早期用户为系统增添了巨大的价值——远远超过今天的新用户可能会增加的——以及相应地,许多人也收获颇丰。类似于风险资本家从早期创业公司处获得风险投资回报的方式,早期用户冒着巨大的风险——但投入了大量人力和处理能力资本——最后获得了巨大回报。
但除了那些参与交易验证的用户和成员,比特币系统中还有许多的其他部分也增加了它的价值,如编写底层的开源计算机代码的人、做宣传的人、写用户指南的人等。可以说,许多利益相关者也为最终的成功做出了贡献;但对于该系统,尽管它可能比私人企业更公平,但它在某种程度上只给了“挖掘者”巨大的经济回报。
这突出了另一个中心化点对点市场面对的挑战。在一个缺乏任何中央集权或第三方监督机构的网络中,如何确保不同的人有正确的动机做出有益的贡献,如何确保奖励与努力、风险相匹配,如何让人们有持续的动力投入交易清算需要的精力和资源去做贡献?这种内部生成的“硬币”显然类似于积分,但是你如何让它有价值,又如何传播这个价值呢?
2013年马坦·菲尔德、澳伦·索科尔斯基(Oren Sokolowsky)和谢瑞·次罗夫(Shay Zluf)联合创立了La’Zooz,它是(截至2015年)一个去中心化点对点的乘车分享市场,它也是解决这一问题的新方法(平台的总部在以色列,“lazuz”这个词在希伯来语中意味着“移动”)。想想看,一个类似Uber的服务项目——当然,它在技术上是有价值的——根本上来看,这个系统中司机越多,对乘客就越有价值;与此同时,乘客越多,对司机就越有价值。所以在这样的乘车分享系统中一个关键的“投入”是用户参与。相应地,参与“播种”这个系统的早期参与用户更可能会获得更大利润,超过那些后来加入的。
La’Zooz创造了一个似乎很常见的用于乘车分享的移动设备应用程序,但它有一个关键的不同:在每个应用程序里都嵌入了一个“挖掘应用”,旨在鼓励用户的早期参与。下面介绍它是如何工作的。你下载并安装应用程序。当你开车时打开应用程序,就会得到“zooz”,即La’Zooz里的货币。你开得越久,你就能赚越多的zooz。你也可以通过邀请其他人下载应用程序来赚zooz(项目负责人也会出售一些zooz筹集资金)。一旦你的周边对该应用的使用水平足够高,乘车分享部分的应用程序就被激活。你可以使用累积的zooz购买乘车服务,就像你可以用货币来购买Uber或Lyft的服务一样。
维塔利克·布特林(Vitalik Buterin)是一个在去中心化点对点系统领域有影响力的作家,他也是以太坊(Ethereum)的创始人,以太坊是一个运行智能合同的点对点平台。正如他在一篇博客文章中提到的:“作为一个发展融资协议的机制,发行新货币的点子也许是一个来自加密货币领域的最有趣的经济创新之一。”但成功的一个关键因素是价值分布的设计架构[50],同时这个值的表现形式也很重要,硬币会随着平台的发展和成熟持续增值。同样重要的是要将硬币不仅仅想成是货币,而是作为价值储存手段,就像一个私营公司的股票。硬币让我们能重温各种早期作用因素——人力资源、市场风险的早期参与、市场宣传效果以及辅助最关键的群体——即新一代目标导向的投资者。