DOCUMENTATION

Network facts

The figures behind TitanForge in one place: the network, the coin, how coins are issued, what a payment hides, and what is not settled yet.

TitanForge is in development. The software is not released and no TFN coin exists, so there is nothing to buy or claim. This page describes the design as it is specified, not a live network.

Each term is explained where it first appears. More terms are in the glossary on the home page.

No tag
The figure is decided in the specification. It changes only through a reviewed change to the specification, which is itself still in review.
working value
The current setting. A review or a measurement can still change it.

The network

TitanForge is a proof-of-work network: miners secure it with computing work. Payments are recorded in blocks. A hash function turns data into a number that cannot be predicted, and a miner has to try many times until the number for a new block is low enough. TitanForge’s hash function is XelisHash-TF, which runs on processors (CPUs) and graphics cards (GPUs).

The network aims for one block every second. Blocks found at the same moment are all kept. Each block can point back to as many as ten earlier blocks, which makes the ledger, the record of all blocks, a blockDAG and not a single chain. A rule called GHOSTDAG puts every block into one agreed order.

A block is final after about 12 hours: from then on the nodes, the computers that run the network, no longer undo it. One-second blocks do not mean one-second finality.

Difficulty is the amount of work a block needs. It is set again for every block, from roughly the last 44 minutes of blocks. It can rise only gradually, which stops an attacker from packing a chain’s weight into a few unusually heavy blocks. It can fall without a limit, so the network recovers when miners leave.

The network in figures
FactValue
Proof of workXelisHash-TF v1
Target block time1 second
Earlier blocks a block can point toup to 10
Finalityabout 12 hours (43,200 blocks)
Difficulty is setfor every block
Blocks the difficulty is measured fromabout the last 44 minutes
Memory needed for one hash543,744 bytes
Block size limit250 KBworking value
Capacityabout 27 payments per secondworking value

For miners

  • XelisHash-TF is a variant of XelisHash v3 with its own keys, so mining software has to be built for it. Free, open-source CPU and GPU miners are planned before launch. None is released yet.
  • One hash needs about half a megabyte of memory.
  • The network itself creates each reward, as a note, when a later block merges the block that earned it. A note is a record of value that only its owner can spend. A block’s miner receives the reward and a share of the fees; a part of the newly issued coins goes to the development fund. When a block arrives late and is poorly connected, its reward goes to the miner whose block merges it.
  • A reward has no waiting period of its own. Like any received funds it can be spent after about 10 to 20 minutes. working value
  • Mining pools (groups of miners who share their rewards) and their miners talk over TF-Stratum, a dialect of the Stratum mining protocol. The current version is a draft for the test network.

Public, not private

The address a mining reward is paid to and the amount are visible to everyone. Spending the reward later is private. Miners should use a separate reward address and change it regularly.

The coin

The coin is called TitanForge and its ticker is TFN. No TFN exists yet.

The smallest unit of the coin is the rivet. One TFN is 100,000,000 rivets, so an amount can have up to eight decimal places.

Units of the coin
FactValue
NameTitanForge
TickerTFN
Smallest unitrivet
1 TFN100,000,000 rivets
1 rivet0.00000001 TFN

Issuance

Every TFN comes from block rewards, the new coins issued with each block. There is no premine: no coins are created before the public launch. There is also no presale, no initial coin offering (ICO) and no investor allocation.

The first block of a network is its genesis block. It pays nothing on any TitanForge network. On mainnet, the real network, the genesis block must also refer to a public event that is no more than 24 hours old at launch. That shows that nothing was mined in advance.

The schedule

New coins are issued at a rate per second.

  • The rate starts at 1 TFN per second.
  • It halves every two years. The halving is spread over 24 monthly steps, so each month’s rate is just under 3% lower than the month before and there is never a sudden cut.
  • After 122 months, a little over ten years, the rate reaches 0.03 TFN per second and stays there. This is the permanent tail. It keeps paying miners and has no end date.
Emission rate along the schedule
Point in timeNew TFN per second
Start1
After 1 year0.70710678
After 2 years0.5
After 4 years0.25
After 6 years0.125
After 8 years0.0625
After 10 years0.03125
After about 10.2 years (the tail)0.03
Approximate supply under the fixed schedule
AfterTotal supply
1 year27.1 million TFN
2 years46.2 million TFN
4 years69.3 million TFN
About 10.2 years (tail begins)89.65 million TFN
Each year after+0.95 million TFN

In its first year the tail adds about 1% to the supply. The share falls every year after that. There is no hard supply cap. The software does set a technical bound of about 11.5 billion TFN on any amount or total; at the tail rate the supply would reach it only after more than 12,000 years.

Two things to know about these figures. A month in the schedule is a fixed 2,629,800 seconds, one twelfth of 365.25 days. And the schedule counts blocks, not calendar days: the totals assume one block per second, and if blocks arrive slightly faster or slower, issuance by the calendar shifts in the same proportion.

Development funding

Development is paid for out of block rewards, not out of a premine. A part of the newly issued coins goes to a development fund. The fund takes nothing from transaction fees. The supply figures above include its part.

For the first four years of the chain the fund receives 5% of the newly issued coins: about 3.46 million TFN in all, under 4% of the supply after ten years. After that it receives nothing.

