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

[WIP] Jargon changes from from “PoS Mining” to “(PoS) Voting”, and from “stakepool” to “Voting Service Provider (VSP)” #590

Merged
merged 10 commits into from Nov 28, 2018
122 changes: 49 additions & 73 deletions docs/faq/proof-of-stake/general.md

Large diffs are not rendered by default.

12 changes: 5 additions & 7 deletions docs/faq/proof-of-stake/solo-mining.md
@@ -1,20 +1,18 @@
# <img class="dcr-icon" src="/img/dcr-icons/Solo.svg" /> Solo Mining
# <img class="dcr-icon" src="/img/dcr-icons/Solo.svg" /> Solo Voting

---

#### 1. Do I need hash power to stake mine?

Stake "mining" does not need any hash power[^9304]. Think of it a bit like interest on invested coins. You lock your coins for a period of time in order to purchase a ticket that gives you a high probability (>99%) of gaining voting rights and receiving interest in exchange for casting a vote and the opportunity cost of not being able to use those coins for potentially up to ~4.7 months.
Stake "mining" is a term that is no longer used, because the actions and dynamics associated with PoS voting are very different to PoW mining.

If you have already purchased stake tickets, those coins are locked until the tickets either win or expire. You are solo staking and therefore you MUST keep your wallet online 24/7 until all of your tickets have won (or expired) or you will miss out on the rewards since you cannot cast a vote if you wallet is not online. Because those coins are now locked there is no way for you to change the already staked coins now.

The stake pool, on the other hand, allows you to delegate your voting rights to the pool so it is responsible for being online 24/7 and casting your vote for you.
Voting does not require any hash power[^9304]. The only requirement is having enough DCR to stake (lock) in exchange for a ticket.

---

#### 2. Isn't one of the main reasons for stake mining to ensure there are always a sufficient amount of peers online?
#### 2. Isn't one of the main reasons for Proof-of-Stake (PoS) voting to ensure there are always a sufficient amount of peers online?

Definitely not[^9311]. Stake mining cannot possibly enforce that. An SPV style wallet could easily perform the necessary staking by communicating with other full nodes (`dcrd` instances) on the network. It is true that the current wallet requires `dcrd` to be running, but that will not always be the case.
Definitely not[^9311]. Stake voting cannot possibly enforce that. An SPV-style wallet could easily perform the necessary voting by communicating with other full nodes (`dcrd` instances) on the network. It is true that the current wallet requires `dcrd` to be running, but that will not always be the case.

Even if the software did try to enforce that, you could not stop people from writing utilities and such to do it via the peer-to-peer network without needing to run their own local instance anyways.

Expand Down
4 changes: 2 additions & 2 deletions docs/faq/proof-of-stake/stake-pools.md
Expand Up @@ -2,10 +2,10 @@

---


#### 1. Are there any other benefits to a stake pool other than not needing to run a full node and keeping your wallet unlocked? For example, will it have a better chance of winning or anything like that?

Stake pools will usually implement multi-wallet redundancy by having many wallets physically distributed around the globe. This means there's less chance of a vote
being missed because one wallet is down. It also reduces latency between the wallet and network which can reduce the chance of a vote being missed.
Stake pools will usually implement multi-wallet redundancy by having many wallets physically distributed around the globe. This means there's less chance of a vote being missed because one wallet is down. It also reduces latency between the wallet and network which can reduce the chance of a vote being missed. Using a stake pool (Voting Service Provider (VSP)) does not affect the chance of one's ticket being called to vote.

---

Expand Down
9 changes: 5 additions & 4 deletions docs/governance/how-to-vote.md
@@ -1,19 +1,20 @@
# <img class="dcr-icon" src="/img/dcr-icons/TicketVoted.svg" /> **How To Vote**
# <img class="dcr-icon" src="/img/dcr-icons/TicketVoted.svg" /> **How to Vote on consensus rule changes**

