墙裂坛

智能合约除魅:它能避免俄罗斯违约和“镍逼空”吗?


Listen Later

· 《文理两开花》主播 · 


肖小跑:《羊群的共识》作者,金融行业从业者及连续创业者,播客《墙裂坛》主播,公众号“肖小跑”主理人。


王玮:数学和计算机学霸,兼通技术与金融。若干年前“all-in”区块链领域,成为区块链行业知名意见领袖之一。



“智能合约”这四个字似乎也是个“模因”了:这是一个在金融科技业界、甚至所有和科技、数字化相关行业中都会听到的概念——一个“听起来很厉害但并不知道到底是什么”或者“不知道厉害在哪儿”的模因,反正这四个字代表了“科技进步”,都“智能”了还能不厉害么?

但它到底是什么?能做什么?不能做什么?迫切需要智能合约专家用小白和文科生都能听懂的语言来除魅。

正好最近在现实世界的金融市场上,也发生了几件有趣的事:俄罗斯债券违约、还有金属市场上的“镍逼空事件”——所以我们干脆做一个案例分析,现场来看看智能合约到底能不能解决这些现实世界中头疼的问题。

· 本期提纲 · 


1、365度全景式“除魅”智能合约:它到底“智能”在哪儿?是一段代码?一份合同?还是一个机器人?

2、它只能解决虚拟世界的问题,还是也能用于现实世界?

3、俄罗斯债券违约:如果用了智能合约,结果会不同吗?

4、如果主权债放在智能合约上会不同吗?智能合约能解决“信用”问题吗?

5、镍逼空事件和LME“硬分叉”:如果LME采用智能合约来自动执行,结果会不同吗?

6、区块链上的“硬分叉”和现实世界中的“硬分叉”(取消交易)有什么不同?

7、“投票”+“冷静期”的设定能避免“多数人的暴政”吗?

· 文字稿 · 

小跑 02:48

“智能合约”(smart contract)这四个字好像已经变成一个“模因”了。它是金融科技业界、甚至更广泛的跟科技、数字化相关的行业,都会听到的一个概念——反正这四个字就代表了科技进步、代表智能。

但它依然是一个“听起来很厉害,但不知道到底是什么”,或者“不知道到底厉害在哪儿”的概念。大部分人,包括我在内对它也是一知半解。所以今天请王玮老师用小白和文科生都能听懂的语言,给大家“除魅”一下智能合约。

另外,正好最近现实世界的金融市场上,发生了几件很有意思的事——包括俄罗斯债券违约、镍逼空事件。今天干脆拿这两件事来做一个案例分析,来看看智能合约到底能不能解决这些现实世界中的头疼问题。

先请王玮老师给大家解释一下:智能合约它到底“智能”在哪儿?

王玮 04:26

智能合约如今不管在区块链、DeFi、还是未来的web3领域,都是最重要的核心。比特币出来时,大家都说区块链是“分布式账本”;自从以太坊诞生,大家慢慢看到智能合约在web3.0甚至metaverse领域,作用越来越大,重要性也越来越高。

我先从发生在身边的一个小故事说起。我有一位师妹,是大学计算机系教授,去年问了一个问题:区块链我都能理解,但有一个问题没想明白——智能合约到底“智能”在哪儿呢?

之所以这么问,她一定是把“智能合约”理解为“智能代码”了。因为是搞技术的,她一定是跟别的代码比较,默认“智能合约”应该比别的代码更“智能”,才配叫“智能合约”。

我的答案是:不要把它跟计算机代码相比,而是跟现实世界当中的“合同”相比——它是一段智能的“合同”,而不是智能的“代码”,就好理解了。把它跟代码比较,有点侮辱“智能”这个词。但跟日常经济活动中签的合同来比,逻辑就比较贴切了。

那跟合同来比,它智能在哪儿呢?

我们日常的合同有几个特征:第一,有签署的双方或多方;第二,它有合同的条款,什么情况下执行什么条件做什么事情;第三,有合同标的物,一手交钱一手交货,合同约定了提供什么商品或者服务,付多少钱;第四,合同大概还有个编号,有个标识记录这是哪份合同,哪年哪月哪日签的,谁跟谁签的等等;第五,要有一个管理手段,签署多方要各持一份,防止某方把条款改掉。这五个特征基本代表了日常执行合同的最基本条件。

