HOW IT WORKS
Since block #25,000 every block splits its reward: half to the miner, half to one earlier miner chosen by the DTD. Separately, every 288 blocks (about two days) a DTD Jackpot of 100 SOST (up to 500 SOST with rollover) is paid from the existing protocol jackpot reserve. No new coins are created for it.
The winner is not chosen by chance. Every node computes the same result from public chain data: a SHA-256 hash of a fixed label, the hashes of the 16 blocks before the jackpot height, and the height itself. That number, modulo the total weight, picks the winner. From #30,000 the weight of each candidate is the number of blocks it mined in the last 2,016 blocks.
To be a candidate since #30,000, an address needs at least 3 blocks in the last 2,016, an active NODE_BIND and heartbeats in 3 of the last 4 completed 288-block epochs. If nobody qualifies, nothing is paid and 100 SOST rolls over to the next jackpot.
Because the 16 previous blocks are not known in advance, nobody can know the winner until the block just before the jackpot height exists. Anything shown for a future jackpot is a projection. Taking part costs electricity and hardware; nothing here is a guaranteed gain.
Rules verified in the source of v30000-final.1 (59a4e666)
- Jackpot height: h ≥ 25,290 and (h − 25,290) mod 288 = 0 —
include/sost/params.h:1384-1387; cadence 288 — params.h:1329
- Base 100 SOST, cap 500 incl. rollover —
params.h:1331-1332; rollover / reserve — include/sost/jackpot.h:53-119
- V2 rules from #30,000; first V2 jackpot #30,186 —
params.h:1399-1400, 1415
- V2 eligibility: ≥ 3 blocks in [h−2016, h−1], heartbeats 3 of last 4 epochs —
params.h:1429-1432; NODE_BIND — src/jackpot_v2.cpp:22-47, 79-91
- Seed = SHA256("SOST_HIST_JACKPOT" ‖ 16 previous block hashes ‖ h); roll = u64 mod total weight —
src/sost-node.cpp:5770-5776, src/jackpot_v2.cpp:111-137
- Normal DTD on every block from #25,000 —
include/sost/lottery.h:139; current block hash deliberately excluded — lottery.h:302-306
- Confirmed payout = transaction type JACKPOT at index 1 of the block —
include/sost/jackpot_block.h:73-84