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:
Types of fields:
The dnet network is used as transport layer. A new transport layer will come in the future.
Full list of contributors including all contributors for XDAG sub-projects.