Blockchain Script Control Flow via Prevalidated Code Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing blockchain scripting languages, such as Bitcoin's Script, are functionally restricted and lack support for complex control flow mechanisms, posing a security risk while limiting the versatility of blockchain applications.

Innovation Solution

A mechanism to emulate complex control flow mechanisms like loops and switch-case statements within functionally restricted blockchain scripts by inserting pre-determined code portions dynamically, controlled by data items, allowing for Turing-complete functionality without compromising security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If complex control flow mechanisms are added to blockchain scripts, then functionality and versatility are improved, but security and resistance to exploits are worsened

Engineering Contradiction:
Improvefunctionality of blockchain scriptsVSAvoidsecurity against exploits
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent divides complex control flow functionality into separate, pre-validated code portions that are inserted into the blockchain script. Each code portion performs a specific control flow function (loops, switch-case statements) and has been independently validated for security. This segmentation allows the script to gain complex functionality while maintaining security through modular, pre-approved components rather than allowing arbitrary complex code execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary validation and verification of code portions before they are inserted into blockchain scripts. The control flow mechanisms are pre-defined, pre-tested, and pre-approved for security compliance. By performing these security validations in advance rather than during script execution, the system enables versatile functionality while ensuring that only security-tested control flow patterns are deployed, thus preventing exploits.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If control flow mechanisms are emulated in restricted scripts, then scripting capability is improved, but script complexity increases

Engineering Contradiction:
Improvecontrol flow capabilityVSAvoidscript structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses copying of pre-defined code portions to emulate control flow mechanisms. Instead of implementing complex control flow logic from scratch, the system copies validated code templates (for loops, switch-case statements) and inserts them into the blockchain script. This copying approach provides sophisticated control flow capability while keeping the script structure relatively simple, as the complex logic resides in the copied templates rather than in the main script body.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If Turing-complete functionality is enabled, then computational power is improved, but vulnerability to exploits increases

Engineering Contradiction:
Improvecomputational capabilityVSAvoidexploit vulnerability
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies local quality by allowing Turing-complete functionality only in specific, controlled locations within the blockchain script - namely, in the inserted code portions that have been pre-validated for security. The rest of the script maintains the security properties of the restricted scripting language. This localized approach enables computational power where needed while containing exploit vulnerability to specific, monitored segments rather than allowing unrestricted Turing-complete execution throughout the entire script.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP4328739B1Control flow in blockchain scripts
Publication Date: 2025.09.03 NCHAIN LICENSING AG
  • EP4328739B1 patent drawingFigure 1
  • EP4328739B1 patent drawingFigure 2
  • EP4328739B1 patent drawingFigure 3

AI summary

The invention provides a computer-implemented method (and corresponding system) for generating a blockchain transaction (Tx). This may be a transaction for the Bitcoin blockchain or another blockchain protocol. The method comprises the step of using a software resource to receive, generate or otherwise derive at least one data item; and then insert, at least once, at least one portion of code into a script associated the transaction. Upon execution of the script, the portion of code provides the functionality of a control flow mechanism, the behaviour of the control flow mechanism being controlled or influenced by the at least one data item. In one embodiment, the code is copied/inserted into the script more than once. The control flow mechanism can be a loop, such as a while or for loop, or a selection control mechanism such as a switch statement. Thus, the invention allows the generation of a more complex blockchain script and controls how the script will execute when implemented on the blockchain. This, in turns provides control over how or when the output of the blockchain transaction is unlocked.