Script-Based Blockchain Interaction for State-Aware Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing blockchain technologies lack the ability to encode constraints based on the state of the blockchain, such as block headers or transactions, within locking scripts, limiting the flexibility and complexity of smart contracts and digital asset transactions.

Innovation Solution

Implementing constraints on unlocking scripts to require block headers, blockchains, or chains of block headers, and injecting this data into scripts at runtime, allowing transactions to be based on the state of the blockchain, without verifying the creator's access to secret information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If constraints based on blockchain state (block headers, transactions) are encoded within locking scripts, then the flexibility and complexity of smart contracts are improved, but the device complexity and script length increase

Engineering Contradiction:
Improveflexibility and complexity of smart contractsVSAvoidlocking script complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the constraint-encoding function into separate components: locking scripts contain only public key hash constraints, while unlocking scripts contain the blockchain state verification logic. This division allows complex smart contract functionality to be achieved without increasing locking script complexity, resolving the technical contradiction.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces unlocking scripts as an intermediary mechanism that mediates between the locking script and blockchain state. The unlocking script serves as a bridge that contains the complex verification logic for block headers and transactions, allowing the locking script to remain simple while still enabling flexible smart contracts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If blockchain state data is injected into scripts at runtime, then transactions can be based on blockchain state without verifying secret information access, but the validation process complexity increases

Engineering Contradiction:
Improvetransaction validation simplicityVSAvoidvalidation process complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the unlocking script automatically retrieve and verify blockchain state data (block headers, transactions) from the network without requiring manual intervention or secret information verification. The script autonomously performs validation by comparing retrieved data against constraints, simplifying the operator's task while maintaining security.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent employs feedback mechanisms where the unlocking script retrieves blockchain state data, validates it against constraints encoded in the locking script, and uses the validation result to determine transaction success. This automated feedback loop eliminates the need for manual secret verification while maintaining rigorous validation through the script execution environment.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12443953B2Script-based blockchain interaction
Publication Date: 2025.10.14 NCHAIN LICENSING AG
  • US12443953B2 patent drawing
  • US12443953B2 patent drawing
  • US12443953B2 patent drawing

AI summary

There may be provided a computer-implemented method. It may be implemented using a blockchain network. The computer-implemented method includes: i) receiving, at a node in a blockchain network, a first transaction associated with a digital asset, the first transaction including a locking script that specifies a set of constraints on a second transaction to transfer control of the digital asset, one of the constraints being associated with a set of data; ii) obtaining the second transaction, the second transaction including an unlocking script that, as a result of being executed, causes the node to obtain the set of data; and iii) validating the second transaction by executing the locking script and the unlocking script.