Blockchain and smart contracts have the potential to change the way businesses operate. However, for this potential to be realized, blockchain must first be reliable. Yet the currently implemented smart contracts have a previously unrecognized flaw that could cause the blockchains they depend on to crash or split.
Like the internet, blockchain technology promises a new way of interaction without centralized control. Since its inception, public blockchains have needed to operate outside of authority and private control.
But this is a fallacy. While blockchain may operate outside of direct state control, the servers (called nodes) that maintain the blockchain and their operators do not. Nodes and operators both have physical locations, and are therefore subject to the laws of the countries in which they are located.
We have already seen some consequences of this situation. For example, many blockchain startups have run afoul of the SEC because they offer projects that under US law are unregistered securities. Since the invention of Crypto, authorities around the world have indirectly regulated it through tax laws. Direct regulation by states is only a matter of time, after the scandals at Three Arrows Capital, FTX, Coinbase, and Binance.
- AC Capital: Comparison Analysis of RWA On-Chain Lending Projects
- Game Revolution 2023: AIGC Saves Game Developers
- Tether responds to everything
Smart contracts represent a more insidious threat. While the Crypto field will be subject to regulation in the future, i.e. new regulations will be imposed on future transactions, smart contracts pose a risk of “retrospective” regulation. In other words, Crypto can choose to change future behavior based on regulations. But the problem is that once a smart contract has executed certain operations, the blockchain may be unable to revoke or change those operations, even if the relevant behavior may be restricted or prohibited by regulations in the future.
Smart Contract Authority Conflict
The sign that a smart contract is correctly implemented is that it cannot be unilaterally modified. In fact, unless designed to do so, no one can modify a smart contract, even with the agreement of all parties. However, a smart contract behavior that is fully legal today may be illegal tomorrow. Smart Contract Authority Conflict (SCAC) refers to a situation where a smart contract executes an operation that is judged illegal under the law of the country 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 transferred 10% of the royalties to the Swiss Children’s Foundation each time one of the NFTs was resold. Two years later, US authorities designated the Swiss Children’s Foundation as a terrorist organization and issued a notice to the blockchain nodes and their service providers located in the US, informing them of the list and threatening to prosecute if they continued to participate in transactions that benefited the Swiss Children’s Foundation.
Subsequently, one of the NFTs changed hands and the smart contract executed, transferring 10% of the proceeds to the Swiss Children’s Foundation. This transaction was verified by all blockchain nodes, including those located in the United States. As a result, the operator of the node located in the United States was criminally charged for providing material support to the terrorist organization.
The SCAC Trap
How can blockchain participants avoid this kind of legal liability? First, nodes will begin building compliance features as part of the verification process to identify illegal transactions. Unless you can identify illegal transactions, you cannot avoid executing them.
Obviously, miners (nodes that assemble new transaction blocks) will certainly execute illegal smart contract transactions in the face of potential legal consequences. However, once equipped with compliance features, miners can avoid liability in a relatively easy and non-disruptive manner. Since miners can choose which pending transactions to include in a new block, they can simply choose not to process those they believe 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 such a transaction, it becomes a potentially deadly destabilizing factor. In our above example, suppose a node located in Switzerland (where the Swiss Children’s Foundation is not considered a terrorist organization) eventually includes the transaction in a block. However, any node located in the United States, specifically any node operator, may face criminal charges for verifying the block and aiding in the completion of the transaction. Depending on the number of nodes in the United States and the specific consensus protocol used by the blockchain, this problem will result in different outcomes, from no impact at all to the complete collapse of the blockchain. In some cases, these transactions may not be executable because the blockchain’s incentive system will prevent miners from choosing them, even if the miners are not prohibited by their own country’s laws from executing the transaction.
Take Ethereum as an example. To achieve “determinism,” 2/3 of the staked ether must agree on a set of blocks. If more than 1/3 of validators are either offline or refuse to verify a particular block, the block cannot be finalized. Ethereum solves this problem by imposing penalties that reduce the ether stakes of offline or non-cooperative nodes until the ether stakes held by these “uncooperative” nodes are less than 1/3 of the total stake, then allowing the remaining nodes to verify blocks and complete chain confirmation.
In our example, if more than 2/3 of the “voting” power, or Ether staked, is held by verification nodes outside of the United States, then the transaction from the Swiss Children’s Foundation can be verified without requiring U.S. validators. However, if more than 1/3 of the staked Ether is held by U.S. verification nodes, then the transaction will not be able to be verified without subjecting U.S. validators 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 U.S. participants to engage in illegal activity. Aside from creating a disadvantage in participating in the blockchain, this may also bring greater legal issues. Threatening someone with financial loss unless they engage in illegal activity is a violation of numerous state and federal laws.
Avoiding SCAC Pitfalls
Since SCACs can occur at any point after the creation of a smart contract, they threaten even the most mature blockchains. Worse still, once an SCAC occurs, it may be too late to address the problem. Fortunately, blockchains can implement soft fork protocols to counteract SCACs.
One solution is to provide nodes with an option to flag problematic transactions, and to vote “present” when asked to verify blocks containing such transactions. Voting “present” does not result in any penalties, and the blockchain will consider the node to have exited the blockchain for that validation period. Therefore, the total number of nodes required for consensus will decrease. After the validation period is complete, the nodes that voted “present” will “rejoin” the blockchain and accept the current state of the blockchain, just like an offline node coming back online.
To ensure reliability and avoid a situation where verifying illegal transactions is easier than verifying legal ones, blockchains may enact a rule that when 51% of nodes flag a particular transaction, the transaction is considered rejected and removed from the transaction pool.
If SCAC issues are not addressed, they will threaten the stability of any blockchain that experiences them. Blockchain developers need to recognize that as smart contracts become more widely used, individual blockchain nodes will face compliance issues even if the entire blockchain is able to generate sufficient consensus to handle problem transactions. While blockchain shows great potential, it cannot force participants to choose between maintaining their reputation on the blockchain and complying with local laws in order to realize that potential.