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:


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:

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:

  1. Novel and profound technological breakthrough

  2. Novel and profound social/political agenda

  3. 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:

  1. 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.

  2. 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)

  3. 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.

  4. 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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  1. Rather than having abrupt “halvenings”, Spacemesh issuance decays predictably and gradually with every layer.

  2. 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.

  3. 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

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.

  • Read more here (15m. read) on Spacemesh Vision For Cultural Evolution.

  • The philosophically-inclined reader may also enjoy this (26m. read) complementary longer essay.

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:

  1. Missing message: a message was expected never arrived.

  2. Invalid message: when the signature of a message is not valid, or the message binary structure is incorrect or the eligibility proof is incorrect.

  3. 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

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

We released v0.2.2. Check out the release notes for a list of new features and bug fixes.

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

Implemented basic auto-updating mechanism

Various UI fixes.


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

#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

TweedleDev 210 is the longest-running devnet build so far, going strong for over two weeks. Instructions and resources to join are available here.

go-spacemesh

We’ve been mainly focused on improving the Tortoise and Self-Healing consensus modules, RPC API fixes, and starting the “unified content blocks” improvement proposal implementation (see https://github.com/spacemeshos/SMIPS/issues/68 and https://github.com/spacemeshos/pm/issues/100).

Smapp

We released Smapp 0.2 beta 0 with several major new features and lots of enhancements.

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

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

TweedleDev 209 is ready to be joined by the community! Instructions and resources to join are available here.

go-spacemesh

The replacement of our custom p2p layer implementation with libp2p was completed. In addition, we introduced various improvements to our core protocol implementation, first and foremost to Tortoise, which was further optimized and its rerun is now implemented as a non-blocking procedure.

Research

We’re in a focused research sprint to finalize all outstanding research items for 0.3 this month. We’re working on final specs for rewards, nonce scheme, and our unified account design.

SVM

We’re continuing our integration efforts and platform documentation (1, 2, 3)

GPU-POST lib

Added native support to M1 and to Linux Arm-64 platforms. (1, 2)

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

TweedleDev 208 is ready to be joined by the community! Instructions and resources to join are available here.

go-spacemesh

We are in the last stages of replacing our current custom p2p layer implementation with libp2p. The integration is currently being reviewed and tested in a private devnet, and is expected to be merged soon.

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

We’re continuing our integration efforts and platform documentation.

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

TweedleDev 207 is up and ready to join. As with previous devnet releases, this is a technical preview that can currently only be run with the CLI/SMRepl,. Instructions to join are here.

go-spacemesh

Lots of important improvements to components including tortoise beacon, layer fetcher, sync, database, and metrics

Research

Research is laser focused on finishing implementable specs for the remaining design tasks on the critical path to genesis, including: transaction syntax, encoding, selection, and processing, economics/rewards/incentivization, account unification, and receipts/events/logs design. Watch this space as we’ll share finalized specs here in the coming days.

SVM

Further development work on go-svm for SVM integration.

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

We are still working on getting Smapp 0.2 code complete and will release it to devnets and testnets as soon as it is ready.

Research

Continuing to work on finalizing the research roadmap for the next major milestone (0.3). This includes finalizing things like transaction selection, rewards, and account abstraction.

SVM

Made progress towards full SVM integration, which is expected to take place during the following weeks.

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

We plan to launch Tweedledum as soon as Spacemesh 0.2 is a bit more stable and Smapp 0.2 is ready.

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

Shipped new release for TweedleDev with several bug fixes.

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

Welcome to the all-new Spacemesh website! Not only does it have an all-new look, but it has an all-new focus: you, our community. This site is designed to be messed around with, so be sure to keep an eye out for some hidden surprises. ;)

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

We’re focused on finalizing the designs for account unification, including how to generalize nonces, transaction selection, and rewards.

Spacemesh Dev

Initial dev work on initial version go-ledger-sdk is complete and waiting to be merged. This library is designed to deliver support to the Spacemesh Ledger App to golang clients such as smrepl.

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.

Initial Spacemesh API update for Spacemesh 0.3

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

Spacemesh is looking for a strong Electron developer to work on the Smapp (Spacemesh App frontend) for a fully remote/WFH position. Full details here

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

