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

New glossary terms #1610

Merged
merged 5 commits into from
May 26, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 0 additions & 2 deletions _autocrossref.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,6 @@ output index:
PaymentDetails:
PaymentRequest:
PaymentRequests: paymentrequest
peer:
peers: peer
peer-to-peer: network
peer-to-peer network: network
'`ping` message': ping message
Expand Down
28 changes: 28 additions & 0 deletions _data/glossary/en/block-size-limit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.

required:
#-------------40 characters-------------#
title_max_40_characters_no_formatting: Block Size Limit

summary_max_255_characters_no_formatting: >
The maximum size in bytes that the consensus rules allow a block to be.
The current block size limit is 1000000 bytes.

synonyms_shown_in_glossary_capitalize_first_letter:
- Maximum Block Size

optional:
synonyms_and_pluralizations_not_shown_in_glossary:

not_to_be_confused_with_capitalize_first_letter:
- Block
- Blockchain
- Blockchain size

links_html_or_markdown_style_capitalize_first_letter:
- "[Serialized Blocks](/en/developer-reference#serialized-blocks) --- Bitcoin.org Developer Guide"
- "[Block](https://en.bitcoin.it/wiki/Block) --- Bitcoin Wiki"

---
29 changes: 29 additions & 0 deletions _data/glossary/en/masf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.

required:
#-------------40 characters-------------#
title_max_40_characters_no_formatting: Miner Activated Soft Fork, MASF

summary_max_255_characters_no_formatting: >
A Soft Fork activated by through miner signalling.

synonyms_shown_in_glossary_capitalize_first_letter:
- Miner-activated soft fork
- MASF

optional:
synonyms_and_pluralizations_not_shown_in_glossary:

