Locking Script Validation for Undetermined Blockchain Transaction Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing blockchain technologies face limitations in securely incorporating undetermined data into locking scripts, particularly in smart contracts, due to the inability to validate transactions without verifying access to cryptographic secrets, and lack of support for complex flow control and self-referencing mechanisms.
Innovation Solution
The implementation of locking and unlocking scripts that allow access to undetermined data from determined or undetermined sources, using cryptographic techniques to validate transactions without requiring access to cryptographic secrets, and enabling self-referencing and self-replicating smart contracts to enforce conditions and transfer digital assets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional blockchain locking scripts are used, then cryptographic security is maintained, but undetermined data from undetermined sources cannot be incorporated
Solution Approach 1:
The locking script is segmented into multiple components: a base locking script that can be determined at transaction creation, and undetermined data fields that are filled later from external sources. This allows the script to be partially evaluated immediately while deferring evaluation of specific data portions until they become available, enabling incorporation of undetermined data without compromising overall script integrity
Solution Approach 2:
The locking script structure is prepared in advance with placeholders and validation rules for undetermined data, but the actual data incorporation occurs later when the data becomes available. This preliminary setup allows the script to be created and stored without requiring all data to be known upfront, while maintaining security through pre-defined validation criteria
2Adaptability or versatility
If access to undetermined data is enabled, then smart contract functionality is enhanced, but verification of cryptographic secret access becomes problematic
Solution Approach 1:
An intermediary verification mechanism is introduced that does not require direct access to cryptographic secrets. The system uses public key cryptography where the locking script contains a public key or hash, and validation occurs through cryptographic proof that the corresponding private key holder authorized the transaction, without exposing the secret itself. This intermediary layer enables functionality enhancement while maintaining verification capability
Solution Approach 2:
Instead of requiring access to original cryptographic secrets, the system uses cryptographic copies such as public keys, hashes, or signatures that can be verified without revealing the underlying secrets. These cryptographic representations allow smart contracts to function with undetermined data while maintaining security through verification of copied cryptographic artifacts rather than original secrets
3Adaptability or versatility
If self-referencing mechanisms are implemented, then complex smart contracts are enabled, but transaction script complexity increases
Solution Approach 1:
The locking script employs a nested structure where outer script layers reference inner script layers, and undetermined data fields are nested within the script structure. This nested organization allows self-referencing mechanisms to be implemented in a structured way, where each nesting level has a specific function, reducing overall complexity compared to flat self-referential structures
Data Source
AI summary
The invention relates to distributed ledger technologies such as consensus-based blockchains. Computer-implemented methods for locking blockchain transactions are described. The invention is implemented using a blockchain network. A first locking script is configured in a blockchain network. The first locking script is executed together with a first unlocking script, based on data obtained by executing the first unlocking script and a set of constraints. Verification that a first set of field values of the unlocking blockchain transaction is obtained by executing the first unlocking script and the set of constraints against the unlocking blockchain transaction. Validating the unlocking blockchain transaction according to the set of constraints. Finally, making the locking blockchain transaction available to one or more nodes of the blockchain network.


