Smart Contract Whitelist Access Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Smart contracts in blockchain networks face security risks due to vulnerabilities that allow attackers to redirect funds, primarily because they are Turing complete and can be exploited by unauthorized accounts.
Innovation Solution
Implementing an account whitelist system that allows the creator of a smart contract to specify which accounts are authorized to execute it, with nodes in the blockchain network checking against this whitelist before executing the contract.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If smart contracts are made Turing complete to support complex business logic, then functionality and versatility are improved, but security risks increase due to potential vulnerabilities and unauthorized access
Solution Approach 1:
The patent segments the access control mechanism by introducing a separate whitelist data structure that is distinct from the smart contract execution logic. This whitelist segments authorized accounts from unauthorized ones, allowing the system to maintain Turing completeness while adding a security layer that divides access control into a separate, verifiable component.
Solution Approach 2:
The patent applies preliminary action by requiring that account authorization be determined before smart contract execution. The whitelist is established and validated in advance, and the node verifies account inclusion in the whitelist before allowing contract execution, preventing unauthorized access before vulnerabilities can be exploited.
2Reliability
If access control is added to smart contracts through whitelists, then security is improved, but device complexity increases due to additional verification steps
Solution Approach 1:
The patent merges the whitelist verification process with the existing smart contract execution flow in the node's operation. Rather than adding a completely separate system, the whitelist check is integrated into the contract execution path, combining security verification with the existing Turing complete execution engine without requiring separate infrastructure.
Solution Approach 2:
The whitelist acts as an intermediary data structure between the smart contract code and the execution engine. It mediates access control by providing a simple membership verification mechanism that bridges the complex Turing complete contract logic with the need for straightforward authorization checks, reducing overall system complexity.
Data Source
AI summary
Implementations of this specification include identifying, by a node of the blockchain network, a request to execute a smart contract stored in a blockchain maintained by the blockchain network, the request identifying a requesting account that is requesting to execute the smart contract; retrieving, by the node, a whitelist from the blockchain associated with the smart contract, the whitelist identifying one or more accounts that are authorized to execute the smart contract; determining, by the node, that the requesting account is authorized to execute the smart contract based on the requesting account being included in the whitelist; and in response to determining that the requesting account is authorized to execute the smart contract, executing, by the node, the smart contract.


