mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 09:46:12 +00:00
Describe Soft And Hard Forks
Based on a suggestion made by @petertodd to the -devel mailing list and the discussion in that thread by him and other participants. * We've been using the term "consensus", but this commit introduces a formal definition for it and "consensus rules" as part of the block chain introduction. * Describe that consensus rules may change and may happen when they do: hard or soft forks. * Describe how full nodes can detect hard or soft forks, then describe how SPV clients can detect hard and soft forks using the more limited information available to them.
This commit is contained in:
parent
2147b830f1
commit
2e8ceb26df
9 changed files with 462 additions and 6 deletions
|
@ -1,5 +1,4 @@
|
|||
[51 percent attack]: /en/developer-guide#term-51-attack "The ability of someone controlling a majority of hashing power to revise transactions history and prevent new transactions from confirming"
|
||||
[accidental fork]: /en/developer-guide#term-accidental-fork "When two or more blocks have the same block height, forking the block chain. Happens occasionally by accident"
|
||||
[addresses]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PKH or P2SH Bitcoin Address"
|
||||
[address]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PKH or P2SH Bitcoin Address"
|
||||
[base58Check]: /en/developer-reference#term-base58check "The method used in Bitcoin for converting 160-bit hashes into Bitcoin addresses"
|
||||
|
@ -30,6 +29,8 @@
|
|||
[confirmed transactions]: /en/developer-guide#term-confirmation "Transactions included in a block currently on the block chain"
|
||||
[confirmation]: /en/developer-guide#term-confirmation "The number of blocks which would need to be modified to remove or modify a transaction"
|
||||
[confirmations]: /en/developer-guide#term-confirmation "The number of blocks which would need to be modified to remove or modify a transaction"
|
||||
[consensus]: /en/developer-guide#term-consensus "When several nodes (usually most nodes on the network) all have the same blocks in their locally-validated block chain."
|
||||
[consensus rules]: /en/developer-guide#term-consensus-rules "The block validation rules that full nodes follow to stay in consensus with other nodes."
|
||||
[denomination]: /en/developer-guide#term-denomination "bitcoins (BTC), bitcents (cBTC), millibits (mBTC), microbits (uBTC), or satoshis"
|
||||
[difficulty]: /en/developer-guide#term-difficulty "A number corresponding to the target threshold which indicates how difficult it will be to find the next block"
|
||||
[double spend]: /en/developer-guide#term-double-spend "Attempting to spend the same satoshis which were spent in a previous transaction"
|
||||
|
@ -38,7 +39,9 @@
|
|||
[extended public key]: /en/developer-guide#term-extended-public-key "A public key extended with the chain code so that it can derive child public keys"
|
||||
[escrow contract]: /en/developer-guide#term-escrow-contract "A contract in which the spender and receiver store satoshis in a multisig output until both parties agree to release the satoshis"
|
||||
[fiat]: /en/developer-guide#term-fiat "National currencies such as the dollar or euro"
|
||||
[fork]: /en/developer-guide#term-fork "When two or more blocks have the same block height, forking the block chain."
|
||||
[genesis block]: /en/developer-guide#term-genesis-block "The first block created; also called block 0"
|
||||
[hard fork]: /en/developer-guide#term-hard-fork "A permanent divergence in the the block chain, commonly occurs when non-upgraded nodes can't validate blocks created by upgraded nodes following newer consensus rules."
|
||||
[hardened extended private key]: /en/developer-guide#term-hardened-extended-private-key "A private key whose corresponding public key cannot derive child keys"
|
||||
[HD protocol]: /en/developer-guide#term-hd-protocol "The Hierarchical Deterministic (HD) key creation and transfer protocol"
|
||||
[header nonce]: /en/developer-reference#term-header-nonce "Four bytes of arbitrary data in a block header used to let miners create headers with different hashes for proof of work"
|
||||
|
@ -132,6 +135,7 @@
|
|||
[signature]: /en/developer-guide#term-signature "The result of combining a private key and some data in an ECDSA signature operation which allows anyone with the corresponding public key to verify the signature"
|
||||
[signature hash]: /en/developer-guide#term-signature-hash "A byte appended onto signatures generated in Bitcoin which allows the signer to specify what data was signed, allowing modification of the unsigned data"
|
||||
[signature script]: /en/developer-guide#term-signature-script "Data generated by a spender which is almost always used as variables to satisfy a pubkey script"
|
||||
[soft fork]: /en/developer-guide#term-soft-fork "A temporary fork in the block chain which commonly occurs when miners using non-upgraded nodes violate a new consensus rule their nodes don't know about."
|
||||
[spv]: /en/developer-guide#simplified-payment-verification-spv "A method for verifying particular transactions were included in blocks without downloading the entire contents of the block chain"
|
||||
[ssl signature]: /en/developer-examples#term-ssl-signature "Signatures created and recognized by major SSL implementations such as OpenSSL"
|
||||
[stack]: /en/developer-guide#term-stack "An evaluation stack used in Bitcoin's script language"
|
||||
|
@ -160,9 +164,13 @@
|
|||
[X509Certificates]: /en/developer-examples#term-x509certificates
|
||||
|
||||
[BFGMiner]: https://github.com/luke-jr/bfgminer
|
||||
[BIP16]: https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki
|
||||
[BIP21]: https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki
|
||||
[BIP30]: https://github.com/bitcoin/bips/blob/master/bip-0030.mediawiki
|
||||
[BIP32]: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
|
||||
[BIP34]: https://github.com/bitcoin/bips/blob/master/bip-0034.mediawiki
|
||||
[BIP39]: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
|
||||
[BIP50]: https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki
|
||||
[BIP70]: https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki
|
||||
[BIP71]: https://github.com/bitcoin/bips/blob/master/bip-0071.mediawiki
|
||||
[BIP72]: https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue