* This adds two sections to dip 0008. The first section considers the security of Chain Locks and provides the calculations needed to evaluate the security. The second added sections provides mitigations of situtaions when attackers do not own the collatoral of the masternodes. * Update dip-0008.md * Fix hyperlinks * Update dip-0008.md * Update dip-0008.md correction of word. Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com> * Update dip-0008.md Need to make sure it's always big choose small. Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com> * Fixes inconsistantcy in gifs * Update dip-0008/quorum_attack.py fix tpyo Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008.md Changing titles, todo change table. Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com> * Clarify table This handles the edge case of witholding a ChainLock correctly, it takes 161 nodes to withold a ChainLock. Also makes table clearer to read. * Clarify malicious chainlock Based on suggestions from AndyFreer a second paragraph is added to explain what can go wrong. * Update dip-0008.md Add line break. Co-Authored-By: UdjinM6 <UdjinM6@users.noreply.github.com> * Apply suggestions of thephez The calculations were updated to refelct the fact that 161 masternodes are needed to withhold a chainlock in a previous commit. This commit updates the text and displayed formulas to reflect this fact. We also alert the reader that we assume that all uncompromised nodes are behaiving as expected. We include the effect of relaxing this assumption, however the calculations are left to the reader. The python function provided makes it easy. * Fix two typos * Update dip-0008.md one missed 160->161 Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008.md Co-Authored-By: thephez <thephez@users.noreply.github.com> * Correct C size in sumation formula * Update dip-0008/quorum_attack.py correct spelling Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py correct spelling Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py correct spelling Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py correct spelling Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py correct spelling Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> * Update dip-0008/quorum_attack.py Co-Authored-By: thephez <thephez@users.noreply.github.com> Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com> Co-authored-by: thephez <thephez@users.noreply.github.com> |
||
---|---|---|
dip-0001 | ||
dip-0006 | ||
dip-0008 | ||
dip-0009 | ||
dip-0001.md | ||
dip-0002-special-transactions.md | ||
dip-0002.md | ||
dip-0003-masternode-types.md | ||
dip-0003.md | ||
dip-0004.md | ||
dip-0005.md | ||
dip-0006.md | ||
dip-0007.md | ||
dip-0008.md | ||
dip-0009.md | ||
dip-0010.md | ||
LICENSE | ||
README.md |
Dash Improvement Proposals (DIPs)
DIP stands for Dash Improvement Proposal. Similar to Bitcoin's BIPs, a DIP is a design document providing information to the Dash community, or describing a new feature for Dash or its processes or environment. The DIP should provide a concise technical specification of the feature and a rationale for the feature.
Because Dash is forked from the Bitcoin codebase, many of the BIPs can be applied to Dash as well (a list of the BIPs updated to include Dash-specific details can be found here). The purpose of the DIPs is not to duplicate those which exist as BIPs, but to introduce protocol upgrades or feature specifications which are unique to Dash.
Contributions
We use the same general guidelines for introducing a new DIP as specified in BIP 2, with a few differences. Specifically:
- Instead of the BIP editor, initiate contact with the Dash Core development team and your request should be routed to the DIP editor(s). The DIP workflow mimics the BIP workflow.
- Recommended licenses include the MIT license
- Markdown format is the preferred format for DIPs
- Following a discussion, the proposal should be submitted to the DIPs git repository as a pull request. This draft must be written in BIP/DIP style as described in BIP 2, and named with an alias such as "dip-johndoe-infinitedash" until the editor has assigned it a DIP number (authors MUST NOT self-assign DIP numbers).
Dash Improvement Proposal Summary
Number | Layer | Title | Owner | Type | Status |
---|---|---|---|---|---|
1 | Consensus | Initial Scaling of the Network | Darren Tapp | Standard | Final |
2 | Consensus | Special Transactions | Samuel Westrich, Alexander Block, Andy Freer | Standard | Final |
3 | Consensus | Deterministic Masternode Lists | Samuel Westrich, Alexander Block, Andy Freer, Darren Tapp, Timothy Flynn, Udjinm6, Will Wray | Standard | Final |
4 | Consensus | Simplified Verification of Deterministic Masternode Lists | Alexander Block, Samuel Westrich, UdjinM6, Andy Freer | Standard | Final |
5 | Consensus | Blockchain Users | Alexander Block, Cofresi, Andy Freer, Nathan Marley, Anton Suprunchuk, Darren Tapp, Thephez, Udjinm6, Alex Werner, Samuel Westrich | Standard | Proposed |
6 | Consensus | Long-Living Masternode Quorums | Alexander Block | Standard | Final |
7 | Consensus | LLMQ Signing Requests / Sessions | Alexander Block | Standard | Final |
8 | Consensus | ChainLocks | Alexander Block | Standard | Final |
9 | Applications | Feature Derivation Paths | Samuel Westrich | Informational | Proposed |
10 | Consensus | LLMQ InstantSend | Alexander Block | Standard | Final |
License
Unless otherwise specified, Dash Improvement Proposals (DIPs) are released under the terms of the MIT license. See LICENSE for more information or see https://opensource.org/licenses/MIT.