Glossary

51 percent attack / Majority attack

When an entity controls the majority of the network’s hash power, it can alter transaction history and block new transactions from being confirmed

Address

A 20-byte hash that is encoded in base58check format, used to generate a BitcoinEvo address for P2PKH or P2SH. It is the most common format for users to share payment information.

Base58check

A technique in BitcoinEvo that transforms 160-bit hashes into P2PKH and P2SH addresses. Also utilized in encoding private keys for backup in WIP format, and differs from other base58 methods.

BitcoinEvo URI

A URI that enables receivers to encode payment information, reducing the need for spenders to manually enter addresses and other details.

Block

A group of transactions that includes a block header and is secured through proof of work. Blocks store the transaction data within the blockchain.

Block chain / Best block chain

A sequence of blocks where each one references the previous block. The chain with the highest difficulty to replicate is considered the best block chain.

Block header / Header

An 80-byte header tied to a specific block, repeatedly hashed to generate the required proof of work.

Block height / Height

The number of blocks that come before a given block on the block chain. For example, the genesis block has a height of zero as no blocks precede it.

Block reward

The reward that miners are entitled to for generating a block. It consists of the block subsidy (newly created satoshis) along with the transaction fees from the included transactions.

Blocks-first sync

Syncing the blockchain by downloading each block from a peer and verifying its validity.

Bloom filter

A filter used by SPV clients, allowing them to request only specific transactions and merkle blocks from full nodes.

Certificate chain

A series of certificates that connects an individual’s leaf certificate to a root certificate issued by a certificate authority.

Chain code

In HD wallets, 256 bits of data used along with the public and private keys to generate secure child keys; the master chain code is usually derived from a seed along with the master private key.

Change address / Change output

A transaction output that returns satoshis to the spender, preventing the input value from being overly allocated to transaction fees.

Child key / Child public key / Child private key

In HD wallets, a key derived from a parent key. These keys may be either public or private, and their creation might also involve a chain code.

Child pays for parent / CPFP / Ancestor mining

A method of selecting transactions for mining based on the fees paid by both the transactions themselves and their related ancestors and descendants.

Coinbase

A special input field used for coinbase transactions, allowing miners to claim the block reward and include up to 100 bytes of arbitrary data.

Coinbase block height

The block height of the current block, encoded in the first few bytes of the coinbase field

Coinbase transaction / Generation transaction

The first transaction in a block, generated by miners. It includes only one input field: the coinbase.

CompactSize

A type of variable-length integer often used in BitcoinEvo’s P2P protocol and its serialized data structures.

Compressed public key

An ECDSA public key that is reduced to 33 bytes compared to the 65 bytes of an uncompressed key.

Confirmation score / Confirmations / Confirmed transaction / Unconfirmed transaction

A score that indicates the number of blocks in the best block chain that must be modified to alter a particular transaction. A confirmed transaction has a score of one or more.

Consensus

When the majority of nodes on the network agree and share the same block chain in their locally-validated best chain.

Consensus rules

The set of rules that full nodes adhere to for validating blocks to ensure they remain in consensus with other nodes.

Denomination / BitcoinEvos / Satoshis

BitcoinEvo value can be represented in different denominations, typically as fractions of a bitcoinevo or multiples of a satoshi. One bitcoinevo equals 100,000,000 satoshis.

Difficulty / Network difficulty

A measure of how hard it is to find a valid block compared to the easiest possible block, which has a proof-of-work difficulty of 1.

DNS seed

A DNS server that provides the IP addresses of full nodes on the BitcoinEvo network to aid in peer discovery.

Double spend

A transaction that reuses the same input as another already broadcast transaction. Only one transaction will ultimately be included in the blockchain.

Escrow contract

A transaction where both the sender and recipient lock funds in a multisig output, and neither can spend the funds until both agree on the conditions of release.

Extended key / Public extended key / Private extended key

In HD wallets, a public or private key that is combined with the chain code to allow the derivation of child keys.

Fiat

Government-issued currencies like the dollar or euro.

Fork

When two or more blocks are discovered at the same block height, causing a divergence in the blockchain. Forks can also result from certain types of attacks.

Genesis block / Block 0

The very first block in the BitcoinEvo blockchain.

