Skip to content

🪙 Aeon Cryptocurrency

yorha-0x edited this page Oct 25, 2021 · 3 revisions

About

Aeon was annouced on BitcoinTalk forums in June of 2014 as a copy of Monero code and the genesis block was mined shortly thereafter. Since then, the Aeon codebase has intentionally been kept close to Monero's in order to benefit from the higher code reliability (due to the larger resources of peer reviewing available to Monero). Over time, Aeon has evolved a few critical differences such as size 3 ring signatures, asic-friendly mining, and omitting ring-ct proofs. As a direct result of this, Aeon serves as a unique alternative to Monero. All coins have been 100% proof-of-work mined with no coin sale, no ICO, no pre-mine, no tax etc.

Table of Contents

  1. Mission
  2. Economics
  3. Network Consensus
  4. Private Transactions
  5. Wallet
  6. Development
  7. References

1. Mission

Being a fork of Monero, Aeon shares most of its codebase with Monero while making a few critical modifications such that it can offer a unique alternative. The codebase is intentionally kept close to Monero's in order to benefit from the higher code reliability (due to the larger source of peer reviewing available in Monero). By maintaining a stable codebase, Aeon can ensure security and fairness for all network participants. [15]

2. Economics

Total Supply

There is always a predictable number of Aeon coins in circulation. Aeon follows the smooth supply emission schedule of Monero with a slight delay being that it was launched in June whereas Monero was launched in April of 2014. Thus it slowly approaches 18.44 million coins from genesis block to approximately 2022. Once the block reward reaches 1.2 coins, the reward remains fixed at that amount so that the supply grows at a constant rate each year. [1][2]

Tail Emission

Aeon relies on a constant block reward to ensure a perpetual incentive for miners to secure the network. This is fixed to 1.2 coins per block which amounts to creating about 157,680 coins each year. [1][2]

Fees and Mining Reward

With a constant block reward for miners, the security of the blockchain does not depend on the fees paid by its network users. Thus fees can be very low so long as there is no spam to the blockchain. Thus there is currently a fixed minimum fee set to 0.0001 coins/KB. [3]

Block Size Limit

Because the security of the network is guaranteed by the tail emission reward, there does not need to be any imposed artificial restrictions to the block size limit. Thus the block size limit can grow as necessary to allow for increased transaction throughput. To prevent spam there is a hard limit of twice the median of the size of the previous 100 blocks. [1] In order for a miner to raise the block size limit, they must incur a penalty to their block reward. [20]

3. Network Consensus

The Aeon network derives its security from the proof-of-work system innovated by the Bitcoin protocol.

Difficulty Adjustment

Version 1

Height: 1, Version 0.8.9.1 - Jun 6, 2014. The adjustment algorithm examines 720 prior blocks, starting from 15 blocks ago. Of those 720 blocks, the 60 highest and lowest block times are excluded from the analysis, which leaves 600 blocks. Out of those 600 blocks, the average block time is determined. This average is then used to adjust the difficulty proportionally in order to target a 120 second block time. Difficulty is defined as the number of hash attempts required, on average, to find a valid hash for the block every 120 seconds. [4][5]

Version 2

Height: 1280000, Version 0.14.0.0 - Oct 4, 2020. The delay is dropped from 15 blocks to 8 blocks. The sort/cutting highest and lowest block times is removed, thus all 720 blocks are included in the difficulty calculation. [31]

Block Time Interval

Version 1

Height: 1, Version 0.8.9.1 - Jun 6, 2014. Because Aeon was launched as a clone of Monero, it started with a one minute block time.

Version 2

Height: 592000, Version 0.9.0.0 - Jul 21, 2015. Seeing that there were many empty blocks adding unwanted bloat, this was modified to a 4 minute block time.

Timestamp

The timestamp of an acceptable block is restricted to being no more than two hours of the node's local time and no less than the median of the previous 60 blocks. [6]

Mining Algorithm

CryptoNight

Height: 1, Version 0.8.9.1 - Jun 6, 2014. The standard CryptoNote protocol hashing algorithm. CryptoNight is a memory-hard hash function. It is designed to be inefficiently computable on GPU, FPGA and ASIC architectures. [7]

CryptoNight-Lite

Height: 592000, Version: 0.9.0.0 - Jul 21, 2015. There are two modifications: the scratchpad is only half the size of regular Cryptonight (1 MB rather than 2 MB) and the number of AES iterations is halved (half a million rather than a million). This makes a light hash about 4 times as fast as a regular one. [8]

KangarooTwelve

Height: 1146200, Version 0.13.0.0 - Sep 24, 2019. KangarooTwelve is a higher-performance reduced-round (from 24 to 12 rounds) version of Keccak which claims to have 128 bits of security while having performance as high as 0.55 cycles per byte on a Skylake CPU. [9][21][22][34][35]

4. Private Transactions

Ring signature