The fund is public by design. Its address has a published viewing key: a key that lets anyone read an address’s payments without being able to spend. With it anyone can follow what the fund receives and what it spends.

Public, not private

A payment made by the development fund can be read by anyone: the receiving address, the amount and the memo (a short message) sent with it. Someone who is paid by the fund should use a fresh address for it.

Fees

Every transaction pays a fee that the network sets. The sender cannot add a tip or outbid others. Every transaction pays the same public price as its neighbours, so the fee reveals almost nothing about who is paying.

A private transaction is made of actions. One action can spend one note and create one. Every transaction is padded to exactly 2, 4 or 8 actions, and the fee is charged per action.

At the current setting half of each fee goes to the miner and the other half is burned. Burned coins are destroyed: they leave the supply for good, and the amount burned is public.

Fees
FactValue
Starting fee per action0.0001 TFN (10,000 rivets)working value
Fee of the smallest transaction (2 actions)0.0002 TFNworking value
Part of the fee that is burnedhalfworking value
Part of the fee paid to the minerhalfworking value
Largest change of the feeone step of about 19% per hourworking value

The fee follows demand. Once an hour it can move one step, about 19%, up or down. It does not go below the starting fee. A fee paid at the previous hour’s level stays valid, so a transaction signed just before a change still goes through.

Working value

Fees are not final. The starting fee, the floor, the burned part, the hourly step and the rule that the previous hour’s fee stays valid are the current settings of the specification.

What a payment hides, and what is public

Privacy in TitanForge means payments between users. Every such payment is shielded: the sender, the receiver and the amount are hidden. There is no transparent mode.

Some facts are public on purpose, so that anyone can check how many coins exist. One of them is the total held in each pool. A pool is the shared set of shielded notes of one coin; the balances inside it stay hidden.

Hidden and public
WhatWho can see it
A payment between usersHidden: the sender, the receiver and the amount.
The fee and size of a transactionPublic: the fee, and whether the transaction has 2, 4 or 8 actions.
A mining rewardPublic: the address it is paid to and the amount. Hidden: what happens to it afterwards.
The development fundPublic: what it receives and what it spends.
The supplyPublic: the coins issued and burned and the balance of each pool, in every block.
Stablecoin conversions (later)Public: the amounts converted. Hidden: who converts.

Limits to know

  • Supply checks have a limit. Every block records the coins issued and burned and each pool’s balance, so anyone can recheck the supply from the first block. These totals cannot reveal a counterfeit hidden inside a pool.
  • Anonymity is within the current pool generation. A pool that reaches its size limit is closed and replaced. Payments then hide among the notes of the new pool.
  • The network sees less, not nothing. Node traffic is planned to travel over encrypted TLS 1.3 connections, and a new transaction will be passed along a short random path before it is broadcast, a method called Dandelion++. With both in place, ordinary peers (the other nodes that yours connects to) cannot tie a payment to an IP address, the address of your internet connection. Your internet provider can still see that you run a node and may infer when you send.
  • TitanForge is not quantum-safe. A large quantum computer could break the cryptography that private payments use today and expose recorded payments. Notes that standard wallets create or accept are designed to be quantum-recoverable under the ZIP 2005 proposal: their owners should be able to prove ownership by quantum-safe means and move their funds. The recovery protocol is still being specified.

Public, not private

A dollar-tracking stablecoin, Tungsten (TGN), is planned for later, with Girder (GIRD) as its reserve share. It is off at mainnet launch and can be switched on only after published criteria are met. Its conversion amounts will be public. Who converts stays private.

The networks

TitanForge defines separate networks. Each has its own genesis block and its own address prefix, so an address of one network is rejected on another.

Networks and their addresses
NetworkAddress prefixAn address
Mainnettfbegins tf1, 105 characters
Testnettftestbegins tftest1, 109 characters
Devnettfdevbegins tfdev1, 108 characters
Mainnet
The real network, named titanforge-mainnet. It has not launched. Its genesis block is not set, and until it is the node software refuses to start on mainnet. Mainnet follows independent security audits.
Testnet
The first public test network, named titanforge-testnet-1. It is not open yet. A test network can be reset: it then starts again from a new genesis block under the same name, and no balance or history carries over.
Devnet
A network for developers, named titanforge-devnet, with real proof of work at low difficulty.

A fourth network, simnet (prefix tfsim), exists for simulations and automated tests. It skips the proof-of-work check.

An address is one long string of lower-case letters and digits. A wallet can hand out as many addresses as you like, and an outsider cannot link them to each other. No wallet is available to download yet.

What is still open

The specification is written and still in review. The points below are not settled.

Not settled yet
PointWhere it stands
The mainnet genesis blockNot set: its time, its starting difficulty and the public event it will refer to.
Starting difficulty of the testnetA working value.
Block size and capacityWorking values. A measurement will set them.
FeesWorking values: the starting fee, the floor, the burned part, the hourly step and the rule that the previous hour’s fee stays valid.
Wait before received funds can be spentA working value.
How fast difficulty may riseA working value.
Mining interfaceThe position of two fields in the proof-of-work input still needs confirming with authors of mining software. The protocol between mining pools and miners is a draft for the test network.
Development fundThe key of the mainnet fund is still to be created.
Quantum recoveryThe recovery protocol is still being specified.
Security auditsMainnet requires independent security audits.