You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/gno-infrastructure/validators/faq.md
+105-32
Original file line number
Diff line number
Diff line change
@@ -8,45 +8,86 @@ id: validators-faq
8
8
9
9
### What is a Gno.land validator?
10
10
11
-
Gno.land is based on [Tendermint2](https://docs.gno.land/concepts/tendermint2) that relies on a set of validators selected based on [Proof of Contribution](https://docs.gno.land/concepts/proof-of-contribution) (PoC) to secure the network. Validators are tasked with participating in consensus by committing new blocks and broadcasting votes. Validators are compensated with a portion of transaction fees generated in the network. In Gno.land, the voting power of all validators are equally weighted to achieve a high nakamoto coefficient and fairness.
11
+
Gno.land is based on [Tendermint2](https://docs.gno.land/concepts/tendermint2) that relies on a set of validators selected based
12
+
on [Proof of Contribution](https://docs.gno.land/concepts/proof-of-contribution) (PoC) to secure the network. Validators are tasked with
13
+
participating in consensus by committing new blocks and broadcasting votes.
14
+
Validators are compensated with a portion of transaction fees generated in the
15
+
network. In Gno.land, the voting power of all validators are equally weighted
16
+
to achieve a high nakamoto coefficient and fairness.
12
17
13
18
### What is Tendermint2?
14
19
15
-
[Tendermint2](https://docs.gno.land/concepts/tendermint2) (TM2) is the consensus protocol that powers Gno.land. TM2 is a successor of [Tendermint Core](https://github.com/tendermint/tendermint2), a de facto consensus framework for building Proof of Stake blockchains. The design philosophy of TM2 is to create “complete software” without any vulnerabilities with development focused on minimalism, dependency removal, and modularity.
20
+
[Tendermint2](https://docs.gno.land/concepts/tendermint2) (TM2) is the consensus protocol that powers Gno.land. TM2 is a successor
21
+
of [Tendermint Core](https://github.com/tendermint/tendermint2), a de facto consensus framework for building Proof of Stake
22
+
blockchains. The design philosophy of TM2 is to create “complete software”
23
+
without any vulnerabilities with development focused on minimalism, dependency
24
+
removal, and modularity.
16
25
17
26
### What is Proof of Contribution?
18
27
19
-
[Proof of Contribution](https://docs.gno.land/concepts/proof-of-contribution) (PoC) is a novel consensus mechanism that secures Gno.land. PoC weighs expertise and alignment with the project to evaluate the contribution of individuals or teams who govern and operate the chain. Unlike Proof of Stake (PoS), validators are selected via governance of Contributors based on their reputation and technical proficiency. The voting power of the network is equally distributed across all validators for higher decentralization. A portion of all transaction fees paid to the network are evenly shared between all validators to provide a fair incentive structure.
28
+
[Proof of Contribution](https://docs.gno.land/concepts/proof-of-contribution) (PoC) is a novel consensus mechanism that secures
29
+
Gno.land. PoC weighs expertise and alignment with the project to evaluate the
30
+
contribution of individuals or teams who govern and operate the chain. Unlike
31
+
Proof of Stake (PoS), validators are selected via governance of Contributors
32
+
based on their reputation and technical proficiency. The voting power of the
33
+
network is equally distributed across all validators for higher decentralization.
34
+
A portion of all transaction fees paid to the network are evenly shared between
35
+
all validators to provide a fair incentive structure.
20
36
21
37
### How does Gno.land differ from the Cosmos Hub?
22
38
23
-
In Cosmos Hub, validators are selected based on the amount of staked `ATOM` tokens delegated. This means that anyone with enough capital can join as a validator only to seek economic incentives without any alignment or technical expertise. This system leads to an undesirable incentive structure in which validators are rewarded purely based on the capital delegated, regardless of the quality of their infrastructure or service.
39
+
In Cosmos Hub, validators are selected based on the amount of staked `ATOM`
40
+
tokens delegated. This means that anyone with enough capital can join as a
41
+
validator only to seek economic incentives without any alignment or technical
42
+
expertise. This system leads to an undesirable incentive structure in which
43
+
validators are rewarded purely based on the capital delegated, regardless of
44
+
the quality of their infrastructure or service.
24
45
25
-
On the contrary, validators in Gno.land must be reviewed and verified to have made significant contributions in order to join the validator set. This property resembles the validator selection mechanism in [Proof of Authority](https://openethereum.github.io/Proof-of-Authority-Chains). Furthermore, all validators are evenly rewarded to ensure that the entire validator set is fairly incentivized to ensure the sustainability of the network.
46
+
On the contrary, validators in Gno.land must be reviewed and verified to have
47
+
made significant contributions in order to join the validator set. This property
48
+
resembles the validator selection mechanism in [Proof of Authority](https://openethereum.github.io/Proof-of-Authority-Chains). Furthermore,
49
+
all validators are evenly rewarded to ensure that the entire validator set
50
+
is fairly incentivized to ensure the sustainability of the network.
26
51
27
52
### What stage is the Gno.land project in?
28
53
29
-
Gno.land is currently in Testnet 3, the single-node testnet stage. The next version, Testnet 4, is scheduled to go live in Q2 2024, which will include a validator set implementation for a multinode environment.
54
+
Gno.land is currently in Testnet 3, the single-node testnet stage. The next
55
+
version, Testnet 4, is scheduled to go live in Q2 2024, which will include a
56
+
validator set implementation for a multinode environment.
30
57
31
58
## Becoming a Validator
32
59
33
60
### How do I join the testnet as a validator?
34
61
35
-
Out of many official Gno testnets, Testnet4 (`test4`) is the purpose-built network for testing the multi-node validator environment prior to mainnet launch. Testnet4 is scheduled to go live in Q2 2024 with genesis validators consisting of the Gno Core Team, partners, and external contributors.
62
+
Out of many official Gno testnets, Testnet4 (`test4`) is the purpose-built
63
+
network for testing the multi-node validator environment prior to mainnet
64
+
launch. Testnet4 is scheduled to go live in Q2 2024 with genesis validators
65
+
consisting of the Gno Core Team, partners, and external contributors.
36
66
37
-
For more information about joining testnet4, visit [the relevant issue](https://github.com/gnolang/hackerspace/issues/69). For more information about different testnets, visit [Gno Testnets](https://docs.gno.land/concepts/testnets).
67
+
For more information about joining testnet4, visit [the relevant issue](https://github.com/gnolang/hackerspace/issues/69). For more
68
+
information about different testnets, visit [Gno Testnets](https://docs.gno.land/concepts/testnets).
38
69
39
70
### What are the incentives for running a validator?
40
71
41
-
Network transaction fees paid on the Gno.land in `GNOT` are collected, from which a portion is directed to reward validators for their work. All validators fairly receive an equal amount of rewards.
72
+
Network transaction fees paid on the Gno.land in `GNOT` are collected, from
73
+
which a portion is directed to reward validators for their work. All validators
74
+
fairly receive an equal amount of rewards.
42
75
43
76
### How many validators will there be in mainnet?
44
77
45
-
The exact plans for mainnet are still TBD. Based on the latest discussions between contributors, the mainnet will likely have a validator set size of 20~50, which will gradually scale with the development and decentralization of the Gno.land project.
78
+
The exact plans for mainnet are still TBD. Based on the latest discussions
79
+
between contributors, the mainnet will likely have an inital validator set size
80
+
of 20~50, which will gradually scale with the development and decentralization
81
+
of the Gno.land project.
46
82
47
83
### How do I make my first contribution?
48
84
49
-
Gno.land is in active development and external contributions are always welcome! If you’re looking for tasks to begin with, we suggest you visit the [Bounties &](https://github.com/orgs/gnolang/projects/35/views/3)[Worx](https://github.com/orgs/gnolang/projects/35/views/3) board and search for open tasks up for grabs. Start from small challenges and work your way up to the bigger ones. Every contribution is acknowledged and highly regarded in PoC. We look forward to having you onboard as a new Contributor!
85
+
Gno.land is in active development and external contributions are always welcome!
86
+
If you’re looking for tasks to begin with, we suggest you visit the [Bounties &](https://github.com/orgs/gnolang/projects/35/views/3)
87
+
[Worx](https://github.com/orgs/gnolang/projects/35/views/3) board and search for open tasks up for grabs. Start from small challenges
88
+
and work your way up to the bigger ones. Every contribution is acknowledged and
89
+
highly regarded in PoC. We look forward to having you onboard as a new
90
+
Contributor!
50
91
51
92
## Technical Guides
52
93
@@ -60,46 +101,78 @@ Gno.land is in active development and external contributions are always welcome!
60
101
61
102
### What is a full node and a pruned node?
62
103
63
-
A full node fully validates transactions and blocks of a blockchain and keeps a full record of all historic activity. A pruned node is a lighter node that processes only block headers and does not keep all historical data of the blockchain post-verification. Pruned nodes are less resource intensive in terms of storage costs. Although validators may run either a full node or a pruned node, it is important to retain enough blocks to be able to validate new blocks.
104
+
A full node fully validates transactions and blocks of a blockchain and keeps a
105
+
full record of all historic activity. A pruned node is a lighter node that
106
+
processes only block headers and does not keep all historical data of the
107
+
blockchain post-verification. Pruned nodes are less resource intensive in terms
108
+
of storage costs. Although validators may run either a full node or a pruned
109
+
node, it is important to retain enough blocks to be able to validate new blocks.
64
110
65
111
## Technical References
66
112
67
-
### [How to generate a genesis.json](../../gno-tooling/cli/gnoland.md#gnoland-genesis-generate-flags)
113
+
### How do I generate `genesis.json`?
68
114
69
-
- Initialize the file that creates the initial state of the chain.
115
+
`genesis.json` is the file that is used to create the initial state of the chain.
116
+
To generate `genesis.json`, use the `gnoland genesis generate` command. Refer
117
+
to [this section](../../gno-tooling/cli/gnoland.md#gnoland-genesis-generate-flags) for various flags that allow you to manipulate the file.
70
118
71
-
### [How to add a validator to the genesis.json](../../gno-tooling/cli/gnoland.md#gnoland-genesis-validator-add-flags)
119
+
//TODO: Add tips or warnings for devs who are manipulating this file here, such as "blocks will not be produced if this file is corrupt"
72
120
73
-
- Add validators to create, validate, and propagate blocks.
121
+
### How do I add or remove validators from `genesis.json`?
74
122
75
-
### [How to add the balance information(addr and ugnot amount) to the genesis.json](../../gno-tooling/cli/gnoland.md#gnoland-genesis-balances-add-flags)
123
+
Validators inside `genesis.json` will be included in the validator set at
124
+
genesis. To manipulate the genesis validator set, use the
125
+
`gnoland genesis validator` command with the `add` or `remove` subcommands. Refer
126
+
to [this section](../../gno-tooling/cli/gnoland.md#gnoland-genesis-validator-flags) for flags that allow you to configure the name or the voting power
127
+
of the validator.
76
128
77
-
- Add wallet addresses to the chain initial state that will hold a certain amount of UGNOT coins.
129
+
### How do I add the balance information to the `genesis.json`?
78
130
79
-
### [How to initialize gno secrets](../../gno-tooling/cli/gnoland.md#gnoland-secrets-init-flags-)
131
+
You may premine coins to various addresses. To modify the balances of addresses
132
+
at genesis, use the `gnoland genesis balances` command with the `add` or `remove`
133
+
subcommands. Refer to [this section](../../gno-tooling/cli/gnoland.md#gnoland-genesis-balances-add-flags) for various flags that allow you to update
134
+
the entire balance sheet with a file or modify the balance of a single address.
80
135
81
-
- Initializes the secret information needed to run the validator, including the validator's private key, state, and node ID.
136
+
//TODO: Add tips or warnings here, such as "the only updatable coin is UGNOT" (or if any native coins are accepted)
82
137
83
-
### [How to get gno secrets](../../gno-tooling/cli/gnoland.md#gnoland-secrets-get-flags-)
138
+
### How do I initialize `gno secrets`?
84
139
85
-
- Retrieve the verifier's secret information.
140
+
The `gno secrets init` command allows you to initialize the private information
141
+
required to run the validator, including the validator node's private key, the
142
+
state, and the node ID. Refer to [this section](../../gno-tooling/cli/gnoland.md#gnoland-secrets-init-flags) for various flags that
143
+
allow you to define the output directory or to overwrite the existing secrets.
86
144
87
-
### [How to initialize gno node configuration](../../gno-tooling/cli/gnoland.md#gnoland-config-init-flags)
145
+
### How do I get `gno secrets`?
88
146
89
-
- Initialize the configs required to run a node.
147
+
To retrieve the private information of your validator node, use the
148
+
`gnoland-secrets-get` command. Refer to [this section](../../gno-tooling/cli/gnoland.md#gnoland-secrets-get-flags) for a flag that
149
+
allows you to define the output directory.
90
150
91
-
### [How to get gno node configuration](../../gno-tooling/cli/gnoland.md#gnoland-config-get)
151
+
### How do I initialize the gno node configurations?
92
152
93
-
- Retrieve the specific value of gno configs.
153
+
To initialize the configurations required to run a node, use the
154
+
`gnoland config init` command. Refer to [this section](../../gno-tooling/cli/gnoland.md#gnoland-config-init-flags) for various flags that
155
+
allow you to define the path or to overwrite the existing configurations.
94
156
95
-
### [How to edit gno node configuration](../../gno-tooling/cli/gnoland.md#gnoland-config-set)
157
+
### How do I get the current gno node configurations?
96
158
97
-
- Edit the specific value of gno configs.
159
+
To retrieve the specific values the current gno node configurations, use the
160
+
`gnoland config get` command. Refer to [this section](../../gno-tooling/cli/gnoland.md#gnoland-config-get) for a flag that allows
161
+
you to define the path to the configurations file.
98
162
99
-
### [How to start fresh gno chain with initializing](./start-a-new-gno-chain-and-validator.md)
163
+
### How do I edit the gno node configurations?
100
164
101
-
- Start a new chain after the initialization process.
165
+
To edit the specific value of gno node configurations, use the `gnoland-config set`
166
+
command. Refer to [this section](../../gno-tooling/cli/gnoland.md#gnoland-config-set) for a flag that allows
167
+
you to define the path to the configurations file.
102
168
103
-
### [How to connect existing gno chain](./connect-to-an-existing-gno-chain.md)
169
+
### How do I initialize and start a new gno chain?
104
170
105
-
- Connect exsiting gno chain.
171
+
To start an independent gno chain, follow the initialization process available
172
+
in [this section](./start-a-new-gno-chain-and-validator.md).
173
+
174
+
### How do I connect to an existing gno chain?
175
+
176
+
To join the validator set of a gno chain, you must first establish a connection.
177
+
Refer to [this section](./connect-to-an-existing-gno-chain.md) for a step-by-step
0 commit comments