孟岩
渡鸦区块链专栏作者
用区块链来管价值100亿美元的比特币,管了8年,零瑕疵。这个太牛了!我们不禁想到,是否可以用区块链来管理其他的资产,甚至是所有的资产?
仅以虚拟资产而言,从货币到证券,从会计记录到财务报表,从订单到发票,从门票到优惠券,从房契到许可证,从身份证到法律文书,整个构建在文字记录基础之上的全套政治治理和商业文明体系都可以用区块链来重新实现一遍,并且立刻具备自动化、智能化、去中心、可匿名、可追溯、防欺诈等优点,人类文明大升级!
但这里有一个问题,区块链只能管理自己所产生的虚拟资产,对于链外的资产和交易,它管不着。
这是一个麻烦事,因为现实世界中大多数交易涉及到两类不同资产的交换。举一个例子,你要在亚马逊上买书,这个交易有两半,一半是你把钱付给亚马逊,另一半是亚马逊把书快递给你。前一半可以在比特币区块链里完成,但是后一半比特币管不着,亚马逊还是得找一个什么通来把包裹寄给你。区块链那些种种的好处,恩泽不达于链外。
如果区块链一直停在这样一个水平上,那么它的意义就会大打折扣。
能不能让区块链的管理触角伸出链本身,使之能够管理链外资产和交易呢?这是区块链发展当中必须越过的山峰。
围绕这个问题,目前比特币社区形成两个思路。
第一个思路,人工管理。区块链管不了,咱们人自己来管。中本聪发明的 escrow 交易就是这种思路。
下面用买书的例子来说明。
张三想从李四手里买一本书。问题是,张三不想先付钱,怕李四收了钱不发货。而李四不想先发货,怕张三收了货不付钱。于是双方进行 escrow 交易,步骤如下。
第一步,张三和李四共同找到王五,请他做仲裁者。
第二步,张三发起一个交易,交易合约称张三愿支付 1 个比特币,但收款人未定,而且这个交易必须由张三、李四、王五三人中任意两人签字才能生效,并且这两人可以决定这笔款项最后付给谁。
第三步,张三把这个交易公布到区块链里。这个时候,张三的钱已经付出去,但收款人尚未确定,因此可以说是一个悬在空中的交易,或者说是一个完整交易的前半段,这种交易称为 escrow 交易。
第四步,李四看到这个 escrow 交易之后,知道张三已经无法耍赖,放心的发货。
第五步,张三收货,非常满意,于是他跟李四一起对那个 escrow 交易签名,将款项支付给李四。
但是如果张三对货品不满意,或者干脆就没收到货,则张三将拒绝付款。此时如果李四认账,双方生意不成仁义在,并没有纠纷,两人签字将款项退回张三即可。
在以上两种情况下,他们两人都可以自行解决,不必麻烦王五,因为并没有纠纷产生。在现代社会里,这种情况应该占 99%,所以王五会很轻松。
但如果李四不认账,两人处于纠纷状态,那么王五的作用就体现出来了。两人可以向王五出示证据,要求获得王五的支持。例如张三出示证据证明货物损坏,则王五支持张三,两人签字,将款项退回张三。又例如李四出示证据说张三收货时品相完好,是他自己使用不慎导致货物损坏,则王五可以支持李四,两人签字,将货款支付给李四。再或者王五认为虽然张三的货物有损坏,但责任不全在李四,则可以提出一个仲裁方案,将60% 货款退还张三,将 35% 货款付给李四,另外 5% 作为自己辛苦调查的费用揣进自己腰包,只要张三、李四二人有一人同意王五的仲裁,就可以协同王五一起签字完成仲裁。
这就是 escrow 交易。在这种交易里,交易的另一半走了传统的物流流程,而契约的执行也并非由区块链独立完成,而是由人来完成。区块链只是将交易置于一种“无人拥有绝对权力”的状态,没有绝对的权力,也就没有绝对的腐败,没有绝对的腐败,也就有了相对的公平。
听上去不错。但是在现实当中,escrow 交易的使用并不广泛。到2015年底,所有比特币交易当中,99.7% 是普通的转账交易(P2PKSH),escrow交易,连同其他所有智能合约类型(例如 Green Address,Micropayment, Locktime 等等)一共只拿下 0.3% 的份额。
为什么广大人民群众不待见 escrow 这种安全的交易类型呢?我想主要有两个原因,一个是不那么必要,第二是不那么方便。
首先,互联网和电子商务实施20年,无论中外,大家对于网上买卖的行为有了一个自觉的规范,即便是 C2C 的买卖,一般来说搞欺诈的比例也不高,时间长了,心里戒备已经降得很低了。所以很多人用比特币支付的时候,不太担心被欺骗,也就懒得搞复杂的 escrow 交易了。
其次,用 escrow 交易还是麻烦,你还得找一个王五来做仲裁者,真的发生了纠纷你还得举证,说服王五。王五也不好做人,被两方吵得头昏脑涨,最后也不一定能拿出公证的解决办法来,弄得不好还被自认为吃亏的一方发长微博控诉《我与王五不得不说的那些事》。
以上种种原因,escrow 交易并没有大行其道。
下面我们看第二个思路,侧链。
侧链其实就是另一条区块链,只不过它跟主链之间存在特殊的通信关系,从而使得彼此可以相互验证对方链上的交易。
侧链诞生的原始动机是为了在新生区块链货币与比特币之间实现双向价格锚定。假设你开发了一个新的区块链货币,比如叫土豪币,不管它名字起得多牛,一出来价格难免起起伏伏,这样非常打击用户对土豪币的信心啊。于是你很自然的就会想到,如果让土豪币跟比特币之间形成价格锚定,其价格不就能够很快稳定了吗?
但是怎样才能实现价格锚定呢?你空口白牙,上嘴唇一碰下嘴唇,说1土豪币兑换1比特币,人家就相信了?那是做梦!
最好的办法就是让持有比特币的人以 1:1 的汇率来兑换土豪币。香港的联系汇率制就是这么操作的。
联系汇率制是怎么回事呢?这是香港金管局(相当于香港央行)执行的货币发行体系。香港有三家发钞行,分别是中银、汇丰和渣打,但是他们其实并不能自主发钞。每当他们要发行港币的时候,需要先按照 7.8:1 的汇率掏美元到金管局去买一种叫做“负债证明书”的许可证,凭证发钞。
例如中银要发行 78 亿元港币,它就得先拿出 10 亿美元到金管局购买负债证明书,有了负债证明书它才能发行这 78 亿港币。金管局收到这10亿美元之后,就变成香港外汇基金储备起来,让这10亿美元退出流通。
而市场上少了10亿美元,中银才能发行78亿港币来填补。日后,中银可以凭借负债证明书,再以 7.8:1 的价格用 78 亿港币从金管局买回 10 亿美元。同样,金管局拿到这 78 亿港币以后也让它退出流通,其缺口恰好由中银买回的 10 亿美元填补。香港金管局确保所有流通中的港币背后都有百分之百的美元储备与之对应,也就是说,你手里拿着7.8港元,可以百分之一百肯定在香港外汇基金里有1美元与之对应,只要你想,随时可以兑换成美元。因此港元实际上就是美元,只是颜色花纹不同而已。
但是这套办法并不能够简单的照搬到区块链货币里来。为了理解其原因,我们假设张三手里有100万比特币,李四手里有 100 万土豪币。张三想以 1:1 的价格从李四手里换取土豪币,并消费土豪币。如果成功,则意味着张三以自己手中的100万比特币作为储备金发行了100万土豪币。
看上去很美,实际上漏洞百出。我们来看看会出现什么问题。
第一个问题,李四拿到这 100万比特币以后打算怎么办?如果他把这些比特币拿出来消费,那么就相当于市场上流通的比特币并没有减少,但凭空增加了 100 万土豪币。稍微了解一点货币银行学常识的人都知道,这就是通货膨胀,凭空造出来的这 100 万土豪币,其价值实际上是从现有的全部比特币中偷出来的,这无疑会导致比特币的币值不稳定。
如果连比特币的币值都不稳定了,搞双向汇率锚定还有什么意义?要想让比特币的的币值保持稳定,就必须要求李四拿到这100万比特币之后,纹丝不动地把它封存起来,就像香港金管局一样,等着某一天有人再拿土豪币把它兑换回去。世界上有这么淳朴的李四吗?
第二个问题,如果李四其实只是张三个另一个化名而已呢?比特币网络里没有人知道你是谁。如果张三李四是同一个人,那么张三从左衣兜里掏出100万比特币揣到右衣兜里,顺便凭空造出 100 万土豪币,还能拿这些钱从不明真相的群众手里骗吃骗喝,除了天朝央行,天下还能找到这么美的差事吗?
归根结底的要害在于,若要维系土豪币与比特币的汇率锚定,每发行一个土豪币,就必须让一个比特币在市场上退出流通,而存在某处储备起来。反过来,只有一个土豪币退出流通进入储备,才能释放一个比特币出来进入流通。上面的兑换方案显然无法满足这一点。
解决方法就是侧链了。
在侧链方案里,比特币和土豪币彼此可以获取并验证对方链上发生的一切交易。由于比特币是万币之母,因此它称为主链,而土豪币则是平行于主链的一条侧链。
进行汇率锚定时,张三先发起一个比特币交易,其中声明:我现在拿出100万比特币作为发行100万土豪币之准备金,此交易一经发布确认,这 100 万比特币就处于“悬空”状态,没有人能动用,相当于被储备起来,退出流通了。
然后,在土豪币区块链上,张三放出一个交易,发行 100 万土豪币。这个交易需要检查比特币区块链,验证那个100万比特币储备交易是否存在,是否已经被确认。如果验证通过,就说明有 100万比特币退出流通并且储备起来,作为土豪币的储备金了。于是这 100 万土豪币就可以放心的进入市场流通了。这时候,市场上减少了 100 万比特币,增加了 100 万土豪币,当然就确定了两者 1:1 的汇率关系。
有朝一日,某土豪币持有者李四试图将 10万土豪币兑换为比特币,他需要做相反的操作,先将10万土豪币储备起来,然后到比特币主链上,让比特币去验证10万土豪币的储备操作,验证通过之后,比特币从当时储备起来的 100 万比特币中抽出 10万来交给李四。
如此循环往复,生生不息。但比特币与土豪币之间的双向汇率绑定,就在没有金管局的情况下建立起来了。毕竟,世界上除了有金管局这样恪尽职守的央行,更多的是造出一堆池子然后滥印钞票的不负责任的央行。把发钞的权利交给密码学,比交给周小川让人放心多了。
侧链还有很多技术细节,但是对于现在的讨论,了解这些就足够了。
其实我们应该看到事情的本质,就是比特币和土豪币这两条区块链,彼此能够去对方的链上去进行交易验证,这就意味着两条链在自动管理链外资产。这不就是本文一开始所希望寻求的圣杯吗?
如果我们把这一思路拓展开来,让区块链的智能合约能够验证外部世界的交易凭证,那么区块链就能够管理链外的各种资产了,甚至都不要求这些链外资产也是在另一条区块链里的,即使这些链外资产是中心化管理的,也可以顺畅进行。
在这里举一个启发性的例子。
第一个例子是用区块链来管理二手房交易。
假设张三要以 1 万比特币从李四手里购买一套二手房,而二手房交易本身仍然是受政府房管部门监管的,属于链外交易。用区块链管理这个交易分成以下几步:
第一步,张三、李四和房管部门三方准备好一份二手房交易电子合同,张三先签字,表达购房承诺。但这个时候李四还没有收到张三的付款,他不可能签字。而房管部门还没有验证这个交易的合法性,也不会签字。这个二手房交易合同尚未生效。
第二步,张三发起一个比特币交易,交易声称付给李四 1 万比特币,但交易生效有两个条件,第一个条件是张三签字,第二个条件是那份二手房交易电子合同生效。此外,这个交易还有一个附加条件,就是到一周之后,若交易仍未达成,则自动将款项退还给张三。
第三步,张三在这个合约上签字,然后公布到比特币区块链中。此时这个交易生效的一个条件已经满足,即张三已经签字。但另一个条件尚未满足,因为那个二手房交易合同还没有生效。所以这个交易也处于悬置状态。
第四步,李四看到这个交易被确认之后,可以确信,在自己履约的情况下,张三无法耍赖不付钱。于是李四开始在二手房交易电子合同中签字,并通知房管部门签字。
第五步,房管部门审核通过,在二手房交易合同中签字,该合同生效。
第六步,区块链得到自动通知,经验证二手房交易合同已经生效,于是根据合约执行付款行为,1万比特币转移到李四地址中。
假设在第四步和第五步中,李四反悔了,或者房管部门发现此项交易并不合法,则二手房交易合同无法生效,张三发起的付款合同也就无法生效,结果过了一周之后,这笔交易自动执行退款程序,张三收回1万比特币。
在这个例子中,去中心化的区块链可以跟中心化的二手房交易管理很好的结合起来,而房契又是一个特别容易电子化的资产凭证,因此可以纳入区块链管理。推而广之,一切可以电子化的资格凭证,小到医院的专家号,大到企业证券、债券、股权、期权,均可以类似方式管理。其中最大的妙处在于,在交易发布之后,条件满足之前,整个交易处于悬空状态。只要合同构造的细致周到,代码将保证合同得到钢铁一般坚硬的执行,没有任何一方可以朝秦暮楚、翻云覆雨,长期困扰某些社会的信用缺失问题,将得以大幅度改善。
本文首发于公众号“孟岩的区块链思考”/作者:孟岩([email protected]),渡鸦区块链授权发表。
转载/投稿请扫描以下二维码联系