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

Update tip-0022.md #137

Merged
merged 1 commit into from
Oct 5, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 3 additions & 9 deletions tips/TIP-0022/tip-0022.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,18 @@ Various other protocol TIPs rely on certain constants that need to be defined fo
| Protocol Version | 2 | Protocol version currently used by the network |
| Max Block Length | 32768 | Maximum length of a block in bytes. Limits Tangle storage size and communication costs. |
| Max Parents Count | 8 | Maximum number of parents of a block. |
| Min PoW Score | 4000.0 | Minimum PoW score for blocks to pass syntactic validation. |
| Min PoW Score | 1500.0 | Minimum PoW score for blocks to pass syntactic validation. |
| First Milestone Index | 1 | First valid milestone index. |
| | | |
| Max IOTA Supply | 2779530283277761 | Total amount of IOTA coins in circulation. |
| Max IOTA Supply | 4600000000000000 | Total amount of IOTA coins in circulation. |
| Max Inputs Count | 128 | Maximum number of inputs in a transaction payload. |
| Max Outputs Count | 128 | Maximum number of outputs in a transaction payload. |
| Max Native Token Count | 64 | Maximum number of different native tokens that can be referenced in one transaction. |
| | | |
| Max Tag Length | 64 | Maximum length of a `Tag` field in bytes. |
| Max Metadata Length | 8192 | Maximum length of a `Metadata` field in bytes. |
| | | |
| VByte Cost | 500 | Minimum amount of IOTA that need to be deposited per vbyte of an output. |
| VByte Cost | 250 | Minimum amount of IOTA that need to be deposited per vbyte of an output. |
| | | |
| SLIP-44 Coin Type (decimal) | 4218 | Registered coin type (decimal) for usage in level 2 of [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) described in chapter "Coin type". |
| SLIP-44 Path Component (`coin_type'`) | 0x8000107a | Registered path component for usage in level 2 of [BIP44](https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki) described in chapter "Coin type". |
Expand All @@ -47,12 +47,6 @@ Various other protocol TIPs rely on certain constants that need to be defined fo

# Rationale for parameter choices

## Proof-of-work

The `Min PoW Score` has been chosen to roughly match the difficulty of a data transaction in the legacy IOTA protocol:
- The payload length (`signatureMessageFragment`) of a legacy transaction is 2187 trytes or 1100 - 1300 bytes depending on the encoding.
- With a minimum weight magnitude (trailing zero trits) of 14, this corresponds to a PoW score of about 4000.

## Transaction and block limits

The block parameter `Max Block Length` and `Max Parent Count`, as well as the transaction parameters `Max Inputs Count`, `Max Outputs Count`, `Max Native Token Count`, `Max Tag Length` and `Max Metadata Length` govern the block and transaction validity. Their values have been chosen to ensure functionality of the protocol within constrained resource restrictions. Furthermore, choosing more conservatives values here is preferable as increasing such limits can always been done preserving backward compatibility.
Expand Down
Loading