SDK

A user account must be online to participate in the Algorand consensus protocol. In the case of Liquid Governance, the account which holds the user's ALGOs are an escrow account, unique and invidual to the user, which is controlled by a smart contract. This means that marking an account online/offline for the purposes of participating in consensus, must be done by calling the Liquid Governance application which will then generate the desired transactions.

To reduce exposure, online users do not use their spending keys (i.e., the keys they use to sign transactions) for consensus. Instead, a user generates and registers a participation key for a certain number of rounds. It also generates a collection of ephemeral keys, one for each round, signs these keys with the participation key, and then deletes the participation key. Each ephemeral key is used to sign messages for the corresponding round, and is deleted after the round is over. Using participation keys ensures that a user's tokens are secure even if their participating node is compromised. Deleting the participation and ephemeral keys after they are used ensures that the blockchain is forward-secure and cannot be compromised by attacks on old blocks using old keys.

The likelihood of being selected for this role depends on the amount of online ALGO stake the account has. However, you do not receive any rewards for participating in consensus.

To participate in consensus with your Liquid Governance escrow, you can follow the subsequent steps.

How to:

Deploy a node

You can deploy a node on your own machine by following the provided guide, or alternatively, you may choose to use a third-party provider (eg. Quicknode, Blok, PureStake, Bison Trails). Ensure the node is fully-synchronized node in the Algorand network.

Retrieve your escrow

Retrieve your escrow address using this method described in our SDK.

Generate a participation key

Generate a participation key for the escrow address using your deployed node and following this guide.

Register the account online

Register the account online either by using the UI and selecting the "Consensus" button beside "Your Commitment Gx". Alternatively you can use this method described in our SDK, which must be called by the escrow owner.

Registering the account offline

If you have invalid participation keys and no longer want to participate in consensus, it's important to mark your account offline to maintain network integrity. Marking an account offline requires an offline key registration transaction. Register the account offline by using the UI and selecting the "Consensus" button beside "Your Commitment Gx". Alternatively you can use this method described in our SDK, which must be called by the escrow owner.

Keep in mind that at the end of each governance period, the ALGOs in a user's escrow will be transferred to a common pool. The gALGO can then be burnt, allowing the ALGOs to be retrieved and recommitted for the next period.

You will be able to continue using the same escrow and keys between periods because the user's escrow remains the same between governance periods.

Last updated

#290:

Change request updated