Distributed Ledger Technology (DLT has come a long way since its humble beginnings in Satoshi Nakamoto’s 2008 Bitcoin white paper. For NEM, Symbol is the latest stage in the development of a next-generation enterprise optimized chain which addresses the core issues associated with DLT.
The development of the Symbol protocol has been guided by a set of fundamental principles including trustlessness, performance optimisation, and layered architecture throughout the technology stack.
While other DLT protocols were considered, including (Directed Acyclic Graph) DAG and (Delegated Byzantine Fault Tolerance) dBFT, blockchain was quickly chosen as the technology most true to the ideal of trustlessness.
Although such a choice sacrificed some throughput relative to other protocols, it was a decision made to preserve the philosophical underpinnings of the technology as a fundamentally decentralized ledger.
Scheduled to launch later this year, Symbol will make a significant impact on blockchain enterprise adoption among both newcomers and experienced developers in the space. An open-source project, Symbol provides unique technical benefits to enterprises in terms of its array of user friendly configurations, scalability and network security. The next generation of DLT is here.
The Symbol blockchain platform is built from a layered network of nodes. Peer nodes form the backbone of the network, the first layer of the layered node architecture. These nodes provide a powerful, stable, and secure platform where transactions are conducted and immutably logged on the blockchain ledger.
The second layer consists of Dual Nodes, or Application Programming Interface (API) Nodes, as they are also called. This layer consists of a combination of Peer nodes and REST Gateway nodes, and their functionality is extended when run in conjunction with each other.
REST Gateway nodes form the third layer of the network, providing a powerful interface for developers to interact with. These nodes are intended to add functionality, increase usability and scalability, and may be run independently from peer or dual nodes.
The fourth layer of the network consists of Software Development Kits (SDKs) and applications. Symbol SDKs have been carefully developed with interoperability and ease of use in mind: the architecture, naming conventions and APIs of the SDKs are mirrored, when applicable, across languages. This means that any developer who has built an application on Symbol using JavaScript/TypeScript will be able to switch to another language with ease. SDKs also eliminate a high degree of complexity, dramatically decreasing developer onboarding overhead and required development time, allowing project owners to truly focus on building high value products.
The overall layered architecture enables the updating of any individual tier without disrupting the others, reducing network upgrade and maintenance overhead. Additionally, the layered architecture allows developers to interact with the network depending on their discrete needs, be it performance, usability, customizability or rapid proof of concept (PoC) development.
Disappearing transactions are a common plague of projects, since all blockchains to-date drop failed transactions from the network records to prevent blockchain bloat. Symbol’s tiered architecture solves this issue through the retention of particular data, such as multi-signature transactions that did not receive sufficient co-signatures prior to the transaction deadline. This data is stored and accessed by Dual and REST Gateway nodes.
This feature allows the number of peer nodes in the network to scale without storing data that isn’t required for consensus, while the Dual or REST Gateway nodes maintain additional records to provide extended functionality. Symbol has achieved 100 transactions per second in public network testing and 3,000 transactions per second with private network configurations, while blocks confirm at 15 second intervals. It should be noted that the final transactions per second on the public network is subject to change depending on the results of the testing phase.
To facilitate the implementation of more complex functionality required for enterprise solutions, Symbol introduces the concept of plugins and extensions - NEM’s answer to smart contracts.
Commenting on the power of plugins and extensions, Jaguar, a NEM core developer said: “Symbol allows building modular homes, whereas Turing complete chains (e.g. ETH) allow building custom homes from scratch”
The plugin model limits the operations that can be performed on a blockchain relative to a Turing complete enabled blockchain, consequently having a smaller attack surface. The Symbol whitepaper states: “It’s much simpler to optimize the performance of a discrete set of operations than an infinite set, which helps Symbol achieve the high throughput for which it was designed”
While smart contracts can facilitate greater user flexibility, they’re also more prone to human error. This weakness is one users have become keenly aware of as Turing complete on chain contracts have experienced issues with scalability, usability and security over the past few years.
Platforms that enable such functionality are exposed to a greater risk of hacks, with regular reported breaches leading to million dollar losses for many companies. NEM has solved these problems through the implementation of plugins and extensions, a breakthrough in blockchain technology which provides a well defined interface that allows developers to quickly and easily add new features to the Symbol protocol, without needing to modify the Symbol core code or worry about affecting any other features.
Consensus
Symbol has developed a novel consensus mechanism called PoS+, based on Proof-of-Stake and modified with an element of weighting from network activity and contribution to the node network. These elements include the number of times an account is the beneficiary of a node service fee, as well as the fees paid by a given account in the last 1433 blocks or approximately 6 hours. The weighting is configurable per network deployment and will be set to 5% on the Symbol public network.
Harvesting
Symbol has inherited key features from the original NEM public network, which the core developers have improved upon. On NEM V1, Delegated Harvesting allows users to delegate an account’s importance (aka. stake) - but not the account balance - to another empty account that the user owns. Users can then use this second account’s private key to securely harvest (aka. staking) on a remote node, without aggregating funds into a single account, preventing the centralisation of harvesting power or funds. The root account retains the rights over the stake delegated and may revoke it at any stage.
Persistence has been added Delegated Harvesting on Symbol so that a node won’t forget which accounts to harvest with after a reboot. Users may also configure their node to have a number of different “personalities” in regard to hosting harvesters and processing transactions.
Tangible examples include: dropping lower importance accounts that request to harvest on the node in favour of higher importance accounts, benevolently accepting zero fee transactions, prioritising on a first come first serve basis or prioritizing transactions with the highest fees to maximise profits.
An important note to make is that with any block rewards, whether earned directly through harvesting on your own node, remotely via a third party node, or through the node service fee, the rewards are issued directly from the block to the end beneficiary. This effectively avoids any potential regulatory concerns around money transmitter licenses, since users are not forwarding rewards to their delegates after harvesting a block.
Node Ownership and Harvesting Incentivisation
Blockchain networks have long struggled with incentivisation of nodes and this is yet another issue that Symbol solves. In Symbol, Node owners will benefit from a network wide service fee charged to harvesters, awarding the node owner 25% of any block rewards earned by the remote harvesters hosted on a given node.
Each node will be required to designate a beneficiary account to which the 25% service fee will be paid. Since users have autonomy on the beneficiary they set, users are capable of being altruistic and designating rewards to a charity address, for example, or to an address used to fund end user expenses incurred from an application they may have released.
As part of the Symbol launch, and a broader plan to incentivise node ownership, eliminate reliance on supernodes and decrease the centralisation of funds, the NEM Core team have agreed to not opt in, or “burn”, over 1.17 billion tokens from the NEM Core funds They will reintroduce them to the Symbol network in the form of block rewards for harvesters. Block rewards will be mapped to the release schedule of bitcoin but with a smoothed block reward reduction schedule as seen below.
Rate of decline of block rewards - XYM mapped over BTC to visualise the smoothing of block reward halving
There is no requirement to hold XYM to run a node, and the node may earn node service fees by hosting remote harvesters as part of Symbols decentralised and trustless staking-as-a-service mechanism.
However, if a node owner does hold XYM, yield is greatly increased while the financial and maintenance Opex cost of running a node remains low. This combination makes Symbol highly competitive in comparison to many of the validator centric PoS systems.
Example model of potential future revenue generated from running a node with 3,000,000 Symbol XYM.
Multi-Layer Multi-Signature Accounts
NEM has always made security a top priority, being the first in the industry to support fully on-chain multisignature accounts. This was a breakthrough in technology not seen before until NEM launched NEM v1.0 in 2015. It appears NEM’s focus on security has only sharpened since then, bringing Symbol to market with the first ever on-chain, multi-layer, multi-signature accounts.
Example of a 3 level multisignature account.
With multi-layer multi-signature accounts, a co-signatory of a multi-signature account can itself be a multi-signature account with its own set of co-signers. This allows users to simply and easily create complex signature requirements; also called “delegated financial authority” in the world of finance.
The Symbol public network will allow up to 25 co-signers per account, and a maximum depth of 3.
Aggregate Transactions and Atomic Cross Chain Swaps
The utility the Symbol platform is further exemplified through a novel feature called aggregate transactions. Aggregate transactions allow for multiple transactions involving multiple transaction signers to be processed in an “all-or-nothing” batch of transactions wrapped in a single outer transaction.
This powerful addition to the technology stack allows for trustless, peer to peer, multi-party asset swaps or trades. Beyond these functions it’s possible to issue any transaction available on the platform such as multisignature transaction signature transactions, mosaic issuance, and namespace renewal, as part of an aggregate transaction. Only aggregate transactions cannot be nested in an aggregate transaction.
App Provider Paying the fee for Alice's app usage trustlessly in real time using aggregate transactions
As powerful as this feature is, the number of transaction types available for use should increase as developers become acquainted with the new plugin system, in turn further increasing the utility of aggregate transactions and opening up a greater number of use cases and solutions.
As well, users are not restricted to implementing trustless asset swaps within a given network. Symbol implements a simplified yet still compatible implementation of the atomic cross chain swap transaction standard outlined in the Bitcoin wiki.
Implementing this standard ensures cross-platform interoperability. This enables token swaps between public and private chain networks, in addition to other platforms that implement the same standard such as Bitcoin and Ethereum.
Atomic Cross Chain Swap Sequence Diagram
Aliases
Symbol will support an alias system, allowing users to apply an alias to tokens on the network and also to standard accounts. What this means is that a user can register an alias of John.Doe and assign that alias to their network address. Using the alias makes long addresses memorable and mosaics recognizable.
Other users in the network will be able to interact with the alias instead of the easily forgotten addresses traditionally used on blockchain platforms. This is a huge development in terms of UX that should assist Symbol in breaking into the mainstream user base that is often alienated by the high degree of technicalities and user unfriendliness associated with many blockchain platforms.
Meta Data
Symbol provides the option to associate metadata to an account, mosaic, or namespace. The most common uses of metadata are to attach relevant information to assets and to validate the value attached in order to enable users of an application to perform an off-chain action.
Metadata entries are stored on the blockchain - like the message of a regular transfer transaction - but also as a key-value state. Storing metadata as a key-value state reduces the reading time associated with client applications, while allowing information to be accessed efficiently.
The account, namespace or mosaic creator must opt-in to all metadata requests received by giving explicit permission to assign the metadata. In practice, this means that all metadata transactions must be wrapped in an aggregate transaction.
The account to be assigned metadata should co-sign the aggregate to record the metadata on the blockchain, and thus update the asset state. In the next section we discuss Security Tokens, which relies heavily on metadata.
Token Configurability and Compliant Security Tokens
NEM has traditionally been quite an asset centric platform, allowing the issuance of configurable assets, in NEM platform terms. Symbol again takes this concept and crams it with new innovative modifications and improvements such as Mosaic Restrictions. There are numerous configurations for mosaics, but for the sake of brevity we will focus only on those that allow for the issuance of Security Tokens.
Example transfer & ownership restrictions imposed on an STO compliant asset on the Symbol blockchain
Mosaic Restrictions allow asset issuers to restrict who can transact the assets they issue on a per asset and per account basis, providing the ability to whitelist accounts that want to transact the mosaic. The management of mosaic restrictions can be delegated to a third party such as a broker or KYC provider who maintains the white list.
The mechanisms used to achieve this feature are elegant, scalable and low-to-zero cost, providing the functionality required to issue compliant security tokens, without the complexities, cost, or risks of Turing complete smart contracts.
The NEM community has chosen to go with an “opt-in” method to launch the new Symbol network. A snapshot of the NEM V1.0 blockchain will be taken shortly before the launch of Symbol. This means that the amount of XEM in your NEM V1.0 wallet at the time of the snapshot will be the amount of XYM you will receive on the Symbol network once it launches.
Prior to the launch of Symbol, users will need to opt-in to the new network by using a special feature in the NEM V1.0 wallet. Users who miss the opt-in deadline but have XEM in their account at the time of the snapshot will have 6 years post launch to claim their XYM.
Namespaces and multisignature account configurations will also be migrated to the Symbol network as part of the opt-in process, while all other data will remain only on the original NEM platform.
Future releases will offer tools to assist in the migration of any user issued tokens on the platform for users that wish to do so, but this feature will not be managed by NEM. Further details on how to opt-in are currently being finalised and will be released via NEM’s community and media channels in the near future.
After four years of development Symbol is finally close to launch. Its impact in the blockchain space will be significant: no other platform can offer users the same benefits with a chain optimized for enterprise adoption through the unique features of plugins and extensions, and free from the security risks posed by Turing complete chains.
The lucrative, yet low cost node and harvester incentive mechanisms and network architecture address some of the most pressing issues of DLT, including configurability, security, usability and scalability. By doing so, NEM ensures that Symbol will be a stable, powerful and economically competitive network suitable for a wide range of existing and novel use-cases straight out of the box.
The Symbol public test net is currently underway, with the public mainnet scheduled to launch in mid 2020. Go here if you would like to try it out.
References & Credits
Symbol White Paper: https://nemtech.github.io/catapult-whitepaper/main.pdf
Symbol Technical Documentation: https://nemtech.github.io/
Symbol Tokenomics Proposal: https://forum.nem.io/t/migration-committee-catapult-tokenomics-proposal/23979
Symbol Source Code: https://github.com/nemtech
Symbol & Nem Discussion Boards: http://nem2.slack.com & http://forum.nem.io/
Full Disclosure: The author of this article has investments in NEM