Notary Nodes play a major role in securing the KMDLabs’ chains. These Notary Nodes gather data, notarize this data to the Komodo blockchain and then re-notarize this back onto each specific KMDLabs chain.
Current NN Network
Notary payment went though several iterations over a busy 3 week period resulting in the current mechanism. During this testing four new -ac_params were developed to provide a solution to the complex problem of Notary payments. These parameters are available for any chain to use in the future, but they still did not meet the requirements of Notary payment.
KMDLabs uses a pay-per-notarization (-ac_notarypay=) system where a special coinbase is created for any block that contains a notarization. This means that notary nodes are paid directly for each notarization they create. The draw back to this model is that coin emission is not an exact known amount. Emission, however, can only be less than the maximum, never more, and that is what is relevant in this situation.
The goal of the KMDLabs Notary selection process is to accrue a team of 64 extremely trustworthy and efficient Notary Nodes, testers and developers.
In KMDLabs the number of Notary Nodes is dynamic, up to a maximum of 64 nodes. Every two months up to two additional Notary Nodes can be added until the maximum of 64 is reached. The process for this is still under development with the currently implemented system being as follows:
Every two months the lowest performing nodes on the network will be put to a vote for possible replacement. Unless a node has been performing extremely poorly, and there is no expectation of this, nodes will not be involuntarily removed from the network. Only two nodes can be added per two month period regardless of whether notaries leave the network.
- Notary nodes must make at least 25% of the average notarizations. (ie. if the average notarization across all nodes is 2000 per month, any nodes under the total of 500 notarizations will be put to a vote by other notaries. If it is decided they are allowed to remain, AND they want to stay, they can.)
- If a notary operator simply wants to retire, they may choose to do so.
- The number of possible Notary operators will be increased by two using a random lottery of available candidates.
Those who desire a Notary position are advised to participate in the community, join in tests and possibly collect bounties, mine/stake or develop contracts until a Notary role opens up for them. In addition to Notary candidates gaining experience through this process it also helps protect the network from possible Sybil attack. (An attack where a single entity creates multiple identities to subvert a network.) Through something of a waiting period and random selection KMDLabs can somewhat ensure that each node is operated by a unique individual.
The main goal of having a dynamic number of Notary Nodes is to lead to cheaper prices for notarizations over time and to ensure that running a Notary Node is profitable. The most efficient nodes/operators will be able to make the most notarizations while at the same time not punishing those who don’t have the resources to become one of the very top performing nodes. Everyone will have ample opportunity to earn adequate LABS (coins) and gain enough experience to become a top performing node.
Increasing at the maximum rate of two nodes every two month, it will take 44 month (3.6 years) until the maximum of 64 Notary Nodes is reached. It is expected that some node operators will retire from their Notary position so it will be some time before the network has a full complement of 64 Notary Nodes.
Notary Node Responsibilities
- Keep your notary node up to date and running.
- Add new chains when required.
- Keep your node secure.
- Aim to make the maximum number of notarizations, earning as much in the way of LABS(coin) as possible.
Bounty Signer Responsibilities
The bounty system is in the process of being finalized and is the top priority on the KMDLabs project list. This development process will use the system under creation to bring about the final bounty mechanism. Aiming for the simplest solution CC may, or may not, be made use of.
As it stands, pre-launch, the basic mechanism looks like this:
- A separate chain, is mined/staked by notaries.
- There is a daily payment of coins that is ABOVE the supply of 10 coins per minute.
- This supply is suggested to be between 0.5-5% of the supply and is locked in a multisig address. (ie. 0.5% would be 720 coins per day available for bounty payouts)
- The funds expire if not used. The best mechanism for going about this is has yet to be determined.
- If the bounty coins are not claimed they will cease to exist and will not inflate the supply.
- Bounties only create supply if bugs are found and fixed.
- Project devs are also able to put up their own bounties, over and above this supply, if they want or need to get something done faster or take priority over other projects.
- Bounty signers are responsible for signing bounty claims that they agree are fair.
This mechanism will evolve and change as the working implementation is developed and optimized. There are a number of possible solutions being considered. KMDLabs developers and community excel at finding the best solution for a problem. This has been, and is being, demonstrated in the creation and beginnings of the KMDLabs project itself.
Matters Under Consideration
- Notary numbers may vary with needs.
- Bounty % may be adjusted.
- Chain running costs may need adjustment.
- Important matters should not be decided by notaries alone. Up to a stakeholder vote.
Notary Node Setup
For detailed setup instructions please visit the KMDLabs Github repo.
KMDLabs is a testing and development platform suitable for research on many scales. From gaining experience using Crypto-Conditions contracts to debugging multi-contract clusters, KMDLabs provides you with the tools, platform and resources to do so. This allows you to spend your time on testing, not setup.
The KMDLabs main cluster is where the bulk of testing occurs. The KMDLabs blockchain is the center of a fungible grouping of independent blockchains. New chains are added as needed and you can add your own chains to perform tests.