- Community site: https://xdag.io
- The Main net was launched January 5, 2018 at 22:45 GMT
- Directed acyclic graph (DAG), not blockchain
- Block = transaction = address
- Original idea and implementation
- Mineable, no premine, no ICO
- Mining new money every 64 seconds
Every block in DAG has up to 15 links to another blocks (inputs and outputs). Block B is referenced by another block A if we can reach B from A by following the links. Chain is a sequence of blocks each of which is referenced by the previous block. Chain is called distinct if every its block belongs to separate 64-seconds interval. Difficulty_of_block is 1/hash where hash is sha256(sha256(block)) regarded as little-endian number. Difficulty_of_chain is sum of difficulties of blocks. Main_chain is the distinct chain with maximum difficulty. Blocks in main chain are called main_blocks.
Daggers are mined in every main block. There are three periods of mining:
Stage 1 | Stage 2 | Stage 3 |
---|---|---|
2 years, Jan 5th, 2018 to Jan 5th, 2020 | 2 years, Jan 5th, 2020 to Jan 5th, 2022 | Each 4 years |
1024 XDAG each block | 128 XDAG each block | 64 * (1/2)^n XDAG each block |
The maximum XDAG supply is approximately 1.412 billion.
Each dagger is equal to power(2,32) cheatoshino. Transaction is valid if it is referenced by a main block. Valid transactions are strictly ordered depending on main chain and links order. Double spending is prohibited because only first concurrent transaction (by this order) is applied.
The on-disk format will change in the future. Consider this the network protocol. Each block has a fixed size of 512 bytes. Block consists of 16 fields each of which has length 32 bytes. Field 0 is header, it consists of 4 quadwords:
- transport-layer header
- types of all 16 fields, 4 bits for one type
- timestamp of the block, in seconds from Unix era * 1024
- block fee in cheatoshi
Types of fields:
- nonce
- header
- transaction input: 24 lower bytes of block hash and 8 bytes of input amount
- transaction output, structure is the same as input
- half of block signature; ECDSA number r or s; digest for signature is hash of (block concate public key)
- half of output signature; only owner of this key can use this block as input
- public key (x) with even y
- public key with odd y
- header of testnet
- ... 15. are reserved for future usage.
The dnet network is used as transport layer. A new transport layer will come in the future.
Evgeniy ( XDAG: gKNRtSL1pUaTpzMuPMznKw49ILtP6qX3, BTC: 1Jonano4esJzZvqNtUY6NwfPme3EMpVs7n )
Frozen ( XDAG: +L5dzSh1QZv1We3wi8Of31M8eHwQJq4K )
- trueserve
- sgaragagghu
- Sofarlemineur
- Chen Zhen
- kbs1
- amwsffgu
- s2n-gribbly
- reymondtu
- sugaryen
- mojs78
- rubencm
- SantoMacias
- cnukaus
- mathsw
- ruben
- Dengfeng Liu
- BinaryOverflow
- Caleb Marshall
- NKU-Nikoni
- Elder Ryan
- hughchiu
- Mingege
- p2peer
- ZR
Full list of contributors including all contributors for XDAG sub-projects.