Gulden, Blockchain as intended

Aat de Kwaasteniet
Jul 6 · 12 min read

Update October, 27 2019

Dutch version here

Introduction

In this story I try to explain the ins and outs of the blockrewards of the Gulden system. In the Gulden infrastructure are two types of rewards, the mining reward and the witness reward. It turns out that the level of knowledge about this system is not very high, so a simple explanation can be of value for (potential) users. The level is deliberately not made too technical so that most non-tech users can understand the basics. But I do assume that some terms will sound familiar to you, like Mining, PoW, Blockchain etc.

The Gulden Blockchain

One of the objectives of Gulden is to become a payment system in which the ledger of Gulden is kept in a so-called blockchain. Of course, transactions made with the Gulden payment system, must be recorded in the ledger. If you make a Gulden payment, this transaction is not directly recorded in the blockchain. The Gulden network does get a signal that a transaction is ready to be recorded in the blockchain and the transaction is recorded in the queue also called Memory Pool.
You can see in your own desktopwallet how many transactions are queued to be recorded in the blockchain. See the figure below where you can see that 5 transactions are waiting.

Gulden’s miners are actually the bookkeepers. They have the possibility to add transactions to the blockchain. All waiting transactions are merged in a block together with a control number (hash) from the previous block. The miner checks whether the transactions are correct and comply with the rules. After that, the block is also submitted to a “witness” for verification, the function of the witness is described below, and if the witness also approves the block, the block is added to the Guldenchain. And because the block is linked to the previous block via the control number, this construction is called the Blockchain.

On average, a block is added to the blockchain once every 150 seconds. All miners try to solve a sum specified by the Gulden Network and the one who finds the solution first is allowed to add the block to the chain. As a reward, the miner receives a mining reward. In the case of Gulden, the reward is 50 Gulden. We call this a so-called PoW (Proof of Work) system. Many crypto coins, such as Bitcoin, Litecoin and Dogecoin use the same system, but all with small variations on the basic system.

Being the first to find the solution of the sum is a matter of luck because it is for the miners a little gamble on the outcome. Simply put, you can say that they should take an arbitrary number, apply a calculation to it, and then compare the result of that calculation with the answer of the Gulden Network. But you can give happiness a helping hand by making a lot of attempts to solve the problem. So the faster a miner works, the more likely it is to win. The speed of a mining is expressed in Hashes per second. When we talk about a miner with a speed of 1 Megahashes per second (1Mh/s) it means that the miner makes 1 million guesses per second and calculates sums per second to find the right solution.
The computing power that all miners add up to a total is the Total Hashrate that is released to the Gulden Network. At the moment of writing the Gulden hashrate is about 1100MH/s, 1.100.000.000 hashes per second. And if you consider that each block takes about 150 seconds to complete, you can see how much computing power is thrown at it to keep the Gulden Blockchain running.

Difficulty

Because the speed of dissolving the sum is a combination of the speed of the miner, the difficulty of the sum, the amount of miners and a portion of luck, the time required to dissolve the sum varies. Sometimes it works within 20 seconds and sometimes it takes 10 minutes. On average, however, Gulden wants to arrive at 150 seconds per block found. In order to achieve this, the Gulden network can autonomously decide to make the sum more difficult or easier, based on the time needed to find the previous block. If there are many miners with fast equipment and the sum is quickly solved, the network decides that the sum is made more difficult at the next block and vice versa if many miners throw in the towel, it will on average take too long for the sum to be solved and the network decides that the sums can be made easier. In the formula to generate the sum there is a parameter called “difficulty” and that parameter can be set higher or lower. This is a continuous process. The network is doing this through the so called Delta Algorithm. An algorithm specially designed for Gulden. Dactual , the Gulden explorer, gives a nice picture of this.

Mining

From the start of the Gulden in 2014 the scrypt algorithm was in use for the mining of Gulden, but it got so many disadvantages that it was decided to look for a suitable alternative for scrypt. The biggest disadvantage of the scrypt algorithm was the presence of scrypt jumppools. Jumppools are pools of miners that with a very large hashrate only love Gulden when the difficulty is low, so they can easily and quickly mine a number of blocks. As soon as the difficulty went up again she “jumped” to another coin to do the same trick. The behavior of these pools caused a very fluctuating hashrate and therefore a varying block time. It happened regularly that 5–6 blocks were found within a minute and then 15 minutes nothing. The Jump Pools dominated the Gulden Network and that was not good for the stability and decentrality of the network.

SIGMA

Since October 17, 2019, the Gulden team has implemented the Sigma algorithm and since then it is possible to mine Gulden solo without additional equipment.
Sigma is a proprietary algorithm based on the Argon algorithm. Sigma is ASIC and GPU resistant and can only be used for CPU mining. Sigma can be set, managed and activated via the desktop wallet of Gulden. With this, Gulden brings the crypto mining back to the normal user and the decentrality of Gulden has been improved again. The large base of miners also ensures a stable working network. At the moment of writing the number of miners is about 300 of which the largest miners has about 4% market share compared .

