Docs
v1

Guide

Improvement proposals (TIPs)

How to write a Tenrai Improvement Proposal. The header fields, the required sections, the review stages and the principles every proposal has to meet.

On this page

A Tenrai Improvement Proposal (TIP) describes a change to the protocol, the network or a standard API, in enough detail that others can review and implement it. Anyone may write one.

Conventions that software follows by choice, without a change to the protocol, are not TIPs. They are TCCs. How an accepted rule change reaches the network is described in Protocol upgrades.

Proposals are filed in the tenrai-tip repository, which also holds the template below as TEMPLATE.md.

FieldContent
TIPThe number, such as TIP-0001, given when the draft moves to Review
TitleShort, descriptive name
AuthorThe authors and contributors
StatusDraft, Review, Accepted, Rejected, Withdrawn or Final
TypeConsensus, Networking, API or Standards
CreatedThe date of the first draft

Sections

SectionContent
AbstractA short summary of the proposed improvement
MotivationThe problem, why it matters, and why the proposed change is necessary
SpecificationThe detailed technical description: algorithms, rules, parameters, data structures and expected behavior where they apply
RationaleThe design decisions, the alternatives considered and the trade-offs
Backward compatibilityCompatibility with existing nodes, wallets, applications and earlier protocol versions, and whether a hardfork or another coordinated upgrade is required
Security considerationsPossible vulnerabilities, abuse scenarios and consensus risks, with the proposed mitigations
Implementation and testingImplementation requirements, test cases and available reference code

Template

MARKDOWNTEMPLATE.md
# TIP-XXXX: Title

| | |
| --- | --- |
| TIP | TIP-XXXX, given when the draft moves to Review |
| Title | A short, descriptive name |
| Author | Names of the authors and contributors |
| Status | Draft |
| Type | Consensus, Networking, API or Standards |
| Created | YYYY-MM-DD |

## Abstract

## Motivation

## Specification

## Rationale

## Backward compatibility

## Security considerations

## Implementation and testing

Review

StageMeaning
DraftThe author publishes the proposal as tips/tip-draft-<short-name>.md in a pull request
ReviewDevelopers and the community discuss it; the author revises it. The proposal gets its number
AcceptedApproved for implementation
FinalSpecified in full and, where it applies, implemented and activated
RejectedNot taken up
WithdrawnGiven up by its author, possible at any stage

Rules

  • Proposals are public and open to discussion.
  • A consensus change specifies deterministic behavior and the height or condition at which it activates.
  • Accepting a TIP does not change the network. A rule change takes effect only when node operators run a release that schedules it.

Type to search guides, concepts and reference pages.