-
Notifications
You must be signed in to change notification settings - Fork 129
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
Add forking terms to glossary #1018
Conversation
docs/glossary.md
Outdated
|
||
A programming term for an open-source code modification. The modified code is considered a “fork” of the original code. Typically, forks contain modifications that significantly alter the original code. For example, the Bitcoin Cash fork of the Bitcoin blockchain raised the block size from 1Mb to 8 Mb. If the state of the blockchain is also forked, as was the case with Bitcoin Cash, it is also considered a “chain fork”. In this case, owners of coins on the original chain will have equivalent coins on the new chain when the chains diverge. Decred began its life as a source code fork of [btcd](https://github.com/btcsuite/btcd), an alternate full node implementation of Bitcoin. Significant changes were then made before launch, including modifications to the consensus rules, a Proof-of-Stake (PoS) layer to enable on-chain governance, a new hashing algorithm and other innovations. It is arguable whether Decred is a source code fork, considering the scope of modifications made. Decred is not a chain fork, as it did not copy the state of the Bitcoin blockchain, and instead started from its own genesis block. | ||
|
||
It is also worth noting that chain forks can and do regularly occur without any code changes. This happens unintentionally when nodes in the network temporarily disagree on the state of the blockchain. Typically, these forks are short lived and resolve when the nodes reach consensus. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It could be valuable to add a line regarding sustained forks as they can cause a great deal of damage and decred is well protected from them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a line that defines a sustained chain split. Definition taken from @noahpierau's article that explains Decred's advantages here (which I also link to):
It is also worth noting that chain forks can and do regularly occur without any code changes. This happens unintentionally when nodes in the network temporarily disagree on the state of the blockchain. Typically, these forks are short lived and resolve when the nodes reach consensus. In sustained chain splits such as Bitcoin Cash, there is sufficient economic and hash power to support multiple competing versions of the blockchain for an extended period of time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@zubairzia0 addressed your comment. Didn't intend for this to be a separate review of my own PR though....am I doing this wrong or is this a new GitHub thing?
docs/glossary.md
Outdated
|
||
A programming term for an open-source code modification. The modified code is considered a “fork” of the original code. Typically, forks contain modifications that significantly alter the original code. For example, the Bitcoin Cash fork of the Bitcoin blockchain raised the block size from 1Mb to 8 Mb. If the state of the blockchain is also forked, as was the case with Bitcoin Cash, it is also considered a “chain fork”. In this case, owners of coins on the original chain will have equivalent coins on the new chain when the chains diverge. Decred began its life as a source code fork of [btcd](https://github.com/btcsuite/btcd), an alternate full node implementation of Bitcoin. Significant changes were then made before launch, including modifications to the consensus rules, a Proof-of-Stake (PoS) layer to enable on-chain governance, a new hashing algorithm and other innovations. It is arguable whether Decred is a source code fork, considering the scope of modifications made. Decred is not a chain fork, as it did not copy the state of the Bitcoin blockchain, and instead started from its own genesis block. | ||
|
||
It is also worth noting that chain forks can and do regularly occur without any code changes. This happens unintentionally when nodes in the network temporarily disagree on the state of the blockchain. Typically, these forks are short lived and resolve when the nodes reach consensus. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a line that defines a sustained chain split. Definition taken from @noahpierau's article that explains Decred's advantages here (which I also link to):
It is also worth noting that chain forks can and do regularly occur without any code changes. This happens unintentionally when nodes in the network temporarily disagree on the state of the blockchain. Typically, these forks are short lived and resolve when the nodes reach consensus. In sustained chain splits such as Bitcoin Cash, there is sufficient economic and hash power to support multiple competing versions of the blockchain for an extended period of time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good for now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approval as of commit 2eafab4.
@jholdstock, made a couple tweaks based on your suggestions. Lgtm |
Adds definitions for Fork, Hard Fork and Soft Fork to glossary ( Closes #1001 ).