Blockchain Transaction Scripts for Efficient Conditional Validation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for enforcing conditions on blockchain transactions are inefficient and complex, particularly in optimizing the process of generating and verifying signatures to ensure transaction validity and integrity.
Innovation Solution
A computer-implemented method is introduced to enforce conditions on a second blockchain transaction using a first transaction, where a locking script generates a candidate message based on multiple fields of both transactions, and a signature sub-script simplifies signature generation by fixing the ephemeral private key to one, reducing storage size and computational complexity, while a verification sub-script ensures the candidate message matches the actual transaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional signature generation methods are used in blockchain transactions, then transaction security is maintained, but storage size and computational complexity increase
Solution Approach 1:
The patent changes the parameter of the ephemeral private key from a random large number to the fixed value 1. This parameter change simplifies the signature generation computation while maintaining security through the use of a deterministic key derivation function that combines this fixed ephemeral key with the transaction data to produce a unique signature.
Solution Approach 2:
The patent extracts and separates the ephemeral private key component from the traditional signature generation process. By fixing this component to a simple value (1) and deriving the actual signature key deterministically from transaction data, it removes the computational burden of generating and managing random ephemeral keys while preserving the security properties of ephemeral key usage.
2Reliability
If traditional signature generation methods are used in blockchain transactions, then transaction security is maintained, but storage size increases
Solution Approach 1:
By changing the ephemeral private key parameter to a fixed small value (1) instead of a random large number, the storage requirements for this component are dramatically reduced. The deterministic derivation process ensures that the security-critical signature data is still sufficiently large, but the ephemeral key storage is minimized.
3Reliability
If complex condition enforcement methods are used on blockchain transactions, then transaction validity is ensured, but validation efficiency decreases
Solution Approach 1:
The locking script generates the candidate message itself using the fixed ephemeral private key and transaction data, eliminating the need for separate signature generation operations during validation. The verification process directly uses this pre-computed candidate message, making the validation process self-contained and more efficient.
Solution Approach 2:
The candidate message generation is performed as a preliminary step within the locking script execution, preparing the data needed for verification before the actual validation occurs. This preliminary action organizes the computational work in an efficient sequence that reduces overall validation time.
Data Source
Figure 1
Figure 2
Figure 3A~3B
AI summary
A computer-implemented method of enforcing conditions on a second blockchain transaction using a first blockchain transaction, wherein a first one of the conditions is that, when a first unlocking script of the second transaction is executed alongside a first locking script of the first transaction, a representation of the second transaction is output to memory, wherein the representation is based on a plurality of fields of the second transaction and a first output of the first transaction, and wherein the method comprises: generating the first transaction, wherein the first transaction comprises a first output, wherein the first output comprises the first locking script, and wherein the first locking script comprises: a message sub-script; a signature sub-script; a public key corresponding to a private key; and a verification sub-script.