详解SCAC:智能合约的权威冲突

区块律动BlockBeats view 6104 2023-6-19 10:21
share to
Scan QR code with WeChat

引言

区块链和智能合约有着改变商业运作方式的潜力。为了实现这一潜力,区块链首先必须是可靠的。然而,目前实施的智能合约存在一种以前未被认识到的缺陷,可能导致它们所依附的区块链崩溃或分裂。

与互联网一样,区块链技术承诺一种新的无需中心化控制的互动方式。自诞生之日起,公共区块链就需要在权威和私人控制之外运作。

但这是一个谬论。虽然区块链可能在国家直接控制之外运作,但维护区块链的服务器(称为节点)及其运营者则不然。节点和运营者都有自身的实际位置,因此会受到所在国家法律的约束。

我们已经看到这种情况的一些后果。例如,许多区块链初创公司因为提供根据美国法律属于未注册证券的项目而引起 SEC 的不满。自从 Crypto 发明以来,各国权威一直间接通过税法对 Crypto 进行监管。在经历了 Three Arrows Capital、FTX、Coinbase 和 Binance 的丑闻之后,国家的直接监管只是时间问题。

智能合约代表着一种更加隐蔽的威胁。虽然 Crypto 领域将来会受到监管,即对未来交易会施加新的法规,但智能合约会产生「追溯性」监管的风险。换句话说,Crypto 可以选择根据法规改变未来行为。但问题在于,一旦智能合约执行了某些操作,区块链可能无法撤销或改变这些操作,即使相关行为在未来可能受到法规限制或禁止。

智能合约的权威冲突

智能合约得到正确实施的标志在于它不能被单方面修改。事实上,除非设计如此,即使得到各方同意,谁也不能修改智能合约。然而,一个在今天完全合法的智能合约行为在明天可能是非法的。智能合约的权威冲突(Smart Contract Authority Conflict,简称 SCAC)是指智能合约执行了一个在运行区块链节点的服务器所在地法律下被判定为非法的操作。

我们可以通过一个例子来加以说明:瑞士儿童基金会发行了一系列热门 NFT,其中包括一个智能合约,每当其中一个 NFT 再次出售时,将向瑞士儿童基金会转让 10% 的版税。两年后,美国权威将瑞士儿童基金会列为恐怖组织,并向位于美国的区块链节点及其服务提供商发出通知,告知他们该列名单并威胁如果继续参与有利于瑞士儿童基金会的交易将予以起诉。

随后,其中一枚 NFT 易手,并且智能合约执行了,将交易所得的 10% 转给瑞士儿童基金会。这笔交易得到了所有区块链节点的验证,包括位于美国的节点。结果,位于美国的节点运营者因为向该恐怖组织提供物质支持而被刑事起诉。

SCAC 陷阱

区块链参与者如何避免这种法律责任?首先,节点将开始构建一种合规功能,作为验证过程的一部分,以识别非法交易。除非你能识别出非法交易,否则就无法避免执行它。

显然,矿工(即组装新交易区块的节点)肯定要在面临潜在法律后果的情况下执行非法的智能合约交易。然而,一旦装备了合规功能,矿工就能以一种相对容易且无扰动的方法来避免承担责任。由于矿工可以选择在新区块中包含哪些待处理交易,他们可以简单地选择不处理那些他们认定为违反其所在国家法律的交易。这对区块链本身没有直接影响,因为交易仍然留在交易池中,可以由另一个矿工处理。

但是,当某个矿工最终处理此交易时,它将成为潜在的致命不稳定因素。在我们上面的例子中,假设一个位于瑞士的节点(瑞士儿童基金会在瑞士不被视为恐怖组织)最终在一个区块中包含了这笔交易。然而,任何位于美国的节点,更具体地说是任何节点运营者,可能因为验证该区块而面临刑事起诉,指控其协助完成交易。根据美国的节点数量以及区块链使用的特定共识协议,这一问题将导致不同的结果,从没有任何影响到区块链的彻底崩溃。在某些情况下,这些交易可能无法执行,因为区块链的激励系统将阻止矿工选择它们,即使矿工根据自己国家的法律并未被禁止执行此交易。

以 Ethereum 为例,要实现「确定性」,需要 2/3 的质押以太币同意一组区块。如果超过 1/3 的验证者要么离线要么拒绝验证特定区块,该区块将无法最终确定。Ethereum 通过施加惩罚的方式来解决这个问题,降低离线或拒绝验证的节点的以太币质押,直到这些「不合作」的节点持有的质押以太币少于总抵押的 1/3,然后允许剩余节点验证区块并完成链的确认。

在我们的例子中,如果超过 2/3 的「投票」权力,即质押的以太币,由美国以外的验证节点持有,那么瑞士儿童基金会的交易可以在无需美国验证者的情况下得到验证。然而,如果超过 1/3 的质押以太币由美国的验证节点持有,那么该交易将无法在不让美国验证节点受到经济惩罚的情况下得到验证。

这可能只会使区块链参与者面临的合规问题更加严重。换句话说,在我们的例子中,Ethereum 区块链试图强迫美国参与者参与非法交易。除了在参与区块链方面制造不利因素外,这可能还会带来更大的法律问题。威胁要以财务损失威胁某人,除非他们从事非法活动,这是违反多项州和联邦法律的行为。

避开 SCAC 陷阱

由于 SCAC 可能出现在智能合约创建之后的任何时候,它威胁着即使是最成熟的区块链。更糟糕的是,一旦出现 SCAC,解决问题可能已经太迟。幸运的是,区块链可以实施反 SCAC 的软分叉协议进行更改。

一种解决方案是为节点提供标记有问题交易的选项,并在被要求验证包含此类交易的区块时投票「出席」。投票「出席」不会导致任何处罚,区块链会将该节点视为在该验证周期中退出了区块链。因此,需要达成共识的节点总数将减少。完成验证周期后,投票「出席」的节点将「重新加入」区块链,并接受当前区块链的状态,就像离线节点重新上线一样。

为了确保可靠性并避免出现验证非法交易比合法交易更容易的情况,区块链可能会制定一项规则,即当 51% 的节点标记特定交易时,该交易被视为被拒绝,并从交易池中删除。

如果不解决 SCAC 问题,它将威胁到任何出现该问题的区块链的稳定性。区块链开发者需要认识到,随着智能合约的广泛使用,即使整个区块链能够产生足够的共识来处理有问题的交易,个体区块链节点也将面临合规问题。虽然区块链展示了巨大的潜力,但是,如果要实现这一潜力,区块链不能强迫参与者在维护其在区块链中的良好声誉和遵守当地法律之间做出选择。

btcfans公众号

Scan QR code with WeChat

Disclaimer:

Previous: 总统宝座上的加密诅咒:美国的监管风向会变吗 Next: Chainlink 修改令牌发布时间表以实现自我可持续性

Related