Blockchain Random Number Generation Using Smart Contract Commit-Reveal

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The block producer in existing blockchain systems can manipulate random number generation by adding or abandoning transactions, leading to reduced credibility and fairness in the process.

Innovation Solution

A method where a first node generates a random number and its digest value, submits the digest value to a smart contract, and after a service, the smart contract determines a second node based on participation order, combining it with the first random number to generate a second random number, ensuring randomness and credibility through verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a block producer calculates a random number based on hash value of blocks, then the random number generation is simple, but the block producer can manipulate the random number by adding or abandoning transactions, reducing credibility

Engineering Contradiction:
Improverandom number generation simplicityVSAvoidrandom number credibility
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent segments the random number generation process into multiple independent stages: (1) block producer generates first random number and submits digest value, (2) multiple nodes independently generate second random numbers, (3) final random number is derived from combination of all second random numbers. This segmentation prevents any single participant from manipulating the final result, as each stage contributes independently to the final outcome.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces digest values as intermediaries between the block producer's first random number and the final random number generation. The block producer submits a digest value (hash) of their random number without revealing the actual value. Multiple nodes generate their random numbers based on this digest value, ensuring the block producer cannot change their random number after submission while still allowing verification of its integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the block producer has control over transaction selection, then the block producer can influence random number generation, but this control leads to cheating possibilities and reduced fairness

Engineering Contradiction:
Improveblock producer controlVSAvoidprocess fairness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements preliminary action by requiring the block producer to submit the digest value of their random number before the service is executed. This preliminary submission locks in the block producer's random number choice, preventing them from adjusting transactions or changing their random number based on service outcomes. The digest value serves as a commitment that binds the block producer to their initial random number selection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple independent random number contributions from different nodes to create the final random number. Instead of relying solely on the block producer's random number, the system combines the block producer's first random number with second random numbers generated by multiple other nodes. This merging dilutes the block producer's control and ensures that no single participant can dominate or manipulate the final result.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12603760B2Method and apparatus for generating random number in blockchain
Publication Date: 2026.04.14 THE PEOPLES BANK OF CHINA DIGITAL CURRENCY INST
  • US12603760B2 patent drawing
  • US12603760B2 patent drawing
  • US12603760B2 patent drawing

AI summary

Provided are a method and apparatus for generating a random number in a blockchain, wherein the method includes: a first random number and a first digest value of the first random number are locally generated by a first node in a blockchain; the first node submits the first digest value to a smart contract; the smart contract broadcasts a first service; the smart contract determines a second node from the at least one blockchain node; when the first service ends, the first node submits the first random number to the smart contract; when the smart contract verifies that the first random number corresponds to the first digest value, the smart contract generates a second random number based on a second digest value of the second node and the first random number; and a second service is started based on the second random number.