Signum Hard Fork “Rainbow”
Hard Fork Rainbow continues the preparation for Signum to be in the Top 50.
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.
The last hard fork “Speedway” at block 941,100 (23rd of October 2021) allowed 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. (read the article here)
The upcoming hard fork “Rainbow” at block 1,029,000 (around 25th of June 2022) will introduce new features framework for the existing token functionality and boost the current token setup to a smart token solution on Signum. By introducing Cashback and a multiverse setup we support upcoming use-cases based on the Signum technology.
Summary of the HardFork Rainbow
- Introduce Smart Tokens (SIP-33)
- Round network-fees to 2 digits (SIP-34)
- Introduce Fee-Cashback (SIP-35)
- Introduce burning of fees (SIP-36)
- General smart contract upgrade (SIP-37)
- Map support for smart contracts (SIP-38)
- Smart token support for smart contracts (SIP-39)
- Readiness for Multiverse Setup
Smart Tokens (SIP-33)
Most platforms use smart contracts to handle token creation and serve various activities like buying, selling, and transferring from within the smart contract. Signum’s approach is different. On the Signum blockchain, tokens are situated similarly to the blockchain’s own native coin (Signa) in that they are unique entities that can be transferred or traded directly between accounts. Their position is directly attached to accounts, not taken via a smart contract.
All possible activities are governed by the blockchain nodes’ existing transaction types and logic, making the current token setup “smart”.
Making the smart tokens mintable
When creating a smart token, the user will be able to define the token as mintable or non-mintable. If the token is defined as mintable, the creator will be able to mint additional tokens. If non-mintable, the token is limited to the initial supply specified at the time of creation. All existing tokens created prior to the upcoming hard-fork are non-mintable.
The new transaction for minting tokens will incur a minimum network transaction fee. (0.01 Signa)
Burning smart tokens
Any Signum smart token (including those that existed prior to this hard fork) can be burned by transferring it to address 0 (zero) using the transfer transaction. After the hard fork, it will be possible to burn Signa as well by sending to the address 0 (zero).
Define treasury accounts
A new transaction type (addAssetTreasuryAccount) will be created that allows a token creator to define Treasury Accounts for a given smart token. Once set, this transaction will not be able to be reverted. Token balances in these accounts will not be used when calculating circulating supply, nor will the balance in the official burn address of the Signum chain.
With this new transaction, the smart token creator can publicly specify on-chain which accounts belong to a use-case. It is possible to do this for existing tokens as well. (prior the hard fork)
Payment to token holders
A use case that is not covered by other blockchain solutions is paying dividends and other income to existing token holders efficiently and without burdening blockchain resources. By introducing a new transaction type (distributionToAssetHolder) which allows any account to transfer a given amounts of Signa or other smart tokens (or both) to defined smart token holders in one transaction!
Input parameters for this new transaction:
- Target token
- Minimum amount needed for a valid distribution (target token)
- Distribution amount (Signa)
- Distribution amount (other smart tokens)
- Token-ID of the smart token to be distributed
The costs for such a transaction are fairly low. The transaction costs 0.01 Signa plus number of served accounts multiplied with 0.001 SIGNA.
A distribution to 10,000 holders will costs in this case 10.01 Signa.
As an example, a user could execute this statement: ”If you have a minimum of 1,000 token from Smart Token A, you will be qualified for distribution of 20,000 Signa and 10,000 tokens from Smart Token B”.
For each holder with a given minimum balance, the transaction will calculate their distribution share and transfer the Signa or smart tokens (or both) to their account.
With this new transaction type Signum can theoretically serve an infinity number of holders per this new transaction. To keep a safeguard for the blockchain a maximum limit of 1,200,000 balance changes per block are introduced. This catapult the current TPS of 16 to 5,000 STPS.
STPS means smart transaction per second. One transaction is added to the chain, but multiple balance changes are triggered. This is smart in two ways; one is that only minimum data is stored on the chain (One transaction — around 200 bytes) and on the other hand a cascade of simultaneously updates is executed by the logic of the smart transaction.
Transfer smart tokens
Anticipating the upcoming smart contract extension for handling tokens, this transaction will be able to send Signa along with the transfer of smart tokens.
Round Network Fees To 2 Digits (SIP-34)
The current Signum minimum fee will be adjusted from 0.00735 Signa to 0.01 Signa making the resulting amount of fees more human readable and easier to convert.
Introduce Fee Cashback (SIP-35)
Signum introduced with PoC+ a consensus which keeps the mining power in a most decentralized way. We want to do the same for our nodes, so that everyone is used to running their own node by connecting to the network.
This makes the Signum blockchain finally stronger and more distributed over the world. To create an incentive for running its own node (even only short term), a 25% cashback is introduced on the paid fee when a transaction is checked by the corresponding node.
This would also bring up a chance for upcoming use-cases with an own node framework to benefit from their own infrastructure for the Signum network.
For example, a smart token creation costs 150 Signa. When the transaction is signed with a node which benefits the Cashback to the user/use-case account, 25% of the fees means 37.5 Signa are automatically paid to this Cashback account when the transaction is added to a block.
Introduce Burning Of Fees (SIP-36)
Signum introduced with SIP-29 a minimum block reward of 100 SIGNA. This minimum reward is a solid incentive for miners to keep the network running and secure. In addition to this basic reward, the fees of every transaction included in the block by the miners as well as smart contract execution fees and subscription payment fees are also rewarded to the block forger (Miner).
However, there is a conceptual difference between: i) the basic block reward and transaction fees and; ii) the fees generated by smart contracts running or subscription payments being made.
The first set is where the miner’s work is relevant, they secure the network, put new coins in circulation, and effectively help the network by selecting valid transactions to be included in the blocks.
The second set is independent of any transaction selection of a miner, smart contracts and subscriptions interval payments will be executed by their logic within the nodes. These are not by the merit of a particular miner but a distributed effort among all the nodes (the network as a whole).
Every Signum-Node has to calculate the logic of smart contracts and subscription interval payments on their own, regardless if the node is used for mining or not. Further, they are not bound to a transaction currently being processed, but to a past transaction which already paid a fee to the miners for the privilege to be included in a block. Then, we can conclude that those fees are not rightful to the miner that is forging that particular block, rather it is a general blockchain service provided by all nodes of the Signum protocol.
Thus, instead of paying those fees to a specific miner we burn those fees to the zero address of the Signum chain.
This has two main advantages:
- First the fees from smart contract executions and subscription interval payments will no longer be paid to a single miner since the whole network has to do the same calculations.
- Second, by burning those fees we end up giving the reward indirectly to all Signa coin holders, as we reduce the total-circulating by those fees.
New Smart Contract framework (version 3)
With the coming hardfork the current smart contract framework will get a huge booster. From its history, Signum was the first chain with a Turing complete smart contract framework - stable and battle-proofed over time -, but to open it for a wider range of use-cases the Signum-Network development team build the following power ups :
General smart contract upgrade
Signum smart contracts can now have a size up to 40 pages ( 256 Bytes is one page). The step fees and fee per page got adjusted to 0.01 and 0.1 Signa.
Existing operations got extensions in its functionality:
GET_TYPE_FOR_TX_IN_A = 0x0305: for new contracts will return the actual transaction type, otherwise 1 for a message and 0 for payment
MESSAGE_FROM_TX_IN_A_TO_B = 0x0309: accept messages longer than 256 bits, A2 contains the page to read
GET_CURRENT_BALANCE = 0x0400: returns the current balance of the contract for the asset id in B2 (or SIGNA if B2==0)
SEND_A_TO_ADDRESS_IN_B = 0x0405: if multiple messages are sent in the same block, they are concatenated one after the other
B_TO_ADDRESS_OF_CREATOR = 0x030b: returns the creator of the AT ID given in B2 (creator of this contract if B2==0)
New operations were added:
E_OP_CODE_POW_DAT = 0x19: calculates
x^(y/1_0000_0000)using double precision logic
E_OP_CODE_MDV_DAT = 0x2c: calculates
(x*y)/denusing big integer logic to avoid overflow
CHECK_SIG_B_WITH_A = 0x0206: checks if the signature of [AT ID, B2..4] can be verified with the message attached on tx id in A1 (page in A2) for account id in A3
GET_CODE_HASH_ID = 0x030c: get the AT's code hash ID (or of the AT id on B2 if B2!=0)
GET_ACTIVATION_FEE = 0x040d: get the AT's minimum activation fee (or of the AT id on B2 if B2!=0)
PUT_LAST_BLOCK_GSIG_IN_A = 0x040e: put the last block generation signature in A
The overview is quite technical, but all these extensions and new additions were needed to cover upcoming use-cases and the liquidity-pools.
Map support for smart contracts
A tremendous extension for the smart contracts. With the new functionality a smart contract can save and read arbitrary data in a (key1, key2)-value format.
A smart contract should store feedback from a user (1= bad to 4=happy). Now we construct the key1 = 1 as “Feedback” and key2 as account id and value as the number.
On every message received with feedback the smart contract writes this to the Map-DB. (example: 1, account-id, 3).
But not only writing is possible, the smart contract could also check in advanced if the account-id already gave a feedback and reject a new one if the code is structured like this.
In addition, other smart contract can read from the map-DB of any smart contract, this opens the possibility to make workflows on chain between single contracts.
Smart token support for smart contracts
This is the biggest upgrade for the Signum smart contracts on long awaited from the development community.
Finally smart contracts can receive, transfer, and burn tokens. They can also create and mint token on the fly. Also, the new created transaction distributionToAssetHolder can be executed by the smart contract.
This leads to a fully automated smart token(s) and dividend management on chain and by code.
In this context and for a widely usage, a new transaction was created (transferAsssetMulti). With this transaction it’s possible to send Signa and up to 4 smart tokens to any account so too smart contracts.
Readiness For Multiverse Setup
Signum introduced a multiverse setup. This means that other chains based on Signum code and logic can be created by adjusting the base parameters for the blockchain. The new chain can have a completely different block reward, block times or block size. Also new Transaction Types can be defined or existing disabled. And finally, an own native coin with an own name like Signa will be created. Those multiverses will be supported by the main chain and covered with the Signum DEX for cross-chain trades P2P.
With the upcoming hard fork “Rainbow”, the Signum-Network is adjusting Signum’s smart token functionality and boosting the smart layer 1 throughput from around 80 STPS to up to 5'000 STPS. The new Cashback feature should help individuals and use-case owners to profit from more adaption of the Signum chain and in addition the multiverse setup should open the possibility for sister-chains which will make it easy for businesses to setup and own chain or serve different use-case (for example for a decentral Wiki) based on the Signum blockchain technology.
New Node Software
You can download Signum-node 3.4.0 at https://www.signum.network/wallet.html or directly from Github https://github.com/signum-network/signum-node/releases/tag/v3.4.0
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.