Ring signature refers to the essential mechanism Aeon relies on to protect identifying information of network users. Transactions are signed using the basic Ring signature scheme used in Monero, such that each signer of the transaction has a plausible deniability. The ring signature size of Aeon is fixed to 3. This is recognized as a balanced comprise between maintaining privacy and keeping transactions lightweight to prevent large blockchain size increases. [17][18][19]

Stealth Address

A stealth address is a minimum piece of information compacted to a single 95-character base58 string which the recipient needs to give to the sender in order to receive aeon. The information encoded in the address is the network byte, public spend key, public view key and a checksum. The bare minimum which the sender needs are the 2 public keys, but the network byte and the checksum are added to prevent errors. Any Aeon address is a stealth address. They're called stealth addresses because no aeon are actually sent to the address itself, ie it never appears on the blockchain. Instead, it's used by the sender to create a one-time destination from which only the intended recipient can spend. [10]

RingCT

The Aeon codebase currently omits the use of RingCT which is used in the Monero protocol to encrypt transaction amounts. There are no plans to add this feature as developers have opted to favor security of the supply over enhanced privacy protections.

5. Wallet

Public-key cryptography

General terms specific to public-key cryptography where a private key and a public key make up a keypair. A public key is derived from the private key. The public key is safe to share, and gives the recipient the ability to encrypt something or verify a signature. The private key gives the owner the ability to sign or decrypts something, so should be kept private. It's important that private keys are generated in a good way as they shouldn't be easy to guess. [10][24]

View Keypair

The public part of it makes up the 2nd half of aeon address, and is used by the sender to generate a one-time stealth address to where the funds are actually sent. The owner of the wallet uses the private view key to scan the blockchain and find the funds sent to his address. At the protocol level, the sender performs an encryption with the recipient's public view key, and the recipient attempts to decrypt all the outputs on the blockchain to find the one belonging to him (where decryption was successful). [10][24]

Spend Keypair

The public part of it makes up the 1st half of aeon address, and is used to make new transactions and participate in ring signatures. The private spend key is used to sign a key image when the owner wants to spend funds, and the public spend key is used by the network to verify the signature of the key image and accept the transaction as valid. This is what prevents double-spend as the network enforces the rule that a key image can be spent only once. [10][24]

Multisignature

Aeon supports the arbitrary M of N multi-signature wallet scheme from Monero. [14][23] Monero doesn't directly implement multisignatures (at least not in a classical sense). Monero emulates the feature by secret splitting. Transactions are still signed with a single spend key. The spend key is a sum of all N private keys. The rationale for such design is to decouple multisig from ring signatures. [30]

Mnemonic Seed

Minimum piece of information used to restore the cryptographic keys that make up the wallet. To separate the mnemonic and seed terms: seed: a 256bit integer (usually represented as a 64 digit base16 number); mnemonic: in this context, a word representation of the seed, with one extra word used as a checksum. Both represent the same thing, but the mnemonic is a human readable form of it. [10] The aeon mnemonic word list can be found in english.h. [27]

Payment ID

A Payment ID is a feature developed to make it easier for the sender to prove to the recipient that he sent him the funds. Due to Aeon privacy features, the recipient can't tell from where the funds came. However, if there's a payment ID attached to it, it would give him a clue. [10]

Addresses

Integrated Address

Integrated addresses are an amalgamation of a standard Aeon address and a short payment id, bundled in one single string. They are intended to be used when a recipient requires a payment id, and they have some advantages over the practice of supplying a standard address and a payment id: * it is self contained, including a checksum. * integrated addresses use a 64 bit payment id (as opposed to the standalone 256 bit payment ids) which are always encrypted on the blockchain, increasing privacy (and decreasing blockchain size usage slightly). [12]

Subaddress

Aeon supports the subaddress functionality from Monero. [13]

Address Types and Prefixes

Public addresses start with "Wm". Integrated addresses use "Wz". Subadresses use "Xn". [11]

Base58

Aeon has CryptoNote Base58 encoding scheme. The alphabet for the variant of Base58 is 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. [24][25][26]

6. Development

Release History

