一个聪明的把数据供给编码到比特币的方法叫作现实密钥(reality keys)。在这个系统里,仲裁者制造出一对密钥,并用该密钥对他们所感兴趣的所有事件的所有结果进行签名。一个密钥代表“是”,另一个代表“否”。他们在注册登记事件的时候先发表公钥,然后当结果确定的时候,再发表那一对密钥里的私钥。如果爱丽丝和鲍勃共同对一个事件进行预测,他们可以把各自的保证金发送到一个比特币输出,爱丽丝可以使用她自己的私钥和“是”这个密钥进行联合签名以提取这个奖金,鲍勃可以使用他自己的私钥和“否”这个密钥进行联合签名提取。这就很好地实现了公正地使用数据供给作为脚本输入的目标,使得上述预测保证金的应用得以实现。值得注意的是,仲裁者不需要知道,也无须参与到爱丽丝和鲍勃之间的特定预测保证金中去。
Clark, Jeremy, Joseph Bonneau, Edward W. Felten, Joshua A. Kroll, Andrew Miller, and Arvind Narayanan.“On Decentralizing Prediction Markets and Order Books.”Presented at the Workshop on the Economics of Information Security, State College, PA, 2014.
半决赛的时候只剩下四支队伍了,由于美国队与英国队都被淘汰出局,所以他们的价格都是零。每个剩下的队都有一个高价位,他们的价格之和是1美元。巴西队价格最高,因为那时市场认为巴西最有希望赢。当巴西队输了半决赛的时候,它的价格马上变成了零。在两个小时内,市场对其信心就发生了戏剧性的改变。你可以对巴西队进行一个卖空或者去买其他球队。
仲裁这个概念引导出一个更加广义的概念:扩展虚拟货币的功能来宣告现实社会里的事实。我们称之为实时数据供给。一个典型的预测市场的事件的事实,比如谁赢了选举、某只股票或者某个大宗商品的当天价格或现实世界里有价值的数据。只要比特币里有了这些数据,脚本语言就可以将其作为输入。比如,一个脚本可以将现货金属铜的价格加载在堆栈里,然后据此价格做出决策。[1]
注:押注美国队赢得世界杯的价格在美国队小组表现出色后,从1美分上升到6美分。当巴西打进半决赛后,其赌注价格上升到了45美分,而当巴西队输掉半决赛后,这份赌注变得毫无价值。最后只有德国队的赌注才有价值,因为他们赢得了冠军。
注:对于2008年美国总统大选预测份额的价格走势图。
[1] 技术细节请参阅第3章相关内容。——译者注
在一个去中心化的交易委托里,我们不能依赖强有力的执法部门。但还是有一个较好的解决方案:我们不再将预先交易称为犯罪,然后再想办法去防范,我们称之为一个特性。这个想法是,任何人都可以通过广播交易的办法把限价委托提交给矿工,只要买入价比卖出价高或者相同,矿工就能够撮合两个交易。这个矿工只需把两者之间的差额留下作为交易费即可。这样一来,矿工就没有动机去做所谓的预先交易,因为与此相比,预先交易不可能赚得更多。
当然,在一个去中心化的市场里,这种做法并不容易,因为你不可能无中生有地创造出更多的资金去支付两种结果的赢家,很可能是仲裁者让预测橙色和黄色的双方平分奖金,最终这两种份额的价格都会变成0.5而不是1.0。为了避免这种复杂情况,你可以一开始在合约里定义清楚,但是你不可能确保你能考虑到所有的可能性。这个案例让我们深刻地意识到,仲裁是个社会问题,通过技术手段是无法完美地解决这个问题的。
通常这是由一个中心化的交易委托服务提供商(通常是一个交易所)来实现的。但问题是,就像许多中心化的服务所面临的问题一样,如果这个交易所不诚实的话,它可以通过损害用户的利益来获利。比如,一个交易所收到了一个买单,它们自己可以先在最好的卖出价的时候下单买入,然后马上再在高位卖出,赚取中间的差额。这也叫作预先交易(frontrunning),指的是交易商利用得知客户买卖证券动向的机会,抢在客户发出买卖指令之前为牟取利益而进行交易的违规行为(例如在股票大量交易前,在期权或期货市场进行相应交易),这是一种金融犯罪行为。中心化的交易委托需要执法部门来监管,来防止这种预先交易的行为,以确保系统诚信的公信力。
作为本章的最后一个论题,我们现在来看一下如何利用加密数字货币,以去中心化的方式来实现一个预测市场,与此相关,如何把真实世界的数据导入比特币系统。
如果你主持了这么一个预测佳得乐颜色的预测市场,你会怎么处理这个情况?最终结果应该是橙色,还是黄色,还是两个都算?实际情况是,好几个体育博彩服务提供商为了保持自己的声誉,即使他们因此而损失一些金钱,但为了获取客户对他们的信任,还是决定支付奖金给所有预测橙色和黄色的用户。
我们描述过的安全多方抽奖协定(The secure multiparty lottery protocol)可以参阅如下论文:
图9.10 预测市场份额
经济学家对预测市场普遍非常热情,关系到预测未来事件的相关信息通常都是比较分散的,由于预测市场提供了一个平台,每一个参与者都可以利用他们的相关知识获利,因此它形成了一个非常好的可以汇聚这些信息的机制。在恰当的经济模型中,股票的市场价格可以被解读为最终结果发生的概率,虽然真实的预测市场还是会存在偏差。根据经验来看,预测市场比类似于投票调查和专家论坛之类的其他预测方法更加准确。
https://github.com/CounterpartyXCP/Documentation/blob/master/Developers/protocol_specification.md.
Andrychowicz, Marcin, Stefan Dziembowski, Daniel Malinowski, and Lukasz Mazurek.“Secure Multiparty Computations on Bitcoin.”Presented at the 2014 IEEE Symposium on Security and Privacy, San Jose, CA, 2014.
只要存在一个值得信任的实时数据供给,我们就可以对体育比赛结果或是期货市场的价格进行预测投资和自动结算。预测市场只是其中一个应用而已。你可以通过对相反的两个结果都进行预测投资,以实现在你的投资组合里加入风险对冲。你还可以派生出一些金融衍生产品,比如目前金融市场上常见的远期合约和期货合约。如果这些都能通过比特币来实现,岂不是更好?
这是一个很简练地建立去中心化的委托交易的办法。其最大的缺点是交易者必须支付给矿工费用。为了避免支付这种交易费,交易者们可能会提交偏向保守的交易委托,不会在开始时就透露他们愿意成交的最高或者最低价位,这会使得市场变得不是很有效率。我们现在还不知道,这种让矿工撮合交易的交易委托方法在现实操作中是否可行,但看上去这是个不错的主意。
在预测市场中,人们可以在一起对未来的事件进行下注,比如体育比赛或是选举。对于事件发生的每一个结果,参与者可以买卖和交易相应的“份额”。
https://eprint.iacr.org/2013/784.pdf.
让我们来设计一个假想中的被称为“未来币”(Futurecoin)的另类币,专为预测市场所用。我们需要设计一些交易类型实现专为预测市场而设的功能,如图9.11所示。
图9.11 未来币中的新交易类型
预测市场的最后一个重要环节是一个去中心化的交易委托,这也是一个通用概念,如果能实现,将会使很多的应用设想变为可能。交易委托是什么呢?在一个真实的预测市场里,或者是大多数金融市场里,并没有一个统一的市场价,通常在交易委托中会有买入价(bid)和卖出价(ask)两种,买入价是指愿意购买份额的参与者所出的最高价,卖出价则是愿意出售份额的参与者所出的最低价。通常卖出价会大于买入价(否则市场就会对此进行撮合,至少其中的一个交易委托将不会出现在列表中)。一个想要购买份额的参与者可以立刻以卖出价购买,而一个想要出售的参与者则可以立刻以买入价出售,这个交易被称为“市价委托”,对应于“限价委托”——交易委托被设定为一个特定的价格挂在交易委托列表中,这些交易委托将会按照限定的价格(或者高于限定的价格)执行。
我们将在下一章讨论已经尝试这么做的另类币概念,我们将会探讨所有有前途的想法以及开发一个全新的加密数字货币所面临的挑战。
我们讨论过的预测市场设计的相关内容,可以参阅如下论文(由多位作者合著):
到了决赛的时候,只剩下两个队。它们的价格总和还是1美元。当然到最后,德国队获得了最终的胜利,也只有德国队的赌注最终有价值(1美元)。
OpenAssets Protocol可通过如下网址阅读:
您可以通过如下网址阅读:
在比赛前,德国队赌注的交易价格是12美分,意味着市场觉得德国队大约有12%的机会获得最后的冠军。当比赛进行的时候,这些赌注价格会上下波动,反映了市场参与者对每个队最终获胜的信心。
如何建立起一个去中心化的预测市场?我们必须将几个重要的任务去中心化。我们需要一个方法来搜集和发放资金,以使这个预测市场能够建立;我们还需要一个方法来确保执行正确金额的资金发放;我们特别需要一个去中心化的仲裁机构,仲裁是一种流程,用来判决哪个结果是真正发生的。大多数的体育比赛和国家选举,最后结果都显而易见,谁赢谁输,一目了然,但还是有许多灰色地带。我们还需要把下单登记系统去中心化管理,其实就是让参与方直接找到交易的另一方。接下来,我们将按顺序来讨论这些挑战。
预测市场的力量
当然还有一个获利的办法就是,你在最初就以12美分的价格买下德国队的赌注,然后一直持有到最后,直到德国队获胜。这基本上是传统体育博彩的机制——你在比赛前下注,然后在比赛胜利后收钱。但在一个预测市场里,有很多其他办法可以进行博彩和盈利。你可以在任何时间对任何球队下注,你是否可以获利完全取决于你准确地预测市场信心的转变,而与最后结果无关。
这里有另外一个案例,这次是一个完全真实的预测市场案例。在2008年美国大选之前,Lowa电子市场允许人们购买份额下注奥巴马或者麦凯恩获取最后的大选胜利。如图9.10所示,奥巴马的价格显示为实线,麦凯恩的则是虚线。你可以看到,随着竞选活动的开展,人们对谁将最终获胜的信心是波动的,但是到了大选前的前一天,奥巴马当选的概率达到了90%,在最终投票之前,预测市场对结果的预判基本上已经确定了。
现实是复杂的。除了仲裁者可能作假的问题之外,事件结果的判断也可能存在争议。我们最喜欢的一个案例就是2014年的超级碗比赛,超级碗上有一个传统,胜利的球队会将一桶佳得乐(Gatorade)饮料倒在他们主教练的头上。人们想要去对获胜球队用来庆祝的佳得乐的颜色进行预测,这种预测市场由来已久。在2014年,预测结果包括黄色、橙色和其他佳得乐饮料所有的颜色。但是在那一年,一个前所未有的结果出现了,很难去决定最终的结果是什么。当海鹰队(Seahawks)获胜的时候,球员们把一桶橙色的佳得乐倒在了主教练彼得·卡罗尔(Peter Carroll)的头上,仅仅过了一会儿,另外一些球员又倒了另外一桶黄色的佳得乐。
总结一下,现在比特币可以作为很多种应用的平台,但对于某些应用,比特币也没有更好的发展了,比如,对于实现一个安全的去中心化的预测市场,或者是一个去中心化的交易委托系统,比特币并未提供所要求的全部特性。但假如我们从头开始,忘掉硬分叉或是软分叉,忘掉对比特币增加新功能所遇到的挑战,那又当如何呢?自2008年比特币面世以来,我们对比特币有了越来越多的理解和认识,为什么我们不可以设计一个全新的更好的数字货币呢?
我们用一个案例来详细解释一下预测市场背后的概念,使其更加清晰。2014年的世界杯在巴西举行,假设有一个市场,你可以买卖每个队的赌注。最终冠军队的赌注是1元,而其他队的都是0。比赛开始之后,根据市场认为每个队最后能赢得冠军的概率,每个球队的赌注都会有一个价格。表9.1就是五个队的赌注价格情况。
我们可以有一个更加去中心化的仲裁系统吗?一个选择是设定多个仲裁者,然后基于多数人的决定做出判决,或者基于投票结果——要么由所有在市场上拥有份额的用户进行投票,或者由加密数字货币的矿工进行投票,这些投票方案通常也会要求对投少数票的人进行相应地惩罚。但这些方法都有很多问题,所以我们也不知道它们在实际运用中是否可行。
经济学家们预测市场的能力的研究,请参阅如下论文:
您可以通过如下网址阅读:
http://www.jbonneau.com/doc/CBEKMN14-WEIS-decentralizing_prediction_markets.pdf.
Wolfers, Justin, and Eric Zitzewitz.“Prediction Markets.” Paper w10504. Cambridge, MA:National Bureau of Economic Research, 2004.
然而,预测市场还是面临很多合规性方面的不确定性和障碍,在2013年碰到合规性问题并被关闭之前,Intrade是美国最受欢迎的在线预测市场。许多经济学家对此很失望,因为他们觉得我们损失了一个非常有价值的可以揭示未来的社会性工具。
我们看过的两种文件的项目材料和说明书,可以参与交易对手方条款说明。您可以通过如下网址阅读:
你可以用份额来换未来币,只要可以找到交易对手,你也可以用一种份额去换另一种份额。下面的案例就更加有趣了,你可以用一个未来币购买每一种可能发生的结果的份额,然后把那些你认为不太可能发生结果的份额的卖掉,对于那些你认为没有什么机会获胜的球队,你可以把相对应的份额卖给其他对此有兴趣的人。一旦你做了这些,你的投资组合就不再是每个队均分的,你也就不能再自动赎回一个未来币了,取而代之的是,你必须要等到最后的结果出来之后才能赎回你的份额——如果你所押的球队没有最终获胜,你可能什么都拿不回来。另一方面,你也可以直接从交易中获利。你可以购买一个平衡的投资组合,等待价格变化,然后出售所有的份额以换回更多的未来币,这些未来币可以用来和比特币或者其他货币进行兑换。
https://github.com/OpenAssets/open-assets-protocol.
在我们的案例中,英国队赌注本来的交易价是5美分,但后来变成了0,因为英国队没有小组出线,他们已经不可能取得最终的胜利,价格也相应地反映了这一点。与之相反的是,美国队最初被认为很难从小组出现,但是结果他们的小组赛表现却相当不错,如果你在最初美国队赌注价格非常便宜的时候(1美分)买了它,并在它出线并变成6美分的时候马上卖出,你就可以拿回6倍于你最初的投资,而不需要等到全部比赛完了之后再卖出。虽然美国队最后没有赢得世界杯,但你还是可以在美国队小组赛表现抢眼的时候,通过市场对美国队的信心调整来获利。
CreateMarket指令允许任何用户制造出一个针对任何事件的预测市场,然后授权一个特定的仲裁者(也就是一个公钥)来宣布这个事件的结果,以及一系列可能的结果。event_id是一个任意的字符串,可以把不同的交易关联起来指向同一个市场。未来币既不关心event_id特指哪个实际事件,也不关心结果是什么,当然在系统里也没有办法来具体定义。用户必须保留这些来自市场创建者的信息(通常这些创建者也是仲裁者)。我们会谈到这个仲裁机制的不同选项。
资料来源:Lowa电子市场
我们可以把如何在比特币(或是其他另类币)里用技术手段来表现现实社会事实这个问题,和我们如何建立对数据供给的正确性的信心这个社会问题分离开来。
如何用去中心化的方法来实现仲裁呢?如何做出判断并宣布胜者和定价,然后胜者可以赎回他们所赢得的份额?最简单的系统就是找一个信得过的仲裁员,也就是上面所说的CreateMarket。任何参与者都可以发起组织一个市场,在这个市场里他就是仲裁员(或是指定某人为仲裁员)。他们可以创建一个交易,然后宣布发起组成了一个市场去预测世界杯的比赛结果,他们会决定谁是最后的获胜者,如果你相信他们,你就可以接受他们在CloseMarket交易上的签名作为最后判决的依据。
利用这个BuyPortfolio指令交易,你可以对不同事件的预测组合进行投资下注。以未来币作价,你可以购买每个事件可能发生的预测结果。比如,我们下注2014年的世界杯,32个参赛队都有可能赢。你可以用一个未来币购买32个份额,每个队一个份额——因为最终只有一个队会赢,这些份额的总价格就是一个币。任何一个参与者都可以单方面地创建一个BuyPortfolio指令而无须一个对手交易。这个交易实际上是利用用户提供的一个未来币的消耗,以此制造出一个新的份额输入,并分派给每一个可能发生的结果。还有一个交易类型叫作SellPortfolio, 你可以卖(或消耗)每一个对应不同的结果的份额,以此赎回一个未来币。未来币和每一个结果对应的份额可以进行互换。
注:未来币是一个实现了去中心化的预测市场的假想的另类币。
就像其他的市场一样,我们可以想象,经过一段时间后,有些实体慢慢地建立声誉并成了可信任的仲裁者。然后它们就会主动维护它们有价值的声誉并做出公正的仲裁。但是,一旦潜在的获利大于其声誉价值,就会存在风险,也就是它们有可能会去操纵一个预测来获取巨额收益,这对预测市场而言是非常危险的。举例来说,在世界杯的预测市场里,即使阿根廷队事实上输掉了比赛,但是仲裁者还是有可能宣布阿根廷队获胜。如果仲裁者自己买了大量的阿根廷队获胜的份额,他可能会通过操纵这个结果赢足够多的钱,而不在乎毁掉他的名誉。
Arrow, Kenneth J., Robert Forsythe, Michael Gorham, Robert Hahn, Robin Hanson, et al.“The Promise of Prediction Markets.” Science 320, 2008.