从这个角度,智能合约就好理解了。

比如以太坊的智能合约:第一,它的代码和存储的数据,其实相当于合同条款达到什么条件、怎么自动执行——大家可能都知道智能合约的这个特点。第二,它还能够让“签署双方各执一份”这件事在链上实现,签署双方都能访问到区块链的时候,其实就是都能看到合同副本,而副本不是自己能掌握或篡改的,而是链上存储的。

这就很有意思了:中本聪发明区块链,是为了防止“双花”比特币这种纯数字资产的,结果到了智能合约时代,以太坊一下子赋予了它“帮助合同所有方存储无数副本、保证不被篡改”的神奇能力。区块链是全球化的分布式存储,它能够让世界上任意多的人来共同签署和执行一个合同,而不会让有被篡改的危险——这件事在传统领域做不到。因为技术的限制,你没法让任意无数人同时签署一份合同。

第三,智能合约的每一段代码都有一个对应的“地址”,执行这段代码的入口,这个入口可以理解为合同的编号,唯一的标识。

第四,智能合约本身还能够拥有“其他的财产”。我们日常的合同只是一张纸,一个附属品,财产仍然在人的掌控之中——合同就算约定了镍的交割,纸怎么能控制镍的移动呢?而智能合约本身却能掌控财产。合同一定要有“标的物”,有“钱”有“货”,这个标的物是可以受到智能合约所控制的,相当于是被它“所拥有”的。在这种情况下,所谓的“自动执行”才有保障,它拥有对资产的全部执行权。

小跑 11:30

相当于司法执法合二为一。

王玮 11:33

对。所以有签订方、有无数可靠的备份、有自动执行能力、有可以找到的地址和入口、还有对于合同标的物的控制权——从这个角度,它确实比普通的合同要“智能”的多。

小跑 12:04

其实特别理解王老师师妹的想法,毕竟都是理科生,大家可能天然会从代码角度来理解。但作为非技术背景的普通人,我反而没有理解的这层障碍。

一看到“智能合约”这四个字,没有代码背景的人,天然就会先把它想象成一个合同,一个不用人来执行的“聪明的合同”。在现实世界中,比如我跟老板签了合同,但是他每个月不给我往账户里发工资,我也没办法。

另外,智能合约建在区块链上,就是说跟我签合同的人,我不用认识也行。我们之前没有做过买卖,没有建立过任何信任关系,其实也能签——因为区块链保证了“人手一份”且不能改。这有点像我们讨论过的SWIFT——它实现了“信息”和“账户”合二为一;而智能合约是实现了合同的“内容”和“执行”合二为一,一旦建立了,执行就不用太担心了,智能合约会自动给我发工资,不用再信任老板。

可是,仔细再想的话,好像又有点琢磨不透。如果它的执行是自动的,那出了问题该怎么办呢?我们订立传统合同时,会有后续发展过程中修改条款的情况,或者出现特殊情况导致合同不能按照订立时的条款来执行——如果出了差错,智能合约还是会不管不顾的执行下去吗?

如果真是这样,大家在“签”智能合约,按启动键的一刹那可能就要再想想了——只要一按,后面就没有改的余地了,对吗?

王玮 15:00

先说第一个问题:智能合约最大的价值就是能让世界上相互不认识、或者没有过任何协作关系的人,能立刻签署、执行这个合约,获得结果——这跟区块链的特征是一脉相承的。

很早我们在介绍区块链时,会强调它的一个特征——能让全世界本来没有任何协作关系的人,开始转账交易。中本聪发明的防止“双花”,就是为实现——我们虽然不认识,但我转账给你,你知道这笔转账一定是真实的,而不会出现任何问题。智能合约就继承了这个特点,不会因为咱俩不认识、或者你耍赖而导致合约执行不了。

但如果是这样,签订了合同一定能执行,就意味着它肯定不会变。那我又怎么敢随便签?

这一点倒是要从技术角度看了——智能合约是可以“变”的,“变”从技术角度讲,跟一个软件系统的升级没有太大区别。

如果你一定要改变某个条款,就相当于原来的作废,新的合同重签。智能合约也是一样,相当于你把代码升级,现在是版本1.0,过两天我来了个1.1版,换掉1.0版——我们从现在开始执行1.1版——这是没问题的。但是问题又来了,谁有权利来做这件事呢?如果是合同签订双方都有权利改合同,就没任何意义了,完全实现不了。

智能合约其实相当于在一个“市场”上,合约由一个第三方来创建,然后大家分为甲方乙方丙方,在合约上去签署和执行。

之所以敢签署,是因为我作为甲方,相信乙方丙方丁方改不了这个合约,必须执行。第三方就是合约发布和创建方,它是有权利来升级合约代码的。这样一个机制,有点像建立一个“卖场”,里边的买卖双方在卖场里签合约,做买卖,但改变不了卖场的规则——只有卖场的构建者有权利来改。这也是一种必要性。

这种必要性会带来什么问题吗?

肯定也有。比如,第三方有“监守自盗”的危险,如果他发现改动合约对自己有利,也可以去篡改合约,导致签订者的损失。就算他不是出于私利,而是想改进合约的执行效率,或者改善条款,但大家是否都同意?

我们常举的例子:一个“借贷”智能合约可以规定一个利率算法,比如说年化5%;如果调整成为年化30%——表面上看,利率是借贷双方互相支付的成本,跟规则制定方的利益没有直接的关系;但也不能因为是中立方,就可以随便瞎改规则,于是你需要给买卖双方一个“缓冲期”或者“冷静期”,或者一种投票的机制,可以让参与者共同决定。如果接受,投票通过,就可以修改规则。

如果参与者不接受,你还要改的话,那么你给我个冷却期,我要退场。所以最终整个逻辑还是完备的,还是要引入第三方的制约机制。我觉得这一点跟现有金融市场的一些规则也很类似。

小跑 20:42

这就是为什么需要专家解读。如果只看这四个字,会觉得就是个冷冰冰自动执行的代码;但实际上背后还有一系列规则,而且这些规则大部分是可以映射到现实世界的。比如刚才的例子就很像一个“仲裁机制”。

既然如此,我们就在现实世界中找几个案例,分析一下在现实世界中出了问题的、让人挠头的情况,放在智能合约上,结果会不会不同?

我找了两个:一个是俄罗斯违约,一个是镍逼空。

先从俄罗斯开始。俄罗斯其实是个经常违约的国家,它主权债的违约次数是很频繁的:1918年沙皇帝国债券违约,1998年俄罗斯布雷迪债券几乎违约,最近俄乌战争,又把它带进另一个违约危险时期。

3月16号这一天俄罗斯两只美元债,要付1亿多美元的利息;付息前一个礼拜大家就开始担心,因为俄乌已经开打,它到底还有没有能力支付?如果支付用什么币种?用卢布吗?当时已经贬值20%。

结果是没有违约,危机暂时解除了。3月18号俄罗斯财政部已经还了,虽然晚了一天,不过仍然在30天宽限期内。但事情还没完,4月还有20多亿美元的本金偿还。所以到现在为止,会不会发生违约还是一个巨大的问号。

通常一个国家不愿意违约自己的主权债,主要原因是如果违约,市场会以某种方式惩罚你,比如失去信用,被评级机构贬为垃圾债,导致投资者在很长一段时间内不愿意碰,你就很难在市场上找钱。

但是一个国家违约的可能性实在太多了。上个世纪大量主权债的发行,其实都是为了资助战争,一旦战争爆发,肯定是要违约——因为钱都要拿去打仗。俄罗斯现在就是这么个情况,而且更棘手——不管是被动制裁,还是大家主动制裁,显然投资者已经不愿意碰了。俄罗斯基本与世界隔绝,也不能再失去更多信用,因为它几乎已经没有信用了;外汇储备被冻结,就算想还,去哪儿找美元、硬通货呢?

所以在这种情况下,“违约”这两个字究竟意味着什么?

在现实世界中,作为政府的债主,你其实是很难冻结或者强制出售一个国家资产的。这是一个信心加耐心的游戏,如果你有本事在一个足够长的时间内,不停骚扰这个国家的政府,年复一年穷追猛打,就像当年保罗辛格为了追债,干脆把阿根廷的船给劫了。俄罗斯这个战斗民族不一样,历史经验表明,即使是最坚决的债权人,俄罗斯人也有足够的能力胜过,以死猪不怕开水烫的心态挡住所有追债。