The motive for a miner is to make a profit. If there is a lot of profit to be made, it will have an attracting effect on miners and the total hashrate will therefore increase, but if the profit is disappointing, there will be miners who pull the plug out or will go mining another coin. So there will always be a balance point where the average miner will be just as profitable as it is to be deprived of the Gulden.

To give an example of profit/loss based on the electricity cost of mining, which is the largest cost in addition to equipment depreciation, we can calculate the mining profit. We use therefor measurements and calculations from a limited number of computers/processor. So use it as a rule of thumb!!

Table 1

We can see that the average powerconsumption is about 92 watt with an average hashrate 2.5Mh/s. On the moment of writing the total hashrate is estimated about 1100Mh/s. We know also that everyday 28800 Gulden is mined. (a predetermined value from the Gulden network). Because mining Gulden is a lineair proces we can say that the profit/day is 2.5/1100*28800=65 Gulden. With the current price of Gulden is that about €0,52 worth.
To mine a whole day costs in the Netherlands (€0,20/kWh) 0.092kW * 24hour * €0,20 = €0,43. So the profit per day is €0,52 — €0,43 = €0,09.

Energy usage

Crypto, and Bitcoin in particular, is often accused of consuming such an awful lot of energy. With Gulden this is something else. We can simply calculate how much power the Gulden network consumes. On average, an efficiency of 42Watt/Mh/s (see table 1) is achieved. The current total hashrate of 1100Mh/s means that the mining power of all miners together is 46kW. On an annual basis, Gulden consumes 46kW * 8760 hours = 402MWh. This is in strong contrast to Bitcoin with its 73.12 TWh, a factor 180,000 more.
I know, it’s not fair to compare because of the enormous price difference between Bitcoin and Gulden. But nevertheless Gulden consumes not much power nowadays!!

Witness system

Witness is a system developed by Gulden itself to make the Gulden blockchain as safe as possible and to be able to make payments without having to wait hours for the so-called confirmation time. This is the time it takes for a transaction to be recorded invariably in the blockchain. Where almost all crypto coins work with 6 blocks of confirmation time (so 6 x a block time have to wait until you are sure of the transaction), Gulden is ready after 1 confirmation block with the same level of security.
But how does the witness system actually work? It looks like PoS (Proof of Stake) as used with other coins but works completely different.
As mentioned before, the miner controls the transactions, but who controls the miners? These are simply said to be the witnesses.
Transactions have to be approved by the miners and the work of the miners is further processed and controlled by the Witness accounts.

Witness accounts are accounts in which Gulden has been secured for a shorter or longer period of time. The time span is a minimum of 1 month to a maximum of 3 years. These Gulden can no longer be moved by the owner during this period and are therefore in fact taken out of circulation. Everyone can be a witness in this system. The only demand is that a person ha a minimum amount of 5000 Gulden to put in witness. This is a truly decentralized system.

All witness accounts participate in a lottery for each block and the winner may act as a “witness” when approving the transactions in that block. The number of times a witness account wins the lottery is determined by the “weight” or witnessweight of the account. The more Gulden that are placed in the witness account and the longer the duration of the freeze period, the higher the witness weight of the account will be. For this work, the witness receives, in case of election, a reward the so-called witness reward which is 20 Gulden (in the nearby future enlarged to 30 Gulden). If a witness is chosen, he cannot be chosen again for the next 100 blocks. This is one of the mechanisms to prevent that heavy accounts always get their turn and smaller accounts hardly get their turn. Another mechanism is the condition that the witness weight of an account should never exceed 1% of the total network weight. The witnessweight of a heavy account is simply capped at 1% of the total networkweight.

This combined work of miners and witness accounts is called “Proof of Work and Witness” or PoW2 at Gulden.

The interaction between mining and witness

  • There are two different classes of block generators on the network; the PoW-miners and the witness accounts.
  • The block mining is done by PoW miners in the usual way that everyone is used to from PoW systems.
  • When a miner finds a block, it is presented to the network.
  • Nodes of the Gulden Network validate, accept and pass on the block as usual, but it is not yet added to the end of the blockchain.

This block is at this point in what we call a “pre witness state”.

  • Upon receipt of a pre-witnessed block, a witness will be selected.
  • The first step of the witness work consists of adding additional data to the block, this includes a timestamp of the witness, any additional transactions (subject to the existing limit for the size of the block) and a transaction to pay the money fee.
  • The witness then tries to sign the block using his private-key which converts it into a witness block.
  • Once a valid witness block has been created, it is re transmitted to the network.
  • Once the nodes receive a valid witness block, they add it to the top of the blockchain and everything proceeds as usual from here again, PoW miners try to mine a new block, and the cycle…repeats itself.