Hard fork

A permanent split in the blockchain, which happens when non-upgraded nodes cannot process blocks from nodes using newer consensus rules.

Hardened extended key

A variation of HD wallet keys where only the hardened private key can generate child keys, reducing risk if the chain code or private key is compromised.

HD protocol / HD wallet

The Hierarchical Deterministic (HD) protocol (BIP32), which allows for creating child keys from parent keys in a structured hierarchy. Wallets using this protocol are called HD wallets.

HD wallet seed / Root seed

A value, often short, used as a seed to generate the master private key and chain code for an HD wallet.

Header chain / Best header chain

A sequence of block headers, with each one linked to its predecessor; the most difficult-to-reproduce chain is considered the best header chain.

Headers-first sync

Syncing the blockchain by first downloading block headers before proceeding to download the entire blocks.

High-priority transaction / Free transaction

Transactions that avoid paying fees due to their inputs having been inactive long enough to build up significant priority. Note: miners ultimately decide whether to accept such free transactions.

Initial block download / IBD

The process by which a new or long-offline node catches up to the current state by downloading a large batch of blocks.

Input / TxIn

An input in a transaction with three components: an outpoint, a signature script, and a sequence number. The outpoint points to a prior output, and the signature script enables its spending.

Intermediate certificate

An intermediate certificate authority that bridges a leaf certificate (receiver) to the root certificate authority.

Internal byte order

The format in which hash digests are conventionally displayed as strings, matching the serialized format used in blocks and transactions.

Inventory

A combination of a data type identifier and a hash used to track transactions and blocks available for download over the BitcoinEvo P2P network.

Key index

An index number in HD wallets, used to generate child keys from a parent key.

Key pair

A pair consisting of a private key and its corresponding public key.

Label

The label parameter in a bitcoinevo: URI, used to provide the spender with the receiver’s (unauthenticated) name.

Leaf certificate

The end certificate in a certificate chain; in the payment protocol, it belongs to the receiver of satoshis.

Locktime / nLockTime

A component of a transaction that specifies the earliest time or block height when it can be included in the blockchain.

Mainnet

The primary BitcoinEvo network where satoshis hold real economic value.

Master chain code / Master private key

In HD wallets, the master chain code and master private key are derived from the root seed and serve as the foundation for generating child keys.

Maximum Block Size

The largest block size allowed by consensus rules, which is currently set to 4 million weight units (1 million vbytes).

Merge

Spending multiple outputs in a single transaction that originate from different past transactions, potentially revealing the total amount of satoshis you control.

Merge avoidance

A strategy for selecting transaction outputs to avoid merging outputs with distinct histories, which could compromise privacy.

Merkle block

A partial merkle tree that links transactions, matching a bloom filter to the merkle root of a block.

Merkle root

The root node of a merkle tree, derived from hashing all the pairs of data in the tree. Block headers include a valid merkle root for all transactions in the block.

Merkle tree

A tree built by hashing paired data, then hashing those hashes in pairs until a single hash remains, called the merkle root. In BitcoinEvo, the leaves are typically transactions from a block.

Message

A bitcoinevo: URI parameter that lets the receiver optionally provide a message to the spender.

Message header

The four fields that form the header for all messages sent over the BitcoinEvo P2P network.

Micropayment channel

A method for facilitating small, frequent payments by establishing a temporary payment channel.

Miner-activated soft fork / MASF

A type of soft fork that is activated based on signaling from miners.

Minimum relay fee / Relay fee

The smallest fee that a transaction must pay (if not a high-priority transaction) for a full node to forward it to other nodes. Each node may set its own policy for this fee.

Mining / Miner

Mining refers to the process of creating valid BitcoinEvo blocks through proof of work, while miners are the devices or individuals involved in mining.

Multisig / Bare multisig

A pubkey script that includes multiple public keys and requires a corresponding number of signatures (m-of-n) to validate the transaction.

nBits / Target

The target is a threshold that a block header hash must fall under for the block to be considered valid. nBits is the encoded form of this target in the block header.

Node / Full node / Archival node / Pruned node / Peer

A computer that is connected to the BitcoinEvo network, participating in transaction and block propagation.

Null data transaction / OP_RETURN transaction / Data carrier transaction

A type of transaction, relayed and mined by default since BitcoinEvo Core 0.9.0, that stores arbitrary data in a provably unspendable pubkey script without adding to the UTXO database.

OP CHECKMULTISIG

An opcode that returns true if at least a specified number of provided signatures (m) are valid for the provided public keys (n) in a transaction.

Opcode / Data-pushing opcode / Non-data-pushing opcode

Instructions from the BitcoinEvo Script language that either push data or perform operations within a pubkey or signature script.

Orphan block

Blocks whose parent blocks have not been processed by the local node yet, so they cannot be fully validated.

Outpoint

A data structure that points to a specific transaction output, consisting of a 32-byte transaction ID (TXID) and a 4-byte output index number (vout).

Output index

The index number assigned to each output in a transaction, starting from zero.

Output / TxOut

An output in a transaction that consists of two components: a value field to transfer satoshis and a pubkey script defining the conditions required for spending those satoshis.

P2PKH address / P2PKH output

A BitcoinEvo payment address created from a hashed public key, allowing the spender to generate a standard pubkey script that Pays To PubKey Hash (P2PKH).

P2SH address / P2SH output

A BitcoinEvo payment address created from a hashed script, allowing the spender to create a standard pubkey script that Pays To Script Hash (P2SH), where the script can be nearly any valid pubkey script.

P2SH multisig

A P2SH output where the redeem script includes a multisig opcode.

Parent key / Parent public key / Parent private key

In HD wallets, a key used to generate child keys. The parent key can be either a public or private key, and the process may also require a chain code.

Payment protocol / Payment request

A now-deprecated protocol outlined in BIP70 (and other BIPs) that allows spenders to receive signed payment information from receivers.

PKI

Public Key Infrastructure, often referring to the X.509 certificate system used for securing websites through HTTPS.

Point function

The ECDSA function that generates a public key from a corresponding private key.

Previous block header hash

A field within the block header containing the SHA256(SHA256()) hash of the previous block’s header.

PP amount

Part of the output within the PaymentDetails of the payment protocol, where the receiver specifies the number of satoshis to be paid to a particular pubkey script.

PP expires

The “expires” field in PaymentDetails, which lets the receiver inform the spender when the payment request will expire.

PP memo

The memo fields in PaymentDetails, Payment, and PaymentACK, which allow both the spender and receiver to exchange notes or memos.

PP merchant data

The merchant_data part of PaymentDetails and Payments, which allows the receiver to send arbitrary data to the spender, who returns it with the payment.

PP pki data

The pki_data field in a PaymentRequest that contains certificates and other details necessary to authenticate the request.

PP pki type

The PKI field in a PaymentRequest that tells the spender how to validate that the request originates from a specific recipient.

PP script

The script field in PaymentDetails, where the receiver specifies the pubkey scripts the spender should pay.

Private key

The private portion of a key pair that can generate signatures, which others can verify using the corresponding public key.

Proof of work / POW

A hash value below a specified target, achieved on average by performing extensive computational work, providing proof of work.

Pubkey script / ScriptPubKey

A script within a transaction output that outlines the conditions required to spend the associated satoshis. The data fulfilling these conditions is typically provided in a signature script. In code, pubkey scripts are called ScriptPubKey.

Public key

The public part of a key pair used to verify signatures created with the corresponding private key.

R parameter

The parameter in a bitcoinevo: URI that specifies the payment request.

Receipt

A receipt that is cryptographically verifiable, created using components of a payment request and a confirmed transaction.

Replace by fee / RBF / Opt-in replace by fee

Replaces an unconfirmed transaction with a newer version that offers a higher fee to incentivize miners. This may use BIP125 signaling.

Redeem script / RedeemScript

A script used in P2SH transactions, hashed to form a P2SH address in a pubkey script, and included in the spending transaction’s signature script to enforce the spending conditions.

Regtest / Regression test mode

A local testing setup where developers can quickly generate blocks for testing and create private satoshis that have no real-world value.

RPC byte order

A hash digest displayed in reverse byte order, commonly used in BitcoinEvo Core RPCs, block explorers, and similar tools.

Root certificate

A certificate issued by a certificate authority (CA), forming the basis for trust in the certificate chain.