这次还有个很有意思的地方:这笔主权债中有一个条款,叫做“pari passu”——“一视同仁”原则。这是一个古老条款,一个多世纪前大家就用在债务合同中。它要求债务人对所有债权人要平等对待,不能厚此薄彼,只要跟其中任一个债主谈妥了,也要给予所有其他债主相同的偿还待遇。

自从保罗辛格利用了这个条款,向阿根廷政府讨债成功,之后大部分国家在发行主权债务时便删除了此条款——防止这些“钉子户”追债时再利用这个条款。

但是俄罗斯这笔债中却没有删除——要么是战斗民族太傲慢,觉得自己永远不会被起诉;要么就是忘了。尽管如此,条款中关于“未来偿还“的字眼却神奇的消失了——是故意,也许是笔误,反正结果变成了:发行时会遵守“一视同仁”原则,所有债主都一样,但并不意味着“未来”还是一样的。

这个例子告诉我们,债券市场是一个完全由“样本文件”主导的“copy & paste”交易,很少有人真的会看多达几百页的条款——但魔鬼也就在这里,人为的“调整”、“违约”空间太多了。

如果债发行在智能合约上,是不是就不会出现这种情况了?

王玮 28:09

这个案例特别有意思。本来还有点担心,因为区块链也好、智能合约也好,其实最不适合迎来解决债的问题。不过听了俄罗斯债务里的很多细节,又有好解决的地方了。

首先,“债务”这个东西,是一个典型的“信用”过程。从本质上,我把金融分为“信用过程”和“计算过程”两个部分。区块链、智能合约、DeFi等等,其实解决的是“计算性过程”的部分,而“债”是典型的“信用过程”。

实际上,债券违约”这件事是最不适合于用智能合约去解决的。或者说,智能合约、区块链这些技术对于“债券违约”是最无能为力的——因为违约就是个信用丧失的过程,就算用智能合约来写债务合约,但还债的过程涉及到还债主体,你需要把资产放入智能合约才能执行;不放进来,就执行不了。

这就回到最关键的一点:智能合约能保证自动执行的前提,是合约本身对标的物有“控制权”。但如果我未来才要还的钱——本金甚至是利息都要放在智能合约里,被它所控制,那我现在“借”钱干嘛呢?还得倒贴往里面放点利息。

在DeFi领域里,我们也看到非常多的项目和创业者,试图用智能合约来解决一个债务市场的问题,或者创建信用产品。其实没问题,因为智能合约背后还可以有一套其他的保障机制,比如投票等等;最终把“信用”部分转化为其他的保障机制,还是有可能的。

信用的“执行部分”不可能转化为代码层面的保障机制,但这不代表智能合约不能对债务市场有所改进。

在俄罗斯债务例子中,它把“一视同仁”条款中的“未来”字眼去掉,这是它的权利,没有办法控制;买债的人一不留神,没注意到改动就买了——这一点其实在智能合约层面可以有所改进。

首先,智能合约作为代码规则写进来,天然就有“一视同仁”的条款,因为代码是人人都可以执行的。只要有地址,有代码固化在里面,天下人都可以执行,所以默认一定是会“一视同仁”的,你要是想不“一视同仁”,反而要去做很多手脚。

关于“债券市场是一个以模板为基础,copy & paste的市场”——让我想起了过去几年,很多DeFi智能合约领域的“微创新”,也是把某些智能合约的代码全盘拷贝过来,然后改上两三个字。

但是你会发现在这种情况下,智能合约反而有价值了。为什么呢?

因为智能合约是精确的代码。一个审计机构是可以轻而易举找到改动之处的。几行代码的不同,意味着结果有什么差别,是可以精确推导和判断出来的。而在传统市场,因为自然语言是不精确的,就算让律师去审,我们也不知道这几句话改动的背后,是不是还隐含其他含义?或者导致什么意想不到的后果。

智能合约的审计机构是整个生态中非常重要的一方。这些机构往往是一些智能合约开发高手,或者白帽子黑客。他们的作用很像现实世界中的律师事务所,专门负责去审合同、审合约代码。

