header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Scan to Download the APP

In-depth analysis of SCAC: The authoritative conflict of smart contracts.

2023-06-17 17:52
Read this article in 12 Minutes
总结 AI summary
View the summary 收起
Original Title: "Smart Contract Authority Conflicts"
Source: Stanford Blockchain Review
Author: Chris Truax
Translation: Kxp, BlockBeats


Introduction


Blockchain and smart contracts have the potential to change the way businesses operate. In order to realize this potential, blockchain must first be reliable. However, there is a previously unrecognized flaw in the implementation of smart contracts that could cause the blockchain they are attached to to crash or split.


Like the internet, blockchain technology promises a new way of decentralized interaction. Since its inception, public blockchains have needed to operate outside of authority and private control.


But this is a fallacy. Although blockchain may operate outside of direct government control, the servers (called nodes) and their operators that maintain the blockchain do not. Nodes and operators have their own physical locations and are therefore subject to the laws of the countries in which they reside.


We have seen some consequences of this situation. For example, many blockchain startups have faced the displeasure of the SEC for offering projects that are considered unregistered securities under US law. Since the invention of Crypto, authorities around the world have indirectly regulated Crypto through tax laws. After the scandals involving Three Arrows Capital, FTX, Coinbase, and Binance, direct regulation by governments is only a matter of time.


Smart contracts represent a more covert threat. Although the crypto industry will be subject to regulation in the future, which will impose new regulations on future transactions, smart contracts pose a risk of "traceability" regulation. In other words, crypto can choose to change future behavior based on regulations. However, once a smart contract executes certain operations, the blockchain may not be able to revoke or change these operations, even if the relevant behavior may be restricted or prohibited by regulations in the future.


Authority Conflict of Smart Contracts


The sign of correct implementation of smart contracts is that they cannot be unilaterally modified. In fact, unless designed otherwise, no one can modify a smart contract even with the agreement of all parties involved. However, a smart contract behavior that is completely legal today may become illegal tomorrow. Smart Contract Authority Conflict (SCAC) refers to the situation where a smart contract executes an operation that is deemed illegal under the law of the server location where the blockchain node is running.


We can illustrate this with an example: The Swiss Children's Foundation issued a series of popular NFTs, including a smart contract that transfers 10% of royalties to the Swiss Children's Foundation every time one of the NFTs is resold. Two years later, the United States authorities designated the Swiss Children's Foundation as a terrorist organization and notified blockchain nodes and service providers located in the United States that they were on the list, threatening legal action if they continued to participate in transactions that benefited the Swiss Children's Foundation.


Later, one of the NFTs changed hands and the smart contract executed, transferring 10% of the proceeds to the Swiss Children's Fund. This transaction was verified by all blockchain nodes, including those located in the United States. As a result, the operator of the node in the United States was criminally charged for providing material support to the terrorist organization.


SCAC Trap


How can blockchain participants avoid this legal liability? First, nodes will begin to build a compliance function as part of the verification process to identify illegal transactions. Unless you can identify illegal transactions, you cannot avoid executing them.


Obviously, miners (i.e. nodes that assemble new transaction blocks) will definitely execute illegal smart contract transactions under the potential legal consequences. However, once equipped with compliance features, miners can easily and non-disruptively avoid liability. Since miners can choose which pending transactions to include in the new block, they can simply choose not to process transactions that they deem to violate the laws of their country. This has no direct impact on the blockchain itself, as the transactions remain in the transaction pool and can be processed by another miner.


However, when a miner eventually processes this transaction, it will become a potentially fatal instability factor. In our above example, suppose a node located in Switzerland (the Swiss Children's Fund is not considered a terrorist organization in Switzerland) ultimately includes this transaction in a block. However, any node located in the United States, specifically any node operator, may face criminal prosecution for verifying the block and assisting in completing the transaction. Depending on the number of nodes in the United States and the specific consensus protocol used by the blockchain, this issue will lead to different results, ranging from no impact to the complete collapse of the blockchain. In some cases, these transactions may not be executed because the incentive system of the blockchain will prevent miners from choosing them, even if the miners are not prohibited from executing this transaction according to the laws of their own country.


Using Ethereum as an example, to achieve "determinism", 2/3 of the staked Ether coins need to agree on a set of blocks. If more than 1/3 of the validators are offline or refuse to verify a specific block, the block will not be finally determined. Ethereum solves this problem by imposing penalties, reducing the staked Ether coins of nodes that are offline or refuse to verify until the "uncooperative" nodes hold less than 1/3 of the total staked coins, and then allowing the remaining nodes to verify the blocks and complete the confirmation of the chain.


In our example, if more than 2/3 of the "voting" power, i.e. the pledged ether, is held by validation nodes outside the United States, then the transaction of the Swiss Children's Fund can be validated without the need for US validators. However, if more than 1/3 of the pledged ether is held by US validation nodes, the transaction will not be validated without subjecting the US validation nodes to economic penalties.


This may only exacerbate compliance issues faced by blockchain participants. In other words, in our example, the Ethereum blockchain is attempting to force US participants to engage in illegal transactions. In addition to creating unfavorable factors for participating in the blockchain, this may also bring about greater legal problems. Threatening someone with financial loss unless they engage in illegal activity is a violation of multiple state and federal laws.


Avoiding SCAC Traps


Due to the possibility of SCAC appearing at any time after the creation of a smart contract, it poses a threat to even the most mature blockchains. What's worse, once SCAC appears, it may already be too late to solve the problem. Fortunately, blockchains can implement soft fork protocols to counter SCAC and make changes.


One solution is to provide nodes with the option to mark problematic transactions and vote "present" when asked to verify blocks containing such transactions. Voting "present" will not result in any penalties, and the blockchain will consider the node to have exited the blockchain during that validation cycle. Therefore, the total number of nodes that need to reach consensus will decrease. After the validation cycle is complete, nodes that voted "present" will "rejoin" the blockchain and accept the current state of the blockchain, just like offline nodes coming back online.


In order to ensure reliability and avoid situations where illegal transactions are easier to validate than legitimate transactions, the blockchain may establish a rule that when 51% of nodes mark a specific transaction, the transaction is considered rejected and removed from the transaction pool.


If the SCAC issue is not resolved, it will threaten the stability of any blockchain that experiences the problem. Blockchain developers need to recognize that with the widespread use of smart contracts, even if the entire blockchain can generate enough consensus to process problematic transactions, individual blockchain nodes will also face compliance issues. Although blockchain demonstrates enormous potential, it cannot force participants to choose between maintaining their good reputation on the blockchain and complying with local laws if it wants to realize this potential.


Original article link



Welcome to join the official BlockBeats community:

Telegram Subscription Group: https://t.me/theblockbeats

Telegram Discussion Group: https://t.me/BlockBeats_App

Official Twitter Account: https://twitter.com/BlockBeatsAsia

举报 Correction/Report
This platform has fully integrated the Farcaster protocol. If you have a Farcaster account, you canLogin to comment
Choose Library
Add Library
Cancel
Finish
Add Library
Visible to myself only
Public
Save
Correction/Report
Submit