KeccakCollision: A New Approach to Proof of Work Mining
KeccakCollision is a collision-based proof-of-work algorithm that requires finding 4 values with matching 16-bit Keccak-256 hash patterns, enabling memory-hard, on-chain verified mining.
Proof of work has been the backbone of cryptocurrency security since Bitcoin’s launch in 2009. The fundamental idea is elegant: require miners to expend computational resources solving a mathematical puzzle, and reward them with newly minted tokens for their effort. But not all puzzles are created equal. The specific design of a proof-of-work algorithm determines who can mine, what hardware they need, and how secure the network ultimately becomes.
KeccakCollision is a proof-of-work algorithm that takes a fundamentally different approach from the hash-prefix mining used by Bitcoin and most other PoW cryptocurrencies. Instead of searching for a single hash value below a numerical target, KeccakCollision requires miners to find multiple values whose hashes share matching bit patterns — a collision-based approach that introduces natural memory-hardness and opens the door to on-chain verification.
This article explains how KeccakCollision works, why its design choices matter, and how it compares to other proof-of-work algorithms in the cryptocurrency ecosystem.
Understanding Traditional Proof of Work
Before diving into KeccakCollision, it helps to understand the standard approach that most proof-of-work systems use.
Hash-Prefix Mining
Bitcoin and the majority of PoW cryptocurrencies use what is commonly called hash-prefix mining (also referred to as target-based mining). The process works like this:
- The miner takes a block header containing transaction data and a random number called a nonce.
- The miner computes a cryptographic hash of this data (SHA-256 in Bitcoin’s case).
- If the resulting hash, interpreted as a number, is below a target threshold, the solution is valid.
- If not, the miner increments the nonce and tries again.
The “difficulty” is controlled by adjusting the target. A lower target means fewer valid hash outputs exist, requiring more computational work to find one. This process is conceptually simple and has proven robust over nearly two decades.
However, hash-prefix mining has a characteristic that makes it vulnerable to hardware specialization: each attempt is completely independent. There is no state to maintain between guesses, no large dataset to reference, and no complex branching logic. This makes it straightforward to build ASICs that perform nothing but hash computations at extreme speed and efficiency.
The Specialization Problem
Bitcoin’s SHA-256 mining is now entirely dominated by ASICs that are roughly 100,000 times more efficient per watt than a general-purpose CPU. This efficiency gap means that CPU and GPU mining of Bitcoin is not merely unprofitable — it is economically meaningless. The result is a mining ecosystem controlled by a handful of hardware manufacturers and large-scale mining operations.
How KeccakCollision Works
KeccakCollision addresses the specialization problem by replacing the single-hash-below-target paradigm with a collision search problem. Here is how the algorithm operates, step by step.
The Core Concept
Instead of finding one hash that meets a target, miners must find a set of K distinct values whose Keccak-256 hashes share matching patterns across N specified bits. In EVMORE’s implementation, K=4 and N=16.
In plain terms: a miner must find four different input values where the Keccak-256 hashes of those values (combined with a challenge) all produce the same pattern in a specific 16-bit window.
Step-by-Step Algorithm
Step 1: Receive the Challenge
The blockchain provides a challenge value, which changes with each mining epoch. This challenge is derived from the previous block hash and other on-chain data, ensuring that mining work is tied to the current state of the chain.
Step 2: Generate Candidate Hashes
The miner generates a large number of candidate values and computes the Keccak-256 hash for each one combined with the challenge:
hash_i = keccak256(challenge || value_i)
For each hash, the miner extracts the N=16 bit pattern from a designated position within the hash output.
Step 3: Search for Collisions
The miner looks for groups of K=4 values that all produce the same 16-bit pattern. This is the collision search — the miner needs to find four inputs that “collide” on those specific bits.
With N=16 bits, there are 65,536 possible bit patterns. To find four values that all land on the same pattern, a miner must generate and store a substantial number of candidate hashes, then efficiently search for matching groups.
Step 4: Submit the Solution
Once the miner finds four qualifying values, they submit the solution to the blockchain. The solution consists of the four values themselves.
Step 5: On-Chain Verification
The KeccakCollisionVerifier smart contract independently recomputes the Keccak-256 hashes of the four submitted values combined with the current challenge, extracts the 16-bit patterns, and confirms that all four match. If verification succeeds, the miner receives their reward.
Why the Parameters Matter
The choice of N=16 and K=4 is deliberate and reflects a balance between several competing requirements.
N (bit width): A larger N means more possible patterns, making collisions harder to find. With N=16, there are 65,536 possible patterns. This creates enough computational work to be meaningful while keeping on-chain verification gas costs manageable.
K (number of collisions): Requiring K=4 matching values (rather than just 2) significantly increases the difficulty of the search. Finding a pair of matching values is relatively easy by the birthday paradox, but finding a group of four requires either much more memory or much more computation.
The relationship between N, K, and difficulty creates a tunable system that can adapt to changing network conditions.
Memory-Hardness: Why Collision Search Resists ASICs
The most important property of KeccakCollision from a mining fairness perspective is its natural memory-hardness. This is a direct consequence of the collision search structure.
The Memory Requirement
An efficient collision search requires the miner to store previously computed hashes so they can be compared against new ones. The optimal strategy involves building a large lookup table (often implemented as a hash table or sorted array) of candidate hash patterns, then checking each new candidate against this table.
The size of this lookup table grows with the number of candidates the miner needs to evaluate. For the parameters used in EVMORE (N=16, K=4), a competitive miner needs to maintain a substantial in-memory dataset to efficiently find four-way collisions.
Why Memory Resists Specialization
ASICs achieve their advantage over general-purpose hardware primarily through two mechanisms: parallel execution of simple operations and elimination of overhead (instruction decoding, branch prediction, cache management). Both of these advantages diminish when the algorithm requires large amounts of memory.
Memory bandwidth and capacity are fundamentally constrained by physics — the size of memory cells, the width of data buses, and the speed of signal propagation. A specialized chip can compute hashes faster, but it cannot access memory significantly faster than a general-purpose system using the same memory technology. This is why memory-hard algorithms are the most effective defense against ASIC dominance.
Comparison with Other Memory-Hard Approaches
Other ASIC-resistant algorithms also use memory-hardness, but they achieve it differently:
- Ethash (legacy Ethereum) required a large DAG dataset (~4 GB) that miners had to access randomly during hashing. The DAG was pre-computed and grew over time.
- RandomX (Monero) uses random program execution that exercises multiple CPU subsystems including cache, branch predictor, and floating-point units.
- Autolykos (Ergo) uses a memory-hard problem based on the k-sum problem with a large table of unspent outputs.
KeccakCollision achieves memory-hardness as an inherent property of the collision search itself, rather than through an external dataset or complex program generation. The memory requirement emerges naturally from the mathematics of finding multi-value collisions.
On-Chain Verification: A Unique Advantage
One of KeccakCollision’s most distinctive features is that verification can be performed entirely on-chain, within a smart contract on Ethereum.
How On-Chain Verification Works
The KeccakCollisionVerifier contract, written in Vyper, accepts a proposed solution (four values) and performs the following checks:
- Computes
keccak256(challenge || value)for each of the four submitted values. - Extracts the N-bit pattern from each hash.
- Confirms all four patterns are identical.
- Confirms all four values are distinct (preventing trivial solutions).
- Confirms the solution has not been previously submitted (replay prevention).
Because Keccak-256 is natively available as a precompiled operation on Ethereum (it is the same hash function used internally by the EVM), verification is gas-efficient. The entire verification process requires only a few thousand gas units, making it practical for on-chain execution.
Why On-Chain Verification Matters
Most proof-of-work cryptocurrencies operate as independent blockchains where mining and verification are handled by the chain’s own nodes. The mining process exists outside of any smart contract environment. This means mining rewards cannot be easily composed with DeFi protocols, governed by DAOs, or integrated into other smart contract logic.
KeccakCollision’s on-chain verification changes this dynamic. Because the mining verification lives in an Ethereum smart contract:
- Mining rewards are ERC-20 tokens that can be immediately used in any DeFi protocol — no wrapping, bridging, or centralized exchange required.
- Mining pools can be implemented as smart contracts with transparent, trustless reward distribution.
- Mining can interact with other contracts — rewards can be automatically staked, used as collateral, or directed to treasury contracts.
- Verification is transparent and auditable — anyone can inspect the verification logic and confirm its correctness by reading the contract source code.
This composability is a meaningful practical advantage over traditional standalone PoW chains.
KeccakCollision vs Other PoW Algorithms
Understanding how KeccakCollision fits into the broader landscape of proof-of-work algorithms helps clarify its design trade-offs.
| Property | SHA-256 (Bitcoin) | RandomX (Monero) | KAWPOW (Ravencoin) | KeccakCollision (EVMORE) |
|---|---|---|---|---|
| PoW Type | Hash-prefix | Hash-prefix (random program) | Hash-prefix (random program) | Collision search |
| ASIC Resistance | None (ASIC dominated) | Strong (CPU-optimized) | Strong (GPU-optimized) | Strong (memory-hard collision) |
| Target Hardware | ASIC | CPU | GPU | GPU/CPU |
| Memory-Hard | No | Yes (L3 cache dependent) | Moderate (GPU VRAM) | Yes (collision table) |
| On-Chain Verifiable | No | No | No | Yes (Ethereum EVM) |
| Verification Cost | Native consensus | Native consensus | Native consensus | ~5,000-10,000 gas (Ethereum) |
| Hash Function | SHA-256 (double) | RandomX (AES, floating point) | Keccak + ProgPoW | Keccak-256 |
| Difficulty Adjustment | Every 2016 blocks | Every block | Every block | Dynamic (on-chain) |
Key Differences
Collision vs. prefix: The most fundamental distinction. Hash-prefix mining is a one-dimensional search (find any hash below a target). Collision mining is a multi-dimensional search (find multiple hashes that agree on specific bits). The multi-dimensional nature inherently requires more memory and more complex search strategies.
Smart contract native: KeccakCollision is designed from the ground up to operate within the EVM. This is not a retrofit — the algorithm’s parameters (N and K) are chosen partly to keep verification gas costs practical.
Keccak-256 base: By building on Keccak-256 (the same hash function used internally by Ethereum), KeccakCollision leverages the EVM’s native support for this hash function. This means verification does not require any custom precompiles or cryptographic libraries.
The Mathematics Behind Collision Difficulty
For readers interested in the deeper mathematics, here is a brief analysis of why finding K-way collisions is computationally intensive.
Birthday Paradox for Pairs
The classic birthday paradox tells us that to find a pair of matching values in an N-bit space, we need approximately 2^(N/2) random samples. For N=16, this is about 256 samples — quite manageable for a simple pair.
Extending to K=4
Finding a group of four matching values is significantly harder. The expected number of samples needed grows substantially. While a precise formula depends on the specific algorithm used, the general principle is that K-way collisions require either:
- A much larger sample set stored in memory (the memory-hard path), or
- Repeated pair-finding with additional filtering (the computation-heavy path).
Either way, the work required scales superlinearly with K, and the memory advantage remains significant. This is by design — the parameters ensure that memory-efficient mining strategies have a substantial advantage over brute-force approaches, which in turn ensures that general-purpose hardware (which has abundant memory) remains competitive.
Difficulty Adjustment
EVMORE’s smart contract adjusts mining difficulty dynamically based on the rate of successful submissions. If solutions are found too quickly, the difficulty increases; if solutions are found too slowly, it decreases. This mechanism ensures a stable token emission rate regardless of the total hashpower directed at the network.
Practical Implications for Miners
If you are considering mining with KeccakCollision, here are the practical points to understand.
Hardware
Any computer capable of running the Keccak-256 hash function and maintaining a moderately sized in-memory lookup table can mine EVMORE. Both CPUs and GPUs are capable mining hardware, with GPUs offering advantages for parallel hash generation.
Software
EVMORE provides open-source mining scripts in Python as a reference implementation. Because verification is on-chain, miners can build custom mining software in any language — they simply need to generate solutions and submit them as Ethereum transactions.
Gas Costs
Since mining solutions are submitted as Ethereum transactions, miners need to account for gas costs. Each submission requires gas for the verification computation plus the standard transaction overhead. Mining profitability therefore depends on the EVMORE reward value relative to the ETH gas cost of submission.
Strategy
Efficient miners will optimize their memory allocation and hash generation pipeline. The collision search rewards miners who can maintain large, fast-access lookup tables and generate candidate hashes at high throughput. This is a different optimization challenge from traditional mining, and there is likely room for significant algorithmic improvements in mining software as the ecosystem matures.
Conclusion
KeccakCollision represents a genuinely different approach to proof-of-work mining. By replacing the traditional hash-prefix paradigm with a collision search, it achieves natural memory-hardness without requiring external datasets or complex program generation. Its compatibility with on-chain verification makes it uniquely suited for deployment as a smart contract on Ethereum, enabling composability with the broader DeFi ecosystem.
The algorithm is not merely a theoretical exercise. It is live and operational in the EVMORE token, an ERC-20 digital gold token with a 21 million supply cap, Bitcoin-style halving, and a fair launch with no premine. For miners, researchers, and cryptocurrency enthusiasts, KeccakCollision offers a fresh perspective on what proof-of-work can look like when designed for the smart contract era.
Whether you are a miner evaluating new opportunities, a developer interested in novel consensus mechanisms, or simply curious about the cutting edge of cryptocurrency algorithm design, KeccakCollision is worth understanding. It demonstrates that even in a field as well-studied as proof-of-work mining, there is still room for meaningful innovation.