Gulden witnessing

Aat de Kwaasteniet
11 min readNov 2, 2019

--

04–06–2020
This “tutorial” is written for the Gulden desktop wallet version 2.2.x

Introduction to the Gulden 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.
But how does the witness system actually work? You can look at it in two ways.
In the Fiat money world you can compare it with a deposit bank account. You put some money in the bank for a predetermined period and receive some interest.
In the crypto world witness looks like PoS (Proof of Stake) as used with other coins but works completely different.
Transactions on the Gulden network have to be approved by the miners and the work of the miners is further processed and controlled by the Witness accounts. Like the miners also the witness are paid with a reward for the work they are doing.

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 has a minimum amount of 5000 Gulden to put in witness. This is a truly decentralized system.
If you want to know more about miners and witnesses and so on you can read this Medium story

Basic account creation

Now we explain how to create and manage a witness account.
Start by clicking on the ‘Add account’ button in your wallet. You’ll then find yourself at a screen where you can select the account type and name for your new account.

We’re gonna put 100,000 Gulden in witness for three months.

Click “Add account” (1) Enter a descriptive name (2) and click on the “witness” button (3)to proceed.

At this point you will be see the initial funding screen for your new account. On the left you find your new created account (4) and on the right panel a list of accounts (5) in which you currently have enough funds to fund the witness account. In this example there is only one account with enough funds, “My account”

Select an account and then push the “Fund account” button.

You’ll now see the detailed funding screen where you can select the amount you would like to lock and the time period for which to do so. As the screen notes the minimum amount which can be locked is 5000 Gulden. In this example we fill 100000 Gulden into the box (6) and use the slider to select 3 month (7).

Once happy with the details click the “Send” button in the right bottom corner.
Your funds will be locked in the witness account for the duration of the selected period and will not be spendable under any circumstances.

You will be shown one last confirmation screen. Please make 100% sure you are comfortable with all the details before proceeding beyond this screen as once you click send your funds will be irreversibly locked in the blockchain until expiry is reached.
After this you’ll see the confirmation screen, while sometimes quick it is normal (based on network conditions) for this screen to show for several seconds to minutes, so do not panic if it takes a while. You are free to use the rest of your wallet in the meantime.

The witness reward is 30 Gulden every time your account is chosen to be a witness. The more Gulden you put in witness and the longer you fix it, the often you will be chosen as a witness and get a reward. But there are limits. The fixing time can vary between 1 month and 3 years. The amount of money you want to put in and the fixation period gives you a certain weight of your witness account through a formula. The amount may be infinitely high but if the weight of your witness account is more than 1% of the total witness weight deployed on the entire Gulden Network, your amount will be split up in so-called parts.
It is not possible to predict exactly how much reward you will receive. This depends on the total amount of Gulden is wagered in witness. Below is a picture with revenues as it is at the time of writing.

You can see that the witness account of 100000 Gulden for 3 months fixed create an interest rate of approximately 2,5% on an annual basis. You can fix the same amount for 3 years and “catch” about 7,5% a year.

Managing the account:

Once confirmation is done you’ll be able to access the “Overview” page for the account where you can see a graph of your earnings to date vs expected initial earnings and projected future earnings.
It’s not like you’re going to start earning interest right away, because the witness account is going to wait for 100 blocks before it becomes really active. That takes about 4.5 hours. This is called the “cooldown” period. Even after “earning” a reward, the account comes in such a cooldown period.
After a period of time the witness account earned a reward. You can withdraw this earning (after confirmation) by using the withdraw button which wil popup in the right bottom corner

Most of the information is self explanatory however some of the more important ones:
Earnings — The total of how much the account has earned to date.

Lock time remaining — How much longer until the funds in the account become spendable again.

Estimated earnings frequency — The current estimate of how often you are likely to earn rewards based on current network conditions.

Required earnings frequency — How frequently your wallet must earn rewards in order not to be kicked off the network.

Parts — For most accounts this will be 1, but for users with larger accounts their accounts may be split at a blockchain level into multiple parts for more optimal earnings, for these users there may be a larger number here.

Compound earnings setting. When this is enabled any earnings that your account makes will be added toward the locked balance of your account with the weight of the account increasing to match.
As this weight is calculated from the initial lock length of the account, and not the remaining lock length, this compounding can have quite a large effect over time for accounts that have a long lock period.

Extending the account:

Some time after locking funds in an account you might find yourself wanting to add further funds, or to increase the lock period.
This is now possible with the ‘extend’ button that will appear for you at the bottom right of the overview accounts, clicking it will take you to the extend dialog. The button is only visible if the account is in active mode and not in cooldown mode.

The dialog, (very similar to the fund dialog) is filled in with the current amount and lock period, simply increase the amount and push extend and your account will be extended to the new weight. So if you want to extend an 20.000 Gulden account to 40.000 Gulden fill in 40.000 Gulden!

Example of transaction list after extending a witness account

Optimising the account:

If you have a relatively large network account, then as the overall network weight fluctuates over time you might find your account set up in such a way that its parts are either too small or too large to give you the optimal earnings.
Should you find yourself potentially in this situation, the software will detect this and make visible a second ‘Optimize’ button in the witness dialog.

Optimise dialog
To optimise simply select an account to pay the fee from (all witness operations incure a tiny transaction fee) and click Optimize; the software will then reallocate the funds within your account in a more appropriate way for the current network weight.

Rotate key:

Witness account settings dialog
The account settings dialog (activated by pushing the cog at the top right of the application); now has a new feature ‘rotate key’.

This can be used to change the ‘witness key’ associated with an account, and exists as a security portion if you have reason to believe your key may have been compromised.
Or if you (for example) have previously used it with a service like gdash-cloud and no longer want to do so.

Witness services:

In order to be a witness it is important that your wallet be open and online 24/7.
Note, it does not matter if you have the occasional brief (30 minute or even an hour) outage; however frequent or long term outages are likely to have you kicked off and are not ideal. That kick off isn’t dramatically as it sounds because you can “renew” the account by paying a very small transaction fee (about 0,005 Gulden).

For those who have computers that are online (most) of the time it is sufficient to just leave your wallet open. Witnessing can operate on a locked (encrypted) wallet so your funds remain safe despite the wallet being left open.

It is possible to add one or more secondary “witnessing devices” that have the capability of witnessing for your account, but are incapable of spending your locked funds. They then act as a witness backup for your own computer.
It is possible to add such a device at any time in the accounts life cycle, and not only on a freshly created account.

Open the Witness account settings dialog (activated by pushing the cog at the top right of the application). Where you can click on the blue text to get access to QR linking. You can then scan this QR with a dedicated witnessing device (currently none yet exist that support this but maybe in future) — Or push the ‘Copy sync code’ button in the lower right.

You can use this copied code with another gulden wallet on a different computer via the “witness-only” account button in the add account dialog.

As the term suggests, a witness-only key can only witness and has no way of spending the original locked funds.

Another method to avoid your computer must be online 24/7 is G-DASH Cloud. For this service you don’t need to have any hardware. The service provides witness-only key hosting while staying in full control of your funds. It is developed by Bastijn Koopmans, a Gulden community member.
G-DASH Cloud is not for free. From every reward you get a small portion (1 Gulden) is for paid for the costs of the server and so on.

A third method is to work with a small dedicated computer that consumes as little as possible power and is very cheap. Currently the only available device is a Raspberry Pi with G-DASH.

G-DASH is a lightweight, responsive, web-based user interface for Gulden users who run a wallet, node, witnessing account, or all of the above on a unix server (i.e. a Raspberry Pi). Using this dashboard users can keep an eye on their Gulden server and control their nodes and witnessing account without the need of a terminal. It also includes the option to control a Gulden wallet, and the software has auto-update functionality to make sure you always run the latest version of G-DASH.
G-DASH is developed by the samen Gulden community member Bastijn Koopmans and is free downloadable. Only the hardware PI cost some money. You can purchase a preloaded RPI at Gulden-shop.

In future it is likely more competing devices as well as web services will arrive.

Note that the system is designed in such a way that it is completely safe to share your witness key as shown above in the sense that even if the device (or service) to which you have given the key is compromised your original locked funds will remain safe and in your possession — however it is possible for someone who has your key to steal earnings as they come in so you should still not be careless with who you share the key.

Safety warning

The entire system has been designed to keep users safe. A completely decentralized long term ‘deposit’ account on which you earn rewards while the funds remain under your control at all times. A world first.

The system only works however if you use it properly the Gulden is only safe as long as you keep them in your possession, while witness services will emerge over time they should work based on the key sharing described above.

It is inevitable that over time (and already) some services will emerge offering to witness on your behalf, however unlike the instructions above they will have different instructions that involve sending all of your funds to them.

Note that the second you use such a service you are fully placing your trust in the person running that service, your funds are at their mercy and should anything go wrong whether intentionally or otherwise you might find yourself out of pocket. Essentially regular banking except with a third party who is not a bank and quite possibly operating anonymously, pseudonymously or in a manner in which you will have little to no recourse if things end badly. As you may be witnessing for long time periods of months to years this is especially dangerous — as by the time you ask for your funds the person behind the service may be long gone.

The developers of Gulden cannot endorse services like this and in our experience the “crypto currency” industry has been plagued with schemes like this, and almost always the end badly; we therefore advise to avoid engaging in any such service and sticking to the fully decentralized system we have designed for your own safety. If in doubt always ask for assistance before doing something you regret.

This “tutorial” is written for the Gulden desktop wallet version 2.2.x and based on the original stories of Malcolm MacLeod https://medium.com/@MacLeod_MJ_za/beginners-guide-to-witnessing-11253afd645d
and https://medium.com/@MacLeod_MJ_za/an-updated-guide-to-witnessing-7607ac7b89b8

--

--