Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update validator faq #1917

Merged
merged 1 commit into from
Aug 12, 2018
Merged

Update validator faq #1917

merged 1 commit into from
Aug 12, 2018

Conversation

gamarin2
Copy link
Contributor

@gamarin2 gamarin2 commented Aug 3, 2018

Just updating the val faq with latest info.
Closes #1885


For Admin Use:

  • Added appropriate labels to PR (ex. wip, ready-for-review, docs)
  • Reviewers Assigned
  • Squashed all commits, uses message "Merge pull request #XYZ: [title]" (coding standards)

@gamarin2 gamarin2 requested a review from zramsay as a code owner August 3, 2018 15:45
@gamarin2 gamarin2 changed the title Update validator gaq Update validator faq Aug 3, 2018
@codecov
Copy link

codecov bot commented Aug 3, 2018

Codecov Report

Merging #1917 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #1917   +/-   ##
========================================
  Coverage    63.55%   63.55%           
========================================
  Files          119      119           
  Lines         7062     7062           
========================================
  Hits          4488     4488           
  Misses        2314     2314           
  Partials       260      260

@gamarin2 gamarin2 requested a review from jbibla August 4, 2018 11:11
@jackzampolin
Copy link
Member

I this PR might conflict with: #1899

@gamarin2
Copy link
Contributor Author

gamarin2 commented Aug 8, 2018

In what way @jackzampolin ?

@jackzampolin
Copy link
Member

jackzampolin commented Aug 8, 2018

@gamarin2 I think both of these PRs edit the same validator doc. Could be wrong tho.

@gamarin2
Copy link
Contributor Author

gamarin2 commented Aug 8, 2018

I don't think the other PR edits validator-faq

@jackzampolin
Copy link
Member

Having read over this I give it a 👍 LGTM!

@@ -199,9 +229,9 @@ If a validator misbehaves, its bonded stake along with its delegators' stake and

* **Double signing:** If someone reports on chain A that a validator signed two blocks at the same height on chain A and chain B, this validator will get slashed on chain A
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this is right. Double signing is when you sign two blocks at the same height on the same chain. (I.e. blocks 0 through n-1 are equal, two different blocks signed at height n)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes I recently changed the definition in other docs I'm working on, but forgot to replicate here.

What about "Signing two blocs at the same height that have a common ancestor"? @ValarDragon

Copy link
Contributor

@ValarDragon ValarDragon Aug 11, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it should be changed to signing two distinct blocks, other than that, sounds great!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sure (it actually was in the definition, but thanks for noticing)!

Copy link
Contributor

@ValarDragon ValarDragon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, lets merge this as any doc improvements are positive.

@jackzampolin
Copy link
Member

Can you someone merge this cc @cwgoes ?

### How can I join the testnet?

The Testnet is a great environment to test your validator setup before launch.

We view testnet participation as a great way to signal to the community that you are ready and able to operate a validator. You can find all relevant information about the [testnet and more here](/getting-started/full-node.md).
We view testnet participation as a great way to signal to the community that you are ready and able to operate a validator. You can find all relevant information about the testnet [here](https://github.com/cosmos/cosmos-sdk/tree/develop/cmd/gaia/testnets) and [here](https://github.com/cosmos/testnets).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should remove the first link here - it's deprecated


- **Tendermint Key**: This is a unique key used to sign block hashes. It is associated with a public key `cosmosvalpub`.
+ Generated when the node is created with gaiad init.
+ Get this value with gaiad tendermint show_validator
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

put in `

+ Get this value with gaiad tendermint show_validator
+M e.g. cosmosvalpub1zcjduc3qcyj09qc03elte23zwshdx92jm6ce88fgc90rtqhjx8v0608qh5ssp0w94c

- **Application keys**: These keys are created from the application and used to sign transactions. As a validator, you will probably use one key to sign staking-related transactions, and another key to sign governance-related transactions. Application keys are associated with a public key `cosmosaccpub` and an address `cosmosaccaddr`. Both are derived from account keys generated by `gaiacli keys add`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clarify that this will own the validator

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As a validator, you will probably use one key to sign staking-related transactions, and another key to sign governance-related transactions. this is the first i've heard about this. is there a reason / justification / explanation somewhere?


- `bonded`: Validator is in the active set and participates in consensus. Validator is earning rewards and can be slashed for misbehaviour.
- `unbonding`: Validator is not in the active set and does not participate in consensus. Validator is not earning rewards, but can still be slashed for misbehaviour. This is a transition state from `bonded` to `unbonded`. If validator does not send a `rebond` transaction while in `unbonding` mode, it will take three weeks for the state transition to complete.
- `unbonded`: Validator is not in the active set, and therefore not signing blocs. Validator cannot be slashed, and does not earn any reward. It is still possible to delegate Atoms to this validator. Un-delegating from an `unbonded` validator is immediate.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blocs -> blocks

*Note that delegation are not necessarily bonded. Atoms can be delegated and bonded, delegated and unbonding, delegated and unbonded, or liquid*


### What is 'self-bond'? How can I increase my 'self-bond'?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO = DELETE in this brave new world

@ebuchman ebuchman merged commit 691048c into cosmos:develop Aug 12, 2018
@@ -14,9 +14,9 @@ The [Cosmos Hub](/introduction/cosmos-hub.md) is based on [Tendermint](/introduc

The Cosmos Hub is a public Proof-Of-Stake (PoS) blockchain, meaning that validator's weight is determined by the amount of staking tokens (Atoms) bonded as collateral. These Atoms can be staked directly by the validator or delegated to them by Atom holders.

Any user in the system can declare its intention to become a validator by sending a "declare-candidacy" transaction. From there, they become validator candidates.
Any user in the system can declare its intention to become a validator by sending a `create-validator` transaction. From there, they become validators.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still validator-candidates... no?


The weight (i.e. total stake) of a candidate determines wether or not it is a validator, and also how frequently this node will have to propose a block and how much revenue it will obtain. Initially, only the top 100 validator candidates with the most weight will be validators. If validators double sign, are frequently offline or do not participate in governance, their staked Atoms (including Atoms of users that delegated to them) can be destroyed, or 'slashed'.
The weight (i.e. total stake) of a validator determines wether or not it is an active validator, and also how frequently this node will have to propose a block and how much revenue it will obtain. Initially, only the top 100 validators with the most weight will be active validators. If validators double sign, are frequently offline or do not participate in governance, their staked Atoms (including Atoms of users that delegated to them) can be destroyed, or 'slashed'.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In short, there are two types of keys:

- **Tendermint Key**: This is a unique key used to sign block hashes. It is associated with a public key `cosmosvalpub`.
+ Generated when the node is created with gaiad init.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

here too


### Is there a minimum amount of Atoms that must be staked to be a validator?
### Is there a minimum amount of Atoms that must be staked to be an active (=bonded) validator?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is your thinking here?

@gamarin2 gamarin2 deleted the update_val_faq branch August 22, 2018 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants