Tangle Improvement Proposal (TIP) Repository
TIPs are improvement proposals for bettering the IOTA technology stack.
Building the IOTA ecosystem is a community effort, therefore we welcome anyone to propose, discuss and debate ideas that will later become formalized TIPs.
Propose new ideas
Do you have an idea how to improve the IOTA technology stack?
- Head over to the discussions page to browse already submitted ideas or share yours!
- Once your idea is discussed, you can submit a draft TIP (template here as a PR to the repository.
- You will receive feedback from the TIP Editors and review from core devs.
- Once accepted, your TIP is merged as Draft.
- It is your responsibility to drive its implementation and to present a clear plan on how the new feature will be adopted by the network.
- Once implementation is ready and testing yields satisfactory result, the TIP becomes Proposed.
- Proposed TIPs that are supported by majority of the network become Active.
You may find more information about the TIP Process in TIP-1.
Stardust is the next upgrade of the IOTA protocol that adds tokenization and smart contract chain support besides many more improvements. Browse the list of TIPs below with the Stardust tag to learn more about what changes.
List of TIPs
- Last updated: 2022-05-20
- The Status of a TIP reflects its current state with respect to its progression to being supported on the IOTA mainnet.
DraftTIPs are work in progress. They may or may not have a working implementation on a testnet.
ProposedTIPs are demonstrated to have a working implementation. These TIPs are supported on Shimmer, the staging network of IOTA.
ActiveTIPs are supported on the IOTA mainnet.
|1||TIP Process||Purpose and guidelines of the contribution framework||Process||-||Active||-|
|2||White Flag Ordering||Mitigate conflict spamming by ignoring conflicts||Standards||Core||Active||Chrysalis|
|3||Uniform Random Tip Selection||Perform fast tip-selection to increase message throughput||Standards||Core||Active||Chrysalis|
|4||Milestone Merkle Validation||Add Merkle tree hash to milestone for local ledger state verification||Standards||Core||Active||Chrysalis|
|5||Binary To Ternary Encoding||Define the conversion between binary and ternary data||Standards||Core||Active||Chrysalis|
|6||Tangle Message||Generalization of the Tangle transaction concept||Standards||Core||Active||Chrysalis|
|7||Transaction Payload||UTXO-based transaction structure||Standards||Core||Active||Chrysalis|
|8||Milestone Payload||Coordinator issued milestone structure with Ed25519 authentication||Standards||Core||Active||Chrysalis|
|9||Local Snapshot File Format||File format to export/import ledger state||Standards||Interface||Active||Chrysalis|
|10||Mnemonic Ternary Seed||Represent ternary seed as a mnemonic sentence||Standards||IRC||Obsolete||Legacy IOTA|
|11||Bech32 Address Format||Extendable address format supporting various signature schemes and address types||Standards||Interface||Active||Chrysalis|
|12||Message PoW||Define message proof-of-work as a means to rate-limit the network||Standards||Core||Active||Chrysalis|
|13||REST API||Node REST API routes and objects in OpenAPI Specification||Standards||Interface||Active||Chrysalis|
|14||Ed25519 Validation||Adopt ZIP-215 to explicitly define Ed25519 validation criteria||Standards||Core||Active||Chrysalis|
|15||Dust Protection||Prevent bloating the ledger size with to dust outputs||Standards||Core||Active||Chrysalis|
|16||Event API||Node event API definitions in AsyncAPI Specification||Standards||Interface||Active||Chrysalis|
|17||Wotsicide||Define migration from legacy WOTS addresses to post-Chrysalis Phase 2 network||Standards||Core||Active||Chrysalis|
|18||Multi-Asset Ledger and ISC Support||Transform IOTA into a multi-asset ledger that supports running IOTA Smart Contracts||Standards||Core||Proposed||Stardust|
|19||Dust Protection Based on Byte Costs||Prevent bloating the ledger size with dust outputs||Standards||Core||Proposed||Stardust|
|20||Transaction Payload with New Output Types||UTXO-based transaction structure with TIP-18||Standards||Core||Proposed||Stardust|
|21||Serialization Primitives||Introduce primitives to describe the binary serialization of objects||Standards||Core||Proposed||Stardust|
|22||IOTA Protocol Parameters||Describes the global protocol parameters for the IOTA protocol||Standards||Core||Draft||Stardust|
|23||Tagged Data Payload||Payload for arbitrary data||Standards||Core||Proposed||Stardust|
|24||Tangle Block||A new version of TIP-6 that renames messages to blocks and removes the Indexation Payload in favor of the Tagged Data Payload. Replaces TIP-6.||Standards||Core||Proposed||Stardust|
|25||Core REST API||Node Core REST API routes and objects in OpenAPI Specification. Replaces TIP-13.||Standards||Interface||Proposed||Stardust|
|26||UTXO Indexer REST API||UTXO Indexer REST API routes and objects in OpenAPI Specification.||Standards||Interface||Proposed||Stardust|
|27||IOTA NFT standards||Define NFT metadata standard, collection system and creator royalties||Standards||IRC||Proposed||Stardust|
|28||Node Event API||Node event API definitions in AsyncAPI Specification. Replaces TIP-16.||Standards||Interface||Proposed||Stardust|
|29||Milestone Payload||Milestone Payload with keys removed from essence. Replaces TIP-8.||Standards||Core||Proposed||Stardust|
|30||Native Token Metadata Standard||A JSON schema that describes token metadata format for native token foundries||Standards||IRC||Proposed||Stardust|
|31||Bech32 Address Format for IOTA and Shimmer||Extendable address format supporting various signature schemes and address types. Replaces TIP-11.||Standards||Interface||Proposed||Stardust|
|32||Shimmer Protocol Parameters||Describes the global protocol parameters for the Shimmer network||Standards||Core||Proposed||Stardust|
|33||Public Token Registry||Defines an open public registry for NFT collection ID and native tokens metadata||Standards||IRC||Draft||Stardust|
|34||Wotsicide (Stardust update)||Define migration from legacy W-OTS addresses to post-Chrysalis networks. Replaces TIP-17.||Standards||Core||Proposed||Stardust|
|35||Local Snapshot File Format (Stardust Update)||File format to export/import ledger state. Replaces TIP-9.||Standards||Interface||Proposed||Stardust|
|37||Dynamic Proof-of-Work||Dynamically adapt the PoW difficulty||Standards||Core||Draft||Stardust|
If you want to get involved in the community, need help getting started, have any issues related to the repository or just want to discuss blockchain, distributed ledgers, and IoT with other people, feel free to join our Discord.