The Spacemesh genesis is scheduled to occur on Jul 14, 2023 8:00 AM UTC. This document outlines the main events leading up to and immediately following this time.
Prerequisites for Smeshing
Everything on this list is performed automatically by the Spacemesh node. The list is provided to foster an understanding of the protocol and how and why smeshing before genesis is prevented.
Going backwards from the first reward:
- In order to get a reward, a smesher must publish an eligible block proposal.
- To be eligible for a block proposal, a smesher must publish a valid activation transaction (ATX) before the start of the epoch.
- To create an ATX, a smesher must create a PoST proof on top of a PoET proof they are a member of. Creating the PoST proof entails reading all of the PoST data from disk.
- To obtain a PoET proof one is a member of, a smesher must register for the PoET before the round begins and then request the proof after the PoET work is complete.
- To register for the PoET, a smesher must submit an initial PoST proof (for the smesher’s first ATX) or the previous ATX (for subsequent ATXs).
- To create an initial PoST proof, a smesher must finish initializing their PoST data before the PoET round begins.
- To start initializing PoST data, a smesher needs a Commitment ATX.
- At genesis, when the network starts, the only available Commitment ATX is the Golden ATX.
Determining the Golden ATX
The Spacemesh developers are committed to preventing anyone, even the Spacemesh developers and investors, from having an unfair advantage over others, including casual home-smeshers. To prevent anybody from preparing their storage ahead of others, a special value has to be incorporated into the PoST data called the Golden ATX.
This value will be included in the config file downloaded automatically by SMApp at the time of genesis, so there’s no need to calculate any of the following, but it is provided here for transparency.
This Golden ATX ID is calculated by performing a SHA256 hash sum of a string made up of two values: the Spacemesh Genesis Time (Jul 14, 2023 8:00 AM), formatted as a Unix timestamp in base 10 (1689321600) followed by a beacon value called genesis_extra_data.
In order to prevent anyone from being able to know this beacon value before others, genesis_extra_data will be the hash of the Bitcoin Key Block, a block expected to be mined approximately 3 hours before genesis and is realistically impossible to predict or influence by anyone.
How the Bitcoin Key Block Height is Determined
The height of the Bitcoin Key Block is 126 blocks after the last block mined 24 hours before the Spacemesh genesis. In other words, the height of the highest Bitcoin block with a timestamp less than or equal to Jul 13, 2023 8:00 AM, plus 126. Since the Bitcoin block interval is about 10 minutes, the Key Block is expected to be mined about 21 hours later, at around Jul 14, 2023 5:00 AM, 3 hours before genesis. 6 confirmations on the Key Block are expected about an hour later, around Jul 14, 2023 6:00 AM.
Anyone can follow this procedure at home to determine the Key Block height, but Spacemesh will announce the height on all our communication channels (spacemesh.io, Discord, Twitter, Medium, Telegram, Github) an hour after it’s determined, on Jul 13, 2023 9:00 AM. We wait an hour to allow the Bitcoin chain to reach finality.
UPDATE: The last Bitcoin block mined before Jul 13, 2023 8:00 AM was at height 798,502, so the Key Block will be at height 798,628.
So… when can I start initializing my storage?
Once the Key Block is mined, you can calculate the Golden ATX and start initializing. But that’s risky. If there’s a Bitcoin reorganization, you’d have to stop initializing, delete whatever work you’ve already done and start over with the new Key Block. That’s why Spacemesh will only officially announce the Golden ATX after 6 confirmations on the Key Block. Once the 6th block after the Key Block is mined, we’ll announce it and publish an updated config file. At that point you’ll just need to update SMApp and you can then configure your storage and start initializing.
From that point you’ll have more than 10 days to initialize your storage and submit a PoET registration, which is plenty for most configurations. Since there’s very little chance that the additional hour of work will give you any kind of advantage, we recommend waiting for the official config file from Spacemesh.
What Happens at Genesis
Since the Golden ATX will be available a couple of hours before genesis, not much happens at the actual time of genesis. The main difference between before and after genesis is that the layers start counting at genesis.
There are no blocks (and therefore no rewards and no transactions) until two epochs have passed since genesis. The Hare protocol won’t run yet.
The first round of PoET will start on Jul 24, 2023 10:00 AM. Registrations for the PoET will start about an hour earlier. Smeshers must finish initializing their storage before the round begins to submit a PoET registration in time. If you miss the deadline for the first round you won’t be eligible for participation in epoch 2, the first epoch with blocks and rewards. Missing an epoch still allows you to join the next one, two weeks later.
Once the first PoET round begins, nothing much happens on the network until it completes the proof-of-elapsed-time, almost two weeks later, on Aug 6, 2023 8:00 PM. Then smeshers can fetch the proof and start building their activation transactions using that proof. This process includes creating a PoST proof, which means reading the entirety of PoST data from disk, so if you have a slow disk or huge allocated storage space - this could take a while.
You have a 12-hour time window we call the Cycle Gap to fetch the PoET proof, create your ATX and submit another PoET registration for the next round. If your node is running and online this will all happen automatically and there’s nothing you need to do.
Once your ATX is published you are eligible to participate in the following epoch. Participation includes publishing ballots and block proposals, which come with rewards.
When Can I Start Trading SMH?
It’s important to understand that no SMH will be in circulation before epoch 2 begins, on Aug 11, 2023 8:00 AM. Then rewards will start being distributed to smeshers according to the issuance schedule. Unlike other cryptocurrency launches, Spacemesh has no pre-mine that instantly starts circulating, so the amount of coins available for trading and transacting will be very limited for the first few weeks or months.
The Spacemesh developers only create the software that powers the Spacemesh protocol. Spacemesh users who want to exchange SMH coins for goods, services or other forms of money are free to do so, but the developers have no control or influence over these activities and cannot provide help or advice.