Glossary
Asset
A user-created resource which can be transferred privately, minted, and burned. Contains metadata, a name, the owner public address, and nonce.
Asset Generator
The group_hash
of the Hashed Asset Info. Calculated in public so the hash can be verified at consensus.
Asset Identifier
The 32-byte representation of the Asset Generator point.
Hashed Asset Info
A Pedersen Hash of the Asset Info (owner, name, metadata, nonce) . This hash is the pre-image for the group_hash
to generate the Asset Generator point.
Block
A piece of data in the Iron Fish chain which holds a record of transactions, graffiti, difficulty, previous Block, sequence, and timestamp.
Graffiti
32 byte field that may be assigned at will by the miner who mined the block.
Difficulty
Measure of how difficult it is to produce an Iron Fish Block.
Sequence
The sequential index number of a block in the Iron Fish chain, or the number of blocks up to and including the current block.
Circuit
A program used to create the Proof for a Transaction Description.
Commitment
Product of a value and random number as a way of committing to a value without revealing the value itself. Generally a point on the elliptic curve.
Groth16
The zero-knowledge proving system used in Iron Fish and Sapling. Named after the paper by Jens Groth.
Group Hash
A function which is used to obtain generator points on the Jubjub curve.
Keys
A piece of data which can be used to encrypt and decrypt data.
Spending Key
Also known as Secret Key
32-byte random seed used to construct other parts of an Iron Fish wallet. The expanded form of this key is required before a note can be spent.
Spend Authorization Key
Also known as
ask
Derived from spending key using a seeded pseudorandom hash function. Used to construct Authorization Key.
Authorization Key
Also known as
ak
Public key constructed by multiplying the Spend Authorization Key with a fixed generator base point for it on the Jubjub curve.
Proof Authorization Key
Also known as
nsk
Derived from spending key using a seeded pseudorandom hash function. Used to construct the Nullifier Deriving Key.
Outgoing View Key
Also known as
ovk
Allows users to decrypt a Note for a spender from outgoing transactions.
Incoming View Key
Also known as
ivk
Allows users to decrypt a Note for an owner from incoming transactions.
View Key
A composite of the Outgoing View Key and Incoming View Key allowing for note decryption from both outgoing and incoming transactions.
Raw Transaction
A JavaScript object which contains all the arguments to create a native Iron Fish Transaction. The data includes spends, outputs, mints, burns, expiration, and fee.
Transaction
A collection of actions (ex. transfer of an Asset between two parties, burning supply of an Asset, etc.) that is persisted and verified on a blockchain.
The total value of a transaction balances to 0 by the following:
sum(spends) + sum(mints) - sum(outputs) - sum(burns) - transaction_fee = 0
Description
An action which encapsulates a Proof and all the public parameters required to verify the proof and transaction.
Spend Description
A description which spends a given note by calculating and revealing its nullifier.
Output Description
A description which creates a note with a given value, owned by whoever holds the private key associated with the recipient public address.
Mint Description
A description which increases the supply of an Asset on the Iron Fish chain.
Burn Description
A description which decreases the supply of an Asset on the Iron Fish chain.
Expiration
A sequence value after which the Transaction will fail consensus and be invalid during block verification.
Fee
A reward in $IRON which is paid out to miners for confirming Transactions to a Block.
Miners
Nodes that propose a new block to be added to the blockchain to other nodes.
Mining
Core mechanism that defines by which rules new Blocks are created and by which rules a peer can verify and accept an incoming Blocks.
Note
The basic unit to represent value of any asset type on the Iron Fish chain. Always stored in its encrypted format publicly. Contains the owner address, original sender address, value, memo, and Asset Generator.
Nullifier
A 32 byte hash that when revealed marks a note as spent so that note cannot be spent again.
Proof
A method to prove that is statement is true to a verifier. Iron Fish proofs are 192 byte Groth16 that can be verified with the public parameters and the associated circuit’s prepared verifying key.
Proof Inputs
The raw public and private parameters needed to create a Proof.
Wallet
An Iron Fish wallet manages Accounts, listens to incoming transactions from the chain, and broadcasts transactions to the chain.
Account
An Iron Fish account holds private keys which enable users to view transaction details and transfer assets to other addresses.