LogoLogo
LeaderboardToolsGithubCommunity
  • XenBlocks PoW
  • Usecases
    • X1 Fiat on-ramp
  • Mining
    • Mining XNM with XenBlocks
    • How to mine XenBlocks
    • XNM
    • Add network
      • Address migration
    • Mining statistics
  • TECHNICALS
    • Hashing
      • Merged mining
      • Self-custodial hashing
    • Fixed total hashrate
    • Argon2
      • Argon2 relating to memory and difficulty
      • Why not ASIC mining?
      • Argon2 and energy consumption
    • Difficulty
      • Difficulty adjustment mechanism
      • Difficulty consensus
      • XenBlocks/Bitcoin difficulty comparison
    • Mined hash X1 injection
    • Decentralised hash verification
Powered by GitBook
On this page
  • What is Argon2
  1. TECHNICALS

Argon2

Argon2id is the cryptographic hashing algorithm used for mining XenBlocks.

PreviousFixed total hashrateNextArgon2 relating to memory and difficulty

Last updated 1 year ago

What is Argon2

Argon2id, hereinafter referred to as Argon2, is the cryptographic hashing algorithm employed for mining XenBlocks. It dynamically adjusts its difficulty in line with parameters that are universally applied to all miners. By design, Argon2 is resistant to both GPU and ASIC mining. While "resistant" does not mean mining with these devices is impossible, it does signify that it would be more challenging, costly, and demanding. The primary reason for this resistance lies in Argon2's significant demand for memory, specifically VRAM allocation. As the difficulty level increases, the rate at which hashes can be produced decreases due to this memory requirement. Therefore, Argon2 is characterized as a memory-hard algorithm, which means its performance is closely tied to the utilization of memory and RAM.

Argon2 is a that was selected as the winner of the 2015 .

  • Argon2d maximizes resistance to GPU . It accesses the memory array in a password dependent order, which reduces the possibility of (TMTO) attacks, but introduces possible .

  • Argon2i is optimized to resist side-channel attacks. It accesses the memory array in a password independent order.

  • Argon2id is a hybrid version. It follows the Argon2i approach for the first half pass over memory and the Argon2d approach for subsequent passes. recommends using Argon2id if you do not know the difference between the types or you consider side-channel attacks to be a viable threat.

All three modes allow specification by three parameters that control:

  • execution time

  • memory required

  • degree of parallelism

key derivation function
Password Hashing Competition
cracking attacks
time–memory trade-off
side-channel attacks
RFC
9106
[4]
Argon2Wikipedia
Logo