We merged one of the biggest, most important updates that’s been in the works for a long time: variable-size PoST (#2039. This will allow users to commit a variable amount of storage space on future networks, rather than a single fixed amount of space.

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

We finalized our economics plan, and will be announcing it publicly in the near future.

SVM

Spacemesh Dev

Spacemesh is looking for a strong Electron developer to work on the Smapp (Spacemesh App frontend) for a fully remote/WFH position. Full details here.

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

Building Call-Graph as part of the static-analysis (for the “Fixed-Gas”).

Spacemesh Dev

There are two open positions in Team Spacemesh! We’re looking for a strong core developer and a strong Rust developer to join our dev team from anywhere in the world. We also offer a $5K USD referral bonus for both of these positions.

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

The design of self-healing is finalized and it’s moved into implementation.

Spacemesh Dev

There are two open positions in Team Spacemesh! We’re looking for a strong core developer and a strong Rust developer to join our dev team from anywhere in the world. We also offer a $5K USD referral bonus for both of these positions.

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

New open position in team spacemesh! We’re looking for a strong core developer to join our dev team from anywhere in the world. We also offer a $5K USD referral bonus for this position.

Product

We launched a new platform documentation site which currently includes the Spacemesh protocol docs. Docs are now fully searchable and versioned.

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

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!

Explore the testnet.

Join the Testnet from your computer.

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

Our Discord server has reached 1,387 members! Join the conversation today.

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!

We’re looking for strong go-developers to join our global core dev team

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

We are working on migrating the app to work with the new Spacemesh API.

Community

Our Discord server has reached 1316 members!

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!

We’re looking for strong go-developers to join our global core dev team

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

We are working on the following major updates to the app: use only the new Spacemesh API, support the new 0.2 transaction format, and include many user interface improvements and additional new features such as vaults and a new new user experience flow.

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

Our Discord server has reached 1154 members!

Spacemesh Open Testnet - Tweedledee

Over the weekend, open testnet 122 experienced an issue that caused layer verification to fail. We are investigating the issue and will launch an updated testnet as soon as we have verified a fix.

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.

Added ataxid and smesher id to api bloc.

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

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

We completed a major update to the Spacemesh reference CLI wallet. It now works using the new and robust Spacemesh API. Many new commands and features were added. The wallet is designed to work with a go-spacemesh full node for users who want to join the Testnet without using Smapp.

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

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

Tweedledee died on Friday, November 6 and has just been resurrected. You can download the latest Spacemesh App and join the latest testnet (network ID 120) here. A postmortem is available. Tweedledee should now also run fine on MacOS Big Sur.

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

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

Formal specification proof-of-concept using TLA+.

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

We released a new build of the Spacemesh Application. Downloads and release notes can be found here.

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

We added an interactions guide for all major new smapp 0.2 features.

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

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

The Spacemesh Research team is focused on completing the academic paper of the updated Spacemesh protocol, as well as completing a self-healing protocol to recover the Spacemesh network in the event of an attack or network split. The team is also formulating an updated rewards scheme for smeshers who participate in the protocol and submit blocks to the network.

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

Our protocol site now has a dark mode.

Community

Our discord server now has 585 members!

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

Major update to the storage layer of SVM 0.2, the Spacemesh Virtual Machine based on design review sessions.

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

Check out our protocol documentation if you haven’t already. We just published a new section on P2P.

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

We have final visual mocks for our reference dashboard and explorer, and for the oft-requested dark mode for the Spacemesh App. We’re working on developing and launching these apps, and would love to hear what you think!

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

Lane Rettig posted part VI in his “The key ingredients to a better blockchain” blog series, this time covering privacy.

We launched our open Discord community with many new channels. Please join here, if you haven’t already.

Update #59 - Week 1 + 2 - March 2020

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!

Follow the white rabbit...

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.

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.

Merged issues

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.

closed issues in smapp repo.

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)

check out the repo

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.

Smesher

We have been testing the nodes sync and transaction processing, investigating memory leaks as well.

Merged issues

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

closed issues in smapp repo.

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)

check out the repo

Community

Testnet is coming soon. sign up to be a Smesher on testnet

SVM

We are refactoring the codebase of SVM.

check out the repo

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.

Merged issues

App

App receives rewards from Smeshing, notifies the user about each reward, displays the correct Smesher log-in screen.

closed issues in smapp repo.

Community

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.

closed issues in smapp repo.

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.

Merged issues

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

Smesher

  • Performing acceptance testing of the infrastructure for Testnet.

  • Running functional testing of the node to identify gaps and bugs.

  • Merged issues

Spacemesh Virtual Machine (SVM)

Community

Spacemesh Co-founder Tomer Afek's article has been published by Cointelegraph Spain. Cómo la tecnología Blockchain y las criptomonedas están preparadas para cambiar el balance de poder en el mundo

App

Continuing to work hard on TX statuses and auto-update functionality for Mac and Windows.

closed issues in smapp repo.

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.

Merged issues

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.

closed issues in smapp repo.

Go-Spacemesh Smesher

Revised some of the PoET APIs