Please see aeonix/aeon-legacy for versions before 0.12.0.0. [32] The remaining versions can be found at aeonix/aeon. [33]

  • 0.8.9.1 - Jun 6, 2014
  • 0.8.8.1 - Jun 7, 2014
  • 0.8.8.2 - Aug 20, 2014
  • 0.9.0.0 - Jul 21, 2015
  • 0.9.1.0 - Aug 6, 2015
  • 0.9.1.1 - Aug 7, 2015
  • 0.9.2.0 - Aug 16, 2015
  • 0.9.3.0 - Sep 2, 2015
  • 0.9.4.0 - Sep 3, 2015
  • 0.9.5.0 - Oct 9, 2015
  • 0.9.6.0 - Nov 5, 2015
  • 0.9.7.1 - Feb 23, 2017
  • 0.9.8.0 - Mar 4, 2017
  • 0.9.9.0 - Mar 28, 2017
  • 0.9.10.0 - Apr 3, 2017
  • 0.9.11.0 - Apr 5, 2017
  • 0.9.12.0 - Apr 21, 2017
  • 0.9.13.0 - Sep 29, 2017
  • 0.9.14.0 - Oct 7, 2017
  • 0.12.0.0 - May 24, 2018
  • 0.12.1.0 - Jun 14, 2018
  • 0.12.1.1 - Jun 16, 2018
  • 0.12.2.0 - Jun 20, 2018
  • 0.12.2.1 - Jun 20, 2018
  • 0.12.3.0 - Jun 26, 2018
  • 0.12.4.0 - Jul 7, 2018
  • 0.12.5.0 - Jul 9, 2018
  • 0.12.6.0 - Sep 27, 2018
  • 0.12.7.0 - Nov 27, 2018
  • 0.12.8.0 - Nov 30, 2018
  • 0.12.9.0 - Mar 16, 2019
  • 0.13.0.0 - Sep 24, 2019
  • 0.13.1.0 - Nov 28, 2019
  • 0.14.0.0 - Oct 4, 2020
  • 0.14.1.0 - Oct 25, 2020

Contributing Guidelines

For aeonix source code please see aeonix/aeon/CONTRIBUTING.md. [15] For this website see aeonix/aeonix.github.io/README.md. [28]

Donation Fund

Aeon is a 100% community-sponsored endeavor. You can send AEON to the Aeon donation address via the donate command (type help in the command-line wallet for details). The Aeon donation address is: WmsSWgtT1JPg5e3cK41hKXSHVpKW7e47bjgiKmWZkYrhSS5LhRemNyqayaSBtAQ6517eo5PtH9wxHVmM78JDZSUu2W8PqRiNs (viewkey: 71bf19a7348ede17fa487167710dac401ef1556851bfd36b76040facf051630b). The Bitcoin donation address is: 12Cyjf3qV6qLyXdzpLSLPdRFPUVidvnzFM. There currently remains 445,369 AEON and 0.81 BTC in the donation fund. [16][29]

7. References

  1. Aeon contributors, cryptonote_basic_impl.cpp get_block_reward
  2. Aeon contributors, cryptonote_config.h MONEY_SUPPLY EMISSION_SPEED_FACTOR_PER_MINUTE FINAL_SUBSIDY_PER_MINUTE
  3. Aeon contributors, cryptonote_config.h FEE_PER_KB
  4. CryptoNote authors, CryptoNote Difficulty Adjustment
  5. knacc, How does the difficulty adjustment for monero work?
  6. Aeon contributors, cryptonote_config.h BLOCKCHAIN_TIMESTAMP_CHECK_WINDOW CRYPTONOTE_BLOCK_FUTURE_TIME_LIMIT
  7. CryptoNote authors, CryptoNight Hash Function
  8. user36303, CryptoNight-Lite PoW modifications in Aeon
  9. Team Keccak, KangarooTwelve: fast hashing based on Keccak-p
  10. JollyMort, View key, spend key, paper key, seed... Is there a short presentation of vocabulary around Monero wallet?
  11. Aeon contributors, cryptonote_config.h CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX CRYPTONOTE_PUBLIC_INTEGRATED_ADDRESS_BASE58_PREFIX CRYPTONOTE_PUBLIC_SUBADDRESS_BASE58_PREFIX
  12. user36303, What is an integrated address?
  13. kenshi84, Subaddresses #2056
  14. JollyMort, How to Use Monero Multisignature Wallets (2/2 & 2/3)
  15. Aeon contributors, CONTRIBUTING.md
  16. yorha-0x, AEON Donation Fund Review
  17. CryptoNote authors, CryptoNote Technology
  18. CryptoNote authors, CryptoNote Signatures
  19. Monero Research Lab, A Note on Chain Reactions in Traceability in CryptoNote 2.0
  20. studycrypto, How is the quadratic miners penalty calculated
  21. stoffu, switch to KangarooTwelve proof of work #108
  22. stoffu, Proposal to switch to SHA-3 proof of work #103
  23. stoffu, Aeon multisig #188
  24. CryptoNote authors, CryptoNote Keys and Addresses
  25. SerHack, What is the base 58 monero alphabet used to create an address?
  26. Aeon contributors, base58.cpp
  27. Aeon contributors, english.h
  28. Aeon contributors, README.md
  29. yorha-0x, Request to Smooth for proof of dev fund. #215
  30. Piotr WÅ‚odarek, Multisignature
  31. stoffu, Aeon difficulty v9 #194
  32. aeonix, aeon-legacy
  33. aeonix, aeon
  34. Team Keccak, KangarooTwelveSlides.pdf
  35. Wikipedia contributors, SHA-3