New Blockchain - A.D.E.N. (2/2)

After blockchain research and motivation described in part 1, we would like to provide more details about the new blockchain.

In order to provide rewards, we've decided to switch to an improved blockchain which contains a two-tier incentivized network, known as the masternode network. As an addition to the masternodes, in the second tier we're also introducing the concept of Entity Masternode, which provides bigger rewards and increase the health of the network.

Improvements such as the possibility to make anonymous payments and to send HELP instantly will provide us the opportunity to build business use-cases in our transparent humanitarian fundraising context.

Masternode Network

Full nodes are servers running on a P2P network that allow peers to use them to receive updates about the events on the network. These nodes utilize significant amounts of traffic and other resources that incur a substantial cost. As a result, a steady decrease in the amount of these nodes has been observed for some time on the Bitcoin network and as a result, block propagation times have been significantly slower.

These nodes are very important to the health of the network. They provide clients with the ability to synchronize and facilitate quick propagation of messages throughout the network. We decided to adopt adding a secondary network, known as the HELP masternode network. These nodes will have high availability and provide a required level of service to the network in order to take part in the Masternode Reward Program.

Masternode Reward Program - Cost and Payments

The main reason why the number of full nodes decreased on the Bitcoin network is the lack of motivation to run and mantain a node. The cost of running a full node increases as the network gets used more, creating more bandwidth and costing the operator more money. The alternative to run a "light client" is simpler and more convenient, but it doesn't help the network.

Masternodes are full nodes, just like in the Bitcoin network, except they must provide a level of service to the network and have a bond of collateral (2,500 HELP for Masternode and 25,000 HELP for Entity Masternode) to participate. The collateral is never forfeit and is safe while the masternode is operating. This permits masternode operators to provide a service to the network, earn payment for their services and reduce the volatility of the currency.

To run a masternode, the operator must demonstrate control over 2,500 HELP for Masternode and 25,000 HELP for Entity Masternode. When active, masternodes provide services to clients on the network, and in return receive regular payment from the block reward. Like miners, masternodes are all paid from the block reward, 45% of which is dedicated to this program.

Due to the fact that the masternode rewards program is a fixed percentage and the masternode network nodes are fluctuating, expected masternode rewards will vary according to the current total count of active masternodes. Payments for a standard day for running a masternode can be calculated by using the following formula:

(m / t ) * r * b * p

m - the number of masternodes a user has

t - the total number of masternodes

r - the current block reward

b - the number blocks in an average day

p - the average masternode payment (45% of the average block reward).

The cost associated with running a masternode creates a hard and soft limit of active nodes on the network. Currently, with 3,145,499 HELP in circulation, only 1,258 Masternodes (or 125 Entity Masternodes) could possibly be running on the network.

The soft limit is imposed by the price it costs to acquire a node and the limited liquidity on exchanges due to usage of HELP as a currency and not merely an investment.

Extra services

Masternodes can provide any number of extra services to the network. For now, the network includes PrivateSend and InstantSend, but we plan to implement other masternode functionality in the future. By utilizing what we call proof-of-service, we can require that these nodes are online, responding and even at the correct block height.

Ordering

A deterministic algorithm is used to create a pseudo-random ordering of the masternodes. By using the hash from the proof-of-work for each block, security of this functionality will be provided by the mining network.

Pseudocode:

for(mastenode in masternodes){
    current_score = masternode.calculateScore();

    if(current_score > best_score){
         best_score = current_score;
         winning_node = masternode;
    }
}

calculateScore(){
   pow_hash = GetProofOfWorkHash(nBlockHeight); // get the hash of this block
   pow_hash_hash = Hash(pow_hash); //hash the POW hash to increase the entropy
   difference = abs(pow_hash_hash - masternode_vin);
   return difference;
}

Propagation

New clients entering the HELP network must be made aware of the currently active masternodes on the network to be able to utilize their services. As soon as they join the mesh network, a command is sent to their peers asking for the known list of masternodes. A cache object is used for clients to record masternodes and their current status, so when clients restart they will simply load this file rather than asking for the full list of masternodes.

Payment using mining and enforcement

To ensure that each masternode is paid its fair share of the block reward, the network must enforce that blocks pay the correct masternode. If a miner is non-compliant their blocks must be rejected by the network, otherwise cheating will be incentivized.

We propose a strategy where masternodes form quorums, select a winning masternode and broadcast their message. After N messages have been broadcast to select the same target payee, a consensus will be formed and that block in question will be required to pay that masternode.

When mining on the network, pool software (websites that merge the efforts of individual miners) use the RPC API interface to get information about how to make a block. To pay the masternodes, this interface must be extended by adding a secondary payee to GetBlockTemplate. Pools then propagate their successfully mined blocks, with a split payment between themselves and a masternode.

Denial-of-Service (DOS) Resistance

To address the possible DOS attacks, we propose all users submit a transaction as collateral to the pool when joining. This transaction will be made out to themselves and will pay a high fee to miners. In the case when a user submits a request to the mixing pool, they must provide collateral at the beginning of this exchange. If at any point any user fails to cooperate, by refusing to sign for example, the collateral transaction will be broadcast automatically. This will make it expensive to carry out a sustained attack on the privacy network.

X11 hashing algorithm

X11 is a widely used hashing algorithm, which takes a different approach, known as algorithm chaining. X11 consists of all 11 SHA3 contestants, each hash is calculated then submitted to the next algorithm in the chain. By utilizing multiple algorithms, the likelihood that an ASIC is created for the currency is minimal until a later part of its life cycle.

In the life cycle of Bitcoin, mining began with hobbyists which used Central Processing Units (CPUs) to mine the currency, then shortly after Graphics Processing Units (GPUs) software was created, which quickly replaced the CPUs. Years after the GPUs cycle, ASICs or Application Specific Integrated Circuits were created, which quickly replaced the GPUs.

Due to the complexity and die size required to create an ASIC to mine X11, we expect that it will take considerably longer than it did in Bitcoin, allowing for hobbyists to take part in the mining for a longer period of time. We believe this is highly important for good distribution and growth of a cryptocurrency.

Another benefit of the chaining hashing approach is high end CPUs give an average return similar to that of GPUs. Also GPUs have been reported to run 30-50% cooler, with less wattage than the Scrypt algorithm used by most current cryptocurrencies.

New Blockchain - A.D.E.N. (2/2)
Share this

Subscribe to GoHelpFund Blog