Sequence number

A part of every transaction. Intended to allow updating unconfirmed time-locked transactions, but now primarily used to disable locktime in transactions.

Serialized block

A complete block in binary form—the same format used to calculate the total byte size of the block and often displayed in hexadecimal.

Serialized transaction / Raw transaction

A transaction in its full binary format, often represented in hexadecimal. This format is sometimes referred to as raw due to its use in various BitcoinEvo Core commands with “raw” in their names.

SIGHASH_ALL

The default signature hash type, signing all inputs and outputs except the signature scripts, ensuring that the signed data cannot be modified.

SIGHASH_ANYONECANPAY

A signature hash type that signs only the current input.

SIGHASH_NONE

A signature hash type that signs only the inputs, allowing modification of outputs by anyone.

SIGHASH_SINGLE

A signature hash type that signs the output corresponding to this input (having the same index value), along with this input, allowing changes to other outputs and the sequence number of other inputs.

Signature

A cryptographic value associated with a public key, proving that the holder of the private key created the signature. Used in BitcoinEvo to authorize spending satoshis sent to a public key.

Signature hash / Sighash

A flag used in BitcoinEvo signatures that specifies which parts of the transaction are signed (the default is SIGHASH_ALL). The unsigned sections of the transaction may be altered.

Signature script / ScriptSig

Data produced by a spender, typically used to fulfill the conditions of a pubkey script. In code, signature scripts are known as ScriptSig.

SPV / Simplified Payment Verification / Lightweight client / Thin client

A technique for verifying if transactions are included in a block without needing to download the entire block. This method is commonly used by lightweight BitcoinEvo clients.

Soft fork

A protocol change where previously valid blocks or transactions become invalid. Old nodes will still recognize the new blocks as valid, making the soft fork backward-compatible.

SSL signature

Signatures created and recognized by widely used SSL implementations such as OpenSSL.

Stale block

A block that was successfully mined but not included in the current best blockchain, likely due to another block at the same height being extended first.

Standard block relay

The typical method of relaying blocks: announcing a block with an inv message and waiting for a response.

Standard Transaction

A transaction that passes the IsStandard() and IsStandardTx() tests in BitcoinEvo Core. Only standard transactions are mined or relayed by peers running the default BitcoinEvo Core software.

Start string / Network magic

Four defined bytes that mark the start of every message in the BitcoinEvo P2P protocol, allowing the software to detect and skip to the next message.

Testnet

A global testing network that allows developers to test features and spend satoshis with no real-world value in an environment similar to the BitcoinEvo mainnet.

Token

A programmable digital asset with its own codebase that resides on an existing blockchain. Tokens facilitate the creation of decentralized applications.

Transaction fee / Miners fee

The amount left over when the value of all outputs is subtracted from the value of all inputs in a transaction. The fee is paid to the miner who includes the transaction in a block.

Transaction malleability / Transaction mutability

The ability to alter unconfirmed transactions without making them invalid, which can change the transaction’s txid, making dependent transactions invalid.

Transaction version number

A version number added to transactions to allow protocol upgrades.

Txid

A unique identifier for a transaction, specifically the SHA256d hash of the transaction.

Unique Address

An address that is used only once to protect privacy and enhance security.

Unsolicited block push

When a miner broadcasts a block without sending an inv message first.

URI qr code

A QR code that contains a bitcoinevo: URI.

User-activated soft fork / UASF

A soft fork that is enforced by node operators or through a flag day rather than by miner signaling.

UTXO

An Unspent Transaction Output (UTXO) that can be used as input in a new transaction.

V2 block

The current version of BitcoinEvo blocks.

Wallet

Software that stores private keys and monitors the blockchain, allowing users to send and receive satoshis (often acting as a client to a server that handles the blockchain data processing).

Watch-only address

An address or pubkey script saved in a wallet without its corresponding private key, enabling the wallet to monitor for outputs without the ability to spend them.

WIF / Wallet Import Format

A format used for exporting and importing a private key with an optional flag indicating if it corresponds to a compressed public key.

x509certificates

x509 certificates are digital certificates used to verify identity in networks, such as HTTPS connections. They contain information like the public key of the certificate holder and are issued by trusted certificate authorities (CAs).