Added VRF validation to Hare messages

Refactored our logging Infra to support different log levels.

Merged issues

Spacemesh Virtual Machine (SVM)

Adding gas-metering for a restricted set of wasm. Issues defined here

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

issues in smapp repo.

Go-Spacemesh

The node's core protocols are code complete, only thing left are minor changes in the Smesher's API.

Merged issues

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

Merged issues

App

wrapping up loose ends in the UI, including auto-update

issues in smapp repo.

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

additional QA on app latest build to get it ready + enumerate all missing features - see new issues in smapp repo.

Go-Spacemesh

We are writing documentation and adding comments to code in preparation for open testnet.

Merged issues

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)

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.

Merged issues

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

Various bug fixes. See

Defined end-user labeling of TXs here

SVM (Spacemesh Virtual Machine)

Focusing on the Golang binding to SVM - Spacemesh virtual machine repo

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.

Merged issues

Community

App

Getting app functional on Windows and Linux (Ubuntu) in addition to MacOs

App testing on five-node local network, initial sandbox integration

Merged fixes

Go-Spacemesh Client

Spacemesh Virtual Machine (SVM)

Stabilization efforts continue.

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

New blog from Lane Rettig

Spacemesh CEO Tomer Afek quoted in Forbes

App

Fixes and improvements after 2 rounds of reviews and QA, moving forward to full integration with node. Fixed bugs

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

Merged issues

Spacemesh Virtual Machine (SVM)

We are continuing to stabilize the codebase before moving towards the next milestone, which is a standalone smart contracts vm based on wasmer with fixed storage / no gas metering.

Research

We apologize for the break in weekly updates and are recommitting to ensuring that they are published regularly moving forward.

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

The App team is completing the first round of QA and design review for the new visual look. We are preparing to publish version 0.0.1.

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)

We are stabilizing the codebase before moving towards the next milestone, which is a standalone smart contracts vm based on wasmer with fixed storage / no gas metering.

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

The App team is focused on implementing the new visual look for the App for the open testnet milestone

go-spacemesh Client

The go-spacemesh team has been working hard on fixing bugs and preparing the client for our upcoming open testnet. Merged issues

Spacemesh Virtual Machine (SVM)

Good progress on the Spacemesh virtual machine project - the runtime for execution of smart contracts in the Spacemesh platform

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

This week we’ve introduced sending poet proofs by gossip and added Block and ATX syntactic validation checks on data received from gossip network. We are moving forward towards a local test net able to run few instances on a local environment. We are also moving ahead with our scaling efforts, testing out different number of participating nodes, fixing bugs as we go on.

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

This week the core dev team was focused on getting the platform ready for the local testnet milestone. The goal is to have a working dockerized local testnet running on a dev box. For details see https://testnet.spacemesh.io/#/local . The app dev team has been working on integrating the full node process into the app on node transactions integration.

Community

App

Focus is on node integration for getting transactions and statuses and on error handling across the app.

Full node

Added ed21599 signatures to transactions and made the p2p addressbook persistent to store, and configurable from store. we've added numerous improvements to our automations tests and to the framework itself, as a preparation for more rigorous tests.

Community

Spacemesh Epicenter.tv episode broadcast: https://epicenter.tv/episode/291/

Full Node

Eligibility oracle but fixes and work on stabilizing and refining mining and p2p tests

App

Misc UI improvements

Create new addresses logic and UI

App

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

The team is working hard on stabilizing the full node for our upcoming testnet milestone. We are running mining flows and handling bugs related to data availability, p2p and various memory performance issues.

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.

POST protocol implementation

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

ATX edge case handling

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

Tal Moran's paper Simple Proofs of Space-Time and Rational Proofs of Storage accepted to Crypto 2019. The protocols described in the paper are used in the Spacemesh protocol for proofs of Space Time and help Spacemesh create a permissionless, fair cryptocurrency without resorting to POW or PoStake mechanisms.

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

NYC people - join us on May 13th for this free special event - NYC Blockchain Deep Tech Fireside Chat - space is limited so RSVP now...

Tech

NIPST builder running POST inside a full node node. Use PoET as local or remote server via RPC

Optimized gossip propagation

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

Settings tab part 1, 2 and 3

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)

Spacemesh App (Wallet + Full Node)

Lots of merged PRs for the core App screens

Local node UI improvements

Backup Wallet Screen in Wallet tab

Backup Wallet to file logic

Transactions Tab (with stab data)

Latest Transactions View in Wallet Overview (with stab data)

12 Words backup screen

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 receive coins screen

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

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

Updated hare consensus protocol implementation 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

Added genesis state configuration

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

Sync architecture wiki

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!