所以总结一下:智能合约不能解决债务的所有问题,但是它在债务的执行、和条款分析层面,仍有很大的作用。

小跑 35:47

所以我现在觉得可能俄罗斯这个案例,甚至整个主权债放在智能合约上,可能不太现实。因为对于本来就有意“不执行”的一方,可能根本不会签了。

这就引出了第二个案例:前些时候闹得沸沸扬扬的镍逼仓事件。

大概复盘一下:三八妇女节那天,市场上演了一个历史性的事件,我们在LME(伦敦金属交易所)市场上见证了史诗级的空头挤压。镍价创了有史以来最极端的价格波动,3月7日暴涨76%,达到每吨5万多美元;紧接着第二天突破一吨10万美元的关口。

这是一个明显的逼空。被逼仓的是青山——全球最大的镍生产商,在俄乌战争之前押错了方向。15万吨的镍空头头寸,其中5万吨是和摩根大通的OTC(场外)头寸;也就是说此刻青山已经欠JP大概10亿美金的保证金。

对于OTC的场外交易,其实大家还是有商量余地的,如果极端情况发生,各方会首先场外协商解决方法。这一次爆仓后,青山的经济上先向交易所垫付了保证金,不然清算会出现巨大问题。谈判的结果空头头寸先保留,之后LME“创造了历史”,取消了交易,并且把镍的交易一直停到3月中旬。

从那一刻起,从全球市场的角度,LME的“信用”和“中立性”就出现了巨大的问号——突如其来的停牌影响了几千笔的交易,市场上其他参与方损失巨大。

这个案例,智能合约有可能在哪些环节会发生一些作用呢?

王玮 42:10

其实刚才在介绍智能合约的时候也提到了:我们确实可以“干预”智能合约,它并不是真的100%不能变。

从这个角度讲,LME的这种干预也可以算是“干预”的一种情况。但这里确实有一些问题:第一,智能合约的“干预”,必须要通过“有权限的人”去升级代码;或者直接去修改智能合约当中的参数来实现。这跟一个中心化的体系把交易“回滚”、“取消”还是有区别的。

智能合约的干预,不管是代码升级还是参数调整,它也只能是“向后干预”,改未来的规则,不能倒退回过去的某个阶段——区块链是不支持这种干预方式的。

当然,并不是说“向后干预”完全不能出现。举个例子,大家可能都听说过以太坊的DAO攻击事件,为此以太坊发生了“硬分叉”——这确确实实是“回滚”,在以太坊的历史上就发生过这么一次。但是这次“回滚”的结果,是同时产生了ETC和ETH这两条链。

所以,在“计算性”的体系下,就算想要“回滚”,也不是100%的滚,因为仍然有人可以选择去执行那些没有被你“回滚”的合约。

但这在现实世界中没办法发生。因为不可能有另一个平行世界的人,选择继续去成交被逼空的那些单,因为交易所只有一家,回滚就是回滚了,不会硬分叉出来两个交易所。

现实世界无法分叉,无法分叉出两个青山、两个俄罗斯、一吨镍变成二吨——两个平行世界中各一吨。这是物理世界决定的。所以智能合约、区块链这套体系,只能针对“纯数字资产”才有所谓的“保障执行”能力。

那LME这种“停止交易”、“取消交易”的情况,在智能合约领域能不能做到?

客观的说,也可以做到。一般可以通过两个手段:第一个是投票。相当于LME的股东集体来投票,投票结果决定是否允许回滚,投票不通过就不能改。这就是为什么现在的加密领域会推行“token economics”(通证经济学)体系,这是一套类似于股权的模型,投票结果可以绑定智能合约,自动执行结果。

第二,投票意味着什么?数字世界里的投票,是个“刚性”的结果——51%的人同意就改,但这不会引起“多数人的暴政”吗?49%的人不同意,也只能接受吗?投票不能解决问题怎么办?

答案是设定“冷静期”或者“过渡期”——几天、几小时都可以。就算投票通过,也只能冷静期之后才能执行。不想玩的,就在这段时间内从系统里退出。改规则没有问题,但要给我离开的自由——这是最基本的自由了。