>50% attack

This PoW2 system provides a very secure blockchain that can withstand the biggest attacks.

The best known form of a blockchain attack is the so-called “double spend via >50% attack”. A malicious person or group of persons will try to get their hands on more than 50% of the transaction approval capacity, thus creating a 1 in 2 chance that the attackers can issue a Gulden twice (after 1 confirmation) without the other transaction approvers being able to do anything about it or even notice anything of it.

The approval of a transaction is therefore determined by two mechanisms, both by the Miners and the Witnesses. In order to be able to execute a >50% attack on the Gulden blockchain it is necessary to attack both systems. And in order to have the same chance of success for a double spend as for the single transaction approval systems, it is necessary not to check >50% of the mining power or >50% of the number of coins in witness accounts, but of both systems more than 71%. (0.71 * 0.71 = 0.5 so 50% chance).

At Gulden, the mining capacity is not very large at the moment. With a relatively low amount, it is possible to rent sufficient hardware with mining-capacity to achieve more than 71% of the mining-capacity for for a limit amount of time. But the witness system is another story. At the time of writing, approximately 95 million Gulden were placed into witness in 806 different accounts with a total witness weight of 871,000,000.

In order to get a 71% majority in witnessweight the attacker will have to achieve at least a witnessweight of (1/0,71)*871.000.000=1.226.000.000 and spread it over (1/0,71)*806=1130 accounts. This can be done, for example, by creating 1200 accounts in which 260,000 Gulden are fixed for 1 month. That is more than three-quarter of all the Gulden in circulation.

It is also possible with less Gulden, but then the attacker has to fix the Gulden in witness for a longer period of time. For example, 1,200 accounts with 120,000 Gulden can be secured for 3 years. That gives the same total witness-weight. Besides that this is almost impossible, the price of the Gulden would go up sky high if so many Gulden have to be bought by the attacker. It is also like a robber robs a bank in which he is the biggest account holder. So such an attack is theoretically possible, but in reality not possible.

Other “attacks” and imperfections that are solved bij PoW2

The >50% attack is the biggest culprit that can affect a blockchain project but there are more disruptive “attacks” that the witness method of Gulden can withstand. It would take too long to treat them all but I mention them here and then the interested reader can continue reading on the internet.
- >50% attacks”: Network resilience to >50% attacks has increased dramatically, to the point where 1-confirmation transactions are secure enough for most purposes.
- “Selfish mining”: Possibility of selfish mining has been significantly reduced,
basically not even possible.
- DoS via mining of empty blocks: The possibility of realizing this is practically impossible. Because the witness has the possibility of putting transactions into the block.
- Incorrect/inexact block times: Accuracy of the block times is greatly increased because the time is now controlled by the witness workers and not by the PoW miners, who in turn ensure a better functioning of the difficulty algorithm.

PoS related imperfections

Because Witness is essentially different from PoS (Proof of Stake), typical PoS imperfections are also combated.
- PoS unsecured private keys: Private keys in Gulden are always secured in witness.
- “Nothing at stake issue”: Because there is always enough PoW hash power present on the Gulden blockchain, this “Nothing at stake issue” cannot arise.
- PoS “Stake buildup”: The age of the coin is not used in Witness Therefore, the Witness system is immune to this error.
- PoS “Stake grinding”: This effect can only occur if there is no PoW activity on the Gulden blockchain. Witness and PoW are inextricably linked.
- PoS “Old private keys”: Due to the presence of PoW mining activity, it is only possible to do this with a lot of hashpower.

Why would people want to join the witness system? Of course we have the Gulden enthusiasts who want to support Gulden in all ways and who want to fix their Gulden for a longer period of time, but also people who see an advantage in the fact that they catch “interest” on their capital in Gulden. In the beginning of the system this was a fantastic return of 6–15% on an annual basis. But because of the success of this system an appalling amount of money was put into it, that return has now fallen to 2.5–10%. Yet still considerably more than you can get from a bank.

I hope that this explanation has been useful and if you want to know more about Gulden you can visit the website

Other stories from the writer:

The Recovery Phrase, Fail-Safe Or Not?
Miners, Blocktime and Orphans, a trinity.
Which crypto becomes the future payment system?

The Good, the Bad and the Ugly, Classifying the crypto-coins.
The white hat ethical investor
The nonsense of…. TPS (transactions per second)
Crypto ranked by numbers of users
Fact check Gulden website

Can the Bitcoin exchange rate reach $100,000?

Aat de Kwaasteniet

Written by

Pensionado, en crypto-lover

Coinmonks

Coinmonks

Coinmonks is a non-profit Crypto educational publication. Follow us on Twitter @coinmonks Our other project — https://coincodecap.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade