Message Scheduler for Bitcoin SHA256 Hashing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cryptographic hashing methods for Bitcoin mining, such as those using SHA256, are computationally expensive due to the need for repeated calculations across different input messages, particularly when portions of the input messages remain unchanged or vary minimally.
Innovation Solution
A method and apparatus that utilize a message scheduler to calculate partially-calculated input values based on invariable portions of an initial input message, which can be reused for subsequent input messages, reducing the computational burden by performing calculations only on variable portions, thereby increasing processing speed and efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cryptographic hashing is performed on plural different input messages using standard methods, then complete and accurate hashing is achieved, but computational expense and processing time increase significantly
Solution Approach 1:
The message scheduler performs preliminary calculations of input values for the compression function using only the invariable portions of the input message. These partially-calculated input values are stored and reused for subsequent input messages, eliminating the need to recalculate the same values repeatedly. This preliminary action significantly reduces the computational burden while maintaining hashing accuracy.
Solution Approach 2:
The input message is segmented into invariable portions and variable portions. The message scheduler processes only the invariable portions to generate reusable input values, while the variable portions are handled separately for each input message. This segmentation allows the system to exploit the redundancy in the input structure without compromising the integrity of the hashing process.
2Reliability
If repeated calculations are performed for each input message, then hashing completeness is maintained, but computational burden increases
Solution Approach 1:
The system performs preliminary calculation of input values based on invariable message portions once, stores these results, and reuses them for all subsequent input messages. This eliminates redundant computational energy expenditure while ensuring hashing completeness through proper handling of variable portions.
Solution Approach 2:
The partially-calculated input values derived from invariable portions are copied and reused across multiple input messages. Instead of recalculating the same values repeatedly, the system creates reusable copies of these intermediate results, significantly reducing computational energy consumption.
3Measurement precision
If full calculations are performed for each subsequent input message, then hashing accuracy is maintained, but processing efficiency decreases
Solution Approach 1:
The calculation process is segmented into two parts: (1) preliminary calculation using only invariable portions, and (2) subsequent calculation using variable portions. This segmentation allows the system to maintain full hashing precision while improving processing efficiency by avoiding redundant calculations in the first segment.
Solution Approach 2:
The message scheduler performs partial calculations for the invariable portions and completes the full calculations only when necessary for the variable portions. This partial action approach maintains hashing precision while significantly improving processing efficiency by minimizing redundant computational steps.
Data Source
AI summary
A method of performing cryptographic hashing when mining for Bitcoin comprises causing a message scheduler to calculate a set of partially-calculated input values for a SHA256 (e.g. SHA2560 424) cryptographic compression function using values which are based on invariable portions taken from an initial input message of the input messages (e.g. 418) to be hashed. For each subsequent input message of the input messages (e.g. 418) to be hashed, a set of fully-calculated input values for the SHA256 (e.g. SHA2560 424) cryptographic compression function is calculated using the partially-calculated input values and values which are based on variable portions of the subsequent input message to be hashed. The set of fully-calculated input values is then provided for use when performing the SHA256 (e.g. SHA2560 424) cryptographic compression function in respect of the subsequent input message. This reduces the number of calculations which need to be performed by the message scheduler.


