Blockchain Locking Scripts for Constrained Unlocking Transactions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing blockchain systems lack the ability to enforce complex constraints on unlocking transactions, limiting the functionality and security of smart contract transactions and state machines.
Innovation Solution
Implementing a method that involves creating transactions with multiple outputs and locking scripts, where each locking script imposes constraints that are verified by stateless stack-based verifiers, ensuring that unlocking scripts meet specific conditions before being executed, thereby enforcing complex transaction rules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If existing blockchain systems use simple locking scripts, then the system maintains simplicity and ease of operation, but the ability to enforce complex constraints on unlocking transactions is limited
Solution Approach 1:
The locking script is divided into multiple independent constraints, each representing a specific condition that must be satisfied. Each constraint can be verified separately by the stateless stack-based verifier, allowing complex transaction rules to be broken down into manageable, verifiable components without overwhelming the system.
Solution Approach 2:
The patent implements nested verification where the stateless stack-based verifier checks constraints within the locking script, which itself may reference or contain further constraints. This nested structure allows multiple layers of constraint verification to be applied, enabling complex transaction rules to be enforced through layered, hierarchical validation.
2Reliability
If the blockchain system implements complex constraint verification, then transaction security and functionality are enhanced, but the verification process requires more computational resources and time
Solution Approach 1:
The locking script is prepared in advance with all constraints explicitly defined and structured for efficient verification. By pre-configuring the constraint structure and using a stateless stack-based verification approach, the system minimizes runtime computation requirements while maintaining comprehensive security checks.
Solution Approach 2:
The stateless stack-based verifier performs self-contained verification of each constraint without requiring external state or additional computational resources. Each constraint is verified independently using only the information provided in the transaction itself, eliminating the need for complex state management and reducing verification overhead.
3Adaptability or versatility
If the system uses traditional blockchain transaction structures, then the system maintains simplicity, but it cannot enforce complex transaction rules required for advanced smart contracts and state machines
Solution Approach 1:
The locking script structure is designed to be universal, capable of expressing multiple types of constraints and transaction rules within a single unified framework. The stateless stack-based verifier can handle various constraint types (spending limits, timing constraints, conditional logic) using the same verification mechanism, enabling diverse smart contract functionalities without requiring separate transaction structures for each case.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A computer-implemented method comprises creating, at a node in a blockchain network, a first transaction, wherein the first transaction includes a first output having a first spendable value and a first locking script and a second output having a second spendable value and a second locking script. A first set of constraints on a first selected transaction output is included in the first locking script, wherein the first set of constraints are to be met by a first unlocking script if the first selected transaction output is to be valid for spending the first spendable value. A second set of constraints on a second selected transaction output is included in the second locking script, wherein the second set of constraints are to be met by a second unlocking script if the second selected transaction output is to be valid for spending the second spendable value. The first set of constraints or the second set of constraints imposes a constraint on a locking script of a spending transaction having as a spending transaction output the first selected transaction output or the second selected transaction output.