Hard Fork “Speedway”: Preparing Signum for mass transactions and more…

Signum
Signum-Network
Published in
7 min readOct 3, 2021

--

Signum Speedway

Signum is a pioneer of truly sustainable, decentralized blockchain solutions, an alternative to wasteful Proof of Work and centralized Proof of Stake systems. First developed in 2014, Signum has been at the forefront of blockchain technology with the first implementation of smart contracts. Since 2019, the Signum-Network has been preparing the Signum blockchain for the next decade.

PoC+

With the last hard fork at block 875,500 (24th of April 2021), Signum introduced a new consensus called “Proof of Commitment”, or PoC+ for short. PoC+ is a hybrid method that combines Proof of Capacity (PoC) and Proof of Stake (PoS) into a new sustainable and secure algorithm for the Signum blockchain. A more detailed description of the PoC+ consensus can be read here.

Hard Fork Speedway

After the successful introduction of the new consensus, the next logical step for the Signum-Network was to prepare the Signum blockchain for mass transactions and to limit potential blockchain growth (database size) by storing data as efficiently as possible.

The upcoming hard fork “Speedway” at block 941,100 (around 23rd of October 2021) will allow Signum the possibility to use the full potential of the current block size, further optimize the PoC+ consensus, and introduce a new way to store smart contracts more efficiently.

Summary of the hard fork “Speedway”

New Fee Structure