not_to_be_confused_with_capitalize_first_letter:
- User Activated Soft Fork (a soft fork activated by flag day or node enforcement instead of miner signalling.)
- Fork (a regular fork where all nodes follow the same consensus rules, so the fork is resolved once one chain has more proof of work than another)
- Hard fork (a permanent divergence in the block chain caused by non-upgraded nodes not following new consensus rules)
- Soft fork (a temporary divergence in the block chain caused by non-upgraded nodes not following new consensus rules)
- Software fork (when one or more developers permanently develops a codebase separately from other developers)
- Git fork (when one or more developers temporarily develops a codebase separately from other developers

links_html_or_markdown_style_capitalize_first_letter:

---
31 changes: 31 additions & 0 deletions _data/glossary/en/node.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.

required:
#-------------40 characters-------------#
title_max_40_characters_no_formatting: Node

summary_max_255_characters_no_formatting: >
A computer that connects to the Bitcoin network.

synonyms_shown_in_glossary_capitalize_first_letter:
- Node
- Full node
- Archival node
- Pruned node
- Peer

optional:
synonyms_and_pluralizations_not_shown_in_glossary:
- Nodes
- Peers

not_to_be_confused_with_capitalize_first_letter:
- Lightweight node
- SPV node

links_html_or_markdown_style_capitalize_first_letter:
- "[Full node](https://en.bitcoin.it/wiki/Full_node) --- Bitcoin Wiki"

---
29 changes: 29 additions & 0 deletions _data/glossary/en/uasf.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
# This file is licensed under the MIT License (MIT) available on
# http://opensource.org/licenses/MIT.

required:
#-------------40 characters-------------#
title_max_40_characters_no_formatting: User Activated Soft Fork, UASF

summary_max_255_characters_no_formatting: >
A Soft Fork activated by flag day or node enforcement instead of miner signalling.

synonyms_shown_in_glossary_capitalize_first_letter:
- User-activated soft fork
- UASF

optional:
synonyms_and_pluralizations_not_shown_in_glossary:

not_to_be_confused_with_capitalize_first_letter:
- Miner Activated Soft Fork (a soft fork activated through miner signalling)
- Fork (a regular fork where all nodes follow the same consensus rules, so the fork is resolved once one chain has more proof of work than another)
- Hard fork (a permanent divergence in the block chain caused by non-upgraded nodes not following new consensus rules)
- Soft fork (a temporary divergence in the block chain caused by non-upgraded nodes not following new consensus rules)
- Software fork (when one or more developers permanently develops a codebase separately from other developers)
- Git fork (when one or more developers temporarily develops a codebase separately from other developers

links_html_or_markdown_style_capitalize_first_letter:

---
4 changes: 2 additions & 2 deletions _includes/devdoc/bitcoin-core/rpcs/rpcs/listbanned.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ The `listbanned` RPC {{summary_listBanned}}
- n: "→ →<br>`ban_reason`"
t: "string"
p: "Required<br>(exactly 1)"
d: "Set to one of the following reasons:<br>• `node misbehaving` if the node was banned by the client because of DoS violations<br>• `manually added` if the node was manually banned by the user"
d: "Set to one of the following reasons:<br>• `node<!--noref--> misbehaving` if the node was banned by the client because of DoS violations<br>• `manually added` if the node was manually banned by the user"

{% enditemplate %}

Expand Down Expand Up @@ -85,4 +85,4 @@ Result:
* [SetBan][rpc setban]: {{summary_setBan}}
* [ClearBanned][rpc clearbanned]: {{summary_clearBanned}}

{% endautocrossref %}
{% endautocrossref %}
16 changes: 16 additions & 0 deletions _includes/devdoc/guide_block_chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,22 @@ a hard or soft fork. For example, "increasing the block size above 1 MB
requires a hard fork." In this example, an actual block chain fork is
not required---but it is a possible outcome.

Consensus rule changes may be activated in various ways. During Bitcoin's
first two years, Satoshi Nakamoto performed several soft forks by just
releasing the backwards-compatible change in a client that began immediately
enforcing the new rule. Multiple soft forks such as BIP30 have
been activated via a flag day where the new rule began to be enforced at a
preset time or block height. Such forks activated via a flag day are known as
[User Activated Soft Forks][/en/glossary/uasf]{:#term-uasf}{:.term} (UASF) as
they are dependent on having sufficient users (nodes) to enforce the new rules
after the flag day.
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure BIP16 is a good example of a flag day activation, given that it had explicit miner voting as a prerequisite, even though I think the measurement was performed outside the node code and then a flag day was coded in rather than using the later ISM method. Maybe just mention BIP30?


Later soft forks waited for a majority of of hash rate (typically 75% or 95%)
to signal their readiness for enforcing the new consensus rules. Once the signalling
threshold has been passed, all nodes will begin enforcing the new rules. Such
forks are known as [Miner Activated Soft Forks][/en/glossary/masf]{:#term-masf}{:.term} (MASF)
as they are dependent on miners for activation.

**Resources:** [BIP16][], [BIP30][], and [BIP34][] were implemented as
changes which might have lead to soft forks. [BIP50][] describes both an
accidental hard fork, resolved by temporary downgrading the capabilities
Expand Down
9 changes: 6 additions & 3 deletions _includes/devdoc/guide_p2p_network.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,13 @@ http://opensource.org/licenses/MIT.
{% autocrossref %}

The Bitcoin network protocol allows full nodes
([peers][peer]{:#term-peer}{:.term}) to collaboratively maintain a
(peers) to collaboratively maintain a
[peer-to-peer network][network]{:#term-network}{:.term} for block and
transaction exchange. Many SPV clients also use this protocol to connect
to full nodes.
transaction exchange. Full nodes download and verify every block and transaction
prior to relaying them to other nodes. Archival nodes are full nodes which
store the entire blockchain and can serve historical blocks to other nodes.
Pruned nodes are full nodes which do not store the entire blockchain. Many SPV
clients also use the Bitcoin network protocol to connect to full nodes.

Consensus rules do not cover networking, so Bitcoin programs may use
alternative networks and protocols, such as the [high-speed block relay
Expand Down
2 changes: 0 additions & 2 deletions _includes/references.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ http://opensource.org/licenses/MIT.
[PaymentDetails]: /en/developer-examples#term-paymentdetails "The PaymentDetails of the payment protocol which allows the receiver to specify the payment details to the spender"
[PaymentRequest]: /en/developer-examples#term-paymentrequest "The PaymentRequest of the payment protocol which contains and allows signing of the PaymentDetails"
[PaymentRequests]: /en/developer-examples#term-paymentrequest "The PaymentRequest of the payment protocol which contains and allows signing of the PaymentDetails"
[peer]: /en/developer-guide#term-peer "Peer on the P2P network who receives and broadcasts transactions and blocks"
[peers]: /en/developer-guide#term-peer "Peers on the P2P network who receive and broadcast transactions and blocks"
[PKI]: /en/developer-examples#term-pki "Public Key Infrastructure; usually meant to indicate the X.509 certificate system used for HTTP Secure (https)."
[point function]: /en/developer-guide#term-point-function "The ECDSA function used to create a public key from a private key"
[pp amount]: /en/developer-examples#term-pp-amount "Part of the Output part of the PaymentDetails part of a payment protocol where receivers can specify the amount of satoshis they want paid to a particular pubkey script"
Expand Down