BM撰文亲述:如何以无信任智能合约来克服人为限制?

转载
1865 天前
13599
星球日报

文章来源:星球日报 作者:BM(Daniel Larimer)译者:念银思唐


原题:《星球前线 | BM详解无信任合约如何克服人为限制》

10 月 17 日,BM(Daniel Larimer)在 Medium 上发布文章,就“如何以无信任智能合约来克服人为限制”给出了自己的看法,全文如下:

智能合约通过使以无信任的方式捆绑和发送权利和义务变得简单,从而提高经济效率。对于那些试图以费用、时间锁、购买选票、不可分割性(indivisibility)或其他某种限制形式在合约中限定权利转让的人来说,这具有深远影响。任何设计依赖于人为限制来实施某种博弈论结果的智能合约的人,都应先阅读本文。

想象一下,如果你希望创建一个代币智能合约,该合约会在每个人进行代币转账时向其收取 2% 的费用。这实际上是一个无法执行的限制。任何人都可以创建一个新的合约来接受你的代币存款(支付 2% 的费用),然后重新发行一个新的可转让的代币,并收取较低的费用或不收取任何费用。其他人则可以在完成无限制数量的转账并支付最后 2% 的费用后,从新合约中提取代币。大多数人会接受和交易无费用的代币,因为此合约可以被设计成不可变且无需信任的。这个例子意在解释智能合约如何提高市场效率,绕过高额费用等人为限制。

现在假设你想要创建一种试图在长期合约中锁定价值的新代币,你的代币将在不同的锁定时间段被抵押。实现时间锁就像对转账收取 2% 的费用一样简单;然而,通过使用其他智能合约可以很轻易地绕过它。

在有时间锁的情况下,可以创建一个新帐户并将代币锁定到智能合约中,然后分发一个新的可交易代币。该代币的价值就类似于可在未来某个日期支付的零风险债券。假设基础资产是有价值的,并且存在交易零风险债券的需求,那么就没有办法阻止债券的基础价值被出售或置入另一个智能合约中。

EOS RAM 市场也是一种有人为限制的资产,它只允许用户在付费的情况下买卖 RAM。RAM 可以通过在单笔交易中同时买入或卖出以实现有效转让,并产生 1% 的实际转让费。如果有人只是想交易 RAM 的经济价值,而不是 RAM 的效用,那么可以构建一个简单的合约发行锚定 RAM 的代币,而这些代币是可以免费转让的。这甚至有可能创造一个没有交易费的二级 RAM 市场。

但基础资产的效用是无法轻易绕过的。代币型 RAM 与实际的 RAM 是不同的,因为如果不首先将其转换为实际的 RAM 并支付 1% 的转让费(通过同步购买 / 出售),你就不能实际使用代币型 RAM 进行任何存储。抵押代币(staked tokens)也是如此:你可以交易抵押代币的经济价值,但你不能轻易仿效其任何额外效用,如投票权或 CPU 时间(取决于该代币涉及的效用)。

例如,假设抵押代币提供了投票效用。一项代表一个团体抵押,然后重新发行代币的合约,必须“作为一个团体投票”。假设每项抵押余额只能投票给一个人,那么整个团队将需要组织一个元投票(meta-vote)来决定投票方案。这将减少少数团队成员的效用,因为他们将被迫与多数人一起进行抵押投票。

如果抵押代币系统允许每个抵押位将其投票分配给多个选项,那么一个 “流动抵押代币(liquid-stake token)” 可以简单地效仿元投票,并且底层抵押代币的绝大多数效用将传递给“流动抵押代币”。

即使限制每一个抵押位只能投一票也不是真正的限制。对于 “流动抵押代币” 合约来说,管理任意数量的抵押位,并基于 “流动抵押代币” 持有者的元投票为每个抵押位投不同的票是非常简单的。

尽管无需言明,但我还是得说,在实施这些解决方案之前,还应该从法律、监管和税收角度仔细考虑。


防止智能合约管理

阻止试图绕过预期限制的一种方法是防止帐户被智能合约管理。这可以通过要求与受限制合约的所有交互都由实际的私钥签名,并要求每笔交易只有一个操作来实现。这样做的目的是通过要求某人持有和使用私钥来重新引入 “信任” 元素。

假设我们使用 2% 转让费的代币锁定了所有来自其他智能合约的操作。此信任模型将更改为一个重新发行类似 Tether 的工具的集中式交易处。这有可能从根本上改变这种安排的法律性质,并阻碍变通方案实施。

虽然这种方法可能会阻止绕过这些限制的尝试,但是使用安全的多方计算、硬件安全设备或最低程度的信任就足以实现绕过人为限制的目标。这也会在众多智能合约平台中,降低你使用合约的安全性和整体灵活性。


拥抱合约自由

与市场对金融自由的需求作斗争的另一种选择是先接受它。与其试图收取 2% 的费用,不如使用零费用来减少竞争。与其试图阻止 RAM 传输,不如让它实现可转让。与其试图强迫一个人持有抵押代币,不如让这些抵押位具有可替代性和可交易性。只有当变通方案产生的摩擦大于费用成本,或存在某种不容易或不可能复制的效用(如市场流动性)时,收费才是可行的。

在许多基于 EOSIO 的公共区块链上,其系统代币的设计目的是提供代表按比例分配的可用 CPU 时间的效用。这种底层效用不能由标的 CPU 的代币提供,就如同在事先赎回底层 CPU 或 RAM 资源的代币之前,RAM 不能由代币型 RAM 持有者使用一样。

假设有一个市场想要锁定人们对 CPU 价值的长期兴趣,那么它将允许人们抵押现在的 CPU 来换取将来更多的 CPU 时间。实际上,你可以将你的 CPU 作为长期合约出借,并以 CPU 时间的形式获得利息。

现在让我们假定某人有一大笔钱锁定在一份一年的 CPU 抵押合约中,但由于面临流动性紧缩(liquidity crunch),眼下需要现金。从理论上讲,他们应该能够把自己的 CPU 抵押位卖给别人,其从出售中获得的价值将是 CPU 在给定预计利率下一年内交付的净现值。长期价值或支付一年抵押 CPU 利率的变化,将使 CPU 的长期价值高于现在的 CPU。

让抵押位具有流动性并不会削弱调整投票激励机制的价值。如果持有长期抵押的投票者现在采取的行动会对未来 CPU 的预期价值产生负面影响,那么每个持有一年抵押的人都会立即受到市场反应对他们资本造成的损失。另一方面,如果他们眼下的投票决定提高了对 CPU 需求的未来预期(即采用),那么他们可能会即时获利。

持有抵押位的投资者们不必等待一年才能获取收益或蒙受损失,他们立即就能意识到当前行动的预计长期后果。这些抵押位的流动性反过来又降低了支付抵押的平均收益率,同时还增加了基于长期抵押的投票系统的攻击成本,从而让更多的人愿意抵押。

如果一个投票系统要求代币抵押 10 年,而没有无信任流动性选项,那么参与率就会很低。这样一来,人们选择购买少量 “祭品” 代币并抵押 10 年,然后攻击网络的成本就会降低。然而用同一方法来攻击流动性抵押解决方案的成本要高得多。再次强调:法律、监管和税务问题可能影响到如何在实践中实施这种解决办法。


总结

智能合约应该拥抱自由并避免人为限制,这些限制可以被轻易绕过。收取一些费用不是不可以,但必须是在收费比其他变通方案更便利的情况下进行。在提高投票者参与度的同时,让抵押位具有流动性,从而保留投票者进行长期思考的动力。对当前治理决策的长期后果的实时市场反馈,可能比让投票者等到将来才实现自己的得失更有说服力。这利用了大众的智慧来惩罚部分投票者——他们错误地认为,与其在将来无法挽回的时候后悔,不如当下采取会蒙受损失的行动来提升长期价值。

免责声明:这篇文章中的所有内容都是我的观点,而不是我的雇主或任何与其相关的人的观点。不要假设这篇文章中的任何内容会被任何区块链实施或采用。任何考虑实施该提议解决方案的人都应该咨询相关顾问,以解决任何法律、监管或税务方面的后果。