Signum currently has a slot-based fee schedule and mechanism that was implemented to prevent spamming of the blockchain and to increase rewards for Signum miners. With this system, some transactions can remain unconfirmed for several blocks due to the limited number of minimum fee slots available. This hard fork replaces this schedule with a market-based system that results in better block space utilization and user experience. It also reduces memory resource utilization for network nodes by allowing all valid transactions to be confirmed, subject to the maximum includable per block. For Signum miners, the consideration of increased mining rewards was accomplished through the addition of minimum block rewards (implemented in a previous hard fork (CIP-29). Cumulatively, these realignments are advantageous on many levels, making the Signum network more streamlined, more sustainable, and faster.

The slot-based fee enforcement mechanism will be removed from the protocol and replaced with a market-based structure where the minimum fee of 0.00735 will be applied to most transactions based on the transaction’s on-chain byte length (0.00735 Signa per 176 bytes). This opens the speedway for Signum and allows the current block size to be fully utilized (CIP-30).

Fees will be calculated as follows:

0.00735 Signa * (transactionBytes / 176) * MinimumFeeFactor

MinimumFeeFactor per transaction subtype is defined as follows:

New Fee Structure

Note that the above computation uses the floor function and so any transaction with fewer than 176*2=352 bytes would pay a fee of 0.00735 Signa as fee. Larger transactions, with many bytes attached, multi-outs with many recipients, etc., would pay a bit more fee.

Examples

  • Add commitment: 184 bytes, pays 0.00735 Signa
  • Send ordinary transaction (176 bytes): 0.00735 Signa
  • Add commitment (184 bytes): 0.00735 Signa
  • Deposit to exchange (with memo) (245 bytes): 0.00735 Signa
  • Place token order (201 bytes): 0.00735 Signa
  • Send a transaction to an extended address (with public key attached) (209 bytes): 0.00735 Signa
  • Create subscription (181 bytes): 0.00735 Signa
  • Send a multi-out transaction with maximum recipients: (over 1,200 bytes): 0.0441 Signa
  • Send a message with maximum attachment size: (over 1,200 bytes): 0.0441 Signa

As can be observed,the minimum fee of 0.00735 Signa still applies to most transactions, but larger transactions pay a higher fee based on byte length. Note that alias and token creation are adjusted via MinimumFeeFactor as special transaction sub types.

PoC+ Refinements

The introduction of PoC+ to Signum has already shown empirically that this new consensus can produce much more decentralized networks than PoW, PoS, or PoC. This hard fork further refines its parameters to produce a more stable average commitment as well as increased security.

The following refinements to the PoC+ protocol, adopted from CIP-32, are included:

  • Average commitment to be estimated using a moving average of 96 blocks instead of 24.
  • Cumulative difficulty to use the average commitment of the block which is 1,440 blocks in the past, as well as the latest block’s average commitment (previously, only the earlier block was used).
  • Newly added commitment to become active for mining after 1,440 blocks (4 days) instead of 60 blocks.

There will be 3 different block windows for estimating a miner’s effective capacity (instead of only 2):

  • Past 360 blocks (1 day) if a miner has forged 2 or more blocks in this period.
  • Past 1,440 blocks (4 days) if a miner has forged 2 or more blocks in this period (this is the additional one).
  • Past 32,400 blocks (3 months) otherwise.

On testnet, with these changes, network average commitment oscillation was greatly reduced as shown in the following graph. The upgrade took place at block 338,090.

PoC+ new parameters playing out

Consensus Security Enhancements

By increasing the number of blocks for commitment to become active to 1,440, it becomes impossible to manipulate the system by reverting commitment transactions. By increasing the minimum miner capacity, any temptation to get an edge by splitting capacity into different accounts, replotting after forging blocks, or generating plots on-the-fly/in-memory with GPUs is reduced.

Carbon Contracts

Signum, well known for the development of forefront technology, created Carbon Contracts as a new way to efficiently store smart contracts on its blockchain when multiple contracts use the same machine code, for example, NFTs.

Carbon Contracts — many of the same

Motivation

Anyone can write a smart contract and deploy it to the Signum blockchain. Once deployed, a unique address is assigned to the contract and anyone can interact with it. The deployment is accomplished by a transaction that has the contract code (its rules) attached. This transaction and its attachment have to be stored forever, which causes the scalability problem that many chains face today. Many platforms simply choose to increase the block size and reduce block times, allowing the deployment of very large numbers of contracts as long as fees are paid. This increases the processing costs for running a node. The result is end users being forced to use centralized services to interact with the chain, not being able to run nodes themselves. This trend jeopardizes decentralization and can make these chains worthless in the long run (if you can’t run a full-node yourself, then it’s just another bank).

Most contracts deployed are simply copies of existing contracts. They are new instances of the same code. A typical example is NFTs (non-fungible tokens), which can be deployed by the thousands, all with the same code/template. Carbon Contracts eliminate this problem with a deployment method where no duplicate code actually needs to be sent or stored. You can deploy a contract by carbon copying an existing contract. By doing this, you use the same code, with the same security and transparency, that is already stored on the blockchain. As a result, the deployment of a carbon contract becomes trivial in terms of space taken on the chain or in the block. Further, the deployment of a carbon contract is independent of the original contract’s code size. This results in fewer fees for deployment.

In testing, we were able to load up to 600 smart contracts in a single block, up from 50 per block previously. This is an incredible performance adjustment with an enormous reduction in space used, all with the same security and functionality.

Upload of 600 smart contracts on the testnet with Carbon Contracts

Conclusion

With the upcoming hard fork “Speedway”, the Signum-Network is adjusting Signum’s Layer 1 infrastructure to be ready for mass transactions by using the current block-size space more efficiently, especially for the Signum smart contract framework. Based on these improvements, the next step will be to further boost Signum’s smart contract functionality.

New Node Software

You can download Signum-node 3.2.0 at https://www.signum.network/wallet.html or directly from Github https://github.com/signum-network/signum-node/releases/download/v3.2.1/signum-node-3.2.1.zip

Discover Signum

Signum is the world’s first truly sustainable blockchain, featuring world-class applications on a sustainable leading-edge blockchain architecture. Compared to other cryptocurrencies, Signum powers its native cryptocurrency Signa (SIGNA) with a minor fraction of energy use and e-waste. Signum empowers users and developers around the world with innovative blockchain solutions for everyday life.

SNA is a Swiss Not-for-Profit Organization founded in 2021 to provide a solid foundation for Signum to grow and fulfill its vision of sustainability and innovation in blockchain technology.

Find out more at https://signum.network/ or join a Signum channel below.
Get Signa: https://signum.network/exchanges.html

Twitter
Telegram
Discord
Reddit
Youtube
Wiki/Community

Your
SIGNUM-NETWORK

--

--