Before we get started, let us offer you a “crash-course” on the different components that make up Synapse. (If you are already familiar, feel free to skip to the next section).
Synapse is comprised of a few critical components: The beacon module, validator modules, shard modules, and relayer modules.
The Beacon Chain is what handles all of the proof-of-stake and validator registration transactions, and acts as the “main” network chain that links all of the Synapse shards together as one secure, integrated blockchain ecosystem.
Validator Modules interact with the beacon module. These modules are what produce the blocks for the beacon chain, and handle the user-end of the proof-of-stake functions. They commit to providing specific services to the Synapse network. There is a system of payment rewards and penalties that make up a core part of the enhanced security of the Synapse network, and provide a way for every Synapse user to actively participate in securing the Synapse network and receive payments in return for staking and related services. They also run separately from the Synapse wallet, which will allow us to support secure “cold staking” and even staking for balances held in mobile and other light node Synapse wallets.
The Shard Module acts as the “executor” for all of the side-chains. It executes the code for the side-chains and keeps them in sync with the beacon chain (see above).
The Relayer Module is the data management portion of the system and keeps track of the entire state of each shard. “Relayers” then package up transactions to be submitted to the network and advertise these packages to validators. Validators can then ensure that the packages validate without the entire state. This module allows validators to execute transactions without syncing the entire state, which allows for both enhanced security a much better user experience, because even full node user wallets will not need to download and validate a copy of the entire blockchain history — syncing wallet balances and transactions will be orders of magnitude faster.
Get excited… we are in the final stages of internal testing.
In our last progress report, the primary remaining development task was to finish coding the communication between the shard and relayer modules. While the code had been essentially complete for the relayer module, the sharding module needed finishing so that communication could operate in both directions.
We are happy to report that the communication between these modules is complete and functional. This is critical to the block creation process, as it ensures that the proper transaction packages are “relayed” into the chain.
The development team is now conducting internal testing via Travis CI — a continuous integration service that integrates well with our Synapse source code on GitHub and allows projects to test their code after each code change automatically.
Now with a fully-functional version of Synapse, Travis CI was able to successfully run the core Synapse protocol. Check out the link for details:
If you know what you’re looking at, the results are pretty exciting. (Hint: Travis was successfully spinning up Beacon/Shard/Validator nodes).
You can expect announcements on a public testnet very soon!
Work To Be Done:
The next steps are to add the necessary wallet features to test transactions and make sure they function correctly, along with some basic debugging to help ensure we are delivering high-quality code.