We've had several major releases in Q3, including the official Spacemesh Wallet and go-spacemesh 1.7.
Learn about these developments and more in our quarterly update.
Research & Development
The Spacemesh Wallet
Our dev team has created a light, easy-to-use wallet where you can store your SMH coins without having to run a full node. Since its release in August, we’ve made several small improvements and adjustments.
This release is the first step of an ongoing effort to make smeshing easier and more accessible. See Node Split below for more details.
Go-Spacemesh 1.7
The 1.7 series has been released, as part of our preparations for the ATX merge. If you’re upgrading from a release in the 1.6 series, please note the extensive migration process required for this series to operate and the temporary doubling of disk space usage.
Node Split/Smeshing Service
In our ongoing effort to lower the barrier for smeshing, we’re exploring a new direction for reducing the system requirements for smeshers. The idea is to re-architect the internal modules in go-spacemesh, isolating the smeshing logic from the passive consensus code. By dividing the node along those lines, we can enable users to run the lightweight, yet sensitive (access to private key) smeshing logic separately from the rest of the node. This can enable users with limited resources to use a remote node for their smeshing.
We want to introduce a node-split where we split node into multiple smaller entities as shown in the picture:
We believe that such a design will also be useful for larger smeshers, as it enables them to run small, lightweight smeshing services next to their PoST data. All the smeshing services that they run can then connect to a single passive node serving their entire operation.
ATX Merge
In September, we launched a dedicated testnet for preliminary testing of this feature, which we have continued to oversee and manage, paying close attention to the merged ATXs. At the same time, APIs have been finalized, and we’re finalizing the implementation of malfeasance proofs.
Sync v2
We’re close to shipping the initial version of Sync v2, which will allow syncing in a manner similar to the torrent protocol (parts of data from different peers). We will soon enable it on ATXs.
Explorer and Dashboard v2
Both our Explorer and Dashboard are now V2. Please note that the old versions with all their APIs are deprecated.
Node Performance Optimization
We have identified several areas for optimization and are working on them. This includes disk usage optimizations, memory consumption optimizations, and CPU usage optimizations. Many of these improvements will be included in upcoming 1.7 releases.
Hare4, which optimizes bandwidth usage, has also been fully developed and we’re preparing to enable it on mainnet soon.
Network Decentralization
Routing discovery is enabled for all Smapp users currently, which means that more peers behind NAT will become accessible.
Research
Athena VM
Everything we need to launch the initial, proof of concept Athena testnet is now in place on the Athena side. We merged a major update that includes the remainder of the initial set of host functions, a SDK and procedural macros used for writing Athena programs, and some other nice features such as the ability for a program to have multiple entry points.
The other big piece of news is that two additional developers have joined the Athena project. It took a few weeks but they’re now up to speed and have begun to make major contributions to Athena.
We also have a final proof of concept Spacemesh wallet template implemented in Athena Rust. For now it implements only two of the proposed four wallet methods, spawn and send, but this is sufficient for the initial testnet.
If work on the Athena Rust code appears to have slowed, it’s only because we now have everything we need for the testnet, and we’re totally focused on finishing the initial integration with go-spacemesh in order to launch the testnet.
The latest update is here, with more details.
PoST Merge
Spacemesh is suffering from “smesher identity overload” where millions of ATXs are published every epoch, placing a significant burden on everyone running a Spacemesh node. This is not because millions of individuals are smeshing, but rather because the existing PoST algorithm allows a form of resource optimization available only to individuals who split their storage allocation between many small identities.
To address this issue, we’ve developed a modified version of the PoST protocol that eliminates the indirect incentive to split large identities into smaller ones. A side effect of this change is that smesher weight will no longer be constant across epochs, but will instead slightly fluctuate.
To actually reduce the number of existing identities, and not just discourage new smeshers from splitting, we needed to allow large smeshers–whose identities are already fragmented into many small ones–to merge them without the need to re-initialize. Merging identities will be enabled even before the new PoST, but that only means putting multiple PoST proofs in the same ATX. Once the PoST v2 is rolled out, merged identities will only need to include a single consolidated PoST proof. A consolidated proof from multiple identities will take up slightly more space, but the size increase will be sublinear and capped (after a certain number of included identities, proofs will not grow anymore).
Another problem large identities face today is the huge upfront k2pow requirement. Today, k2pow grows linearly with the allocated space, because the benefit of “cheating” (replacing allocated space with trying a huge number of nonces to achieve a similar weight) increases linearly, as well. To allow sublinear k2pow increases, we require larger identities to provide slightly larger proofs. The larger the proof, the smaller the benefit of each additional nonce, so the cost to create another nonce (k2pow) can be smaller with no loss of security. This has an added benefit of nudging large smeshers to merge their identities, in order to do less total k2pow.
Community
Contributions
We have compiled a list of contributions which are the most popular within our community. For more contributions, check out the #community-contributions channel on our Discord server.
Web Wallet, by community member @dafacto - https://smeshwallet.com/
Reward tracker App - Google play or App store
Spacemesh SMH tokenomics and circulating supply - https://www.smhtokenomics.com/
Team24 - 24hr PoET servers: https://team24.co/ , Discord: https://discord.gg/wBhve9JSqB
SM-node Monitor. Displays the status of nodes and services: https://github.com/xeliuqa/SM-Monitor
nodeCurl. Simple tool to check the status of the node: https://github.com/xeliuqa/nodeCurl
Post Service Manager. Flexible and robust solution for automating the Spacemesh proving process across a wide range of Linux-based operating systems. https://github.com/Stizerg/sm-psm
PowerScript, helps to start CLI node. It automates 95% of the process of running a node and helps with readability. It was made to help beginners to run the go-sm node for spacemesh: https://github.com/xeliuqa/PowerScript
Basic Plot Monitoring Python Script: https://github.com/TickTockBent/spudmon
A Python script to automate validating POS files: https://github.com/TickTockBent/spudchecker
A post-service manager for orchestrating post services in 1:N configurations: https://github.com/tjb-altf4/spacemesh-psm
Data exporter utilities collection: https://github.com/tjb-altf4/spacemesh
SM-CLI fork with support for wallet sign, wallet spawn, wallet send, wallet balance: https://github.com/poets-network/smcli/
Challenges
The Tell the World challenge is complete, with all 4 harddrives on their way to our winners.
The Spacemesh Wallet Tutorials challenge is ongoing until the 18th of October. Learn how to participate here.
To never miss out on Spacemesh challenges and the chance to win awesome gifts, keep your eyes on the #🏆challenges channel of our Discord server.
Poker Sunday
The next Spacemesh Poker Tournament starts at Sunday, 13 October 2024 at 14:00 UTC.
The best players will get HDDs, Roles, Points and SMH coins
Register ahead of time to play.
Spacemesh Incentives Loyalty Program
Recently, we introduced a new loyalty system, Spacemesh Points! Discord users are rewarded for their activity with points, which are aggregated on our leaderboard.
Every month, we will reward the top 10 from the leaderboard:
🥇 Top 1-3 - will receive valuable prizes:chocolate_bar: (video cards, hard drives, Ledgers, and other prizes at the discretion of the team).
🥈Top 4-5 will receive a 50 point boost for the next month.
🥉 Top 6-10 will receive 30 point boost for the next month.
See here for more details.
Spacemesh VIP Pass
Early Contributors will receive 50 VIP Gold-series cards, which will grant them privileges in the future. More series of cards will be distributed to Contributors in the future, but not exceeding 300.
Learn how to become a Spacemesh Contributor here.
Thank You For 40K
The Spacemesh community is thriving! Recently, we passed 40 000 followers on Twitter. A strong community is the foundation of everything.
Q2 of 2024 has been a crazy time for Team Spacemesh. In this update, we’re excited to give you all a look at all the highlights.
Research & Development
ATX Merge
The merging of Activation Transactions (ATXs), which we aim to release with version 1.7, serves multiple critical functions aimed at enhancing network efficiency and security. We landed on ATX merge as a solution to address the network growth and the unexpectedly high number of smeshing identities, which has been taxing the network due to individual optimizations by large smeshers. The ATX merge is designed to reduce network congestion and enhance overall performance and scalability.
You can read the full overview here.
ATX Merge Specification
Version 1 (V1)of ATX merge incorporates the following features:
The inclusion of a certificate within the ATX that covers multiple PoSTs.
Any ATX containing multiple PoSTs is required to also include a 32-byte ID.
This 32-byte ID serves as a reference to another ATX that contains the actual marriage certificate.
There is a limitation of one marriage per set.
Version 2 (V2) is planned to expand upon these capabilities by introducing additional features such as:
Allowing more than one marriage per set.
Subset merges.
Merge announcements.
Implementation work can be viewed here.
Athena VM
The Athena project has completed its initial research and low-level design phases, resulting in a working VM compatible with the RV32IM instruction set. It is now entering the integration phase to add blockchain functionalities and interface with go-spacemesh. Athena uses the SP1 RISC-V VM as its core VM, but without the ZK components (SP1 is a RISC-V-based zkVM).
The implementation is here and you can even try it out yourself!
An in-depth update for the month of June is available on the official Athena website, along with a live demo on the Spacemesh Youtube channel.
Light Wallet
We understand that not everybody who holds Spacemesh coins wants to smesh. To address the need for a less resource-intensive solution for those who only want access to their wallets, we are in the process of developing our light wallet, Spacemesh Wallet.
It may be coming very soon indeed… 👀👀
Halborn Audit
We partnered with Halborn for a security audit of the Spacemesh protocol. Halborn is a leading blockchain security firm, focusing on auditing blockchain protocols and smart contracts to make them more secure. Given the adversarial and open environment of Web3, having our codebase audited was a fundamental step towards making Spacemesh more secure, robust, and resilient against any potential attacks. The audit is now complete and the full audit repor is available here.
Hardware Wallet Support
We truly believe in the ability to have self-custody of one’s own coins. As such, to further facilitate this goal, we are in the process of making Spacemesh compatible with Ledger hardware wallets.
API v2
A set of new and improved APIs has been in development and we will shortly begin testing nodes which will expose these APIs by default.
Public API Availability
mainnet-api is available, as well as testnet-13-api. The swagger docs are accessible via the `/docs` endpoint.
Testnet
Using the Testnet is a great way to experiment with the protocol without any real funds at risk. About two months ago, we launched Testnet-12 with a 1-day epoch. This network ran for several weeks before experiencing problems with the Beacon protocol. We launched its replacement, Testnet-13, last week.
1:N
This is a tool that we introduced during Q2. It allows smeshers to manage multiple PoST services on a single node.
Quick UDP Internet Connections (QUIC)
The QUIC protocol has been introduced. For a blockchain network like Spacemesh, this translates to improved network performance, better resilience, and reduced network overhead, ultimately leading to better peer-to-peer connections and enhanced decentralization.
Smapp now enables QUIC by default. We are working on relays that will assist with establishing the connections between natted nodes.
PoET Certifier
With go-spacemesh version 1.6.0, we introduced a new certification that will allow smeshers to use public PoET servers with more security.
Smapp
Several versions of Smapp have been released over the past three months, with improvements to ATX capacity and memory. All versions are available on the github repo, and the latest version is always available on our website.
Smesher UX
The UX experience of Smeshers has been lacking, and so we are taking measures to improve it with Smesher UX. These will include proof generation improvements, better proof status reporting, an ability to clear the node state, node identity management, and ATX builder improvements.
Traffic Usage Optimization
We have started working on reducing the traffic usage by the Spacemesh node.
Community
Spacemesh Anniversary Raffles
For the past almost nine weeks, we have been running weekly raffles in celebration of our upcoming anniversary, giving participants the chance to win prizes that can help them get started with smeshing (GPUs, HDDs, and gift cards), along with giving away Spacemesh SWAGPACKS.
Today we held the final raffle, but keep your eyes peeled for more opportunities to win.
Spacemesh World Challenge
The Spacemesh World Challenge is currently underway. We challenge our community to take photographs of themselves with a physical Spacemesh logo in interesting and unique locations around the world. Winners will be selected on the 24th of July.
Here are some of the submissions we have received so far, selected at random:
Browse more submissions here.
Events
We hosted and participated in several events over the course of the last quarter. These include:
A Town Hall where we discussed reducing network load, after publishing the accompanying blog post.
An AMA with STARKWARE, available on X and Youtube.
Community Contributions
Our community remains prolific in their output of contributions to help fellow Smeshers.
In this update, we’d like to highlight the contributions which have provided the most utility to our community. (Please note that these are unofficial tools, which you use at your own discretion and risk.)
By @stizerg and @John: Updated SM-Monitor to v4.07 (You can set it up with this QR code:)
- Now showing reward layers
- Yellow for future layers
- Green for layers within the past 1h
- Gray for past layers
By @xearl4: For those brave enough to mess around with a CLI wallet, they have a new release of their patched smcli out. It now supports wallet spawn, wallet send, wallet balance and wallet sign subcommands.
By @ticktockbent: If anyone else is interested in developing against Spacemesh and is struggling with wallet creation, TickTockBent documented the process here by giving a basic outline of the process and how it can be done in Python. He also wrote guides for validating a wallet address, and how to run a testnet node on Linux.. @ticktockbent created these as a side-effect of developing a new bot that will work with Spacemesh, so more will be coming.
Updated by @badbake: The “Un-Official” Community Calendar created by @TickTockBent has now been extended out to January 2026. Check Dates/Times of Epoch Changes, Cycle Gap Proving Windows, and PoET Rounds (Now with PoetRoundIDs)!
By @dafacto: The community-favorite https://spacemesh.fyi/, which has the lowdown on Spacemesh as well as a compilation of popular community tools, has received a few updates:
- Additional details around eligibilityBy @hakehardware: A text guide for using the 1:N tool and a quick video on his own 1:N setup.
The first quarter of 2024 was a momentous one for Team Spacemesh, which means that it was also exceptionally busy. We continued to roll out critical network updates and to make progress on the longer-term roadmap including the VM. We participated in events on three continents and continued to spread the word about what we’re up to and what we stand for.
The network continued to grow steadily and uptime has remained well above 99%, with no major downtime to speak of. In the first quarter of 2024, we continued to release regular development updates, and we’re happy that we now have enough bandwidth to resume our regularly-scheduled “big updates,” starting with this one.
Research & Development
Sync v2
Our previous sync implementation was not designed to handle the throughput we're now experiencing. We have re-designed it from the ground up, and many improvements have already been released:
Steps have been taken to boost the performance of booster nodes, which should result in a more efficient network synchronization experience.
The fetcher now supports a streaming mode, with continuous enhancements being made to the sync process.
Other improvements are still in development and will be released in the near future.
Quicksync
In order to simplify and expedite the syncing process for interested users, we rolled out the Quicksync feature. The full details are available in this blog post, but in summary quicksync allows users to download a snapshot of the current state from a trusted source (in this case, Team Spacemesh), allowing a node to sync within hours instead of days.
ATX Merge
This innovation aims to decrease the aggregate number of ATXes by amalgamating several of them, which will help with scaling up the network as it grows. Work on it has begun and we expect to implement it in the near future.
P2P Network Decentralization
To further expedite peer discovery, we have implemented relays within the p2p network. Relays and new discovery have been activated for all Smapp versions updated past 1.4.3.
Multiple PoST services per node
This is a long-awaited feature that was released with the Spacemesh v1.4. With this advanced feature, a node can now manage multiple identities and their life cycle. This reduces the amount of data that needs to be broadcast and fetched from the network, reducing the amount of data that needs to be stored locally due to only one database being needed for all identities, instead of one for each.
API v2
Development of this new and improved API is well underway, with v2alpha1 API being introduced with the 1.4 version of the node.
Distributed Verification
In order to reduce ATX validation load during the cycle gap, we allowed nodes to validate a random subset of PoST labels (instead of full validation), relying on others to find bad labels in the rest of the labels.This feature was released with version 1.4 and is enabled by default.
Explorer
We made the network explorer more robust, so that it’s now capable of handling a much higher load. It now also displays the correct Smesher ID in rewards in cases where multiple Smeshers use the same coinbase account.
Smapp
We released several new versions of Smapp over the past few months, with many notable improvements. These include the implementation of quicksync, and making statuses more informative and useful. We are currently working on enabling Smapp to display ATX sync progression.
Virtual Machine
In March, our R&D team met in Athens with the goal of defining and refining the Spacemesh VM design. After a long week of intense discussion and debate, they managed to reach a consensus on most of the core questions that needed to be addressed.
Lane Rettig has written a detailed explanation of the answers they landed on, and a summarized version of these decisions will be published soon.
Community
Ambassador Program
In December we launched the first phase of our Ambassador Program, where we began the selection process of our first cohort of ambassadors. In addition to a submission form based on qualifications and existing community contributions, we ran Zealy quests (please see link above for more details) which allowed all community members the chance to earn rewards, in addition to the role of ambassador.
The response to these challenges was overwhelming, with more than 1600 participants. As a result, sorting through all their submissions is taking some time. But we will announce the first cohort of ambassadors in the near future, as well as the details of how we will verify and distribute rewards to the challenge participants.
We will also soon introduce a program with tasks and monthly rewards for our ambassadors .
As the community grows, we will also be expanding the number of ambassadors, so be active, make content, be visible candidates and expect new recruitment to the ambassador program.
Watch this space for more opportunities.
Global Events
Our Dev Evangelist Lane Rettig attended several crypto conferences around the world to speak about Spacemesh and participate in panels, including:
ETHDenver ( YouTube + Twitter link with recording of the event )
ETHTaipei ( YouTube + Twitter link with recording of the event )
Buidl Asia ( YouTube + Twitter link with recording of the event )
AMA
An AMA with Lane Rettig (Dev Evangelist) and Noam Nelke (Chief Architect) was hosted by @altcoinist_com.
They answered burning questions from the community and shared the current status of developments and future developments You can listen to it here.
Partnerships
We’ve recently had a lot of inbound interest in partnerships from individuals and companies in the Spacemesh community.
This trend is exciting! But in the interest of fairness and transparency, we released a blog post detailing where we stand at this time.
Community Contributions
Our community remains as productive as ever, producing guides, tools, and other materials to help their fellow smeshers out. We acknowledge these special users by giving them the Contributor role on our Discord server.
For an excellent series of guides on installation (CIS local communities), home system setup, customisation, and ongoing technical support for newbies in the chat, we acknowledge:
@Yuriy
@Vladimir
@vitally
@Kurare_dK🍃
Vietnam's Spacemesh community is growing (now over 1,000 members) and has opened its own Local Telegram chat, lead by @Vietcong6868:
Keeper of the community mascot, cultivating positive Spacemesh vibs in social networks, as well as training materials courtesy of @AndreasTom84:
@ENTP organized the first offline local club - the Korean Spacemesh Petabyte Club. We'll be telling their story together soon and sharing news from Korea soon!
For active promo of Spacemesh in social networks, @Stormunitedforc:
For the publications and video review of the project, @Crypto_B:
New guides for beginners in German by @Lothar1812:
He also made a short overview video about Spacemesh.
These are just the most recent batch of new contributors, but they’re far from the only ones. Visit our Discord server and check out the livejournal-sm channel, as well as the community-contributions channel, for more!
June and July were momentous months for Team Spacemesh.
After five years of ceaseless research and development, we reached genesis, and the network is alive and growing at a steady pace.
Our work continues, though, as we make improvements to the network, Smapp, and go-spacemesh, as well as continue development on future features like our Virtual Machine.
This is just the beginning.
Research & Development
Metrics
To better understand how smeshers are interacting with the network, so we can monitor things like network growth and overall health, we began to collect metrics. We only collect: versions, proving options, init size and init state. These are opt-out on Smapp and opt-in on CLI, meaning that our current statistics are very helpful estimates, but not comprehensive.
Presently, our metrics indicate:
- 42558 completed PoST SU (storage units) -> almost 2.7PiB
- 126930 total reported SU -> 7.75 PiB
- about 5200 nodes
Protocol
P2P
We have migrated from our custom discovery to one from libp2p with Distributed Hash Tables. The primary reason is to benefit from hole punching and multiple transports support (quic, webrtc).
Proving Difficulty
We temporarily lowered PoST proving difficulty on mainnet.
We did this to prevent a certain kind of exploit, where an adversary with cheap processing power can replace some storage with much more computation, we've introduced a small amount of additional computation to the PoST proving process making this attack too expensive to carry out.
We had plans to offload this additional work and delegate it to other servers that can do it once for all smeshers they serve, but didn't think it was urgent.
After the launch of the Spacemesh mainnet we've talked to users and realized that the time this work would take on many users' actual setup would make it hard (sometimes impossible) to generate a proof in the limited time available for it.
As a temporary measure, until we can implement our long term solution, we're considerably reducing the amount of work required, so that no home smesher will be hurt by this.
As a consequence a powerful adversary could take advantage and slightly increase their power beyond their resource allocation. This would still require implementing some complex logic, putting in place specialized hardware and taking some statistical risk. This attack would also potentially be detectable.
To minimize the incentive to take advantage and the possible long term upside, we're committing to re-raise the difficulty within 10 epochs (5 months). We hope to finish implementing the delegation of this work much sooner, expediting the increase if the proving difficulty back to safe levels. But regardless of the time to roll this out—the temporary reduction will end automatically after 5 months.
This temporary change is part of our unwavering commitment to make smeshing at home effortless and effective.
Smapp
We implemented node functionality to stream the events via `EventsStream` api endpoint, and improved Smapp displays on the Smeshing screen that improves the usability and visibility.
The Smapp team is now preparing more configuration features to land soon.
Research
Post-genesis Improvements:
- phased poets: nodes can work with multiple poet servers
- poet service rewards: the community will be incentivized to run poet services
- delegated k2pow and distributed verification: shorten proof generation for home miners
Virtual Machine
We have made solid progress on the plans to add a full VM to Spacemesh. A full overview of this design will be shared with the community very soon.
Community
Growth
Following genesis, our community has experienced a surge in growth, with 2000 more followers on Twitter, and 2500 more community members on discord.
This is very exciting for us to see. We’re doing everything we can to ensure our community continues to thrive!
Contributions
Many community members have gone the extra mile to make life easier for other smeshers, so we decided to open a new #community-contributions channel on discord to compile all their work. Some of these awesome contributions include:
- A guide on Spacemesh cloud initialization by andreiv.
- A script for multi-GPU initialization, along with a helpful guide, by simeononsecurity, for use with the Spacemesh CLI.
- A google calender by Ticktockbent that shows users when cycle gaps/proving windows are happening and when epochs begin. Very helpful for figuring out when your node absolutely needs to be running!He also created several articles, including a guide for key terms in Spacemesh, a brief overview of the protocol, and an article about choosing your Proof of Space data size (with links to helpful tools).
- A Spacemesh Log Parser (Windows only, both SMapp and CLI) by Dumraden that reads your logs and provides logged info to you in an easy-to-read manner.
- A Chinese-language video by tothemoon with instructions on how to use docker to smesh.
- A Twitter thread in German by nikkilikeonlynikki, explaining what Spacemesh is all about.
- A Spacemesh cluster mining tutorial in Chinese by MaxYu.
- A modified plot_speed script by Zanoryt that works for Linux and Windows, with multi-GPU support (assuming each postcli is handling a range of bin files on the same path).
- Russian-language videos explaining the basics of Spacemesh, and how to install a node, as well as a local AMA session for the CIS community, by ruslan.klinkov.
- A small PoST file watchdog by saki2fifty.
- A work-in-progress multi node grafana monitoring dashboard by BlackBlocks
- A power consumption chart of mainstream graphics cards in Spacemesh, compiling the results of tests by swatchliu and his team.
- A video guide for using PowerShell scripts to run multi-GPUs by jonh.
NOTE: All of these contributions are unofficial and haven’t been QAd by the Spacemesh team.
Hackernoon
Spacemesh co-founder and CEO Tomer Afek did an interview with Hackernoon, where he discusses his love of surfing, and how this ultimately led him down the path to Spacemesh. He also explains what gives Spacemesh the ability to make a true “People’s Coin”.
Spacemesh has reached a very exciting milestone. Not only is our genesis candidate testnet holding strong, but it’s withstood two live updates without incident.
Creating a novel layer one protocol from the ground up is a monumental undertaking, and it’s been a long journey to reach this point, with many stops and starts along the way. But now we can see the light at the end of the tunnel.
Thank you for taking this journey with us. It’s only going to get more exciting from here on out.
Research & Development
Testnet-05
Testnet-05 is live and stable! This mainnet genesis candidate is running with params that closely resemble those that will be deployed on mainnet. We strongly encourage all community members to join, initialize PoST storage and try smeshing to earn testnet coins in preparation for mainnet. There will also be opportunities for smeshers to win awesome gifts, which we detail in the Community section below.
Smapp & SMCli
There is a new PoST initialization screen that allows Smeshers to configure advanced options.
Smapp autoupdate and forced auto-update is working as expected on the vast majority of the platforms. We deployed an update on Testnet-05 that tested this functionality, and it worked as expected.
We released the first production version of smcli, the Spacemesh CLI wallet tool. It allows generation of mainnet-compatible wallet files using BIP39 mnemonics as well as Ledger hardware wallets.
Protocol
We have been reworking POST from the ground up, using OpenCL based initialization. The new implementation is fully done and is integrated to testnet-05.
To ensure that the network is resilient, we’re working on providing robust “checkpoint recovery” which will help the network in the event that we encounter some showstopper bug. We hope to roll out this feature in an update to testnet-05.
Research
We were working on offloading k2pow (the proof of work required to generate PoST proofs) to poet servers in order to be more inclusive and friendlier to low end devices. We expect to ship this feature shortly after genesis.
We’re also in the process of switching k2pow to a different algorithm to level the playing field for Smeshers with less compute power.
Mainnet Readiness
We’re in the process of hiring a third party security research firm to help conduct audits of the Spacemesh code and perform security testing prior to launch. In addition, we’re continuing to improve metrics collection/telemetry and monitoring infrastructure so that we can keep a close eye on network health and respond immediately if something goes wrong.
Community
Spacemesh set up a booth at the Israel Crypto Conference in Tel Aviv, where CEO and Co-Founder Tomer Afek and Chief Architect Noam Nelke both gave presentations. It was awesome to meet with the broader crypto community and spread the word about Spacemesh.
We just completed the first Pre-Genesis Raffle, where smeshers won Ledger Nano Crypto Hardware Wallets, 2tb external harddrives, and one lucky smesher even won an MSI Gaming GeForce RTX 3060.
There will be another raffle coming soon. If you want to participate, make sure to join the Spacemesh testnet and join our Discord server.
As we watch some of the world’s most entrenched and trusted financial institutions teeter on the edge of ruin, we feel even more passionate about our mission.
Ultimately, we want to offer as many people as possible the resources, freedom, and space required to make choices that aren’t beholden to an established system of power. Spacemesh is on the cusp of releasing technology that will enable the masses to mine our coins. We are also setting the stage to build reliable, easy-to-use smart contracts, to serve as the basis of a bottom-up, collaborative value creation network.
One hurdle we've experienced is problems with Proof of Space data initialization. We found a bug, which we thought at first only affected Vulkan GPUs. But, after the release of Testnet-03, it became clear that it also affected NVIDIA cards. In response, our team immediately rolled up their sleeves and dived deep into resolving this issue. We also gained an overall efficiency increase in the process.
While these results are indeed promising, we want to perform more testing before we launch, which has revised our estimate timeline:
- New genesis candidate network launch: May 10th
- Genesis ~end of May
We take strength from you, our awesome community, for showing patience and continuing to lend us your support.
Research & Development
Testnet-03
Our initial launch of the first genesis candidate network has provided us with extremely important feedback, and enabled us to fix a number of issues.
At the very beginning, there was a problem with POET that caused fast POETs to restart (nodes from different networks wanted to talk to them). We have now fixed the bug and updated POET servers.
We also learned that some of the POST data that we initialized for tests on the 3090 GPU were invalid and contained incorrect data. We ran more extensive tests, and have started working on two parallel efforts to address these issues with the GPUs.
There was also one bad bug in Smapp that caused GPU VRAM overuse, which we are in the process of fixing.
SMCli
We have a beta release of a wallet tool that users can use to generate keys for genesis. A more feature-complete release, which includes support for mnemonic phrases, will be out very soon, and we expect to add hardware wallet support (ledger) shortly thereafter.
Getting this out required finalizing our interoperable wallet file spec, including how we encrypt wallet files, as well as the algorithm we use to convert mnemonic phrases into keys (BIP32/BIP44 derivation paths, BIP39 mnemonics) using ED25519.
API
We refactored the API configuration and implementation to support multiple GRPC servers and services, and added a new feature to allow smeshers to update and switch between PoET servers. This included updates the tests, logging, and presets to use the new configuration and services
Optimization
One of the last changes inside the protocol is moving to an 8/56 proving algorithm, which should be about twice as fast on slow CPUs. This will allow Spacemesh to run on even slower CPUs.
Community
Our community has been instrumental in helping us to improve our protocol, and also in helping each other. As a thank you to those members who went above and beyond, we sent out a bunch of Spacemesh swagpacks.
There will be more opportunities to get your own Spacemesh swag, as well as other goodies, in the future. Just make sure to join our Discord server!
We are so very grateful for your ongoing patience, support and faith in the Spacemesh project and mission.
While genesis for Spacemesh is one more milestone and by no means a final destination, and while there is so much that remains to be achieved, Spacemesh has been in the making long enough without getting in the water. It’s now time to test the water. What this means is that the genesis date is around the corner, but also that we expect the early days post-launch to be bumpy.
In this update we seek to bring you up to speed on all main fronts:
1. Product and Roadmap
2. Issuance Schedule
3. Testnet
4. Vision for Cultural Evolution
Introduction
For a crypto asset to ascend to the value of Bitcoin or Ethereum at minimum, the following three ingredients must be present:
Novel and profound technological breakthrough
Novel and profound social/political agenda
Novel and profound distribution model to reach the masses (since early mover advantage is gone)
#1 — Tech: The technological break Spacemesh makes from traditional DLT protocols is radical, an entirely qualitatively different means of achieving consensus in the permissionless setting, which (if successful) promotes higher quality of decentralization and low barrier to entry.
(*) Read here (7min read) on the Qualitative aspect of money systems.
#2 — Social: Spacemesh’s social mission and cultural agenda is even more novel and radically different, on the following accounts:
Spacemesh values and social mission are not to be measured in popularity, because we only do what we do for the mission we truly believe in. So supporting us, by purchasing or mining Spacemesh coin, function as means of supporting the very ideas we stand for. In so doing, Spacemesh is the first to break from the functional (values neutral) means of presenting cryptocurrency infrastructure.
Alongside the technology, we offer a comprehensive, scientific (anchored in evolutionary biology), scalable to humanity-wide, solution for an entirely new mode of organization, the ‘Messy Federation’ of the ‘Biological Future’, demonstrating robust qualitative advantages on every possible axis, over the decaying neoliberal order. Read more on ‘Messy Federation’ here (11m. read)
In accordance with this, Spacemesh community building has been focused on quality over quantity since its inception, signaling to the few who care to listen in these frequencies to begin with. We already see the fruits of this approach, as a tight-knit community, composed highly aligned like-minded people, stands to benefit most from non-overpopulated genesis, while evolving into bedrock for
our wider community.The team of cryptographers and engineers in Spacemesh is of the highest conceivable quality and unity and represents a promising attempt to launch a 3rd contender to the ETC/BTC PoS/PoW duopoly.
#3 U.B.I. Distribution:
In May of 2023, a unique date will occur, when the open source codebase of Spacemesh cryptocurrency will have its genesis moment. The uniqueness of this date stems from the ability of ~1 billion people (who already have the minimum hardware) to participate, risk-free, in the fair distribution of a cryptocurrency. Not by lottery nor by money, but rather by guaranteed coins, every epoch, from their gaming PCs at home.
Following this date, since no one has any $SMH (Smesh coin), the only way to get it will be to mine it yourself. That is, until enough supply has been mined and accumulated by exchanges to allow for trade. During this period, the distribution of $SMH amongst miners is both extremely fair and entirely out-of-spacemesh’s-builders-control.
– Externally
In the background a few trajectories are worthy of attention, as if the case for material logic (the rationale for cryptocurrency) needs even more support:
There is growing scientific convergence and a body of evidence to suggest, for example most recent Nobel committee decision, as Wittgenstein predicted, that spacetime and its contents are NOT fundamental reality, a complete break from the “I think therefore I am” Cartesian picture, so dominant to human thinking for the past 400 years.
As a result, the establishment “end of history” paradigm is facing problems all over the world. Many ordinary people are getting frustrated with relativistic logic, narrative manipulation, and campaigners constructing fake reality in the media.
We believe, and will demonstrate if given the trust by a large community base, that there is an entirely new game for humanity to play collectively, and an entirely new way for humanity to make sense and discover deeper truth collectively, and an even newer way for humanity to signal what’s virtuous and increasing fitness to one another.
While A.G.I. (non biological computation general intelligence) yet struggles to cross the Rubicon. To borrow the words of the great Eliezer Yudkowsky, the most important thinker on the AGI alignment problem: Humans must never let go of the steering wheel (and let the machines drive) or else we’ll certainly crash the future.
The true calling of decentralization and cryptocurrency is clearer than ever!
Lastly, facing the criticism Spacemesh building should not have taken so long, we find it imperative to emphasize the timelessness of that which can not be measured empirically: hill climbers and valley crossers require two distinct qualities, and while turbocharged execution might appear on the surface effective, that which is built to last must be ever-so-carefully constructed and reconstructed, and may thus appear confused to an uneducated eye. If Spacemesh will succeed, let it remind us that greatness is NOT about ‘moving fast and breaking things’.
The opportunity for permissionless, decentralized, environmental and programmable people’s crypto, remains up for grabs.
To read more here (11m. read) about our motivation for building Spacemesh Protocol.
Product & Roadmap
Spacemesh continues to define its role in the emergent cryptocurrency industry as the “onboarding of the rest of us”; Thereby our axes of optimization remains as they have been from day zero:
● Reduce Barrier of Entry: Allow anyone, anywhere, without requiring any special equipment or prior knowledge, to join the network and receive a monthly allowance of Smesh coin.
● Collaboration Focused: as an antidote to the extreme individualism period we live in today. For home miners, collaborations should manifest as most feasible path to build economic independence, turning a small monthly allowance into regenerative flows.
Node — The core team has completed implementing the final critical components of the node required for the mainnet launch. As our main focus is on home miners with older hardware, the team identified and addressed various performance issues affecting speed, memory, networking, and storage over the past few months. The team has worked methodically to address these issues, solving some on the implementation level, while others required minor or even significant protocol adjustments. A few issues were temporarily patched until more substantial upgrades can be implemented after the genesis launch.
The node is currently undergoing final adjustments and testing before it can power the Spacemesh mainnet and cater to the long tail of users.
Smapp — To make Spacemesh more accessible to everyone, we have developed a user-friendly, secure, and powerful app with a beautiful interface that aligns with the Spacemesh brand. The team has invested significant effort in stabilizing and improving the app to make it as useful as possible while adapting it to the latest changes in the node and protocol. SMApp is a versatile tool that enables users to manage their Spacemesh node and wallet with ease. It can handle various responsibilities including securing the wallet with a passphrase or hardware device, installing and upgrading the node, guiding users through the PoST setup process, and much more.
Infrastructure — Our infrastructure is now battle-tested and capable of launching and maintaining thousands of Spacemesh nodes in a managed environment. The team has implemented real-time monitoring, alerting, and analysis tools to effectively monitor running networks.
Furthermore, we have stabilized and improved our testing infrastructure, increasing its robustness and consistency. This improvement enables us to more easily and safely accept pull requests from the community and make Spacemesh a true collaborative effort!
PoET — While the PoET protocol has been in use for several years, the team recently focused on making the implementation production-ready. This involved optimizing the code for efficiency and building a physical server capable of running the protocol at peak performance. We benchmarked various types of hardware and created a recipe for a high-performing PoET server. We then used this recipe to build two additional, redundant servers in different locations to serve as Spacemesh’s proof-of-elapsed-time backbone. We will publish the hardware specifications for those interested in building their own servers. To optimize proof execution, we modified or rewrote key areas of the software implementation. Our analysis of the PoET runtime revealed that the main CPU core spends minimal time performing tasks other than calculating hashes. PoET hashing utilizes specialized CPU instructions, similar to built-in ASICs. Thus, we anticipate no significant performance gains in the near future.
What’s next? The Spacemesh roadmap outlines several areas for improvement including enhancing security, adding desired functionality, and improving efficiency and performance. The following is a sample of issues that we intend to address in the short term, once we have a stable running network.
User Deployed Code — Currently, we have limited the functionality of accounts immediately after genesis to precompiled contracts provided by Spacemesh. However, we recognize the importance of introducing user-deployed code to the Spacemesh ecosystem. To facilitate this, we plan to keep the base layer simple and introduce a decentralized rollup that will be independent of the base layer. This rollup will be based on the EVM framework, providing a familiar and capable platform for users to build on.
Separate Executor Role — In line with the industry-wide movement towards more modular blockchain architecture, we are also exploring decoupling transaction execution from consensus. This involves allowing a subset of smeshers to specialize in transaction execution, which would reduce the load on most smeshers, lower the minimum system requirements for non-executors,
and still compensate executors for their work. This approach aligns with our commitment to reducing computation and power consumption network-wide.
Scalable Hardened PoET — To ensure the stability and security of the PoET service regardless of the load placed on it or attacks carried out against it, we have designed an improved version of PoET that is a “drop-in replacement.” This new version of PoET is infinitely scalable and less susceptible to attacks, and it exposes the same API to the system as the current version. In the long term, we plan to incentivize the PoET service to open it up for competition, but for now, we are focused on ensuring that the running PoET is stable and secure.
Dynamic PoST Space Allocation — Although the protocol allows for increasing and decreasing the allocated PoST space, the current node and SMApp lack the functionality to perform these actions. We anticipate that this will be one of the most requested features from the smesher community, and we are actively working to implement it in a user-friendly way.
Pruning of Outdated Objects — One of the most important post-genesis tasks on the roadmap, and one that’s especially important for the scalability and longevity of the protocol and the network, is pruning: making it possible to selectively remove data objects, such as old blocks and state, from running nodes. While we have designed many of the objects used by the protocol to be prunable for efficiency and security purposes, we still need to define when and how to perform the pruning. This will not only help save storage space but also prevent smeshers from experiencing disk overflow in the event of a spam attack. We believe that implementing this feature will help make the Spacemesh network more resilient and efficient in the long run.
Issuance Schedule
In setting out to achieve these economic goals (as in so many other areas of the project) we are primarily inspired by Bitcoin. While there will never be another successful fair launch like Bitcoin, we believe we’ve come as close as possible to this ideal. We’ve started with Bitcoin’s economic model, and made three important tweaks.
Rather than having abrupt “halvenings”, Spacemesh issuance decays predictably and gradually with every layer.
Whereas Bitcoin has a half-life of about four years, the half-life of Spacemesh issuance will be about 29 years. This means that, while the last full Bitcoin will be issued around 2140. the last Smesh coin will be issued hundreds of years after genesis, in around 2899.
A small portion of Spacemesh issuance, 6.25% of the total, flows into “vaults” for early investors and builders, with multi-year vesting.
(*) Read more here (3m. read)
Testnet
Spacemesh genesis release candidate #1 is running in testnet and configured with final mainnet parameters. It is now almost fully simulating the experience of mining on mainnet.
Testnet-03 Progress Report
So far, we have observed a few issues:
April 12th, 2023: we discovered a problem with PoET that caused some of the nodes to not evenly register to the PoET servers (some poets got fewer members than others). This has been fixed.
April 16th, 2023: we located another issue inside the go-spacemesh code that caused invalid timing of generating the POST proof, causing a substantial number of nodes to miss the window for epoch 2. The fix for that is incoming, and we will use the “force update” feature that will force your Smapp to restart and load a new version of components. Sadly, that will cause some nodes to miss rewards for one epoch. Anyone who uses go-spacemesh directly should update manually.
Besides that, we spotted a few issues with Smapp that were fixed with releases of 0.3.1 and 0.3.2. Some of them caused problems with starting post-initialization etc. We expect 0.3.2 to be much more robust at these basic operations.
Please upgrade the Smapp whenever you see a popup in the smapp saying that there is a new version, as this will ensure optimal functioning.
Other notable incoming changes to testnet-03
We’re finalizing the work on Hare active set bootstrap. It will be rolled out soon to testnet-03.
There are also memory improvement coming for the go-spacemesh node.
Vision for Cultural Evolution
We strive towards a forward-looking, decentralized yet coordinated inter-group collaboration.
Spacemesh is determined to become the ideal infrastructure for supporting the Messy Federation Political Framework — Crypto-enabled, self-organizing, well-integrated: a superorganism composed of superorganisms, nested and meshed together, vastly more resilient and prosperous than any of their individuals could possibly dream. Crisscrossing and switching between different modes of organization, capturing meaning together.
Spacemesh’s technological mission is to build the world’s most decentralized, robust, sustainable and programmable people’s cryptocurrency. Suitable for robustly and qualitatively support of such Messy Federation. Giving humanity an immutable ledger of the past which cannot be altered by those who want ‘progress’ at any cost; A necessary architecture to serve as a foundation stone for a humanity that is consciously evolving itself. To free us from our post-Enlightenment obsession with finding data-driven static solutions,
On such a foundation we seek to bring to life Spacemesh’s social mission for a new and improved system to collectively satisfy our mutual needs, without devastating the planet or behaving sociopathically. A springboard for a revolution in human values, so we can mindfully adapt ourselves, our culture and our economy, as an inter-connected, complex living system; giving groups the ability to, through technology like smart contracts, enact
Ostrom’s eight principles in a far more streamlined and efficient way.
Code freeze is so close that we can almost taste it.
Research & Development
Optimization
As we move towards code freeze in preparation for genesis, a lot of our energy is focused on optimization. We’ve now fully changed our hashing function from SHA256 to BLAKE3, unifying hashing across the protocol. BLAKE3 has the benefit of significantly faster processing speed when compared to SHA256.
Go-spacemesh now also has more refined layer processing.
Protocol
PoST development continues apace, including a rewrite to Rust for more effective AES usage. We expect that these changes will lower CPU requirements..
In the Hare protocol, we’ve adjusted the behavior of the non-smeshing nodes to make sure that they fully participate in the network.
Smapp
For maximum cross-platform accessibility, we now have an AppImage for Linux distribution, ARM support for Linux and MacOS, and full support for native Apple Silicon. To improve convenience for smeshers, we have validated and improved the auto-update mechanism.
Testnet
We have released new test networks 323 and 324. We have placed the first fast PoET server inside a datacenter and we’re working on hooking it up to the testnet. We’re still in the process of securing our bootnodes for the mainnet (including but not limited to firewalls and DDoS protection).
Research
Our research team gathered in Gdańsk, Poland for a research summit focused on defining the post-genesis Spacemesh roadmap. We laid out a vision for a “Spacemesh 2.0” with, among other things, a full-featured VM with layer two support, more efficient PoST proofs, more resilient PoET infrastructure, and a revamped, more efficient Hare. In addition we also took the opportunity to finalize a few remaining, important topics for Spacemesh 1.0 (the upcoming, initial genesis release candidate). A formalization of the genesis version of SVM is in progress.
Mainnet Readiness
We’re finalizing the genesis specification for PoST proofs. We’ve found a way to significantly improve the speed of proof generation and verification that will lower the final device requirements. The current generation of the testnet is still running with an older implementation, so estimations from the current networks are outdated. We will also provide a tool that you can use to assess the PoST performance of a system that should prove useful for capacity planning.
Community
We have added several more episodes to our Bite-Size Talks series, featuring Noam Nelke, Spacemesh’s Chief Architect. In the past month, we covered: Genesis, Layers, and Epochs, Rewards, Explained, the What Does "Fairly Distributed" Really Mean, why the world Does The World Need Another Cryptocurrency?, What Could Possibly Go Wrong?, Can Spacemesh Development Be Lean?, and Why Does Crypto Need Proof?.
For many more informative videos, be sure to subscribe to our Youtube channel.
To show our appreciation for all the help that our community has provided in making our code the best it can possibly be, we sent out swagpacks to all those who’ve reported bugs and made suggestions.
Keep being awesome, smeshers!
The development process is always complex and unpredictable, doubly so when you’re developing a novel layer one protocol with a truly novel consensus mechanism like we are at Spacemesh.
We're gradually adjusting testnet parameters (min/max PoST storage size and proof complexity, length of epoch, PoET params, etc.) to more closely resemble the target mainnet parameters. In the process, we're discovering new bugs. This is ultimately a good thing, since it means that mainnet will not have to contend with these issues, but they do unfortunately mean it’ll take a bit longer to do genesis and launch the mainnet.
In light of these new challenges, we anticipate that genesis will occur late in March 2023.
Research & Development
PoST Proofs
One of the bugs we ran into is the time it takes to generate and validate PoST proofs (the core proofs that underlie proof of spacetime). We had made a few assumptions about “fast” hash functions, but never tried testing them to generate proofs of large amounts of space—on the order of gigabytes or more. We're calibrating the parameters and investigating several candidate hash functions (SHA3, AES, Blake3, Siphash) with different performance characteristics, along with their security params/cryptanalysis, to make sure they're appropriate, secure, and fast enough. This is harder and is taking longer because we need to test these params across an array of hardware and software - Mac, Linux, and Windows, on Intel and ARM, old and new processors, etc., to make sure it supports the wide range of hardware that we expect smeshers will be running.
Due to the resource demands of the protocol in its current form (bandwidth and compute), you'll need relatively modern hardware with a strong internet connection to smesh reliably in the beginning. We have a lot of ideas and plans for how to reduce these requirements over time and will prioritize that as soon as genesis has happened.
Hare and equivocation proofs
Over the course of many testnets, we came to realize that there are three types of faulty messages in Hare:
Missing message: a message was expected never arrived.
Invalid message: when the signature of a message is not valid, or the message binary structure is incorrect or the eligibility proof is incorrect.
Equivocation: when the same eligibility is used to produce two (or more) different messages.
That third case is the most dangerous one. Spreading equivocations is the primary way of attacking Hare protocol, because any other forms of attack are very easy to filter out. For this reason, we’ve been shoring up our equivocation defense to make sure the Hare protocol is not vulnerable to such attacks come genesis.
We’ve also restored passive Hare participation, so that Hare proceeds even if the VRF nonce is not present.
There have been a suite of improvements to PoET server Proof of Sequential Work: hashing speed, benchmark, and much more. We’ve also improved Node to PoET communication..
Wallet Format
We’re finalizing our wallet format, which includes finalizing a few small but important details about choices of elliptic curve, cipher, and signature scheme, wallet file format and encoding, etc. This also involves developing a new library to be implemented across the Spacemesh ecosystem for generation of new wallets and keys, such as by early Spacemesh supporters to generate their initial keypairs. This library will also be used to develop a CLI (command line) tool for wallet generation. Since SMRepl, the previous CLI tool, is now fully deprecated, we’re building the tool in a modular fashion and expecting that it’ll be expanded into a robust CLI tool that can be used not only to manage keys and wallets, but also to manage a running Spacemesh node.
PoET
We have spent significant time improving PoET stability, and we have been focusing on defining final deployments and final hardware for PoET servers. The hardware is pretty much fully finalized—we’re just fine-tuning the last remaining efforts. We have also fine-tuned performance of PoET and decided to increase the difficulty of hashing from 100 hashes per leaf to 400 hashes per leaf.
Account Model
On the research front, we spent some time considering different schemes for smart contract address generation, looking at algorithms used by other networks and considering the uniqueness of the Spacemesh account model. We settled on a scheme whereby template authors can choose which elements of “immutable state,” including the template deployer’s address, will be hashed into the final, deployed contract address.
Consensus
Exploration began into ways to bring about full consensus on the active set in Hare, or alternatively, novel Hare designs that (like Tortoise) don’t rely on full and perfect consensus. (Read more about the design considerations in this recent article.)
Hash functions
We revisited the question of which hash function is best-suited for general use throughout the Spacemesh protocol and settled on Blake3. We’re exploring available libraries with hardware acceleration. (Note that other hash functions, such as SHA256 and scrypt, will continue to be used in places like PoET and PoST.)
Updates
In the interest of making the update process as painless as possible, we’re exploring ways to make the random Beacon protocol more resilient against scenarios where many nodes restart mid-epoch, such as after a software update, as well as to improve the update process more generally.
Community
As part of the the Spacemesh Mentors program, We have started a video series of Bite-Size Talks with our Chief Architect Noam Nelke, where he briefly explains important aspects of Spacemesh technology. So far, he’s covered why testnets are so essential and what makes the Spacemesh account model unique.
To keep up-to-date on all videos from Team Spacemesh, subscribe to our Youtube channel.
Spanish For Beginners, hosted by DaniF, continues every Monday at 10:00 AM UTC. If you’d like to join at this point, no worries: you can catch up on all our previous lessons by checking out the #spanish_for_beginners channel on the Spacemesh discord server.
Spacemesh 2022 End of Year Update
2022 was momentous and transformative, not just for Spacemesh but for the blockchain and crypto industry as a whole.
We saw the expansion of government overreach in the form of sanctions against Tornado Cash, as well as the logical consequences of all the hyper-centralized, FOMO-based infrastructure driving much of the existing crypto industry: the collapse of FTX.
But this only served to highlight the importance of Spacemesh’s mission. In order to bring blockchain to its true, revolutionary potential, we need something that is truly decentralized and truly censorship-resistant.
Spacemesh has also undergone a great many internal changes this year, where we said goodbye to many team members while welcoming many new ones. This has presented us with a great many challenges, but also opportunities. It is friction, after all, that drives us closer to the truth—and to our true potential.
2023 will be even more momentous, with genesis on its way.
Read the full update here.
As our industry wraps up what is arguably its worst year yet, and doubts resurfacing about the merits of blockchains and cryptocurrencies, we are more certain than ever that the missing ingredient is the added resilience of decentralization. As a result, Team Spacemesh’s determination is on the rise. This is the ideal atmosphere for launching our coin.
In November, the Spacemesh team gathered in Lisbon for four intense days of in-person workshops and discussions. This was an important touchstone, allowing for our distributed team to meet face-to-face and get on the same page about our values and goals, and our plan of attack. We discussed a wide-ranging set of topics including outstanding research challenges, development progress, devops, community and open source strategy, and everyone’s World Cup picks!
One important outcome of these discussions is that our original projection of genesis by December is no longer realistic because testing is taking longer than expected. Development is going well and we are very nearly code complete, and testing continues apace. With the help of our community on the testnet, we’ve identified many bugs in need of fixing—which is a very good thing! (That’s what testnets are for.) In light of all these factors, our most up-to-date estimate for Genesis is the end of January 2023.
We’ll keep everyone in the loop as we get even closer to Genesis. For the most frequent updates or to ask questions, join us on discord.
Research & Development
We had an extremely engaging strategic conversation regarding our VM choice and programmability plan in Lisbon, based on recent learnings from Ethereum and other projects. We’ve decided to explore layer two options including rollups and EVM compatibility. Expect a comprehensive announcement of our plan soon.
On the protocol front, work on PoET server resilience continues, in particular allowing one submission of PoST per miner per round of PoET service.
We completed measures that will allow the network to recover from a 30/70 split, and fixed many issues, including: handling multiple block certificates, completing optimistic filtering conditions, repairing PoST initialization on Macs, improving performance, and fixing data races in PoST initialization.
In the beginning of November we released Smapp v0.2.7 with huge breaking changes, including new transactions and accounts structure and BECH32 addresses. By the end of November, Smapp supported the latest version of go-spacemesh.
Here are all the Smapp releases from November:
These releases coincided with iterations of the Spacemesh open testnet, and the latest iteration—network 310—has support for GenesisID.
On the research front, phase 1 of our Hare simulation has been completed, meaning that we’ve successfully tested unreliable network conditions. The data we collect from these tests has helped us to optimize the Hare protocol in areas such as equivocations defense and data volume. We are also making progress towards final mainnet parameterization, including setting difficulty for the Proof of Work Protected Setup-Verifiable Random Function.
POPS-VRF is very important to prevent malicious users from creating multiple identities to artificially meddle in consensus, by implementing measures such as looking for a nonce to satisfy a given difficulty during PoST initialization.
And in preparation for Genesis, we’re working through a detailed plan on how to get a minimum amount of storage space online right away when the network goes live. There are many details to work out, including how to cheaply acquire or rent GPUs, and how to pipeline PoST initialization proofs from GPUs to cheaper long-term storage. This exercise is extremely helpful in thinking through every small detail that will be involved in genesis, and putting all of the steps in the right order. It has also involved creating some custom software, including a standalone version of gpu-post for testing GPU performance.
Community
The Plant the Future drop challenge has come to a close, with 1250 trees planted!
This accomplishment was only possible with the help of our awesome community, who persevered despite the testnet network not always being the most reliable.
Volunteers came forward to translate Spacemesh blog posts into multiple languages, including Italian, Russian, Estonian, Mandarin, Japanese, & Vietnamese, with more languages to come. We are compiling all these contributions into a twitter thread.
And finally, Spacemesh’s CEO and co-founder Tomer Afek released a new blog post exploring the factors leading to our increasingly radicalized and polarized world, and how decentralization is vital to fixing it.
There are many arbitrary metrics that you may choose to measure the success of a project—number of users, revenue, stickiness vs. churn, etc.—but, at the end of the day, what's really the best one?
We think the answer is: joy. Does the thing you build and ship to your customers spark happiness for them? How would they feel if you took it away from them tomorrow?
Interestingly, this is not a metric that most crypto projects talk about. They tend to focus on things like transaction throughput per second or VC dollars raised (or lost). These are poor proxies, at best, for what really matters. Ultimately, it all comes down to this: do users enjoy using your product? Does it bring them joy? Does it have a materially positive, fun impact on their lives?
If we’re absolutely honest with ourselves, it seems that vanishingly few crypto projects, whether base layer infrastructure or applications, have crossed this threshold so far. Partly this is because of the intrinsic headaches that crypto still entails, such as managing keys, onramps and offramps. These vital considerations mean that crypto solutions are rarely the fastest or easiest. On the other hand, it speaks to something even more fundamental: money, and fancy financial primitives, simply do not bring joy to most people. NFTs are a little better, since they’re collectible art, but most NFTs are less about sparking joy and more about creating FOMO (i.e., its opposite).
And this is not just a philosophical exercise! This has serious, real-world implications on our trade. Users were willing to fight for Uber when it played fast and loose with regulation and entered unfriendly markets, because using it in the early days was such a joyful, novel experience. How many people would be willing to fight on behalf of crypto today?
As we’re contemplating what we’re building, why, and how, we’d do well to learn this lesson. Everything we build—every line of code, every byte thrown across cyberspace, every word and every handshake—should be motivated above all else by the pursuit of joy and fun. If we manage to deliver delightful, novel experiences to people around the world, the rest will work itself out. And if not, then it doesn’t matter how decentralized we are or how many transactions we’re processing: the world will never really care very much.
Research & Development
Come mainnet, it will be extremely important for our network to be resilient. We’ve been improving this resilience with the implementation of multiple PoET server support within a single node. This will provide redundancy in case one of the servers fails.
We’ve been taking measures to ensure that the network can recover from partition. For example, by making sure that in the event of a network rejoin following a 30/70 split, the 70 nodes will remain confident, and the 30 nodes will do a full vote count on all the nodes from both sides of the split—which means all the nodes will reach the same mesh hash.
In Tortoise, we’ve also increased the number of layers that can be kept in memory. This will allow us to use that stored data in the process of self-healing. (E.g if we can keep 10 000 layers in memory, we can heal a partition that started 10 000 layers back.)
Shoring up security is likewise imperative, and that’s why we’ve been focusing on the security of both the protocol and Smapp. On the protocol side, we’ve started work on the implementation of Proof of Work Protected Setup-Verifiable Random Function, which will prevent malicious users from creating multiple identities and thereby manipulating consensus.
We must also prevent adversarial users from including any number of ineffective blocks (containers for transactions, so they can be very large). We have addressed this issue with deferred block fetching, where we allow smeshers to syntactically validate a ballot even when they don’t have the referenced blocks. This will prevent the ineffective blocks from being stored on the mesh.
In Smapp, we found a vulnerability that uses a constant IV (initialization vector) across multiple encryptions, which is quite dangerous and will be addressed. We also noticed that authenticated encryption was not being used by SMAPP, so it would be impossible to tell if the wallet file was corrupted or altered before trying to parse the decrypted wallet data. To fix this, we defined new encryption and key generation parameters for the SMAPP wallet, to make sure the encryption key derived from the user's password is safe and that the actual encryption process of the wallet uses secure nonces.
A new public testnet will be coming very soon. This represents a huge step forward in terms of the maturity of our code, with the testing done by our community proving to be invaluable. Once this network is launched, we will give an update about the network progress and status every two weeks. (Changes in the code will render the current dashboard and explorer obsolete, but they will be back as soon as possible.)
This network release is accompanied by a new Smapp release, which includes support for the new transaction structure, HD wallet support (which paves the way for hardware wallet support in the future), autocomplete for contacts, log rotations to reduce log file size, and a host of other improvements and bug fixes.
On the research front, we’ve completed the first version of a Hare simulator, which is used to measure Hare resistance to bad network conditions and attack scenarios. A more advanced version of the simulator (based on “discrete event simulation” pattern) is in development, and will allow for more detailed simulation of bad network conditions (such as messages getting delayed) and for testing balancing attacks. These simulators will provide us with vital lessons and feedback which will then be applied to the production code.
Community
The Spacemesh community is planting trees!
As part of our “Responsible Energy Use” social cause, we started the “Plant the Future” drop challenge. We tasked community members to smesh testnet coins and send them to a specific account address. For every 1000 testnet SMH they sent, Spacemesh committed to pay for a tree to be planted. And for every 50 000 SMH, we doubled the number of trees.
This drop challenge has been put on hold for now, to be continued when the new-and-improved public testnet returns. In the meantime, we planted the 250 trees already smeshed by our awesome community.
Crypto is moving in a direction where powerful actors like nation states and international banks are increasingly compelled to pay attention, and often for good reason. There are indeed bad actors making use of cryptocurrencies to nefarious ends, so it’s understandable that the US treasury and other nation state actors are beginning to respond aggressively.
But while we agree with their goals, we disagree with their tactics, because privacy is a non-negotiable human right. We're entering uncharted territory, and it's incumbent upon us as visionaries and builders to emphasize the positive, socially constructive use cases of cryptography, blockchain, and decentralization. We need to show regulators the potential for crypto as a force for good, as opposed to the international crime syndicates and money laundering that currently have all their attention.
Understandable motives aside, many of the threats that the early cryptocurrency pioneers predicted are now becoming realities—the sanctions against Tornado Cash being the most notable recent example. We’re certain it won’t be the last.
The easy, "happy hacker cypherpunk" days of crypto are sadly coming to an end, and more is at stake than ever before. As regulatory measures pick up in pace and severity, as “the tide goes out” on the halcyon beginnings that many knew could never last forever, we’ll no doubt see who's been swimming without any swimming trunks this whole time—that is, which projects are DINOs ("decentralized in name only")!
Recently, Ethereum successfully transitioned from Proof of Work to Proof of Stake via the Merge. While this is certainly good news for the energy-strapped residents of planet Earth, it remains to be seen if Ethereum will be able to maintain its edge and prevent censorship now that a handful of large, regulated actors control the majority of its stake.
This is why we here at Spacemesh are compelled by our vision of a truly decentralized cryptocurrency. And why we’re doing everything in our power to see our mission through as soon as possible.
Research & Development
We added a dependabot that automatically creates PRs for Spacemesh when any of its dependencies is updated. From now on, fixes will be integrated more quickly, which will increase our efficiency going forward. It will also check and alert us to changes made by the Go community, bringing us closer to open source readiness.
Efficiency is a concern at every level of the protocol, which is why we’ve optimized the manner in which ATXs are broadcast. In the past, every ATX was broadcast with the NodeID that created it. But this was redundant, because the NodeID could be derived from the ATX’s data and signature. So by removing the NodeID from the ATX broadcast, we reduce the amount of data transmitted between nodes without losing any of the necessary information.
We’ve made major improvements to the Hare protocol, ensuring that Hare output for each layer is now certified and distributed in the network. Hare certifiers certify eligible messages through “gossip” after a block is generated. We’ve refined the process by which a node generates a Hare certificate for that layer when it receives enough certify messages, and fixed a bug where Hare sync flow didn’t work.
On the SVM front, we’ve completed support for multisig wallets. Multisig wallets use two or more private keys, either independently (in case one of the private keys is lost, or the wallet must be accessible to multiple users) or in tandem (to ensure extra security through 2-factor authentication).
Research into the SVM specification draft continues, as part of our ongoing efforts to create a complete vision of SVM functionality. This will serve as a strong foundation for the introduction of smart contracts post-genesis.
Smapp has received two new features: node auto-launch prior to unlocking the wallet, and log rotation. The latter is especially important during testing, as log files are very comprehensive and tend to get very large.
We’re also researching mitigations of two potential denial of service vectors in the Tortoise protocol:
Block-level spam: a category of DoS attack where an adversary invents a large number of fake block identifiers and drags the network into expensive work of downloading them (which will eventually turn out to be a waste of time and resources). We invented a new defense mechanism for such attacks, based on “dangling pointers”, which requires changes in the block fetching mechanism.
Ballot-level spam: a category of DoS attack where an adversary gossips a large number of ballots reusing the same eligibility (i.e., commits a protocol fault called “equivocation”). We’ve worked on a new defense mechanism to stop such attacks. The protocol changes mostly involve pruning bad ballots.
Other areas of research include redesigning the PoET API and rewards mathematics.
PoET servers are to be maintained in a decentralized way, i.e. anyone can run such a server. This raises a question of malicious/unreliable PoET servers. We are working on suitable changes to prevent such malicious behavior.
Smeshers receive regular rewards from both transaction fees and block subsidies. Both of these are now fully specified and implemented.
Community
As part of our efforts to empower our community across the globe, we reached out to various community pioneers to translate Tomer Afek’s open letter to the Spacemesh community into several languages. These include: Chinese, Japanese, Indonesian, Ukrainian, Russian, and Italian.
More translations will be coming in the future, reflecting the truly international nature of the Spacemesh community.
We also have some passionate and creative developers in our community. Recently, andreiv.eth#4775—one of our Community Pioneers—took the initiative to develop spacemeshlib, a tool to help other developers get started on 3rd-party development with Spacemesh technology. We extend a huge thank you to Andrei, and invite all who are interested in getting hands-on with Spacemesh to check it out!
Our mission at Spacemesh is to build the most decentralized cryptocurrency that’s ever existed. With every passing week, we become more aware of how crucial this mission is.
In order for cryptocurrencies to live up to their real promise, they have to be censorship-resistant. While the underlying network, Ethereum, is decentralized, many of the applications running on it, including stablecoins like USDC, are not. Circle’s recent blacklisting of Tornado Cash ETH addresses in response to sanctions by the U.S Treasury has proven that, without true decentralization, censorship resistance is just a myth. And Ethereum’s imminent transition to proof of stake risks making it much more centralized, putting censorship resistance truly at risk.
This is why our work to build a truly decentralized, permissionless, censorship-resistant cryptocurrency platform is so important.
With this in mind, we’re very conscious about the factor of team cohesion. Our development team is fully remote and international, so this is a particular challenge for us. That’s why, in July, we brought our development team together in person so that they could get to know one another, helping them perform better as a team instead of a set of individuals. We also held a hybrid workshop session to discuss the most pressing problems that we see and came to a consensus on how to address them.
We’re also looking to expand our team with new hires: a golang developer to join our core team, and a Developer Relations Evangelist who will lead the charge to communicate Spacemesh’s technology to the wider world and make it accessible for developers in our community.
Research & Development
As our team transitions from an intensive R&D phase to a testing phase, where we thoroughly test our code and infrastructure to prepare for genesis, testing tools become more and more important. To this end, we’ve created tools for more advanced testing of the network to ensure that it remains stable indefinitely. These include automating things like submitting transactions, adding/deleting nodes, verifying that nodes are synced, and introducing unpredictable “chaos” conditions. These tools will enable us to efficiently conduct the sorts of tests we need to prepare for genesis.
It’s essential that we find as many bugs as possible, and deal with the bugs we find with our automated testing tools. To that end, we’ve started regular, larger scale, and long-running tests to flush out bugs, and started adding more metrics for debugging performance and general monitoring.
To make Spacemesh as future-proof as possible, we’re also in the process of decoupling execution from consensus. In essence this means that the parts of the Spacemesh node that are responsible for executing smart contracts are totally separate from the parts that are responsible for coming to consensus on the canonical, ordered set of transactions in each block. While all smeshers will perform both tasks at genesis, this decoupling makes it easier to introduce different roles into the protocol in the future, and embrace a more modular future. For more on the topic of modular blockchain and why it’s central to the Spacemesh vision, we suggest watching this talk and reading this recent article by team member Lane Rettig.
Smapp development continues apace! We’ve released version 0.2.6, which comes with a new “report issue” button (to help the community to inform us of those bugs we’re looking for), as well as a host of bug fixes, such as recovering wallet from mnemonics and showing rewards in the transaction log. Now we’re working on catching and showing proper messages on system errors (which is mainly a problem on Windows), and starting up the node and smeshing on the Smapp startup if it was already configured previously. (For example, if Smapp is toggled to auto-start once the user’s computer boots up, then after system reboot it should start smeshing automatically, without a requirement to unlock the wallet.)
Our research team made significant progress finalizing the design of various aspects of the PoET protocol. As a recap, Spacemesh relies on PoET (proof of elapsed time) servers, which are separate from the main Spacemesh node, to allow smeshers to generate and submit proofs for the time part of the proofs of spacetime that underlie the protocol. In the past, there’s been difficulty in aligning PoET execution with protocol epochs, meaning that the PoET server completes the proof and then idles until the next round is supposed to begin. In mainnet, we'll want to control PoET more tightly by setting a precise completion time, in such a way that when it’s reached execution stops. Our research team has now devised a way of achieving this with PoET ticks.
The research team has finalized a number of other critical outstanding designs over the past few days. One of these is the design of the “precompiled” smart contracts that we’ll include at genesis—a single-sig and multi-sig wallet, and a vesting account for coins belonging to early contributors—as well as the plan by which these initial accounts will be deployed, and the transaction format necessary to support these account types and use cases. Another is the design of GenesisID, a feature that’s used to prevent cross-chain replay attacks and ensure that data originating from one network can never be broadcast successfully on another network. A third is the initial, genesis nonce scheme, which is similar to the “sequential integer”-type nonces employed by smart contract platforms like Ethereum, but allows gaps to accommodate the way the Spacemesh protocol orders transactions and selects blocks.
Finally, we’re very excited to share that we’ve finalized the details of the Spacemesh economic model, first announced late last year. The full specification, which accounts for every single smidge, is available in this repository, where you can also find a table with issuance details for the first ten years.
Community
The “Responsible Energy Use” social cause is still ongoing, with the Knowledge Expo and Earth Propaganda drop challenges finished, and a new drop challenge on its way.
It’s not just the Spacemesh team that’s international; our community is too. And to make sure our international spirit is flourishing everywhere, we’re looking to empower our global communities. We’re creating a mechanism on our community discord server for people to vote for the creation of new global communities, so that those who come together in Spacemesh can find solidarity in the language they’re most comfortable with.
Tomer Afek, our founder and CEO, wrote a message to our community, where he gives an overview of our progress, a preview of the road ahead to genesis, discusses our values and priorities, and dives into what we feel is the missing piece that we must bring into the world: the People’s Coin. More decentralized than any cryptocurrency that’s before.
Thank you all for taking this journey with us!
We’re halfway through 2022, and our outlook is optimistic. Though we’re still settling in with our newly-expanded team, we have momentum and we’re confident that genesis is coming soon.
One of the things at the forefront of our minds is governance and trust. As technologies become exponentially stronger, so does the need to guide and bind these technologies in an ethical way. This is what drives the need for sustainable, scalable, and decentralized base-layer technology that can be used by millions.
At Spacemesh, we view trust as a natural resource, and see trustless technologies as the drivers of bottom-up social change and creative destruction. But the process of creating that technology is not “trustless”. Our community has put their trust in us, and we don’t take that for granted. We are grateful for your engagement during this long wait; your creativity and enthusiasm inspire us to work even harder towards a better future.
Research & Development
On the protocol front, we finalized the design and began implementation work of the Hare certification round—the last major update to the Hare protocol for genesis. We’re also getting very close to finalizing several other important elements.
These include, firstly, the nonce scheme, which differs from the simple, sequential integer nonces that Ethereum uses, and better fits the mesh data structure. Secondly, the account data structures. Since we’re launching without light client support, we’ll be starting with a straightforward key-value database, but we need to factor in design considerations and do some future-proofing for upgrading to a trie structure later. And thirdly, the design for protocol versioning. This is an important tool to prevent cross-chain replay attacks, and to make sure that all relevant tooling (Smapp, explorer, dashboard, etc.) can support multiple chains at genesis.
Additionally, research efforts are underway regarding both SVM and the Accounts/Templates/Transactions model. The former involves discussions of the high-level tradeoffs among: account unification, consensus-execution decoupling (aka “miner-verifier separation”), semantic preprocessing of transactions, smart-contracts level metaprogramming (dynamic account creation, and dynamic template creation). The latter is well advanced, and will stand as a more formalized companion to the corresponding unified documentation chapters that we’ll begin publishing soon.
Regarding Smapp, we’ve entered the final testing phase of the latest Smapp release, which will include a new Modern Dark Skin and an updated meshing status screen that provides additional transparency regarding a smesher’s per-epoch eligibility and rewards. We began work on a Genesis Product Plan that includes upcoming updates and development of SMREPL, hardware wallet (Ledger) and Vault with MultiSig. We also started New API developments for Smeshing Statuses and Reward Estimation. This will expand into further API updates with the latest transaction format.
Community
The Responsible Energy Use social cause is underway.
After bringing the Digital Privacy cause to a close, our focus shifts to an issue that none of us can afford to ignore: our irresponsible use of energy. Despite many promising advancements in the technology surrounding greener and more sustainable energy production, “dirty” energy continues to account for just over half of all global carbon emissions, with those emissions increasing every year. With this cause, we hope to examine why this continues to be the case, and also discuss ways that we can help the transition to a more responsible mode of both using and producing energy.
Since this is such a huge and often intimidating topic, we kicked off the cause with the Knowledge Expo drop challenge, which invites our community to share videos, blog posts, and articles that they’ve found helpful or informative.
Our community also shared their knowledge in the last drop challenge of the “Digital Privacy” cause—Pro Tips—and we compiled their advice into a handy blog post. Our community continues to demonstrate what #winning_together is all about!
The first few months of 2022 have been a time of adjustment and adaptation for Team Spacemesh: in part because of world events, and in part because of major restructuring in the team. Making a layer-1 protocol is a challenge no matter how large or well-resourced the team, but even more so when the team and treasury are relatively small. There have been challenges in balancing testing (e.g., running a functional testnet) with ongoing dev work, and the pace of development has been slower than we'd like—-but we're confident that we now have the team and processes in place to address both of these issues.
Our new team members include the core developers Alexander Bergasov, Eugene Toropov, and Jonathan Zlotnik, infrastructure lead Andres Monje, app developer Max Parfenov, programmability lead Tannr Allard, and R&D coordinator Wojciech Klaudiusz Zaborowski.
We’ve also restructured management of our product and R&D teams, to make things more streamlined and structured. We can already feel how these efforts are paying off, though there’s still room to grow. In particular, we want to focus on promoting cross-team communication, transparency, and picking up the pace of development.
Recent developments have shown just how important it is to have layer-1 projects that are not based on Proof of Stake, and we’re anxious to meet that need. Communication and self-reflection are the keys to rising to the challenges awaiting us.
Development
As a team, we’re laser-focused on genesis.
Protocol-wise, we finalized and implemented accounts state management for genesis, made significant progress on the implementation of the account abstraction, switched to ECVRF-EDWARDS25519-SHA512-ELL2 as a vrf function across the whole protocol (proposals, hare, beacon), and implemented mempool management with conservative cache/state.
We’ve also been focusing in on the hare protocol by building an overview of the hare components that need attention, so that we can close the gap between research and implementation. This is because we need the hare protocol implementation to be rock-solid prior to genesis. This involves making the code very readable and maintainable so that, ideally, any researcher should be able to look at our implementation and quickly understand what’s different about this flavor of byzantine agreement.
Our documentation is getting similar attention. Spacemesh has reached a point in its maturity as a project that we feel ready to consolidate our documents with open source readiness in mind. To this end, we’ve also started a schema language draft—or “quipu”—to help with the specification of binary structures across the protocol.
On the Smapp front, there are several persistent bugs which have been negatively impacting user experience, and we’re working on addressing them all. But we’re doing a lot more than that: we realize that, to live up to our promise of being the crypto platform for everyone, we have to focus on making Smapp as intuitive and user-friendly as possible. As such, we’re refactoring the code to make Smapp faster and more responsive.
This is going to be quite the undertaking, since some parts of Smapp are still running on legacy architecture, and we expect there to be some regressions and bugs as a result. We encourage community members who notice anything amiss to report their findings on github or the #smapp channel on discord.
Research
We’ve started PoET benchmarking and tick implementation planning. ”PoET ticks” are how we intend to measure how long the PoET has worked for ATX weight purposes. Today we ignore this measure and always multiply the PoST value by 1. This is just a temporary implementation for testing, though, and we must start actually taking the amount of PoET work into account before genesis.
The way we do this will impact many parts of the system. If we use very high values for PoET, for example, we risk overflowing variables (e.g. when we multiply by very large PoST values and aggregate the entire weight of the epoch). So we must ensure that the numbers fit, or else use a different kind of variable entirely. This is where the benchmarks come in: we run them on different machines so that we know the scale of the number of PoET iterations that are possible in a 2-week epoch. (Epochs after genesis will last for 2 weeks.)
We’re also investigating eligibility magnitude estimation. This wasn’t part of our original plan, but it came up as an issue regarding what happens if industrial smeshers allocate huge amounts of storage to the system and how this would impact home smeshers. Making sure that our network can scale without jeopardizing the profitability and sustainability of home miners is a huge priority for us.
Community
The Spacemesh Social Causes Program is going strong. We’ve been tackling the “Digital Privacy” cause, because this is a big part of what Web3 is all about. Our most recent drop challenge, “Pro Tips”, really shows the power of people wanting to help each other out on the internet. This is what “winning together” is all about!
As the “Digital Privacy” cause winds down, we also have some thoughts about privacy more broadly. About why it’s always being undermined, and why it’s so important to protect it at all costs.
Of course, we can’t possibly win anything together without the help of our community. In May, we compiled and addressed community suggestions which had been shared with us on our discord server. While we can’t implement every suggestion, we’re deeply grateful for every single one of them. Not just because they often have good ideas and valuable insights, but because they show us that our community is invested in making Spacemesh succeed.
Spacemesh 0.2 Open Testnet
The Spacemesh open testnet, network 221, is the longest-running 0.2 network yet!
If you'd like to join in, please bear in mind:
1) These networks are designed to last only a week or two at a time, in order to iterate quickly through new code.
2) Testnet coins are worthless monopoly money.
3) Testnet is not incentivized. At this time, you can win cool gifts by participating in our drop challenges.
4) If you need help getting started with Smapp, you can consult our guide.
go-spacemesh
Completed the implementation of Mempool’s ordering and conservative state tracking for pending transactions.
Further improved our new testing framework.
Implemented P2P layer support for DNS entrypoints.
Implemented initial setup for model based tests.
Implemented CLI tool to generate an identity file. (Kudos to orgr)
Smapp
We just published a new release of Smapp, with new features like supporting multiple wallets and a custom location for node-data, as well as several fixes.
New to Smapp 0.2? Check out our playlist of video guides.
Research
The research coordination team spent a week in Prague (mostly) onboarding Wojciech 🎉
We’re chugging along (mostly Noam and Lane) making progress on the “fallback plan” that includes specs for simple, imperfect solutions to the last remaining issues to get us across the line to genesis. Once that’s done we’ll regroup and prioritize what needs to be improved first.
Wojciech is working on a Hare simulator that will hopefully improve everyone’s understanding of Hare internals and how it is affected by different conditions and scenarios.
#Winning_Together
The new social cause, Digital Privacy, is now underway! Find out why Spacemesh is so passionate about this issue.
The “Eyes Wide Shut” drop challenge has just finished, and the winners will be announced soon.
Community
The weekly Smesher newsletter released four installments: THINKING ABOUT: MOTHERS & CRYPTO, Thinking about: The Universe & The Brain, THINKING ABOUT: HUNGER & CRYPTO, and Tower of Babel & Crypto.
Anton Lerner published a blog post about how eligibility works in the Spacemesh protocol.
Spacemesh 0.2 Open Testnet
The Spacemesh open testnet, network 221, is ready for the community to join. Join the network here.
Please bear in mind:
1) These networks are designed to last only a week or two at a time, in order to iterate quickly through new code.
2) Testnet coins are worthless monopoly money.
3) Testnet is not incentivized. At this time, you can win cool gifts by participating in our drop challenges.
4) If you need help getting started with Smapp, you can consult our guide.
go-spacemesh
Continued the implementation of the canonical transaction selection mechanism.
Further implemented a new SQ-based database scheme design.
Completed CI support for the new test framework, and deprecated our legacy test framework.
Smapp
Research
Transaction Structure: considerable progress, spec in final comments phase.
Research pipeline has been reviewed and consolidated. We now have a solid plan to quickly finish a plan that we can go to genesis with. Hopefully we’ll be able to make some advances after that (before genesis) and not launch with the bare MVP.
Planning and preparation for the Prague summit.
#Winning_Together
We ran two drop challenges for the “Fight Censorship” social cause: Vote for a Voice and Fight Online Censorship.
The “Fight Censorship” cause has come to a close, and the next one will be coming soon. To get in on the action, join the Spacemesh Social Causes Program.
Community
We launched a new weekly newsletter, Smesher: a weekly round-up of inspiring activists, thinkers, and artists, by Spacemesh but not about it. The goal is to provide readers with the tools and resources they need to thrive in the crypto-sphere while helping cultivate a more equal, just, and compassionate society. If this sounds like it’s up your alley, follow on Substack and Twitter.
Oriya Pollak published a blog post about his journey to Spacemesh, and the potential he sees in crypto: “Spacemesh: Crypto, Consciousness, and Community”.
Anton Lerner published a blog post explaining the function of NiPoST in the Spacemesh protocol.
.Test your Spacemesh knowledge by taking the Smesher Quiz!
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Spacemesh is hiring! We’re looking for a core developer, an applied cryptography researcher, a devops and automation developer, and an application developer. All positions are 100% remote.
Spacemesh 0.2 Open Testnet
The Spacemesh open testnet, network 220, has been running for a month. Join the network here.
A few reminders:
These networks are designed to last only a week or two at a time, in order to iterate quickly through new code.
Testnet coins are worthless monopoly money.
Testnet is not incentivized. At this time, you can win cool gifts by participating in our drop challenges.
If you need help getting started with smapp, you can consult our guide.
go-spacemesh
Further implemented a new SQL-based database scheme design.
Further improvements to Tortoise implementation.
Continued the implementation of the canonical transaction selection mechanism.
Further improvements and CI support for the new test framework.
Smapp
Research
Finalizing loose ends related to VM design, including low-level issues such as encoding and memory management.
#Winning_Together
We completed two drop challenges: Awareness Spotlight and Raise the Flag.
There’s also an ongoing drop challenge that you can participate in: Vote for a Voice. Vote for one of the artists from our list for the chance to win an awesome gift!
Community
Spacemesh was at ETHDenver 2022! Lane Rettig presented the Spacemesh Technical Workshop.
Yael Hoffman published a new blog post about the way that social media skews our perceptions.
Anton Lerner wrote a blog post explaining the major differences between Proof of Stake and Proof of Space-Time.
Test your Spacemesh knowledge by taking the Smesher Quiz!
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Spacemesh is hiring! We’re looking for a core developer, an applied cryptography researcher, a devops and automation developer, and an application developer. All positions are 100% remote.
Spacemesh 0.2 Open Testnet
The Spacemesh open testnet, network 220, is ready for the community to join, along with a new release of Smapp. Join the network here.
A few reminders:
These networks are designed to last only a week or two at a time, in order to iterate quickly through new code.
Testnet coins are worthless monopoly money.
Testnet is not incentivized. At this time, you can win cool gifts by participating in our drop challenges.
If you need help getting started with smapp, you can consult our guide.
go-spacemesh
Created a new test framework to be used for sanity, longevity, crash-recovery and byzantine-recovery tests.
Further implemented a new SQL-based database scheme design.
Started implementing the canonical transaction selection mechanism, which includes conservative state tracking.
Further improvements to Tortoise implementation.
Further improvements to Beacon implementation.
Smapp
Research
Reorganized the research pipeline and set up a new project tracking board.
Finished designing transaction syntax, including some details such as nonce scheme and encoding.
Finished a few more SMIPs, including version information metadata and the node/VM interface.
Proactively identified an issue with our ballot/voting design in Tortoise, which in theory could open an attack vector in certain unlikely adversarial scenarios. We devised a workaround, which involves an improvement to the ballot design, and are finalizing the design.
Added documentation for Beacon.
SVM
Simple-Coin Epics:
SMIPs:
#Winning_Together
The “Same Opportunity” Social Cause went out with a bang! Together, our community created a fundraiser for the Peruvian NGO Agape Hand. The fundraising effort was brought to a close with two major events: the Agape Hand Raffle and the sale of Spacemesh’s first-ever NFT. This NFT was created by artist David Crunelle in collaboration with the Spacemesh community. It was sold for 5 ETH. In total, over $24000 was raised to help needy kids in Peru.
We learned a lot from this first social cause, and Alon Askal wrote a blog post to cap it off, reflecting on these lessons.
We’re now focusing on another social cause that is near and dear to our hearts: “Fight Censorship”.
Community
We sent thank-you gifts to those in our community who really put themselves out there, going above and beyond.
Since our discord server has exceeded 10 000 members, it’s also attracted a lot of unwanted bots. We implemented a verification system to keep our community safe, with users who pass it receiving the “Smesher” role.
With the help of our community, we updated the testnet guides to help new users get the hang of Smapp 0.2.
Test your Spacemesh knowledge by taking the Smesher Quiz!
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Spacemesh 2021 End-of-Year Update
2021 has, in many ways, felt like a continuation of 2020. Institutions, particularly of the economic and monetary variety, continued to come under great stress. All across the world, we saw massive supply chain disruptions, along with a protest movement of voluntary unemployment, and high inflation rates that many economists were convinced couldn’t possibly happen.
In short, this year has only strengthened our conviction that we MUST have an alternative to the current global economic system: one which is robust, decentralized, and anti-fragile. Spacemesh is in a unique position to help usher in this kind of system, because it is both race-free and has a low barrier to entry–ensuring that miners without tons of resources can still reap the benefits of joining the network.
2021 was all about Spacemesh 0.2, and we did it! We added many new team members from all across the globe, including developers, researchers, and community facilitators. We have maintained our status working fully remote, with team members in the United States, Israel, Russia, Italy, Ukraine, Germany, India, and Taiwan.
As we move into 2022, we have Genesis squarely in our sights.
The full end-of-year update is available here.
Spacemesh is hiring! We’re looking for a core developer, an applied cryptography researcher, a Rust developer, a programmability lead, a devops and automation lead, an automation developer, product manager, and an Electron developer. All positions are open to remote/WFH.
Spacemesh 0.2 Open Devnet - TweedleDev
go-spacemesh
Smapp
Research
We held a very successful and productive research summit last week, where we revisited and systematically tested basic assumptions and high-level protocol design.
We discussed adding EVM support, speeding up layer times, pruning bad blocks to reduce the size of the mesh, optimizing Tortoise, transaction selection, VM design, and state management. See the comprehensive notes for more.
SVM
SMIPs:
Community
Anton Lerner gave a presentation at Reichman University.
Yael Hoffman posted two blog posts: You and I Can Change The World, and Maybe the World Isn’t Ending.
We launched the Spacemesh Social Causes Program in order to promote various social causes we believe in. You are invited to contribute, create, collaborate and get rewarded. A full explanation of the program is available here.
Test your Spacemesh knowledge by taking the Smesher Quiz!
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Spacemesh is hiring! We’re looking for a Devops and Automation developer, a Rust developer, an applied cryptography researcher, a principal software developer, an Electron developer, and a backend core developer. All positions are open to remote/WFH.
Spacemesh 0.2 Open Devnet - TweedleDev
go-spacemesh
Research
SVM
GPU-POST lib
Community
We launched the Spacemesh Social Causes Program in order to promote various social causes we believe in. You are invited to contribute, create, collaborate and get rewarded. A full explanation of the program is available here.
Test your Spacemesh knowledge by taking the Smesher Quiz!
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Spacemesh is hiring! We’re looking for a Devops and Automation developer, a Rust developer, an applied cryptography researcher, a principal software developer, an Electron developer, and a backend core developer. All positions are open to remote/WFH.
Spacemesh 0.2 Open Devnet - TweedleDev
go-spacemesh
Research
We’ve finalized the roadmap for finishing all outstanding critical research topics required for genesis.
The transaction selection SMIP has been completed and is moving into the development phase.
We are focused on finalizing other transaction-related proposals in this sprint, including transaction syntax, encoding, and processing.
SVM
Community
We’re running an art competition on the Spacemesh arts and creations discord channel! Come submit your own, and check out the awesome submissions already up.
Our resident WebAssembly meister and architect of SVM (the Spacemesh Virtual Machine), Yaron Wittenstein, gave a presentation on fixed-gas wasm.
Test your Spacemesh knowledge by taking the Smesher Quiz!
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Have any ideas for Spacemesh swag? Submit them here.
Spacemesh is hiring! We’re looking for a Devops and Automation developer, a Rust developer, an applied cryptography researcher, a principal software developer, an Electron developer, and a backend core developer. All positions are open to remote/WFH.
Spacemesh 0.2 Open Devnet - TweedleDev
go-spacemesh
Research
SVM
Community
Test your Spacemesh knowledge by taking the Smesher Quiz!
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
Spacemesh is hiring! We’re looking for a Devops and Automation developer, a Rust developer, an applied cryptography researcher, a principle software developer, an Electron developer, and a core developer. All positions are open to remote/WFH.
Spacemesh 0.2 Open Devnet - TweedleDev
TweedleDev 204 went down on September 18th. 205 was launched and is currently undergoing internal testing.
Have any comments or questions, or just want to chat with the rest of the Spacmesh community? Come join our discord server!
go-spacemesh
It was another fantastically productive period for go-spacemesh development. In parallel to rolling out the new devnet, we’ve continued to identify and fix dozens of small and medium-sized issues and make numerous improvements to components including sync, peer accounting, Tortoise beacon, memory management, API, p2p networking, state management, metrics, and database.
Finished proof of concept for proposed libp2p integration.
Smapp
Research
SVM
Community
We opened a new Art channel on our discord server! Come check out the creativity of the Spacemesh community, or submit your own!
We hosted a Spacemesh workshop at MCON 2021 in Denver, and began issuing limited-edition POAP tokens to attendees.
We sponsored the Wasm on the Blockchain 2021 Workshop, where SVM lead Yaron presented on fixed gas accounting.
We got thousands of submissions for the “Tweedlede proof of participation”. We are in the final stages of the process and will send the last batch of emails ASAP.
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
Spacemesh 0.2 Open Devnet - TweedleDev
We released the Devnet to the public on September 5th.
To join TweedleDev, start with the mini user guide. (This release is a technical preview version of Spacemesh 0.2 technology for a technical audience and doesn’t include the Spacmesh desktop app.)
We shared several short how-to videos to help you get started.
Have any comments or questions, or just want to chat with the rest of the Spacmesh community? Come join our discord server!
Spacemesh 0.2 Open Testnet - Tweedledum
go-spacemesh
We’ve continued to make good progress on fixing issues including memory leaks and making under the hood improvements to core components such as sync, mesh, P2P, tortoise beacon, API, and database.
We successfully merged self-healing, the final big component to be included in the 0.2 milestone. This is exciting because it means that future devnets and testnets should be far more stable and more resilient to various issues.
We’re investing a lot of time and energy in making our build and testing environment (CI/CD) stabler and improving our testing infrastructure. We have a couple of team members dedicated to this task, but we’re looking to hire another. If you’re interested or know someone that might be, please check the posting on our website.
Smapp
Many new features and bug fixes PRs merged over the last 2 weeks.
Smapp 0.2 is almost ready for TweedleDev and TweedleDum. Only 5 in-progress tasks left to go.
SMRepl
Go-ledger-sdk
This sdk enables SMRepl users to sign Spacemesh transactions ledger hardware wallet devices
Major initial PR for the first version of the sdk is in review and about to be merged.
Research
The research team has been working hard to finalize our protocol paper in advance of important conference deadlines.
Meanwhile, we’ve published a couple of important new SMIPs, including transaction lifecycle and mesh state sync.
SVM
Community
The second version of Spacemesh Bulletin was released, you don't want to miss it.
Are you a dev who's interested in WebAssembly/WASM? There's an online event you might be interested in joining: WASM in Web3! (It will include an after-party with music and virtual drinks.) RSVP here (Note: if you are a dev who's building Web3 software with WASM, you can also apply to speak.)
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
Spacemesh Open Testnet - Tweedledum
We published a Mega-Postmortem outlining issues encountered in the last 10 Tweedledee testnets.
We retired the Tweedledee (0.1) testnet series in order to redouble efforts to launch a stable Tweedledum (0.2) testnet. Tweedledum is currently in internal testing but we will open it up to community nodes shortly.
If you participated in at least three Tweedledee networks from 126 until 133, you’re eligible to receive a gift from Spacemesh. More details can be found in the submission form.
Have any comments or questions, or just want to chat with the rest of the Spacmesh community? Come join our discord server!
go-spacemesh
We merged several major improvements to the new Tortoise Beacon, and added support for the weak coin
We fixed several race conditions and memory leaks, which should make the 0.2 network much more stable
We merged several big improvements to the sync code, improved logging, and improved how nodes negotiate time
We began some groundwork to improve encoding and significantly reduce memory consumption as a result
We finished self-healing, another major part of the Tweedledum (0.2) milestone and cut the first 0.2 release candidate build. We launched a new internal devnet using this build.
Research
The research team remains focused on finalizing our mechanism designs for transaction selection and rewards for the 0.3 milestone.
Research is also actively contributing to SVM design and implementation, in particular, account state/trie design, account unification, and our nonce scheme.
SVM
We are making great progress with Global State porting, adding all necessary features for 0.3. We have plans for future modifications that will allow light clients support.
We implemented the verify step for the Accounts Unification.
We added a String type to the SDK (compliant with the Fixed-Gas constraints).
We added a Receipts Encoding SMIP.
Community
Spacemesh’ Romanian community pioneer, @andreiv, shared this incredible video featuring his Spacemesh swag (and the natural beauty of Romania).
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
spacemesh.io
Spacemesh Open Testnet - Tweedledee (Net 135)
After much deliberation, we’ve decided the time has come to retire Tweedledee. As such, testnet 135 has been taken down.
We’ll be transitioning the testnet infrastructure to run the brand new 0.2 code over the coming weeks. We hope to introduce a new, next-generation Tweedledum testnet in the coming weeks, and we appreciate your patience as we complete the transition.
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server. Please also share your feedback on the new website!
go-spacemesh
A new dev workflow, focused on shorter sprints and more granular tasks, has allowed us to keep up the blistering pace of development on go-spacemesh. We merged roughly the same number of commits in the second half of July as we did during the first half of the month.
With the completion of the new GPU PoST code, we finished the 0.2 milestone. We are now one milestone away from our first mainnet release candidate.
We are testing the 0.2 code in an internal devnet, and will launch it on a public testnet as soon as it’s stable.
We’ve made several big improvements to sync, introduced safe layer math, fixed a memory leak in P2P, and streamlined how blocks are read from the database. As usual we’ve also made a slew of improvements to tooling, infrastructure, and testing.
Research
We remain focused on finalizing the designs for transaction selection and rewards, and moving these into development for the 0.3 milestone.
We are also improving the design of the sync algorithm to make sync as efficient and safe as possible, including looking at Graphene for set reconciliation.
Spacemesh relies far more heavily upon nodes being in agreement about time than do proof of work blockchains. We currently rely upon node operators synchronizing their node clocks using NTP, but we’ve begun to explore other possibilities, including baking a time sync mechanism into the Spacemesh protocol.
SVM
Efforts are largely focused on porting the Global-State to SVM. We are borrowing a lot from Alexey Akhunov’s work on Turbo-Geth and his innovative ideas, which will help us achieve good SVM throughput.
Main PRs:
Transaction `Envelope` and `Context`
Craft Deploy transactions from the CLI
`svm-runtime-ffi` tests restoration
Community
Spacemesh team member Lane Rettig delivered a talk at the EthCC[4] conference in Paris on Bitcoin, the Lightning Network, geopolitics, and the role of blockchain and cryptocurrency in supporting freedom and countering authoritarianism.
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us.
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contactus.
Tekko95 made an unboxing video, featuring his new Spacemesh swag.
Spacemesh Open Testnet - Tweedledee (Net 135)
Tweedledee 134 died on July 26th due to an issue with the old Hare code (which has already been fixed for 0.2). We added a hotfix for the issue, cut a new release including this and some other improvements, and are in the process of launching 135.
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server.
go-spacemesh
It’s been an extraordinarily busy and productive couple of weeks for our dev team. We merged 23 commits to go-spacemesh alone. The pace of development has picked up as we’ve welcomed several new team members, are putting the finishing touches on the 0.2 release milestone, and are beginning to work on 0.3.
Major recent changes include a rewrite of the node syncer, upgrades to the Hare mechanism, introduction of the Tortoise Beacon (a major component of 0.2), and a slew of fixes and improvements for P2P, database, ATX/Nipst handling, data structures, and tooling.
We found a major issue (related to how we calculate the size of the active set) on the most recent testnet (the problem killed at least one previous testnet, and possibly several). We patched it on the testnet and we’re working on a longer-term fix for 0.2.
Research
Spacemesh Dev
Community
Spacemesh co-founder and CEO Tomer Afek was a guest on the Cryptonews Podcast.
The Spacemesh discord now has a Polish channel.
Published an article, uploaded a video to youtube about Spacemesh, or made any other kind of Spacemesh-related content? Please share it with us
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
SVM
We've got a new team member who is joining to work full-time on the SVM! This allows for more bandwidth from the SVM team and helps us get ready for 0.3.
Lots of code quality and safety improvements via Unroll Ergonomics, minor refactorings, and better internal documentation.
New features: Account Abstraction terminology changes, Fixed-Gas Integration, and Template Sections.
The SVM API rehaul is currently in the works, as well as SMIP discussions regarding AA & SVM Integration.
Spacemesh Dev
New gpu-post core library release with bug fixes, support for Nvidia new gpus, additional tests in CI and changes requested by lib clients. New published community provided benchmarks
Smrepl Spacemesh client: new release with support for secret phrase display and for restoring a wallet from a secret phrase, and improved auto-suggestion of available repl commands.
Spacemesh Open Testnet - Tweedledee (Net 134)
Tweedledee 133 died on June 26th. 134 is in the process of being tested and should be open to the public soon.
For the quickest updates, please join our discord server.
go-spacemesh
Found and fixed a tricky memory leak in Tortoise that was causing headaches in testing.
Many improvements to CI tooling, metrics, and other devops infrastructure.
Improvements to syncer and API
The initial building blocks for self-healing are in place, starting with the weak coin.
Found, fixed, and currently testing several low-level p2p and gossip issues that were causing late messages (1, 2, 3)
Upgraded to golang 1.15 to take advantage of several features including better testing tools.
Research
Finished Account Unification SMIP, modeled on Ethereum’s EIP-2938 but with many critical changes to support the Spacemesh protocol and data structure.
Finished a draft Transaction Selection SMIP. We’re continuing to discuss reward mechanisms to ensure incentive compatibility and high throughput of fee paying transactions, and to minimize duplication.
Community
Published an article, uploaded a video to Youtube, or made any other kind of Spacemesh-related content? Please share it with us
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
Spacemesh Open Testnet - Tweedledee (Net 132)
Tweedledee 132 died on June 16th. We’re in the process of launching the next iteration.
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server.
We’ve added a new FAQ section to our Testnet Guide.
Spacemesh Jobs
go-spacemesh
We made some improvements to Hare, such as adding support for verifying the empty set (empty layers).
We found and fixed a memory leak in Tortoise, and fixed some low level networking issues as part of ongoing testnet work.
Research
We have a new SMIP on Account Unification, our candidate account model. It’s based on the Account Abstraction design from Ethereum, with modifications to support the mesh data structure.
We’re working on a “unified block” design that overcomes many of the challenges associated with the coordination problem of transaction selection in a mesh. It adds a step to the existing consensus process whereby participating nodes agree on not just a set of blocks and transactions to include in each layer, but also, how to order and aggregate those transactions into a single “superblock” per layer.
SVM
Spacemesh Dev
New gpu-post release for Spacemesh 0.2 with bug fixes, improved CI, and miscellaneous lib usability improvements.
New draft specs for integrating gpu-post lib with go spacemesh.
New draft proposal for Spacemesh API changes for release 0.3 related to Spacemesh Apps.
Community
The Spacemesh discord server has reached 8432 members!
Published an article? uploaded a video to youtube? Please share it with us!
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
Spacemesh added a new community leader from Italy, @Tekko95! Come join our Italian community on discord.
Tweedledee (Net 131)
Tweedledee 130 died on May 30th and was brought back online on June 1st. Join Tweedledee today!
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server. Please continue to share bug reports and logs!
We now have a dedicated FAQ on our testnet guide for both the testnet in general and Proof of Space setup for Tweedledum (testnet 0.2).
go-spacemesh
Product
We published a new blog post about upcoming Smapp features.
Work started on additional API specs for Spacemesh 0.2 and Spacemesh 0.3. Please take a look and add your thoughts and ideas!
GPU-POST Library
New release with bug fixes and new integration test for the updates in the gpu-post algorithm to the test app.
New feature: library now works with Vulkan compute GPUs such as AMD and Apple M1 silicon without users having to install the big Vulkan SDK.
GPU-post algorithm changes now implemented for Cuda, Vulkan and CPU providers.
Added test apps for all supported platforms to CI.
CLIWallet
We want to find a new name for this app and we are open to suggestions from the community. Add your suggestion here!
Fixed crash on app startup on Windows.
Research
SVM
Spacemesh Dev
Community
The Spacemesh discord server has reached 7573 members! 2500 new members in two weeks!
Published an article? uploaded a video to youtube? Please share it with us!
Have any ideas for Spacemesh swag? Submit them here.
If you’re interested in joining the Spacemesh WeChat, please contact us.
Contact Chaim if you’d like to volunteer and launch the Italian or German local community.
Spacemesh added many new community leaders, including @hernejj, @guri for the Korean community, @DaniFornons for the Spanish community, and @andreiv for the Romanian community.
We now have dedicated channels on our discord server for Spanish, Italian, and Romanian smeshers!
Spacemesh Open Testnet - Tweedledee (Net 129)
Tweedledee 128 died on May 2 and was resurrected on May 4. We have already surpassed 1400 individual nodes!
A new release of the Spacemesh app is available.
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server. Please continue to share bug reports and logs!
go-spacemesh
We merged a major upgrade to our sync code, a big milestone.
We’re continuing to explore new and better options for infrastructure including logging, telemetry, and profiling.
We’ve made good progress on identifying and addressing some low-level issues that have caused late messages on recent testnets, through better logging and profiling.
We replaced BLS with ED, resulting in much more efficient signatures.
Product
We finished the redesign of Spacemesh multisig vault screens for Spacemesh 0.3 release.
We improved node error messages display in the upcoming network screen.
Proof of Space Setup Components
The implementation of phase II algorithm in the core library is close to code complete and is in testing.
Removed the requirement to install the Vulkan Compute SDK for Spacemesh 0.2 smeshers in systems with Vulkan-enabled GPUs such as Apple M1, AMD and Intel GPUs.
We updated tests to the phase II algorithm and added a full integration test of the core pos setup flow.
We updated the pos-server to use the phase II algorithm and added a full integration test of the core use case. See release v0.1.1.
Research
The research team continues to make progress on finalizing the Spacemesh protocol paper, and on exploring novel ideas to improve block production and transaction selection.
In parallel, we are also in the process of finalizing our economic model, and will be announcing this soon.
SVM
Spacemesh Dev
Community
The Spacemesh discord server has reached 4906 members!
If you’re interested in joining the Spacemesh WeChat, contact us here.
Contact us if you’d like to volunteer and launch the Spanish local community.
We’ve welcomed four new community leaders! From Thailand: @winditus and @nptytn. From India: @jenni and @KingSuper.
Spacemesh Open Testnet - Tweedledee (Net 128)
Tweedledee has now reached over 1500 individual nodes.
We released a new build of the app with a patch for a common issue where syncing got stuck at base layer 575.
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server. Please continue to share bug reports and logs!
go-spacemesh
We’ve merged a number of important updates over the past few days, including fixes that were tested thoroughly in the testnet: we fixed a couple of memory leaks and a couple of sync issues.
We’ve continued to test and improve the new verifying Tortoise code.
We continue to make rapid progress on the final features for the 0.2 release including variable PoST, new sync, and self-healing.
Research
Spacemesh Dev
Community
The Spacemesh discord server has reached 4378 members!
If you’re interested in joining the Spacemesh WeChat, contact us here.
Contact us if you’d like to volunteer and launch the Spanish local community.
Spacemesh Open Testnet - Tweedledee (Net 126)
Tweedledee 128 was launched on April 4th, and has now reached over 1200 individual nodes. We’re excited to report that this is our most stable testnet to date, and many of the issues reported in previous testnets have been addressed.
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server. Please continue to share bug reports and logs!
go-spacemesh
Verifying Tortoise, a complete rewrite of the Tortoise consensus algorithm to be much more efficient, is complete, tested, and has been merged.
We’re putting finishing touches on the other major protocol updates to be included in the 0.2 release, including new sync and variable post.
SVM
Implemented the Fixed-Gas (SVM SDK emits Wasm restricted code as explained in the PR description).
The next steps will be adding validations of restricted Wasm programs and calculations of gas-units for a transaction.
Research
We’re continuing to make progress on an efficient, incentive compatible “distributed knapsack” transaction selection algorithm.
We’ve nearly finalized the design of self-healing, one of the final parts of the core Spacemesh consensus protocol to be put in place. We expect to begin development work this week.
Community
The Spacemesh discord server has reached 4116 members!
If you’re interested in joining the Spacemesh WeChat, contact us at info@spacemesh.io.
Spacemesh community member @winditus launched a Thai Spacemesh group on Telegram.
We’re launching a new community website, and want to hear from you, our community, about what makes you think blockchain matters, and how Spacemesh fits into this vision. Learn more here.
Contact us if you’d like to volunteer and launch the Spanish local community.
Spacemesh Open Testnet - Tweedledee (Net 126)
Tweedledee 126 died on March 30th, after reaching an all-time high of over 1000 active smeshers. Our team is investigating the cause, and will provide a postmortem soon. A new network, including better logging and many fixes, will be up within a few days.
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server.
go-spacemesh
As part of the ongoing effort to investigate and respond to testnet issues, we’ve made great progress fixing issues that have arisen in the P2P (networking) stack, the Hare consensus mechanism, and elsewhere. Users should start to see the impact in terms of better UX starting with the next testnet.
We’ve added a new, more sophisticated type of logging, contextual logging, that adds a great deal of context to our logs and allows us to trace the path of an individual message or piece of data up and down the stack. This has already greatly facilitated debugging of the most complex issues (including the ones described in the previous bullet point).
We have an action plan for a much more sophisticated metrics collection and telemetry framework
We continue to make good progress on long-term, large-scale projects on the critical path to our next milestone, and mainnet, such as rewritten sync, verifying tortoise, and variable post
Community
The Spacemesh discord server has reached 3435 members!
If you’re interested in joining the Spacemesh WeChat, contact us at info@spacemesh.io.
We now have Turkish Spacemesh group on Telegram.(Thanks to @Elturco for getting things off the ground, and helping the Turkish community members!)
Our discord server now has channels for Korean and Turkish users!
We’d like to extend a warm welcome to the Spacemesh family to our new community managers, including Elf (Chinese community), elturco (Turkish community), Nodes.Guru (Russian community), and KY (Korean community).
Multiple of these communities have already taken the lead in translating Spacemesh documentation into languages including Russian (Spacemesh setup) and Turkish (Introduction to Spacemesh and How will Spacemesh work in real life?).
Spacemesh Open Testnet - Tweedledee (Net 126)
We’ve reached a record of over 600 active home smeshers!
If you have any questions, suggestions, or just want to meet other smeshers, come be part of our discord server.
We introduced friendly short urls for Spacemesh testnet dashboard and explorer so they are easier to type, remember, and share
Spacemesh Dev
Product
Community
The Spacemesh discord server has reached 2,674 members, up over 1000 members since our last update!
Our Chinese WeChat community is also thriving. If you’re interested in joining, contact us at info@spacemesh.io.
We now have Russian Spacemesh group on Telegram with 200+ members. (Thanks to nodes.guru for initiating the channel and helping the Russian community members!)
A huge thank you to @cyberomanov, from our Discord community, for writing an article in Russian about joining the testnet.
Our discord server now has a channel dedicated to discussing hardware and mining rigs.
Research
We concluded preliminary research into economic models for coin issuance, and we’re discussing what our issuance/inflation function will look like. We’ll provide more information on this soon.
We discussed the consensus failures that occurred on the most recent testnets and proposed several tweaks to both parameters and logic to avoid these failures in future, such as reducing the maximum number of Hare iterations per layer, and making the Tortoise consensus process less reliant on Hare (for purposes of the testnet).
We’re continuing to study the design of account abstraction as implemented by other networks, and its suitability for Spacemesh, as part of finalizing our account and transaction model.
The team has been hard at work on their submission for the Crypto 2021 conference later this year.
SVM
Community
The Spacemesh discord server has reached 1514 members!
Spacemesh Open Testnet - Tweedledee (Net 124)
We launched a new network for testing on February 7th, with a more stable release of the Spacemesh platform than the previous testnet.
We reached 108 home smeshers on the network from all over the world, marking the first time that home smeshers have exceeded our managed nodes. Thanks for joining!
Spacemesh Core Dev
We released a new localnet for developers. You can easily set up a local Spacemesh network on your dev box with locally-built Spacemesh software components or with released components on docker hub. Browse and search logs with Kibana, execute transactions with a CLIWallet, set up smeshing, and much more…
Launch a full Spacemesh network with 10 smeshers, on your computer with 2 lines of code:
npm install -g spacemesh-local-testnet
spacemesh-local-testnet create
Research
We’re finalizing the design of our account and transaction model. We’re researching the work that Ethereum and other communities have done on account abstraction (unifying multiple account and transaction types into a single model) and evaluating its suitability for Spacemesh.
While the Spacemesh topology makes it harder to calculate and compare a single state root per layer (relative to a chain topography), we’re researching ways to do just this to immediately detect bugs that lead to state forks.
We’ve made good progress on economic research, including an analysis of Filecoin economics and issuance model and its applicability to Spacemesh. We’ll announce a candidate economic and issuance plan soon.
Research continues on an efficient algorithm for transaction selection, which is an especially difficult problem in Spacemesh due to the fact that it’s a distributed knapsack problem.
We’ve put a lot of thought into streamlining our R&D pipeline to remove obstacles and ensure that we’re on the shortest possible path to genesis. We set up a new project board that can be used to track the pipeline.
Community
Spacemesh Open Testnet - Tweedledee (Net 123)
Tweedledee, the Spacemesh open testnet, is currently down, but our team is investigating the issue and already has a new candidate for the next iteration. This version will have fixes, some new features, and will be able to use both the old and new versions of the Spacemesh API.
For ongoing updates, or if you have any questions, please join our Discord server.
Join Team Spacemesh!
Research
We decided to drop BLS signatures in favor of ED25519, for reasons of efficiency. We’re also working on using a single pubkey for both VRF and NodeID signing.
We finalized our design for transaction signing, with future-proof support for pruning redundant transaction data later. This will allow us to move ahead with hardware wallet support.
We decided to support both standard ED25519 (which does not support pubkey extraction) and our ED25519++ design (which does) in the node, although only standard ED25519 transactions will be supported in Smapp at genesis. The former will result in larger, slightly more expensive transactions, while transactions using the latter will be slightly cheaper as they do not need to explicitly include the sender pubkey.
We’re finalizing our design for a NetworkID (unchanging post-genesis) and a ProtocolID (changes with every protocol update) for cross-network replay protection
We’re exploring a simpler, stateless multisig design and considering including multisig as a “first class” transaction type
SVM
Spacemesh App
Community
Spacemesh Open Testnet - Tweedledee (Net 123)
Tweedledee, the Spacemesh open testnet, is back in business! Our team has added additional logs to give greater insight into future problems. Join now!
Join our Discord server for the fastest updates. Our team is on hand to answer any of your questions!
The Dashboard and Explorer are both live on the new testnet.
Join Team Spacemesh!
go-spacemesh
A couple of unstable tests were fixed so our pull requests can be tested and merged again.
Following this work, several small bug fixes and improvements that were stuck in the pipeline were merged.
We’ve resumed the work to merge a few large changes that are in the pipeline: improved sync, verifying tortoise, and variable size post.
Work has begun on the new transaction processing flow that also supports smart contracts for the first time!
We’re in the process of upgrading our system tests infrastructure to use our slick new GRPC API. We’re also adding database indices to make API lookups faster.
Product
We published the Spacemesh 0.2 transaction format and verification algorithm.
We completed a comprehensive visual design review of many upcoming new features.
Research
Work continues on finalizing the Spacemesh economic and incentives model for genesis. We’re evaluating several novel economic models and studying the models adopted by other projects.
In parallel, we’re also working on finalizing transaction processing and selection. Transaction selection is much trickier in the mesh topology than in a chain since, rather than a single miner constructing a single block, there are many smeshers and many blocks per layer, hence it’s a distributed knapsack problem. We’re evaluating a promising new proposal that cleverly avoids many of the challenges we face around transaction selection and ordering.
SVM
Spacemesh App
Spacemesh Web Services
We finished implementing full automation for deployment web services to a Spacemesh network using github actions and we have deployed the services to the new TweedleDee 123 testnet as well as a testnet statuspage https://status.spacemesh.io
Community
Spacemesh Open Testnet - Tweedledee
Join Team Spacemesh!
We are looking to extend our core dev team with a few exceptional people. All positions are fully remote, so anyone with the requisite skills and experience may apply.
We’re looking for experienced Go developers to join our core dev team.
We’re also looking for a Principal Software developer to analyze and improve the Spacemesh protocol and its implementation.
go-spacemesh
We remain very focused on implementing Spacemesh protocol features as defined in our SMIPs. We also finalized several new specs that are about to go to development.
We are working on making tests more robust and less flaky.
Research
We finished a series of SMIPs specifying the software and protocol update process: for go-spacemesh, the protocol, Smapp, and code signing.
Preliminary research on transaction structure and processing is finished and implementation work will begin shortly. Innovations in this design include multiple transaction types (including a “batch” transaction type), a new nonce scheme better suited to a mesh (than a blockchain), and transaction pruning. See SMIP-37 for more.
Similarly, preliminary research on incentive design and rewards is finished and implementation work will begin shortly. We’ve settled on a design based on EIP-1559 (which has very good game theoretic properties and has already been implemented in major blockchains including Celo, Filecoin, and NEAR) that’s modified to better suit our mesh topology. Innovations in this design include how to pick a base fee per layer, pooling of fees and rewards, and reward maturation. See SMIP-38 for more.
Research is ongoing into how to allow unnecessary data to be pruned from the mesh using a strategy called dangling pointers, and into how to design a separate role in the protocol for validators (as opposed to miners). More on these topics soon.
SVM
Smapp
We have implemented most screens related to variable gpu-generated proof of space in preparation for the API support needed to complete this new major feature.
We implemented many new screens and features as well as updates to existing features.
Dashboard and Explorer
We fixed many issues we discovered on the open testnet explorer, and we finalized the first alpha release of both explorer and dashboard for the testnet.
We are working on a supported deployment of dashboard and explore for upcoming Testnet releases. Both dash and explore will be launched with the upcoming open testnet release.
CLIWallet
We completed a major update to the wallet which includes many new features. The wallet now uses the new Spacemesh API, and is able to connect to a public API endpoint securely over the Internet.
We are working on supporting Smapp’s wallet file format and storing sensitive wallet info in a secure way on disk.
Spacemesh API
We added smesherId and atx to block data structure to improve the information displayed in a Spacemesh explorer.
We implemented a supported secure public API endpoint for Spacemesh testnets. it will be launched with the upcoming testnet release.
Community
Lane Rettig published a new blog post about how the “IKEA Effect” applies to software, including blockchain software.
Our discord server has surpassed 1000 members!
Spacemesh Open Testnet - Tweedledee
Tweedledee testnet (network ID 122) has been up and running for 12 days. We keep improving with the help of our community. It currently has 60 community smeshers.
Have a look at the current network on our alpha dashboard.
To join the Testnet, download the latest version of the Spacemesh App, and join us on discord where we can answer any of your questions.
Community
Lane Rettig published a new blog post about the “Facebook Effect” and how future startups will look less like Facebook and more like Linux.
Our discord server has reached 976 members!
CLIWallet
Dashboard and Explorer
We had good progress on making the explorer and dash more accurate, useful, and easier to use by doing more interactive tests and by fixing various issues
Explore Tweedledee open testnet data on our alpha network explorer.
SVM
Adapted to the new Wasmer C-API internals (Wasmer version 1.0.0-beta1):
Added tracking over manually allocated resources. This added functionality should make it easier to debug/avoid memory leaks.
go-spacemesh
We finished the process of upgrading the API and removed a lot of old code in the process, vastly simplifying the build process.
Spacemesh Open Testnet - Tweedledee
Spacemesh Dev
We’re looking for Strong Go developers to join our team from anywhere full time.
It’s been a busy couple of weeks for our developers. We’ve merged 13 pull requests in our flagship go-spacemesh node implementation, including bug fixes, improvements to our logging, API, and CI infrastructure, and improvements to the sync protocol.
We have added comprehensive unit and integration tests to the gpu-lib project to make the library more robust and verified we can support OS 11 (Big Sur) and have been testing the library on various popular OSes and GPUs (Windows, Linux, OS X, AMD, Nvidia and Intel Gpus)
Smapp
Major refactoring of Smapp source code from Javascript/FlowJs to TypeScript and complete rewrite of ReactJs code using React and Redux Hooks.
Implemented several new features such as an embedded dashboard and completed updates to several existing features.
Added an automated build system for all platforms via github actions
Dashboard and Explorer
We’ve been busy getting these two apps ready for the new open testnet release by fixing bugs and migrating the backend to use API changes and updates. See the Spacemesh Dashboard and the Spacemesh Explorer.
Community
What’s decentralization got to do with it? Tomer Afek posted the second installment of his blog series "How to Save Humanity": Our Universe Has Always Been Decentralized
Lane Rettig posted the ninth installment in his “Better Blockchain” series, on a subject we’ve been thinking about quite a bit recently, Production Readiness. He also published a piece comparing blockchain and religion.
The Stanford Blockchain Club hosted an introduction to Spacemesh, with Tomer Afek and Noam Nelke presenting. A huge thank you to all who attended! You can watch the presentations here.
Our discord server has 969 members!
Spacemesh Open Testnet - Tweedledee
Tweedledee died on October 17th, and was resurrected on October 23rd. We are now on netid 119. See our postmortem for a technical rundown of what happened.
Tweedledee has 57 community nodes.
Spacemesh Dev
We’re looking for a senior Go developer to become members of our team.
We implemented lots of miscellaneous bug fixes and improvements, and a migration of our CI (continuous integration) infrastructure from travis to the GitHub Actions platform.
SVM
Added new features to the SVM SDK:
Community
Lane Rettig published a new blog post about the challenges of governing digital spaces called Digital Localism.
Our discord server has 946 members!
Spacemesh Open Testnet - Tweedledee
Tweedledee has 80 community smeshers.
The current network has been running smoothly since the 16th of September.
Spacemesh Dev
We’re looking for senior Go developers and DevOps & Automation engineers to become members of our team.
Go-spacemesh bug fixes and improvements merged into develop branch:
GPU-based proof of space setup: we updated gpu compute library to Vulkan 1.2 api.
We fixed several issues with the Spacemesh dashboard. Give the dashboard a go.
Community
Miss Bitcoin put a spotlight on Spacemesh.
Our discord server has 925 members! Click here to become one of them.
Spacemesh Open Testnet - Tweedledee
Tweedledee currently has 66 community smeshers.
Become a smesher by joining our testnet today!
Spacemesh Dev
We’re looking for senior Go developers and DevOps & Automation engineers to become members of our team.
Go-spacemesh bug fixes and improvements merged into develop branch:
Improved how the new API handles incoming transactions while syncing. (A community contribution by hoenirvili.)
Fixed go version check script for macOS. (A community contribution by divan.)
We finished building a desktop and mobile web dashboard for a Spacemesh network. A preview for a closed devnet is available.
We implemented a new variable output size feature in the gpu-post lib.
We finished a major dev cycle for a Spacemesh network explorer and we have a basic working explorer connected to a closed devnet. There is a preview available for the alpha release.
We implemented changes to the Spacemesh ledger app to support changes in Spacemesh transaction signing specification.
Spacemesh Product
We performed more testing and benchmarking for our gpu-post lib on a variety of high-end GPUs (such as Tesla V 100) and published the results.
We finished the design review of the explorer’s front-end for the project’s next dev cycle.
Published Spacemesh web apps and web services mini spec.
SVM and Vaults
Community
Lane Rettig published a blog about how blockchain and Web3 can be used to improve the world we live in.
The Spacemesh discord server has reached 890 members. Become part of the conversation.
Spacemesh Open Testnet - Tweedledee
The testnet (netid 117) went down on the 15th of September, and our team worked hard to resurrect it. Netid 118 is now up and running! A post-mortem will be coming soon.
We would like to thank our Chinese community for being the first to notice that something was wrong!
Spacemesh App
Spacemesh Dev
Go-spacemesh bug fixes and improvements merged into develop branch:
We finished merging the API code
We fixed a bug relating to how the udp socket is closed after the cache is full.
Spacemesh Product
Community
Lane Rettig published the next installment of his ongoing blog series, looking at how to build a better blockchain through the lens of economics.
Our discord server has reached 825 members! Come join us today.
Spacemesh Open Testnet - Tweedledee
Tweedledee (network 116) died at around 17:00 UTC on August 24th due to the interaction of a previously unknown bug and PoET nodes that ran out of disk space, and was reborn on August 26th. See the postmortem for a full analysis of what went wrong, and what we’re doing to prevent a similar incident in the future.
Tweedledee (network 117) has 23 non-managed nodes.
Spacemesh Dev
Go-spacemesh bug fixes and improvements merged into develop branch:
Fixed panic on p2p cache eviction issue.
Improved transaction sending.
Updated .dockerIgnore (Community contribution by jack17529
API 2.0 Phase9
We released an alpha version of the Spacemesh Ledger App and SDK!
We updated Spacemesh transaction signing smip to include net id.
Spacemesh App
Implementation of the new user variable post with GPU is in progress. See visual designs here.
New working with wallets user journey mini spec to be implemented for upcoming open testnets and mainnet.
SVM and Vaults
Implemented new calldata for SVM transactions (also removed the former func_args and func_buf).
Integrated the new wasmer (version 1.0-alpha).
Community
Gumi Cryptos hosted a digital meetup for the Japanese Spacemesh community on August 27th. Lane Rettig and Tomer Afek presented on behalf of Spacemesh, and participated in a panel Q&A with Mai Fujimoto, better known as Miss Bitcoin, Yoriko Beal of HashHub, and Andy Duan of HashKey DX. They discussed the Spacemesh mission, protocol, and economics. Many thanks to the Gumi Crytpos team for organizing this successful event! A full recording is available here.
Our Discord now has three new channels for Russian, Japanese, and Chinese speakers. Come join us today!
Have any questions you feel are missing in our current FAQ? Submit them here.
Aviv Eyal published a blog post with infographics to introduce newbies to Spacemesh.
Spacemesh Open Testnet - Tweedledee
Tweedledee has passed its 20,000 layer birthday! Long live Tweedledee!
We have 30 active community nodes.
Spacemesh Dev
We’d like to thank the following open-source contributors: divan, for fixing the Go version check script for MacOs and adding some love to Makefile; hoenirvili, for adding a logger specific to the API and adding sync checks before accepting transactions in gRPC
We have finalized the initial specification of the Spacemesh binary transactions format that is going to be implemented across the platform.
Spacemesh App
We have completed the visual and interaction design for the new gpu proof of space setup.
We have finished the first version of the Spacemesh ledger app and sdk. Ledger support will be added to Spacemesh CLIWallet and app.
We have completed the initial design for working with multiple wallets.
We have completed the initial visual and interaction design for working with the Ledger wallet.
We had significant progress on the visual and interaction design for working with vaults.
We completed the initial mini spec for wallet only mode
Community
Have any questions to ask about Spacemesh? Do you feel like there are holes in our existing guides and FAQ? Give us a hand by filling out this very short form.
Lane Rettig published a new blog piece about how crypto needs a just cause in order to thrive.
Gumi is hosting an online meetup for our Japanese community on Thursday, August 27th. More details coming soon!
Spacemesh Open Testnet - Tweedledee
We’ve reached a new record! Tweedledee is still going strong since the last genesis and has reached layer 11695! That’s 40 days of the network running, with 5 minutes per layer.
We have at least 55 community nodes online on the testnet.
Spacemesh Dev
We keep working hard and progressing on implementing the Spacemesh protocol changes for the next phase of the open testnet.
We want to thank the following members of the community: tydybal for improving FreeBSD compatibility;
howy1993 for developing an App Logger.
We have made progress on implementing the new Spacemesh API for go-spacemesh to support wallets, dashboards, explorers, and backup agents.
We have started to develop a Ledger app for Spacemesh coin to provide enhanced security for coin owners.
We have made progress on a reference Spacemesh Explorer and Dashboard and have early staging deployments for both.
We have completed automated builds and CI for the Spacemesh gpu-post library.
We have completed specifications of the Spacemesh transactions binary format to support hardware wallets and smart contract transactions.
Spacemesh App
We have a new release of the Spacemesh App with dark mode, in addition to several improvements and bug fixes.
We started to work on transitioning the app to use the upcoming new Spacemesh API.
Spacemesh Research
SVM and Smart Wallet
We made the encoding and decoding of SVM transactions a portable component that also compiles to WASM:
The GitHub Actions of SVM now outputs a WASM artifact named svm_codec.wasm
We added some Java-Script tests against the svm_codec.wasm
Community
Tomer Afek published a blog piece about how we can start to fix our screwed-up world.
Our discord server has reached 633 members! Why not become one of them?
Thanks to MGBBuzzer for the shoutout!
Spacemesh Open Testnet - Tweedledee
We had another release of the Spacemesh application, this time with new features including contacts and wallet commands. Details and release notes can be found here.
We added guides for the new contacts feature, new wallet commands, and sign text.
We’ve reached layer 7220.
We have 49 non-managed nodes smeshing, participating in the protocol and getting rewards.
Spacemesh Dev
We have launched a new mini product site with info about the Spacemesh project roadmap, spacemesh coin units, visual designs, some additional specs and more.
Thank you Mark Tyneway for contributing a nice script for parsing full node log files to extract home smeshers rewards data. A Spacemesh Kudo is on its way to you.
Community
Lane Rettig published a blog post about the shortcomings of Proof of Stake.
Come join our discord server! Our community team is always happy to answer any questions!
Spacemesh Open Testnet - Tweedledee
Tweedledee died on June 4th due to issues with our managed nodes. But, thanks to the hard work of our team, it was resurrected on June 8th (new network id: 116). Long live Tweedledee!
Along with the testnet reboot, we took the opportunity release a new version of the Spacemesh app.
The latest testnet has reached layer 3131.
We have 100 managed nodes and 25 community nodes.
Spacemesh Dev
Work continues apace on a more robust Spacemesh API. The new API will make it much easier to extract full node data for use in the Spacemesh app, as well as the in-development explorer and dashboard.
We are looking for a core Go developer who can work remotely to join our team!
We have so many amazing open source contributors to our project! We would like to thank:
jsign for fixing some race conditions in tests
Kulak for refactoring some utility functions to use consistent naming
howy1993 for his multiple contributions to the SMApp
DaveAppleton for his continued work on the testnet block explorer
Sergey for his continued work on the testnet
Sudachen for fixing local-testnet issues, and adding features to the CLI-wallet.
Spacemesh Design
Community
Tweedledee
A new genesis! We moved our managed nodes to a new more efficient infrastructure and started a new network (id 115). We had 50 home smeshers join the new network in less than 24 hours from launch!
We’ve reached layer 2000 and have 100 managed nodes and 50 non-managed nodes.
We released a new version of the Spacemesh app: 0.0.12. It features many many bug fixes and improvements. See its release notes and download links .
We updated the instructions on joining the new network by building a cli full node and a cli wallet from source code. This is a way for users to join the testnet without using the Spacemesh application.
Spacemesh Dev
The core dev team keeps progressing on implementing consensus protocol changes and updates for future testnet releases prior to mainnet genesis.
We are looking for a core Go developer to join our team! It’s a 100% remote/WFH position. More details here.
We posted new technical docs on the Spacemesh Sync protocol
We posted a new Spacemesh protocol deep dive.
Community
Have you been participating in the testnet? Let us show you our appreciation!
We added the last of our testnet tutorial videos. Check out the entire video series.
Lane Rettig published a new blog post called The Cult of Ownership that explores the concept of ownership and how we might rethink it in the blockchain era.
On the 27th, we had a Testnet Genesis Party featuring DJ Fuzzy Logic!
Our discord server has reached 490 members! At our last update, it had 408.
Spacemesh Open Testnet - Tweedledee
It’s been 22 days since the genesis of ne-tid 114, and we’ve reached layer 6,843. In addition to our internal smeshers, 36 additional smesher p2p full nodes have joined the network.
We released a new build of the Spacemesh app that fixed a major bug. See the download links and release notes.
We posted several more installments of our testnet video tutorials. If you’ve been thinking about downloading the Spacemesh App and joining the testnet, this video series is a great place to start!
Our results from the Tweedledee survey are in! The common testnet user is a 40-year-old American man with a passion for crypto and a desire to smesh on his home computer. For more details, you can download the full PDF.
Spacemesh Dev
The core dev team is focused on implementing the big consensus protocol changes and getting them ready for a testnet release.
We are looking for additional Go developers to join the core dev team - 100% wfh.
Spacemesh SVM and Smart Wallets
Spacemesh Community
Lane Rettig did interviews with MetaRadio and Blockchain UniVRse (the latter in VR!).
Lane Rettig also published a blog post about the problems with many blockchain grants programs (hint: they’re not permissionless!), and some ideas on how to improve them.
Our Discord server has reached 408 members! We’d love for you to become one of them!
Our Twitter has reached 1,734 followers.
Lane Rettig and Aviv Eyal, resident Spacemesh DJ, hosted a “solarpunk” VR dance party over the weekend in a custom-designed VR space! Participants joined from as far afield as San Francisco, Sydney, Beijing, and Berlin. The event celebrated the end of (virtual) New York blockchain week and last week’s Bitcoin halvening.
Spacemesh Open Testnet - Tweedledee
We released version 0.0.7 of the Spacemesh App with bug fixes and stability improvements. Release notes here.
The Tweedledee network (net id 113) went down on April 23rd, but, with the relentless work of our team, it was back up and running by April 25th (net id 114). Here’s the post-mortem.
We published two hands-on video guides on how to build Spacemesh from source code and join the testnet from the terminal. Watch the playlist.
Our discord community is growing. It now has 372 members! That’s 44 new members since our last update.
We conducted a small anonymous survey to better understand who’s interested in Spacemesh and has joined the testnet. Results will be out soon!
We had two exciting community code contributions, a basic mesh explorer and a tool to decrypt and convert wallet. Thank you @Dave Appleton!
Spacemesh Community
Lane Rettig published a blog about different strategies for distributing ownership in a blockchain project.
Yaron Wittenstein published a blog about how to train your own neural network.
Spacemesh Development
The core dev team is focused on implementing key protocol changes required for the major dev milestone, Spacemesh 0.2.
We started work on a more robust API to the mesh and the Spacemesh full node.
We are looking for additional Go developers to join the core dev team - 100% wfh.
We’ve implemented and released a dark mode feature for both the protocol docs site and the testnet guide
Work has started on the Spacemesh app 0.0.8 - the next minor release of the Spacemesh app for the Testnet. Expect many UI improvements, wallet file format enhancements, and more. For more info head to the smapp board
Spacemesh Open Testnet - Tweedledee
Celebrating the one month anniversary since genesis! And we’ve made it to layer 8,300--a new record. We also have 800 full p2p nodes on the network, most of which originate from our community members. Tweedledee is now community-owned!
Shout out to Sergey (@whataday2day), one of our community members, who even created a cool tap bot to give Smesh to testnet users. It’s working great so far!
Spacemesh Documentation
Spacemesh Community
Tomer Afek, Spacemesh’s co-founder, published a response to this essay by Haseeb Qureshi.
Our discord now has 328 members. Party on, guys!
Some of our community members are working overtime!
Spacemesh SVM and Smart Wallets
Integration of the svm-gas crate into the SVM runtime.
High-level document planning SVM integration into go-spacemesh.
Started working on the App’s Storage Read ABI.
Spacemesh Design
Spacemesh Development
We are hiring Go developers for a 100% WFH / remote position on the core Spacemesh dev team.
We have started to build a robust Spacemesh full node API and data collection to support the new explorer and dashboard initiatives.
We have been working on several bug fixes and improvements to be released in the next Spacemesh app update for the testnet.
The core dev team has completed a 3 week sprint to document and cleanup go-spacemesh, the Go implementation of the Spacemesh full node. As a result, it's now more friendly for open source contributors and collaborators. Check out the go docs.
Update #60 - Week 3 + 4 - March 2020
Spacemesh Open Testnet - Tweedledee
We launched a new TweedleDee genesis on March 20th after the previous net had experienced an inconsistency issue due to a bug. We started with 300 managed p2p nodes and over 500 home smeshers subsequently joined the network within a week. The network is currently live and consistent.
Anyone, without any limitations, as long as their system meets the minimum requirements, can join the Testnet using the Spacemesh App or by directly building a full go-spacemesh node from source code for use as a CLI wallet.
The open testnet is serving its function! We’re finding bugs in both the Spacemesh App and in the go-spacemesh full node, and are working on fixing them. We've fixed over 100 desktop smeshing app bugs.
Quarantined at home? Have some free time on your hands? Join the testnet!
We are currently testing fixes to Spacemesh App bugs reported by the community and plan to release a minor Spacemesh App update within a few days with important fixes to the user experience.
Spacemesh Development
We adjusted team Spacemesh for fully remote work using GitHub, Zoom and Slack as all Spacemesh core devs are under some sort of #stayathome decree. So far, so good!
We have finished a two-week sprint to make the Spacemesh main open-source repos more friendly to open source contributors. We added lots of go-docs to our golang repos. Check out all of these juicy merged PRs.
We are working hard on implementing the missing pieces of the Spacemesh protocol and getting them ready for testing in the open testnet.
Our protocol docs are easier to browse than ever! Check them out here.
Spacemesh SVM and Smart Wallets
We plan to launch the Spacemesh mainnet with some programmability features. The main feature will be smart wallets with support for multi-signatures and vesting schedules.
Lane Rettig and Noam Nelke wrote an overview of transactions.
Adding receipts for the deploy-template & spawn-app.
Returning errors in the svm-runtime-c-api crate.
Simplifying the App-Storage state computation.
Adding namespace to the KV API.
Validating that raw transactions don’t contain extra payload.
Community
Core Platform
Our devs have started designing and implementing the code for the missing Spacemesh consensus protocol components for release in upcoming Spacemesh open testnets.
We are working on a MultiSig Wallet app for the next major release of the Spacemesh open testnet as a tech preview of SVM tech (Spacemesh Virtual Machine) and smart contracts on Spacemesh! The code is almost ready and just requires testing.
Community
Spacemesh team member Lane Rettig published a blog post regarding the ethics of autonomous software, and how they relate to blockchain and governance.
Spacemesh team member Yaron Wittenstein published a new hackernoon blog post about the Importance of Unlearning.
The Spacemesh team is all working from home due to COVID-19, but that’s not slowing us down!
Tweedledee - Spacemesh Open Testnet
We successfully soft-launched Tweedledee - the first Spacemesh open testnet - on March 1st. Since launch, we had over 100 people join the testnet from all over the world - mostly via word-of-mouth - and the network grew to about 700 p2p nodes from the 300 internally-managed p2p nodes to bootstrap the mesh. It currently runs about 440 full p2p nodes.
We started getting great feedback from the community and we have been busy fixing bugs and improving the network for the next app and p2p node update. Shout out to all who gave us feedback - you know who you are! Thanks to your invaluable input, we’re aiming to release a new minor app version with bug fixes in about 2 weeks.
We improved both the Testnet Guide and the Testnet FAQ based on user feedback and common questions.
We onboarded devs who wanted to join the Testnet by building go-spacmesh and our CLIWallet directly from source code and improved the joining documentation. We started to launch proper releases of go-spacemesh and the Spacemesh app for the testnet view github releases.
We operated the manual testnet tap and got many testnet users some Smesh to start playing around with coin transactions before getting their first smeshing coin rewards.
We ran a survey of early testnet users and received valuable feedback which was largely positive. Although users acknowledged that it was a bit rough around the edges, they were pleasantly surprised by how smoothly it ran at such an early stage.
John Tenniel's illustration, from Through the Looking-Glass (1871), chapter 4
From ffnet to Tweedledee
We launched a small experimental testnet for friends & family on Feb 15th with a network of 325 full nodes, and have been running the network for the last 2 weeks.
It’s super exciting for team Spacemesh to onboard our first group of real users using their home PCs, see them Smeshing, transacting with each other, and getting Smesh from the testnet tap.
We got some great feedback on the initial release, and already improved the user experience of the Spacemesh app by eliminating some annoying network requirements via p2p improvements, giving users complete control over where to store their proof-of-space file, and providing more information for users about their Smesher status.
Here’s some of the feedback we got:
“This is the smoothest UX i've experienced on a super early testnet”
“The visual feedback of this build is 10x better than the last, doesn't make you feel like it's just stuck”
“Just sent some SMD to someone. It works!!!
“I got my first smeshing reward!”
>> Tweedledee is Coming!
We finished preparing for the launch of our open testnet on March 1st including a new landing page and our comprehensive testnet guide. We call this release Spacemesh 0.1 / Tweedledee.
We are launching Tweedledee to learn from real users in the real world and the initial testnet release is just a beginning. It is experimental, has lots of bugs, and has a sub-optimal user experience - but it’s just the first iteration on our vision of home mining for everybody!
Developers: Don’t Trust - Verify!
We're pleased to announce that we've added support for building a Spacemesh full node (go-spacemesh) and a fully functional CLI wallet directly from source code, and that you can join the open testnet using these instead of using the Spacemesh app and its managed full node. See dev documentation.
SVM
Finished optimizing the raw transactions layouts.
Added more rustdoc examples. Mainly to the svm-runtime-c-api
Planning of the SVM integration into go-spacemesh
Started working on the SVM Wallet-App
Core Platform
New testnet operational dashboard is up - we are getting ready for Tweedledee!
Major p2p improvements to support more type of home networks.
Fixed critical issues found in friends & family and closed testnet.
App
We released v0.0.3 of the App for the launch of the open testnet. This release includes bug fixes from our small friends & family testnet and several nice improvements such as:
Added node status bar that displays the p2p network and sync status.
Removed port selection screen on app launch.
Improved post init file location flow and ui.
Added mesh status section to the settings.
Community
Lane Rettig led an ffnet onboarding session at ETHDenver.
Spacemesh Testnet App running on Windows, OS X and Linux.
Core Platform
The whole team has been focused on our upcoming open testnet launch in March. We are running an internal testnet, writing more tests and finding & fixing more bugs so anyone can join our open testnet in a few weeks.
We published a big chunk of the Spacemesh protocol docs for developers. This is an ongoing effort and additional guides are being added.
We published our updated 2020 roadmap on our road to mainnet.
We are finalizing a CLI wallet so people will be able to build a full node and the wallet from source code and join the testnet without using our reference GUI app.
We finished implementing and benchmarking a GPU optimized proof-of-space library utilizing the new cross-platform Vulkan GPU compute framework as well as OpenCL and Cuda. The library now provides an optimized implementation for all popular PC GPUs such as Nvidia and AMD on Windows, OS X and Linux. This library is going to be used to setup proof of space time on home PCs without hogging the CPU.
Community
Team Spacemesh is going to be in Stanford blockchain conference! Come meet and greet with the team in San Francisco. RSVP here. Or hang with us in Stanford. (DM @teamspacemesh on Twitter).
Tomer Afek, CEO and co-founder of Spacemesh, had an interview with TycoonStory: "Spacemesh is breaking down the barriers to adoption of blockchain technology"
SVM
Reclaiming SVM resources API (should be used when interfacing with C / FFI)
Working on storage-optimizations (will result in disk space savings for the end-user).
Community
We’re holding a Spacemesh meet-and-greet in Denver on February 13 (at ETHDenver), and one in San Francisco on February 18 (the day before the Stanford Blockchain Conference). More details are forthcoming on our Eventbrite page.
On February 9th, Moshe Shababo is co-hosting a technical meetup in Tel Aviv about how to build a proof-of-space-time based cryptocurrency, with Anton Lerner and Almog De-paz as speakers.
Spacemesh
We are on track to release Spacemesh 0.1 open testnet on March 1st. To get notified about when you can join with your PC at home, sign up here. Track our progress here and here
We clarified and updated our platform roadmap for 2020.
We published the first part of our dev docs for the protocols. Additional protocol docs are in the works and will be published soon.
We have set up an additional lite closed testnet env for testing with 50 nodes on google cloud and we are running closed testnets on this new env. See:
We have completed a comprehensive testnet guide for the Spacemesh 0.1 release with updated system requirements, coin units and additional screen shots.
Community
Welcome to 2020! Headsup that we are switching to a bi-weekly (every 2 week) cadence for these updates.
Please be advised that after careful consideration, the decision was made to postpone the launch of the Ambassador Program as it is a bit too early. We will re-launch it later this year and be sure to announce it here and ping everyone who signed up.
Lane Rettig, Spacemesh Engineer, speaking at Spacemesh Osaka Meetup in October 2019
Latest blog post from Aviv Eyal, co-founder Spacemesh - It shouldn’t take years for smart people to understand cryptocurrencies
In TLV? Join us for an upcoming meetup on Sunday, February 9, How to build a proof-of-space-time based cryptocurrency
Testnet is just around the corner. sign up to be a Smesher on testnet
Smesher
We've found the memory leak that's been holding us back a few weeks now and have written code to fix it. PR is under review.
We're now testing the transaction mechanism with stress and stability tests and also testing sync.
We are running iterative closed testnets of between 200-300 nodes (currently 300) as we stabilize.
App
The bottleneck of updating the wallet file with recent changes (txs and rewards as txs) was removed.
Update doesn’t depend on retrieving tx statuses frequency.
App starts node from binary and not from container, most of run parameters are still hardcoded and any change requires app repackaging.
Business logic of querying node for it’s status and other requests were moved to later stage in order to allow running the node binary first.
Working on semi-automatic node start through the app.
SVM
Finished the last big refactoring effort - now the code should look better (hygiene-wise).
Currently working mainly on the 'app template' feature. We’ll have something called an "app template" from which we’ll be able to spawn multiple instances (called apps). Each app will have its own storage. All apps will use the same code defined in the app template. The motivation is to encourage code reuse and save on-mesh storage. (since we share code)
Community
Wow what a year it has been. From everyone over here at Spacemesh, we hope you have a wonderful holiday season and happy new year. Here is the end of year wrap up - a summary of everything we accomplished over the course of 2019. Here's to 2020!
Happy new year from the Spacemesh Team!
We held a product summit where we defined our goals for iterative testnets and the road to mainnet.
Tal Moran, Chief Scientist, and Lane Rettig, Spacemesh Engineer @ our product summit.
Spacemesh in the media: Cryptomorrow - Looking forward to crypto-ing in 2020? Trends To Expect in The Blockchain Space
Coinnewstelegraph - Blockchain Sybil resistance: Searching for the perfect waste of resources
Blog by Moshe Shababo, Core Spacemesh Developer: Hard Drive Space as a Tangible Scarce Sybil Resistance Resource
In TLV? Join us for upcoming meetups: on Monday, January 6 Space, Time and Post-Quantum Proofs and on Sunday, February 9, How to build a proof-of-space-time based cryptocurrency
Smesher
We have been testing the nodes sync and transaction processing, investigating memory leaks as well.
App
App is getting TXs from node and updates statuses in the UI. Smeshing rewards are displayed as transactions too now.
We are also working on a more robust way to save wallet data to disk to prevent data loss.
Finished refactoring to speed up the app and changed addresses length to match node settings
Autoupdater for Windows in progress
SVM
Refactored the codebase to improve code hygiene.
Decoupling wasmer from SVM external interface. This will open the door to having go-svm relying only on the svm object file (which will use wasmer internally, but this fact should become obvious to the end-user consuming svm)
Community
SVM
We are refactoring the codebase of SVM.
GPU-Smeshing Setup Project:
Phase I completed successfully with great results
Starting phase II project this week
We have a working gpu smeshing init library for Windows and Linux supporting AMD and Nvidia GPUs.
Next phase is to support OS X, Intel GPUs and get better performance on AMD GPUs
This week we ran tests for correctness on all supported platforms and GPU types - they all passed
Smesher
We are testing transaction, sync, and trying to run long runs and monitor memory.
We are tracking down the source of the memory leak bug we are experiencing.
App
App receives rewards from Smeshing, notifies the user about each reward, displays the correct Smesher log-in screen.
Community
Spacemesh co-founder Aviv Eyal explains the fundamental motivation for Spacemesh in this must-hear interview with the Tech Talks Daily Podcast.
Spacemesh co-founder Tomer Afek published an article in Cointelegraph. Blockchain, Power and Politics: How Decentralization Engenders Freedom
Tomer Afek, Spacemesh co-founder, speaks to a full lecture hall of IDC Computer Science students
App
Testing the Spacemesh App with a Smesher connected to one of our closed testnets, and successfully started smeshing and getting rewards!
Finishing transactions and rewards display issues.
GPU Smeshing Library
Linux support
AMD code optimizations performance improvements
Support for 50% GPU memory and core operational mode
For more info please see the repo
Smesher
We finished functional testing on a 1,000 Smeshers testnet and began tests on a 1,500 Smeshers testnet.
Update #51 - Week 4 - November 2019
This week we are continuing to work on the tasks from the previous updates and we are focused on fixing all issues and stabilizing the network for the open testnet release… sign up to be a Smesher on testnet
new open source repo - GPU post init with working code for AMD and Nvidia cards and some benchmarks.
Community
We visited MIT and are in talks with them for future cooperative efforts - stay tuned!
Chief Scientist Tal Moran talk about Untangling the BlockDAG
In Tel Aviv in January? Join us for a meetup at Google for Startups Campus and learn how to build a proof-of-space-time based cryptocurrency
Lane Rettig blog post about the Key Ingredients of a Better Blockchain, Part IV
Community
App
Continuing working on TX statuses and auto update for Mac + Windows.
Smesher
Performing acceptance testing of the infrastructure for Testnet.
Running functional testing of the node to identify gaps and bugs.
Spacemesh Virtual Machine (SVM)
Continuing to rewrite the gas-estimation for wasm restricted set to be of linear complexity
Adding CI using GitHub Actions.
Community
App
Continuing to work hard on TX statuses and auto-update functionality for Mac and Windows.
Smesher
Refining APIs for the node for integration of the node binary with the Spacemesh App UI.
Running functional testing on the Testnet infrastructure, and defining gaps.
Spacemesh Virtual Machine (SVM)
Rewriting the gas-estimation algorithm to be of a linear complexity
We have funded several SVM tasks for open source contributors- check them out on Gitcoin
Community
Spacemesh Co-Founder Tomer Afek spoke at SF Blockchain Week 2019.
Spacemesh Chief Scientist Tal Moran presented his latest theoretical work on Proofs of Space Time at CESC 2019 in San Francisco.
We created a Spacemesh Protocol Overview to further explain what powers Spacemesh under the hood. Check it out
Tal Moran speaking at CESC 2019
App
Continuing work on auto-update and retrieving TX statuses.
Go-Spacemesh Smesher
Revised some of the PoET APIs
Added VRF validation to Hare messages
Refactored our logging Infra to support different log levels.
Spacemesh Virtual Machine (SVM)
Community
Article by Tomer Afek, Spacemesh Co-founder
We decided on names for our coin, node, and other key Spacemesh components. Long live Smesh!
Tal Moran speaking at the IACR conference in Santa Barbara about Simple Proofs of Space Time and Rational Proofs of Storage.
App
Working on app auto update and minor fixes
Go-Spacemesh
The node's core protocols are code complete, only thing left are minor changes in the Smesher's API.
Community
Spacemesh CEO Tomer Afek speaking at meetup in Beijing
Go-spacemesh
We are finalizing the first release of the Spacemesh open testnet. We call it Spacemesh 0.1. Anyone with a PC, an Internet connection and some free disk space should be able to join. We are working hard to release Spacemesh 0.1 this December.
finished revamping most guide content to reflect sm 0.1 functionality
added guide page about s0.1 to clarify the final feature set
App
wrapping up loose ends in the UI, including auto-update
Community
Meetup in Beijing, China on October 15 - join us
Spacemesh CEO Tomer Afek at Dragonfly Crypto Summit Panel in Beijing, China
Lane Rettig at meetup in Osaka, Japan
App
Go-Spacemesh
We are writing documentation and adding comments to code in preparation for open testnet.
Community
Lane engaging the Tokyo Crypto Dev community
we’re organizing a meetup here in Osaka this weekend - join us
Crypt-O-Mesh Technology Room Session with Tal Moran watch
"A New Human Chain" blog by Lane Rettig about why he joined Spacemesh
App
Cleaned up and revamped Spacemesh product repo with updated roadmap, timeline, and several specs
New pages in the testnet guide in preparation for the open testnet. See
Major cleanup to go-spacemesh wikis - lots of outdated information removed. Still more to do.
Updated product plan
Spacemesh Virtual Machine (SVM)
making SVM work with wasmer 0.8 - Spacemesh virtual machine repo
Go-Spacemesh client
Added signatures to activation transactions and NIPoST persistency as part of our node reboot tolerance.
We are running tests and defining the protocol parameters and specs that we will run the test net with.
Community
Spacemesh is chosen as SD Times Open Source Project of the Week
Spacemesh is reaching out to China. Lane Rettig blog translated to Chinese
Spacemesh goes to China
App
SVM (Spacemesh Virtual Machine)
Go-Spacemesh Client
Shifting our focus to start large scale cloud testing for testnet readiness.
We are also starting a process of documenting our code and updating our wikis as preparation for test net launch.
Community
App
Getting app functional on Windows and Linux (Ubuntu) in addition to MacOs
App testing on five-node local network, initial sandbox integration
Go-Spacemesh Client
Spacemesh Virtual Machine (SVM)
Community
Friday the 13th Crypt-O-Mesh event was highly successful, with over 250 people attending including the most disruptive minds of our time. Thanks for a great night everyone.
In NYC, we had another Core Devs meetup last week, where Emin Gün Sirer spoke about AVA Labs and Ryan John King spoke about FOAM Protocol It’s quickly developing into a respected, small-but-focused and high quality group of people coming together monthly to do a tech deep dive.
Emin Gün Sirer
App
Go-Spacemesh Client
Implemented a safe node shutdown
Added fetch queue to avoid double requests on same data when syncing
Added some fixes and memory optimizations to the Hare Protocol
Spacemesh Virtual Machine (SVM)
Research
Community
Join us for Tel Aviv Blockchain Week Friday the 13th Crypt-O-Mesh Party - Register with promo code FO11OWTH3WHIT3RABBI7 and unlock some hidden tickets. Hurry before they are all gone
We held our first successful NYC Core Devs Meetup last month, where both Iddo Bentov and Lane Rettig spoke about various aspects of Spacemesh (client architecture, protocol).
Lane Rettig at NYC Core Developer Meetup
App
Go-Spacemesh Client
Added an event infrastructure and event collector sidecar for future statistics and blockmesh analysis. Wallets could also derive account-specific data from collector DB.
Alongside many bug fixes, we’ve introduced fetch queues to optimize data fetching from peers, added abstain votes for blocks and limited the number of atxs included in each block.
We’ve upgraded our testing infrastructure to use Jenkins pipelines to give us better automated testing and task monitoring. Merged issues.
Spacemesh Virtual Machine (SVM)
Community
Published new blog post by Spacemesh co-founder Tomer Afek. Spacemesh Manifesto
We are organizing a new kind of monthly developer-focused meetup in NYC. First meetup is on 8/12.
App
go-spacemesh Client
Spacemesh Virtual Machine (SVM)
Go-spacemesh + App
Go-spacemesh: focus is on stabilizing a 300 nodes closed testnet and fixing bugs.
App: implementing new visual designs. Here's a sneak peek at what's coming:
New Testnet Video Tutorial
New Spacemesh local testnet for devs video tutorial!
<iframe width="560" height="315" src="https://www.youtube.com/embed/IZvmzm8MzU8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
New public open source repo for Spacemesh smart contracts toolchain and VM written in Rust
Finalized and published visual designs for the first release of the Spacemesh App (wallet + miner)
Localnet is coming!
Getting the Spacemesh local testnet ready for devs to hack on! We are improving the scripts a bit and hope to be able to support Win 10 Pro. Currently OS X and Linux are supported.
Usability testing and finalization of the Spacemesh App UX for the open testnet release.
Sneak peek - Spacemesh App new look is coming!
App packaging in Travis CI https://github.com/spacemeshos/smapp/pull/132
Retrieving incoming transactions from node and updated statuses for outgoing transactions.
Full Node
App
Packing full node node binary with the app
Wallet app auto start (with control in settings tab)
Packing wallet app in Travis CI
Testnet
Community
App
Full node
Community
Full Node
App
Misc UI improvements
Create new addresses logic and UI
App
Implemented XDR serialization for TX api calls
Changed wallet and accounts default names
Implemented Disk volumes and free space checking across different OSes
Full Node / Client
Merged the new VRF eligibility oracle that relies on previously merged bls signature schemes
Merged the activation transaction sync flow
Added a network on-the-wire and in-memory deduplication to reduce bandwidth
Track our progress by browsing go-spacmesh merged PRs
Community
Yaron Wittenstein from team Spacemesh talks about WASM smart contracts
We co-hosted and participated in WASM on the Blockchain 2019 Berlin workshop. The weekend workshop at Full Node Berlin was jam-packed with excellent sessions and discussions. Videos and decks will be published soon. WASM smart contracts are coming to your favorite blockchain, but we have several big challenges to overcome first...
Community
Whiteboard sessions podcast from NY blockchain week is now available on Youtube. Please watch to get an overview of the consensus protocol.
If you prefer reading than watching videos then please check out our new blog post - Spacemesh protocol motivation
App
Win/Mac/Linux App Installer
Desktop notifications Infra + initial logic.
Full Node
Community
We recorded a whiteboard session videocast with Tal Moran in NYC - episode coming online soon!
Thanks for coming to listen to Tal Moran and Iddo Bentov from team Spacemesh at our NYC blockchain week meetup.
Tech
Simple Proofs of Space-Time and Rational Proofs of Storage
paper by Tal Moran was accepted to Crypto 2019. Tal will be presenting the paper in Santa Barbara in August.
ed25591-wasm - New library for using our enhanced ed25591 go library with added features in WASM platforms such as the Spacemesh App
P2P address resolving from DHT to addrbook
Additional automation framework capabilities in order to test various atx flows
Automation framework prometheus support
General Update
After finishing to implement most of the Spacemesh Protocol major flows, we are now focused on testing and benchmarking to verify our network is tuned up to work with many nodes at scale on the cloud using our automation framework.
We are doing tests and benchmarks for gossip, mining, sync and consensus protocols. Another on-going effort is integration of the BLS signature scheme into the platform.
On the App front, this week we integrated our Edwards25519 WASM library into the App and worked on the App's desktop notifications feature.
For more details check out our pulse.
Community
Finalized blockchain projects participation for our tech-focused meetup in NYC blockchain week. there's still some open spots. RSVP soon :-)
Finalized participation from awesome wasm people for WASM on the blockchain workshop we are helping to put together in Berlin in June. If you care about WASM on the blockchain then you should apply to participate! https://avive.github.io/wasm_on_the_blockchain/#/
Research
Tech: Spacemesh Full Node
Added full mining capabilities enabling the creation of activation transactions containing NIPST with POST and POET commitments!
Added full build and test cycle
Updated poet ref to our chosen poet solution
Spacemesh App
Connect app to node api to retrieve local node status
Connect local node settings UI to node api
Connect help links to testnet user guide
ED25519 Public Key Extraction Go Library
https://github.com/spacemeshos/ed25519
An open-source drop-in replacement to golang/crypto/ed25519 with additional functionality.
We have developed this for the Spacemesh protocol since we could not find a good open source alternative. We hope that the open source blockchain dev community will find these capabilities useful in other scenarios and platforms.
In the ed25519 signature scheme, in order to verify the validity of a given signature, the validator should posses the public key of the signer. It can be sent along with the message and its signature, which means that the overall data being sent includes 256 bits of the public key. Our function allows to extract the public key from the signature (and the message), thus the public key may not be sent, resulting in a smaller transferred data.
Community
Tech
NIPST builder running POST inside a full node node. Use PoET as local or remote server via RPC
Public key extraction from Hare protocol identities
Optimized Tortoise memory management and layer eviction policies
VRF eligibility for Hare protocol eligability integration
Automation test servers improvements
Wallet backup - 12 word backup flow self test
Spacemesh App (Wallet + Full Node)
Print 12 words backup feature
Transaction flow - add new TX and update wallet file with new data
Spacemesh Core (Full Node + POET Service)
Spacemesh Core (Full Node + POET Service)
New UDP-based node discovery protocol and here
Added block validation according to received activation transactions and VRF
POET proofs verification (https://github.com/spacemeshos/go-spacemesh/pull/781)
Separate namespaces for dedicated tests and CI flows
Spacemesh App (Wallet + Full Node)
Lots of merged PRs for the core App screens
Local node UI improvements
Backup Wallet Screen in Wallet tab
Transactions Tab (with stab data)
Latest Transactions View in Wallet Overview (with stab data)
Community
We just announced our this free community 2 days workshop for blockchain and layer-2 projects that are working on wasm tech for their programmability features. Join us in Berlin this June for this special event. Participants include builders from ewasm, parity, mozilla, wasm and wasmer.io. People from Spacemesh have been working on putting together this event with great people from ewasm, 1kx and Parity.
Spacemesh p2p full node
Basic NIPST construction flow with communication to both PoET server and PoST process
Automated Hare protocol testing using the automation framework
Database deduplication for mesh transactions
POST Merkle tree cache optimizations
Spacemesh POET Service
Spacemesh App (Wallet + Full Node GUI)
App send coins - connect to local node API through gRPC calls
App local node setup - logical disk and capacity selection
Restore wallet from 12 words or a wallet file
General Update
Updated P2P Ping protocol
Limiting number of P2p ingress connections
POST Merkle tree - unbalanced trees support
Testnet interactive guide - updated content
Spacemesh Wallet - main screen UI
Wallet transaction details screen
Spacemesh App - Allow checking local node status without unlocking the wallet
Run automation tests on each dev branch merge
Run gossip automated tests by default in the automation framework
Community
Spacemesh’s Co-Founder Tomer Afek leading a panel in Token 2049 discussing the challenges and potential opportunities of Web 3.0
Core Dev Team
Hare Protocol test functions for testing latency and scenarios in real-world network conditions
Containers for testing node scenarios in real-world conditions
New methods for testing network scenarios
Basic GRPC layer for communication with POET server
App - derive wallet file encryption key
App - new wallet core features
App - Additional new features merged PRs
General Update
Integrated the first implementation of the reward system, without inflation rules based on token economics plan
Fixed pre-round equivocation bug in Hare protocol
Published new Repo for on the fly efficient Merkle tree
Integrated basic service implementation into POET-Ref repo
Added Testnet guide for running tests using k8s clusters
Published first draft of our public testnet guide
General Update
First batch of fixes after achieving milestone 1
New validation rules for hare protocol messages
Updated p2p ping protocol
New ed25591 signatures extension methods - a drop-in replacement for golang/crypto/ed25519 with additional capabilities
Spacemesh App Welcome Flow
General Update
Additional tipped open issues for the community
New Spacemesh App open source repo goes live! https://github.com/spacemeshos/smapp
Updated desktop visual design for Spacemesh App (Full Node management and wallet)
General Update
Merged first implementation of a running full node with Hare consensus protocol and unoptimized tortoise
Merged a new system-wide logging service that supports sending and events and metrics to a global test network orchestrator
Merged a fixed size pseudo-random Oracle for role and block validation as preparation for system testing
Implemented rudimentary CLI wallet
Added definitions and flow charts for the Hare protocol
Merged basic POET server infrastructure
Announced our next upcoming live dev community sync on Youtube. Set a reminder and ask us anything
Merged the first test of a complete network running hare and tortoise consensus protocols, agreeing on the state of the networks shared ledger
Merged optimal Tortoise protocol implementation
Added node events for improved test networks debugging
General Update
Gossip network protocol validation
Additional Hare protocol tests
Implemented Hare protocol Oracle for testing
As preparation for our test network, added broadcast API call
Devs Community Sync #2 live AMA via Youtube
Hare Protocol description in the Spacemesh protocol repo. An implementation of Synchronous Byzantine Agreement with Expected O(1) Rounds,
Expected O(n2) Communication, and Optimal Resilience
General Update
We are getting closer to run our first nodes test network, currently without mining capabilities.
Created a rudimentary wallet grpc and HTTP API for use in the test network
Created a test Rolacle (Roles oracle) for testing our hare protocol
General Update
Easier go-spacemesh dev environment setup. This will help the core dev team and open source contributors to work more efficiently
Extended and improved the Hare protocol test suite
Switched to NaCL authentication and encryption in P2P layer. PR merged
Fixed some tests that failed on local machines. #469 and #466
Added POET prover-verifier integration tests for benchmarking the protocol
Announcing our #2 core dev community sync - live on Youtube on Feb 3rd https://youtu.be/85eazslNWqU - The core dev team will answer any technical question about Spacemesh asked in our Gitter dev talk as well as live questions on the Youtube stream via the chat feature
We made public our Proofs of Elapsed Time service reference repo
New post on / - Proofs of Space Time and Decentralization - video recording and slides of Iddo Bentov’s presentation in Amsterdam Bitcoin Wednesday /iddo-bitcoin-wednesday/
Finished our first UX design iteration for the Spacemesh Full Node and Wallet App for desktop computers, and published our learnings from 2 usability testing sessions
General Update
go-spacemesh
Implemented the testnet milestone block structure
Implemented additional Hare protocol tests
Merged these PRs
Tipped open source contributors for great contributions via gitcoin
Finalzied our first big dev milestone on the road to testnet
Wallet
Finalized an iteration of the Spacemesh Wallet App desktop UX for another round of usability tests
General Update
Published Hare protocol detailed flow chat
Added support for orphan blocks as preparation for new Tortoise protocol
Did our first core dev community sync live on Youtube. Watch to learn about what the core dev team is working on
General Update
Merged transaction state machine rollback algorithm
Merged first batch of integration tests, testing both p2p protocol and the sync protocol
Merged and benchmarked sha-256 algorithm for AMD Ryzen and Epyc cpus open source contest entry with measured x2 performance gains. More info
General Update
Merged the initial implementation of our state machine supporting accounts
Added LevelDB persistency level for layers
Merged open source contest submission for Intel SHA extensions optimized sha256 and performed some benchmarks on modern AMD desktop and server cpus. ~2x improvement over sha256 optimized using Intel AVX extensions at ~7.7 mhps for sequential sha256 execution on an AMD RYZEN 7 cpu
Started to tip contributions to the Spacemesh full node open source project. See list of funded issues
General Update
Spacemesh Full Node
We've released a new version of our gossip protocol with some optimizations and refactoring
We've refactored our dependency fetching mechanism and created a new environment setup script for easier on boarding
Work has continued on modeling the new Hare protocol
Product
Say hello to our new open MVP1 product board where you can see our progress on the road to Spacemesh MVP1 product code-complete milestone
Spacemesh App (Wallet + Dashboard)
Published revision 0.2 of the Spacemesh App design for desktop class screens
Published tests implementing the core Spacemesh Wallet security design - Basic BLS key derivation from random seed, 12 words mnemonic for paper backups and wallet file user pin protection via KDF2 and AES
Integrated a high-performance WASM BLS signatures library and put together some tests to demonstrating usage pattern
Published draft of the Spacemesh API for connecting the Wallet with the Spacemesh blockmesh
POET Service
Announced a Go crypto hacking open source contest to implement a hardware accelerated sha256 hash function
Implemented Poet core API gRPC client and srver
General Update
Initial version POET GO prover and verifier merged
First version of the Tortoise protocol merged
A first commit of the new Hare protocol message structure
First version of the gossip protocol merged
Preliminary design of Spacemesh global state and transaction processor
Sync protocol implementation PR
General Update
Spacemesh TLV hosted 60+ hackers for the Liberthon Hackahton. Check out the projects open source repos and watch the projects presentations livestream recording
Spacemesh researcher Julian Loss was hosted by the Zero Knowledge Podcast for a nice episode about Spacemesh. Listen to Podcast
Core dev team is focused on the core components of go-spacemesh. Browse merged PRs
General Update
Fewer PR merges and more devcon4 learnings and community engagement for the core dev team this week.
Devnet: Implemented the bootstrap scenario. Improved infra and refactoring some of its interfaces. Merged #46 .
Poet (VDF) black-box reference go prover: Added support for pluggable hash functions and for scrypt-based hashing. Pref optimization based on profiling and benchmarking. Open source go prover: #9 code review in progress. Come build VDFs with us.
General Update
Dev
Merged PR: listening port is now sent in handshake
Gossip is in testing phase in branch p2p-gossip
Published gossip protocol design doc
Testing RPC api functionality in the TLV hackathon branch
Work in progress on the core proofs of elapsed time (POET) server go implementation by open source contributors
Code completed and heavily testing new black-box POET prover and verifier GO implementation based on the shared spec
Work started on the POET protocol spec implementation. Spec draft updated with more details
Work started on many Spacemesh App feature tasks by open source contributors. Join us here
Gitcoin funded several dev tasks to tip open source contributors with cryptocurrency
Extensive work on the DEVNET, that could test system scenarios on our decentralized network is gaining momentum. This week we managed to create some basic scenarios that included interaction between several P2P nodes. PR #42 merged plus 8 additional merged PRs
Community
Hosted @rzurrer from Polychain capital for a nice Cryptoeconomics fireside chat with @tomerafek in Spacemesh TLV HQ
Announced the first Spacemesh NYC meetup - join us downtown next Thursday. RSVP for free
Published Tal Moran CESC 2018 Spacemesh protocol slides
Hosted the Liberthon TLV hackahton prep meeting at Spacemesh TLV hq
General Update
Tal Moran, presented the Spacemesh Protocol in #cesc2018. Video is coming soon. In the meantime check out these nice live notes from @Haseeb
Tomer Afek, Spacemesh co-founder spoke about Blockchain Fairness in SF Blockchain Week and Iddo Bentov presented Spacemesh in the tech track
Core dev team go-spacemesh project updates:
On-going dev work at full steam ahead on p2p and the consensus protocol
Set requirements for the Transaction processor and Account DB - two components that are representing the node's internal view of the mesh
Set requirements for the mesh sync protocol that will allow a node to get the current mesh state for which a consensus can be proved
Fixed a bug in the connection cache where in case two node's tried to simultaneously connect to each other they ended up with both connections getting closed
Fixed a bug in the secured session where due to the nature of the crypto package that we are using, the decryption of messages that got encrypted and sent on the wire in different order failed.
Made the listening port configurable and allowing nodes to discover other node's listening port using dht's discovery protocol
The Spacemesh devnet cloud testing environment is getting into shape currently it supports spawning full nodes with agents that poll commands from the automation server that sets off node's api calls. Soon it will support testing bootstrap scenarios
Join our upcoming Tel Aviv Hackathon - Hack the future of nations The first hackathon for reinventing the way countries work using P2P decentralized technologies
We are hiring full time blockchain developers in New York and in Tel Aviv! New positions here
Proofs of Elapsed Time (POET) MVP spec published and reviewed by our research team and dev work started by open source collaborators. We are actively looking for additional open source contributors for this project
Product work completed for the first version of the Spacemesh Wallet including detailed use cases and UX. Dev work started by open source developers. Join gitter our dev talk here. Good progress with contributors breaking down spec to good github dev tasks.
We are proud to be able to tip open source contributors with cryptocurrency via Gitcoin and to appear at a nice spot among great other blockchain projects on this leaderboard. Watch this space for additional bounties
Launched new public product repo for all Spacemesh high-level product work and published a draft of the high-level product plan
General Update
Dev and research teams update: work in progress on tasks mentioned in last week's update
Published protocol stack - a series of personal blog posts from developers about interesting technical challenges involved in their work on the Spacemesh protocol.
Published a new welcome to Spacemesh video to explain some of the project’s core ideas and concepts /
Hosted a “blockchain reality check” panel in SpacemeshTLV rooftop with great panelists including @hosseeb, @heatherharde ,@cryptomanran, @tomerafek and @yaronsamid MCing
Announced new funding and partnerships with Metastable, Polychain, Coinbase, 1kx, Dekrypt, Slow Ventures and others. See: /funding/
Talked about fair protocols beyond POW and PoStake at Dezentral in Berlin and Aviv Eyal from the team participated in the Beyond Ethereum panel
General Update
Our dev and research teams are working on the Gossip p2p protocol and the Tortoise & Hare consensus algorithms. This is a multi-week ongoing effort as these tasks are at the heart of the Spacemesh protocol
2 new full-time developers have joined our growing core dev team. We are actively hiring strong crypto developers who make quality contributions to one of our open source projects
We published a draft requirements and design for the Spacemesh public proof of elapsed time (POET) service. We fully work in the open on this (and all other projects) so you are welcome to join and participate in the api design phase
Some good product and UX work on the Spacemesh Wallet and Dashboard App. We have finalized the requirements and the initial user experience and posted everything to the repo
We reached the alpha milestone for Spacemesh Cosmic - our open source seed project for building hyper-universal apps (desktop/mobile native/web). You can use Cosmic to build your own universal apps. We are using Cosmic ourselves as the base app scaffolding for the Spacemesh App. We also tipped major contributors for their voluntary work on this project using gitcoin bounties
Next week... we are speaking about race-free and asic-resistant consensus in dezentral.ion . Come see us if you are coming to Blockchain week Berlin!