I’ve been writing about Spacemesh roughly every other week so why not keep that rhythm going this week? There are other, heavier things I want to write about but work is quite busy this week and I’m also preparing for Burning Man so I thought I’d keep this week’s Three Things light and fun. 🙂
The Spacemesh network is alive and coins actually exist now. In that respect shit kinda got real recently. Spacemesh has had a “happy hacker” mentality for many years, and there’s a lot that needs to change given this important phase shift. We need to shift into a mindset that’s at the intersection of product and critical infrastructure (think: hospitals, airplanes, self driving cars, etc.). We now have actual users and thousands of people are relying on the stuff we’re building—and if Spacemesh breaks, people lose money.
This transition is well underway but things are still going to be bumpy for a while. For the past few years I and the rest of the team have been extolling Spacemesh’s virtues, telling the world why it should care, and telling everyone why they should join and use Spacemesh. So I thought it would be fun to do the opposite and talk about reasons not to use Spacemesh—at least not yet.
One more quick disclaimer before we dive in. It’s not up to me who uses Spacemesh, whether or not people use it, or what they use it for. It’s not up to anyone. Spacemesh is a permissionless network that people are free to use or not as they wish, and they’re free to use it for any lawful purpose they wish. Okay, on to the points below—which I am serious about, but am also half in jest about!
Thing #1: To Make Money 🤑
This is probably the worst reason to use Spacemesh today. I’m not suggesting that it’ll never be profitable to use Spacemesh, that the coin will never have any value, or that mining is a waste of time. Those things may or may not come to pass, but they’re out of our hands and in any case they won’t happen for a while even if they do. They’re not the reason we’re building Spacemesh and they’re really not a good reason to participate in the project today.
Why? Lots of reasons. For one thing, the economics of Spacemesh are designed in such a way that if you’re spending money to mine—by buying hardware, renting a GPU, upgrading your Internet connection, etc.—then you’ll almost certainly lose money. The whole point of Spacemesh is that it should cost home users almost nothing to mine since they’re making use of existing hardware and bandwidth. By contrast, it should be expensive for industrial miners, but this means it’ll also be expensive (read: unprofitable) for most home miners building specialty mining rigs. This is how Spacemesh is able to be especially friendly to the little guy. Yes, it might take the network a little while to reach equilibrium in this respect, but given how fast storage space has joined the network I suspect we’re more or less already there. It shouldn’t cost you more than a few tens of cents to generate a single unit of storage, and if it does you’re probably losing money. Economics is economics and you can’t fight it over the long run.
Also, in its present form the software and the network are at a very early stage and are quite immature. It’s best to regard Spacemesh as “alpha” quality software. That means that, in spite of our best efforts, there are going to be bugs and lots of things are going to break. As I discussed here before we made the decision to ship Spacemesh when we did in spite of this, and I don’t think it was too early or too late. We’ve always emphasized the experimental nature of the project and never suggested for a moment that it’s mature or stable in its present form.
We’re attempting to do something that’s literally never been done before: making mining super easy for home users and targeting a million or more miners. This means Spacemesh is not your garden variety blockchain and it’ll take some time until the design is mature and well tested. Given all of this, it’s essential that no one invest more than they can afford to lose into the project at this stage. If you’re mining as a hobbyist in order to learn and because it’s fun, well, those are great reasons to join! If on the other hand you’re mining in order to profit from the coins, well, I can’t stop you since Spacemesh is permissionless but I think it’s a bad idea.
Another reason is that a liquid market doesn’t currently exist for Spacemesh coins and I don’t know if and when one ever will. We’re happy to help application developers and infrastructure providers (including but certainly not limited to exchanges) integrate Spacemesh, and we’re working on documentation to that end, but a listing is totally out of our hands. If it were up to me the coin wouldn’t be listed for quite some time, until the network is more mature. Even if we wanted to prevent a listing, however, we couldn’t, because—you guessed it!—Spacemesh is permissionless, as it should be.
Even assuming the coin does get listed and a market does exist, and assuming there’s sufficient liquidity and price discovery, I have no idea what the coin will be worth or if it will have or sustain value. There are thousands of crypto coins and tokens out there including many layer one smart contract blockchains like Spacemesh. There are plenty of projects that are far more hyped, have raised a lot more money to spend on marketing, and that hold events and conferences and pay for billboards in big cities. Spacmesh isn’t doing any of those things now: we don’t have the budget, and I doubt we would even if we did. It’s a competitive market. Yes, of course I think that Spacemesh is unique and special and a hell of a lot more authentic than most of those projects, but I’m also not sure those are things the market or the broader world values. Do your own research and do not invest more than you can afford to lose.
Lest I sound too much like an investor prospectus or regulatory filing, let me say one more thing. To the extent that Spacemesh coins ever do have value, it’ll be as a token: not in the ERC-20 sense of the word, but as a token or evidence that Spacemesh has achieved something. To me, today, Spacemesh coins represent not only the culmination of many years of hard work but also the success of the Spacemesh vision, that everyday people around the world can participate in a global network of value creation and exchange. Each coin that you acquire or transact with was or could’ve been mined by someone somewhere just like you. That’s never been done before, and that’s pretty damn exciting. Just as every Bitcoin is a sovereign, freedom-loving 🖕 to central banks and national governments, every Spacemesh coin is a celebration of human collaboration and achievement, and a symbol of the fact that a better system is possible.
Thing #2: Stability ⚓
There have been a number of bugs and other small issues since Spacemesh launched a few weeks ago. We made a mistake in the genesis config that caused the first few blocks and layers to contain only a single proposal, causing some layers to be empty (this was fixed quickly). We’ve had a few issues with the PoET (also fixed quickly). And we’ve had sporadic issues with the P2P network stability and gossip. Amazingly, though, consensus has been very reliable and we’ve had no hiccups in terms of confirming transactions, blocks, and layers. Spacemesh has been remarkably stable so far, considering the novelty and complexity of the protocol and how recently we launched.
I hope it stays that way but it might not. There are a thousand ways things could go wrong. We’ve already had near misses and there will be more. A consensus failure isn’t the end of the world since, with luck, we can fix the issue and restart the network pretty quickly. We also have a self-healing mechanism that will automatically restore consensus once the underlying cause is addressed.
But as mentioned above Spacemesh is still alpha software and will be for a while. The software was born prematurely, so to speak. There are many, many features and improvements that we would’ve liked to have included in the genesis release but couldn’t due to lack of time and resources. That’s okay. As I wrote previously and mentioned above, I think the network was launched at the right time and with the right level of maturity—as evidenced by the fact that it’s still running and hasn’t gone down (yet). Just like a baby born slightly premature, Spacemesh will continue to develop and it’ll be just fine. It’s 1000x better that its development happen “in the open” rather than in the lab. We’ve already found many issues and learned a great deal that we wouldn’t and couldn’t in a lab setting.
I’ve noticed that the community tends to be really frustrated when things break or don’t work properly, when things are a bit harder than they should be or take a bit longer than they’d like. I understand this frustration and I try to shrug it off as a natural reaction when one is excited about something and it doesn’t work as well as they’d like, but at the same time I think these are unrealistic expectations for alpha software. We’ve never claimed that Spacemesh is more mature than it is. We need to keep reminding people that, while we’re thrilled you’re along for the ride, it’s going to be bumpy for a while since we’re in the Wild West out here.
There’s always a tension with blockchain software. On the one hand it is mission critical infrastructure. It may not be on par with the software that runs airplanes, hospitals, military drones, self-driving cars and the like, but it’s close, because (unlike, say, photo sharing apps) real people lose real money and assets when blockchains don’t work correctly. On the other hand, this is an open source project, we have extremely limited resources, and we’re making mistakes in public. I think it’s essential that network and community participants adopt a pioneering attitude and steel themselves for what’s to come: a ride that’ll certainly be fun but also bumpy. Also, that rather than complain when things go wrong, they make an effort to educate themselves, roll up their sleeves, and help fix things. After all Spacemesh is a do-ocracy. A bit like Burning Man 🙂
Someday, like Bitcoin and maybe even Ethereum, Spacemesh will be mature and stable enough to really power mission critical infrastructure. That day isn’t today and I don’t know when that day will be, but we’ll continue to work hard towards that goal. Until then, please be patient.
If stability and reliability excite you less than being at the bleeding edge, trying software and protocols that are doing something that’s never been done before, then you’re in the right place. Stick with us! Everything’s going to be just fine (after a few more bumps).
Thing #3: To Build Apps 🛠️
Eventually Spacemesh will be a lot more than a blockchain. Today it has transactions, blocks, layers, and epochs, but in the future it’ll have a lot more. In fact one of the problems with the blockchain and cryptocurrency ecosystem is that the vast majority of projects have failed to get past this stage and have never managed to deliver usable applications that solve real problems for everyday people. Spacemesh will be an application ecosystem with boring but amazingly useful applications.
That’s very much our goal with Spacemesh and we will get there, but it’ll take some time. Coin and consensus are the starting point, and that’s where we’re at today. We need to take the time to make sure that the protocol works, that it’s robust and reliable and secure, and that it cannot be attacked. We need to ensure that Spacemesh is at least as secure, reliable, and censorship resistant in this respect as bigger, more mature networks like Bitcoin and Ethereum. We’re well on our way to achieving this! The network is just over a month old and we already have more than 10k nodes and 6500 miners! Incredible.
We welcome contributions to Spacemesh itself, but alas we’re nowhere near the point where you can build apps on top of Spacemesh. We’re still building the basic infrastructure. We have a candidate VM design. We had to launch without a full VM (we have just a few hardcoded smart contracts for now), but the VM is one of the first major upgrades we’re planning. We’ll have a concrete VM plan and roadmap in place within the next 2-3 months and with luck we’ll have a prototype out within about six months. At that point it’ll be possible to start playing with it and to start building prototype decentralized full stack applications on top of Spacemesh.
To be clear, you could build an application on Spacemesh today but it couldn’t do much more than send and receive transactions. In other words, it could more or less do what Bitcoin apps do. (Actually, Bitcoin apps can do a bit more today thanks to recent upgrades including Taproot.) But the process isn’t documented and the tools are messy. We don’t even have a proper integration guide (we’re working on it, and we’ll have one soon). And most app developers I know wouldn’t be interested in building the sort of app you could build on Spacemesh today because it’s just too limited. To build interesting things you need a fully expressive VM, as Ethereum and EVM have shown us.
I used to be an app developer and I still am at heart. I really can’t wait to start building apps on Spacemesh—whether that means building things that exist elsewhere like tokens, exchanges, NFTs, and DAOs, or the really exciting, novel stuff that’ll emerge, whatever that may be. Spacemesh has some unfair advantages here, such as that we have our simple wallet and mining app running on tens of thousands of computers already. This may evolve into an app ecosystem, or it may turn into a browser-based wallet, or it may be replaced entirely, time will tell. In any case, I won’t consider Spacemesh successful until I’m able to run some really boring but important infrastructure on it, such as chat and calendaring. It’ll be very interesting to explore collaborations with platforms that have made headway just coins and consensus, such as Urbit and BlockchainOS, when the time comes.
But that’ll take a few months at least and building apps is definitely not a good reason to use Spacemesh today! Be patient. We’ll get there, and when we do, it’ll be glorious.