Modular Inversion Script for Elliptic Curve Arithmetic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current blockchain systems lack the ability to perform elliptic curve arithmetic, specifically computing the modular inverse of an integer, directly within scripts during transaction validation.

Innovation Solution

A computer-implemented method is introduced that enables elliptic curve arithmetic by generating a script for a blockchain transaction, which includes a modular inversion script. This script computes the modular inverse of a target integer using a prime modulus through an addition chain, allowing for the execution of elliptic curve operations within the blockchain's script engine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If blockchain systems use existing scripting languages without new opcodes, then security and integrity are maintained, but the ability to perform elliptic curve arithmetic is limited

Engineering Contradiction:
Improveability to perform elliptic curve arithmeticVSAvoidsecurity and integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent makes the existing scripting language universal by enabling it to perform elliptic curve arithmetic operations through a standardized interface. The script generator can create scripts that perform modular inversion and other elliptic curve operations using existing opcodes, allowing the blockchain system to handle both traditional transactions and cryptographic operations with a single scripting language, thus improving adaptability without compromising security

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If new opcodes are introduced to enable elliptic curve operations, then computational capability is enhanced, but system complexity increases

Engineering Contradiction:
Improvecomputational capability for elliptic curve operationsVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the complex task of elliptic curve arithmetic into manageable components that can be executed using existing scripting language opcodes. The script generator divides operations like modular inversion into sequential steps using basic stack operations, conditional logic, and arithmetic instructions already available in the blockchain's scripting language, thereby enhancing computational capability without increasing system complexity

Inventive Principle:
Principle #1Segmentation

3Productivity

If modular inversion is computed using addition chain, then computational efficiency is improved, but script length increases

Engineering Contradiction:
Improvecomputational efficiency of modular inversionVSAvoidscript length
Core Design Contradiction:
ProductivityVSLength of stationary object

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing addition chains for common modular inversion operations. The script generator can retrieve and execute these pre-prepared addition chains rather than computing them from scratch, significantly improving computational efficiency. The addition chains are stored as data within the blockchain, allowing the scripts to be more concise while maintaining high computational performance

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250123808A1Elliptic curve arithmetic in script
Publication Date: 2025.04.17 NCHAIN LICENSING AG
  • US20250123808A1 patent drawing
  • US20250123808A1 patent drawing
  • US20250123808A1 patent drawing

AI summary

A computer-implemented method for enabling elliptic curve arithmetic to be performed using blockchain transactions. A first script comprising a modular inversion script is generated. The modular inversion script is configured to obtain a target integer x, a modulus value p, and a pair of indices for a component of an addition chain identifying a pair of pervious components which, when summed, equal the component of the addition chain. A modular inverse is generated by computing the exponentiation of x to the reduced modulus (p−2) using the addition chain. For each component of the addition chain for 3≤i≤l, each multiplier value is calculated by selecting the multiplier values associated with the pair of indices and multiplying the selected multiplier values to generate the respective multiplier value for the component. For i=l, a remainder of the multiplier value with respect to the modulus value is computed.