|13||Mineable Token Standard||WIP||Token Standard||Devon Katz<firstname.lastname@example.org>||8-17-2018|
Summary [OUT OF DATE]
This standard defines a mineable token standard that takes inspiration from Bitcoin and EIP-918.
Address the main caveat of existing FAT standards: Issuance is not trustless. FATIP-0 and FATIP-1 require signatures from the issuing identity to coinbase transaction the initial tokens into existence, after which trade is trustless and decentralized.
The mineable token standard allows tokens to be distributed trustlessly like in reputable ERC-20 ICO's and other smart contract platforms. This effectively turns the initial coin offering into an initial mining offering (IMO) which anyone can participate in.
This standard inherits upon the Fungible Token Standard (FTIP-0) for its core functionality.
|supply||Mineable tokens asymtote towards their final supply|
|difficulty||number||Difficulty coefficient for the POW problem||integer >= 1||Y|
|blockInterval||number||Number of Factom blocks to limit each problem to.||integer >= 1||Y|
|reward||number||Reward in amount FAT tokens for each solution||number >= 0||Y|
|idSalt||ID sig verification replaced with PoW|
|idNonce||ID sig verification replaced with PoW|
|idSignature||ID sig verification replaced with PoW|
|input.amount||number||The amount of tokens to send. Ignored for coinbase transactions due to PoW solution reward.||>=0||Y|
|solution||string||The solution to the current POW problem||Proof of solution via hashcash algorithm||Y|
At the heart of the standard lies the contextual proof of work validation rules for entries on the transaction chain.
Proof Of Work Implementation
Participating paties run a hashcash algorithm to solve a proof of work problem that increases in difficulty over time, similar to Bitcoin.
In this case the Factom Blockchain is used as a source of randomness and determinism to facilitate an reliable PoW system. Seed material for the problem is provided by Factom.
The hash to find is calculated in a decentralized way using several fields and parameters:
difficulty- The number of F's to prefix the problem with. From the token's issuance
blockInterval- The interval in Factom blocks for invalidating the PoW problem starting from 0. From the tokens issuance.
keyMR- The key merkle root of Factom for the given block
problem = difficulty + keyMR problem = 0000000 + d0a5f8048231efd6ddfba469834db6b2efb9c0f505d9e400f5c39e14713139d1
blockInterval blocks a new problem is deterministically calculated by
Redemption & Reward
The first participant to solve the current proof of work problem submits a transaction entry with the solution to the Factom blockchain. Valid solutions entitle the participant to send a reward quantity of FAT tokens sent to a public Factoid address of their choice.
This approach can also be applied to FAT tokens with somewhat more complexity
Copyright and related rights waived via CC0.