Blockchain Pseudo-Random Data Generator Using Combined Participant Inputs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for generating random numbers on blockchain platforms, such as Bitcoin, face challenges in ensuring randomness, security, and compatibility with existing scripting languages, while also avoiding the introduction of new opcodes that could increase the attack surface of the blockchain.
Innovation Solution
A method for pseudo-randomly generating data on a blockchain involves receiving data from multiple participants, combining it, and applying one-way functions to generate pseudo-random data. This approach ensures that the generated data is unpredictable, deterministic, and verifiable, without requiring new opcodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If new opcodes are introduced to generate random numbers on blockchain, then randomness and security are improved, but the attack surface of the blockchain increases
Solution Approach 1:
The patent uses existing blockchain opcodes as intermediaries to achieve random number generation without introducing new vulnerable instructions. By combining multiple existing opcodes (SHA256, RIPEMD160, NOP, PUSHDATA) in a complex sequence, the system achieves cryptographic randomness while relying only on well-audited, existing code paths that have been extensively tested and secured by the blockchain community.
Solution Approach 2:
The random number generation process is segmented into multiple independent stages, each using different existing opcodes. The input data is processed through multiple hash functions (SHA256, RIPEMD160) in sequence, with each stage contributing to the final randomness. This segmentation allows verification of each individual opcode's security while achieving cumulative randomness security.
2Reliability
If complex random number generation methods are used, then unpredictability is improved, but compatibility with existing scripting languages deteriorates
Solution Approach 1:
The patent designs a universal random number generation mechanism that works across different blockchain platforms by using only opcodes present in both Bitcoin and Ethereum scripting languages. The same sequence of operations (multiple hash functions, data pushing, NOP instructions) produces consistent cryptographic randomness on different blockchains, enabling portability and compatibility without platform-specific modifications.
Solution Approach 2:
The system achieves enhanced unpredictability by changing parameters in the existing opcode sequence - specifically by applying multiple different hash functions (SHA256 followed by RIPEMD160) in sequence and varying the input data composition. This transforms simple existing opcodes into a complex, unpredictable transformation pipeline that maintains compatibility while improving security.
3Reliability
If multiple one-way functions are applied to generate pseudo-random data, then determinism and verifiability are improved, but computational complexity increases
Solution Approach 1:
The system uses the blockchain network's existing computational resources to verify the random number generation. Each node independently executes the same sequence of opcodes (SHA256, RIPEMD160, NOP, PUSHDATA) on the published input data, automatically verifying the output without requiring external verification mechanisms. The computational complexity is distributed across the entire blockchain network rather than集中 on a single validator.
Solution Approach 2:
The input data composition is prepared in advance with specific structures that facilitate efficient processing through the multiple one-way functions. Data is pushed onto the stack in predetermined formats and sequences, allowing the subsequent hash functions to process them efficiently. This preliminary structuring reduces the computational overhead during the actual random number generation while maintaining full verifiability.
Data Source
AI summary
A method of pseudo-randomly generating data is disclosed. The method Comprises receiving first data items (s1′ s2′ . . . sN′) from a plurality of first participants and combining the first data items to generate second data (Σisi′). A one-way function is applied to the second data to generate third data (Σisi′), wherein the one-way function is adapted to receive input data and generate output data based on the input data, wherein the input data is not deducible from the output data and the one-way function.