LME的做法,就是典型的“中心化”系统的弊端——就算要改规则,第一能不能让大家投个票?受到规则影响的人,起码要给一个发言的机会。第二,就算投票通过,也要给一些时间之后再改。

如果用智能合约来实现,并且遵守刚才的那套治理规则,它的信用程度肯定更高。所以从这个角度讲,智能合约在维护一个公平高效、更高信任的市场规则,是会有比较大用途的。

小跑 50:51

是的。虚拟世界中的一些机制也可以用到现实世界。但是这些投票、冷静期等等规则有多大可实施性呢?

比如多数人的暴政。如果大家突然意识到有“多数人暴政”的可能性,比如我仇富,反正大家都是市场的韭菜,我们以数量取胜,联合起来投票,把大户账户里的钱全都转到我们账户来——如果真的按投票结果来自动执行,不是相当于“合理抢劫”吗?

但是如果设了冷静期,15天之后再正式“执行打劫”,大户肯定会离开,总不能等着被打劫。可是大户都已经离开了,我15天之后还打劫谁呢?整个游戏就没有存在的意义了?

王玮 52:17

这就是区块链和加密货币的一个核心理念——就是你的行为要有经济上的合理性。

如果小散这么做,就是损人不利己。不仅没有得到钱,唯一的结果是毁灭了这个平台的价值、信用。在这种情况下,你会发现小散也没有那么傻,他们知道自己投这个票是没有意义的。

这就回到中本聪写比特币白皮书中提到的,你可以51%的算力攻击,把比特币全拿到自己手里,但是比特币也因此归零了——你买的那些机器成本也回不来了,这对你有什么好处呢?

所以某种意义上,“经济模型”是区块链领域最核心的“模因”。我们维护的这套经济模型的合理性,导致攻击是没有意义、不合理的。

小跑 54:11

我现在觉得其实任何规则和机制,虽然看起来像是补救措施,但实际上它发挥最大作用的时间——还是在事情发生之前。

大家的行为会在博弈影响下,自动找到一个最理性、“守规矩才能价值最大化”的结果来走。也就是说好的事前设计,会导致一个理性的结果。

王玮 55:13

智能合约和区块链最核心的价值,其实是“维护规则的有效性”。更适用于平台经济、或者双边市场的逻辑。区块链和智能合约的创造者,是规则的制定者和维护者,本身并不一定是参与方。而参与方是世界上互不认识的人,共同参与游戏。

如果两个人认识、签一个合同、互换了合同文本、以及后续都有意愿保障执行——那这个场景下,智能合约没有太大意义。

小跑 56:55

非常同意。大家可能有各种通关升级办法,但是整个游戏规则大框架是可以用智能合约改进的。

—  End  —

播客《文理两开花》,主播 | 肖小跑  王玮,编辑 | 坛子


微信公众号:墙裂坛

坛友群:请添加坛子微信(BKsufe),请注明:坛友

...more
View all episodesView all episodes
Download on the App Store

墙裂坛By 墙裂坛

  • 3
  • 3
  • 3
  • 3
  • 3

3

2 ratings


More shows like 墙裂坛

View all
疯投圈 by 黄海、Rio

疯投圈

109 Listeners

雪球·六点半热评 by 雪球

雪球·六点半热评

2 Listeners

钱粮胡同FM by 住在胡同里的野人

钱粮胡同FM

20 Listeners

商业就是这样 by 商业就是这样

商业就是这样

272 Listeners

晚点聊 LateTalk by 晚点 LatePost

晚点聊 LateTalk

23 Listeners

起朱楼宴宾客 by 大卫翁

起朱楼宴宾客

51 Listeners

麦子店圆桌Night by 麦子店小二

麦子店圆桌Night

5 Listeners

高能量 by 李翔李翔

高能量

30 Listeners

三点下班 by 李永浩,星辰

三点下班

18 Listeners

中金研究院 by 中金研究院

中金研究院

10 Listeners

知本论 by 知本论

知本论

4 Listeners

截胡不截财 by Jeff

截胡不截财

3 Listeners

面基 by 面基

面基

21 Listeners

厚雪长波 by 雪球官方账号

厚雪长波

8 Listeners

投资实战派 by wong永庆

投资实战派

3 Listeners