Account Info

Overview

General

Glitch uses multiple sets of public/private key pairs to represent network participants. Blockchain systems have participants in varying roles, from validators to normal users. For example, the Glitch node uses a Nominated Proof-of-Stake (NPoS) algorithm to select validators. Validators and nominators may hold significant funds, so Glitch introduces account abstractions that help keep funds as secure as possible.

There are two different accounts for managing your funds: Stash and Controller.

Definition

  • Normal account: An account created when joining the network is called a normal account.

  • Stash account: The account holding an owner’s funds used for staking.

  • Controller account: The account that controls an owner’s funds for staking.

  • Stash Key: The Stash keys are the public/private key pair that defines a Stash account It should be as secure as possible in a cold wallet.

  • Controller Key: The Controller keys are the public/private key pair that defines a Controller account. It should be secure as it can affect validator settings but will be used regularly for validator maintenance.

  • Session Keys: these are "hot" keys kept in the validator client and used for signing certain validator operations. They should never hold funds.

Description

Stash account

The Stash account is like a "savings account" because you should not make frequent transactions. Therefore, its private key should be treated with the utmost security, for example, protected in a safe or layers of hardware security.

Since the Stash key is kept offline, it designates a Controller account to make non-spending decisions with the weight of the Stash account's funds. It can also designate a Proxy account to vote in governance on its behalf.

Controller account

In Glitch's NPoS model, this account acts on behalf of the Stash account, signaling decisions about nominating and validating.

It sets preferences like payout account and commission. If you are a validator, it also sets your session keys. It only needs enough funds to pay transaction fees.

The Controller key can never be used to spend funds from its Stash account. However, actions taken by the Controller can result in slashing, so it should still be well secured.

Relationship between Stash account and Controller account

Almost any interaction with the Staking pallet requires a process of bonding (also known as being a nominator). To become bonded, a fund-holding register known as the stash account, which holds some or all of the funds that become frozen in place as part of the staking process, is paired with an active controller account, which issues instructions on how they shall be used.

An account pair can become bonded using the bond call.

Stash accounts can change their associated controller using the set_controller call.

Comparison

Last updated