09.07.2014 Views

Crypto Biz Magazine—July, 2014/Issue.02

Digital Currencies & Crypto Innovations—We observe and explore all aspects of the crypto world, including mining, financial trading, exchanges, development and business.

Digital Currencies & Crypto Innovations—We observe and explore all aspects of the crypto world, including mining, financial trading, exchanges, development and business.

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

GITHUB BITCOIN GLOSSARY CONTINUED<br />

from orphaned blocks either become invalid (if already<br />

included in the main chain) or moved to a pool of unconfirmed<br />

transactions. By default, bitcoind nodes throw away unconfirmed<br />

transactions after 24 hours.<br />

Mining<br />

A process of finding valid hashes of a block header by<br />

iterating millions of variants of block headers (using nonce<br />

and extra nonce) in order to find a hash lower than the target<br />

(see also difficulty). The process needs to determine a single<br />

global history of all transactions (grouped in blocks). Mining<br />

consumes time and electricity and nowadays the difficulty<br />

is so big, that energy-wise it’s not even profitable to mine<br />

using video graphics cards. Mining is paid for by transaction<br />

fees and by block rewards (newly generated coins, hence<br />

the term “mining”).<br />

Mining Pool<br />

A service that allows separate owners of mining hardware<br />

to split the reward proportionally to submitted work. Since<br />

probability of finding a valid block hash is proportional<br />

to miner’s hashrate, small individual miners may work for<br />

months before finding a big per-block reward. Mining pools<br />

allow more steady stream of smaller income. Pool owner<br />

determines the block contents and distributes ranges of<br />

nonce values between its workers. Normally, mining pools<br />

are centralized. P2Pool is a fully decentralized pool.<br />

Miner<br />

A person, a software or a hardware that performs mining.<br />

Mixing<br />

A process of exchanging coins with other persons in order to<br />

increase privacy of one’s history. Sometimes it is associated<br />

with money laundering, but strictly speaking it is orthogonal to<br />

laundering. In traditional banking, a bank protects customer’s<br />

privacy by hiding transactions from all third parties. In Bitcoin<br />

any merchant may do a statistical analysis of one’s entire<br />

payment history and determine, for instance, how many<br />

bitcoins one owns. While it’s still possible to implement KYC<br />

(Know Your Customer) rules on a level of every merchant,<br />

mixing allows you to separate information about one’s history<br />

between the merchants.<br />

Most important reasons for mixing are: 1) receiving a salary<br />

as a single big monthly payment and then spending it in<br />

small transactions (“café sees thousands of dollars when you<br />

pay just $4”); and 2) making a single payment and revealing<br />

connection of many small private spendings (“car dealer sees<br />

how much you are addicted to coffee”). In both cases your<br />

employer, a café and a car dealer may comply with KYC/<br />

AML laws and report your identity and transferred amounts,<br />

but neither of them need to know about each other. Mixing<br />

bitcoins after receiving a salary and mixing them before<br />

making a big payment solves this privacy problem.<br />

M-of-N Multi-signature Transaction<br />

A transaction that can be spent using M signatures<br />

when N public keys are required (M is less or equal to N).<br />

Multi-signature transactions that only contain one OP_<br />

CHECKMULTISIG opcode and N is 3, 2 or 1 are considered<br />

standard.<br />

Node<br />

Node, or client, is a computer on the network that speaks<br />

Bitcoin message protocol (exchanging transactions and<br />

blocks). There are full nodes that are capable of validating<br />

the entire blockchain and lightweight nodes, with reduced<br />

functionality. Wallet applications that speak to a server are not<br />

considered nodes.<br />

Nonce<br />

Stands for “number used once.” A 32-bit number in a block<br />

header which is iterated during a search for proof-of-work.<br />

Each time the nonce is changed, the hash of the block header<br />

is recalculated. If nonce overflows before valid proof-of-work<br />

is found, an extra nonce is incremented and placed in the<br />

coinbase script. Alternatively, one may change a merkle tree<br />

of transactions or a timestamp.<br />

Non-standard Transaction<br />

Any valid transaction that is not standard. Non-standard<br />

transactions are not relayed or mined by default BitcoinQT<br />

nodes, but are relayed and mined on testnet. However, if<br />

anyone puts such transaction in a block, it will be accepted<br />

by all nodes. In practice it means that unusual transactions<br />

will take more time to get included in the blockchain. If<br />

some kind of non-standard transaction becomes useful and<br />

popular, it may get named standard and adopted by users<br />

(like it). See also Standard Transaction.<br />

Opcode<br />

8-bit code of a script operation. Codes from 0x01 to 0x4B<br />

(decimal 75) are interpreted as a length of data to be<br />

pushed on the stack of the interpreter (data bytes follow<br />

the opcode). Other codes either do something interesting,<br />

are disabled and cause transaction verification to fail, or do<br />

nothing (reserved for future use). See also Script.<br />

Orphan, Orphaned Block<br />

A valid block that is no longer a part of a main chain. Usually<br />

happens when two or more blocks of the same height are<br />

produced at the same time. When one of them becomes a<br />

part of the main chain, others are considered “orphaned.”<br />

Orphans also may happen when the blockchain is forked<br />

due to an attack (see 51% attack) or a bug. Then a chain<br />

of several blocks may become abandoned. Usually a<br />

transaction is included in all blocks of the same height, so<br />

its confirmation is not delayed and there is no double spend.<br />

See also Fork.<br />

Output<br />

See Transaction Output.<br />

P2SH<br />

See Pay-to-Script Hash.<br />

Pay-to-Script Hash<br />

A type of script and address that allows sending bitcoins to<br />

arbitrary complex scripts using a compact hash of that script.<br />

This allows payer to pay much smaller transaction fees and<br />

not wait long for a non-standard transaction to get included<br />

in the blockchain. Then the actual script matching the hash<br />

must be provided by the payee when redeeming the funds.<br />

P2SH addresses are encoded in Base58Check just like regular<br />

public keys and start with number “3.”<br />

July.<strong>2014</strong> Page.63 <strong>Crypto</strong> <strong>Biz</strong> Magazine

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!