This guide assumes you already have an active wallet and have purchased tickets. If not, please follow the [Voting Preparation](consensus-rules-voting.md#voting-preparation) guide.

The choice a ticket votes with depends on your vote preference at the time the ticket is chosen, not when it is bought. So you can set your choice at any time within the voting window and all future tickets will vote accordingly.

## <img class="dcr-icon" src="/img/dcr-icons/Pool.svg" /> **Stakepool Voting**
## <img class="dcr-icon" src="/img/dcr-icons/Pool.svg" /> **Voting with a Voting Service Provider (VSP)**

If your Stakepool has updated to the latest stakepool software, you will find a "Voting" page in the navigation menu with dropdown options for each agenda. After you've chosen how you want your tickets to vote, simply press the "Update Voting Preferences" to save your votechoices. Below you'll find an image of the votechoices for vote version 5.
If your Voting Service Provider (VSP) has updated to the latest VSP software, you will find a 'Voting' page in the navigation menu with dropdown options for each agenda. After you've chosen how you want your tickets to vote, simply press the 'Update Voting Preferences' button to save your vote choices. Below you'll find an image of the vote choices for vote version 5.

<img src="/img/voting_preferences.png">

You can also update your voting preferences via Decrediton. Under the Tickets section, you'll find the option to set your vote. You must be using a stake pool to use this option.
You can also update your voting preferences via Decrediton. Under the 'Tickets section', 'Governance tab', you'll find the option to set your vote.

<img src="/img/decrediton/voting.png">


---------------------------

## <img class="dcr-icon" src="/img/dcr-icons/Solo.svg" /> **Solo Voting**
Expand Down
35 changes: 18 additions & 17 deletions docs/mining/how-to-stake.md
@@ -1,37 +1,38 @@
# <img class="dcr-icon" src="/img/dcr-icons/QuestionTicket.svg" /> How to Stake
# <img class="dcr-icon" src="/img/dcr-icons/QuestionTicket.svg" /> How to Stake/Vote

---

## How to Stake
## How to Stake/Vote

Participating in proof-of-stake requires a Decred wallet to be running 24/7. The wallet needs to be always online so that it can be called to vote - if the wallet is unavailable then the votes will be missed and no block reward will be received.
Participating in Proof-of-Stake (PoS) voting requires a Decred wallet to be running 24/7. The wallet needs to be always online so that it can be called to vote; if the wallet is unavailable then the votes will be missed and no block reward will be received.

Running your own always-online wallet is known as "Solo" staking/mining.
Running your own always-online wallet is known as **"Solo" Voting**.

Stakepools are available for those unable to keep a personal voting wallet online. Using a stakepool is completely safe, the Decred PoS protocol allows you to delegate your vote to a stakepool's always-online wallet without ever giving the stakepool access to your funds.
**Voting Service Providers (VSPs)** (formerly "Stakepools") are available for those unable to keep a personal voting wallet online. Using a VSP is completely safe; the Decred PoS protocol allows you to delegate your vote to a VSP's always-online wallet without ever giving the VSP access to your funds.

---

## <img class="dcr-icon" src="/img/dcr-icons/Solo.svg" /> Solo PoS
## <img class="dcr-icon" src="/img/dcr-icons/Solo.svg" /> Solo PoS Voting

Solo mining is currently only possible using the Decred command line tools. The [Buying Tickets with dcrwallet](../getting-started/user-guides/dcrwallet-tickets.md) guide explains how to buy tickets using the CLI wallet `dcrwallet`.
Solo PoS voting is currently only possible using the Decred command line tools. The [Buying Tickets with dcrwallet](../getting-started/user-guides/dcrwallet-tickets.md) guide explains how to buy tickets using the CLI wallet `dcrwallet`.

---

## <img class="dcr-icon" src="/img/dcr-icons/Pool.svg" /> PoS using a Stakepool
## <img class="dcr-icon" src="/img/dcr-icons/Pool.svg" /> PoS using a Voting Service Provider (VSP)

You can find the list of all official stakepools and statistics by visiting the
[:fa-external-link-square: Decred website](https://decred.org/stakepools/).
A list of Voting Service Providers (VSPs) and statistics is maintained on the
[:fa-external-link-square: Decred.org website](https://decred.org/stakepools/).

Using a stakepool DOES NOT give the pool access to your funds. All you are doing is granting voting rights to the pool.
Using a VSP **does not give the pool access to your funds**. All you are doing is granting voting rights to the VSP.

In order to support network decentralization, it is recommended that you join a smaller pool with fewer live tickets.
In order to support network decentralization, it is recommended that you join a smaller VSP with fewer live tickets. As VSPs control tickets delegated to them, they could in theory vote those tickets in a way which contradicts the expressed wishes of the ticket owners. This could be easily detected, and any VSP which attempted it would likely be abandoned by the stakeholder community. However, it is good practice to limit the power of individual VSPs, to limit the potential for damage from this kind of attack.

All stakepools run the same basic code, but they may differ in the amount of redundancy available.
More redundancy equals less chance of missed votes, although all pools will have missed votes as many missed votes are caused by PoW miners.
Sometimes they will find a solution to the blocks so quickly that votes haven't had time to propagate around the network.
Unlike Proof-of-Work (PoW) mining pools, VSPs do not pool work or rewards. The number of tickets a VSP has does not affect how regularly one's tickets will be called and rewards received.

There are currently two wallets which support stakepool voting:
All VSPs run the same basic code, but they may differ in the amount of redundancy available.
More redundancy equals less chance of missed votes, although all pools will have some missed votes as many missed votes are caused by PoW miners. This is because sometimes miners will find a solution to the next block so quickly that votes haven't had time to propagate around the network.

- `Decrediton` - GUI wallet for Windows/macOS/Linux. The [Purchase Tickets tab](../getting-started/user-guides/using-decrediton.md#tickets) is used to buy tickets.
PoS voting using a VSP can be done using Decrediton or dcrwallet.

- `Decrediton` - GUI wallet for Windows/macOS/Linux. The [Tickets menu, Purchase tab](../getting-started/user-guides/using-decrediton.md#tickets) is used to buy tickets.
- `dcrwallet` - CLI wallet for Windows/macOS/Linux. The [Buying Tickets with dcrwallet](../getting-started/user-guides/dcrwallet-tickets.md) guide explains how to purchase tickets via command line.