62

What is a Project Fork? A fork in software development refers to the event of an independent project spinning off from a software project. Such forks sometimes occur in the opensource sphere, when there are irreconcilable plans/goals within a project's community, then often leading to a split in the community and two distinct projects thereafter. In ...


60

What are Channel Factories? In short, Channel Factories are payment channels that can be used to create more payment channels. That sounds weird, but it's really pretty simple: In a regular payment channel, you always have a transaction signed by all participating parties that's ready to commit the current channel balances to the block chain. For example,...


40

Mining capability is measured in the number of attempts to find a block a miner can perform. Each attempt consists of creating a unique block candidate, and creating a digest of the block candidate by means of the SHA-256d, a cryptographic hashing function. Or, in short, a hash. Since this is a continuous effort, we speak of hashes per second or [H/s]. Hash ...


39

The definition of dust is client-specific and not a network rule. Bitcoin Core considers a transaction output to be dust, when its value is lower than the cost of spending it at the dustRelayFee rate. The default value for dustRelayFee is 3,000 sat/kvB, which results in the same dust values as the prior dust definition used before Bitcoin Core 0.15.0. The ...


31

Softforks are forwards-compatible Old nodes will accept blocks created by new nodes. With a softfork, only miners will have to upgrade, or else they will end up on the losing fork. Users and merchants can keep running older nodes, which will accept the newer blocks. Hardforks are not forwards-compatible Old nodes may not accept blocks created by new ...


19

The coinbase mentioned in BIP34 is not the company; it is referring to the first transaction in a Bitcoin block (which is special as it is allowed to bring new currency into circulation). Coinbase-the-company didn't even exist when BIP34 was written (or at least, wasn't known/public). The company was named after this special transaction.


18

I found the best exact definition in the First three paragraphs here: gavinandresen / BitcoinVersioning We recently rolled out two changes to the Bitcoin block acceptance rules (BIP16 and BIP30); this document records the lessons learned and makes recommendations for handling future blockchain rule changes. Note: there are "soft" rule changes and ...


17

A wallet is the collection of data needed in order to receive and spend bitcoins. Usually this includes key-pairs (private key, public key and the address that may be inferred from the public key) and funds associated with each key-pair in the form of spendable outputs. The client on the other hand is the interface to the network. It handles all the ...


15

m is the symbol for the metric prefix milli which indicates a unit to be one thousandth of its base unit. A millibitcoin therefore is 0.001 BTC or 1/1000 BTC.


15

The minRelayTxFee specifies a feerate acting as a lower bound for a node's mempool. A node will not admit unconfirmed transactions below that feerate to its mempool and thus will not relay them to its peers. The minRelayTxFee is a configuration setting and can be specified by each node operator independently. The value only impacts unconfirmed transactions, ...


14

An accepted share represents work that your miner did towards a round in a mining pool. When the pool finds a block, it distributes the block reward (i.e. 25BTC) to the miners according to how many shares they have contributed during that round. The more shares you contributed, the more payback you get. It is simply a way to keep score, and to attribute ...


14

A 'full node' is a participant on the network that has independently validated the complete copy of the blockchain, and thus has verified all transactions since the beginning. This requires about 350GB of drive space (currently). A pruning node is one that has verified all prior transactions; however, it has deleted all blocks below a certain space ...


13

Immature coins are coins that were created in a block reward and haven't aged sufficiently, yet. The problem with block rewards is that they could still disappear again, if the generating block ends up being invalidated by a competing block chain. In order to minimize the confusion and subsequent problems from someone spending coins that end up disappearing ...


12

1 mBTC = 0.001 BTC 1 mBTC = 100,000 Satoshis 1 uBTC = 0.000001 BTC 1 μBTC = 100 Satoshis 1 Satoshi = 0.00000001 BTC 100 Satoshis = 0.000001 BTC 1,000 Satoshis = 0.00001 BTC 10,000 Satoshis = 0.0001 BTC 1 BTC = 100,000,000 Satoshis 1 BTC = 1,000,000 μBTC 1 BTC = 1000 mBTC


12

Replace-by-fee means transactions spending the same coin to the same addresses are not considered double-spends by the network and are still relayed, as long as they pay a higher fee than the preceding transaction. Example: Alice pays Bob with a coin worth 1 BTC, sending 0.5 BTC to Bob, 0.49995 BTC to herself as change, and 0.00005 BTC to fees. Alice sees ...


12

TL;DR: Native segwit refers to segwit outputs without P2SH-wrapper. Bech32 is the address format used to represent native segwit-v0 locking scripts. Wrapped segwit vs native segwit When segwit activated, it introduced the zeroth generation of segwit, segwit-v0. The corresponding locking scripts came in two flavors: The forward-compatible "wrapped ...


11

The height of a block is the number of blocks in the chain between it and the genesis block. (So the genesis block has height 0.) The height of the block chain is usually taken to be the height of the highest block, in the chain with greatest total difficulty; i.e. the length of the chain minus one.


11

Nonce is a 32 bit arbitrary random number that is typically used once. In Bitcoin's mining process, the goal is to find a hash below a target number which is calculated based on the difficulty. Proof of work in Bitcoin's mining takes an input consists of Merkle Root, timestamp, previous block hash and few other things plus a nonce which is completely random ...


11

Transaction pinning happens when: I broadcast a transaction that signals opt-in RBF the transaction does not get confirmed because the feerate is too low someone else broadcasts a new (child) transaction spending one of the outputs of my transaction I now can't bump the fee on the transaction unless I include a fee greater than that of the combined original ...


10

To understand 'dust' you must understand a few things: Firstly, a UTXO is an unspent transaction output. This is essentially a piece of bitcoin somewhere on the blockchain that is unspent. To create a transaction, 1 or more UTXOs are used to form the inputs, and 1 or more UTXOs are "born" in the process. After the transactions are confirmed, the UTXOs that ...


10

If I recall it correctly, the "boo"s mean: your answer's correct but somebody else had solved the problem before, so you wasted your electricity and time - sorry. And the "yay"s are: you did it first, congrats. As for "LongPoll", it's a protocol that enables a miner to keep in touch with its pool's servers so that it's communicated as soon as possible when ...


10

Bitcoin Core maintains two databases: The block index The chain state (or UTXO set) The first one just contains a list of all blocks we know about, valid and invalid. It contains all forks we have ever heard about, and all branches that result from it. It also contains information about where on disk these are stored. It does however not contain any ...


9

The term "Tainted Coins" is often misinterpreted as a measure of provenance. That's understandable considering the traditional definition of the word "tainted" coupled with the reality that many Bitcoins actually have been used for what would be considered nefarious purposes by standard societal norms. In fact, it is a common occurrence to be holding or ...


8

A Satoshi is 0.00000001 BTC and currently the smallest transaction unit. If a Satoshi was equivalent to one penny, a microBTC would be equivalent to one dollar, and one BTC would be equivalent to 1,000,000 dollars. With one BTC on the order of $1,000 USD, a Satoshi is equivalent to .001 penny


8

That seems to be a typo. Unspent transaction outputs are usually called UTXO's (Unspent TransaXtion Output).


8

RPC = Remote Procedure Calls. That describes a system when you send a command to a remote system where it's processed and results are returned. Bitcoin RPC is synonymous with JSON-RPC in my opinion, although JSON-RPC itself is not Bitcoin-specific. JSON-RPC simply implies that the RPC interaction will use JSON as its data structure. Bitcoin RPC is used ...


8

A specified locktime indicates that the transaction is only valid after a given blockheight. Since the locktime field indicated is 419382 and currently the latest blockheight as of 12th July 2016 1108 (AEST) is 420352 the transaction is now valid and can be included in a block by any miner that chooses to do so.


8

The scriptPubKey is the script as it is placed in the transaction output. The redeemScript (P2SH only) is the script pushed as the last scriptSig item. In P2SH scripts, the scriptPubKey is equal to OP_HASH160 <Hash160(redeemScript)> OP_EQUAL. The witness script (P2WSH only) is the script in the last witness stack position. The witness program is ...


7

Like Murch said, there isn't a current text based symbol for it, but if you're going to use it on a web application, you can always use Font Awesome. After you include the fontawesome library, you use the bitcoin symbol like this: <i class="fa fa-btc"></i> fa-btc Example output of the code above would be: You can find more information ...


Only top voted, non community-wiki answers of a minimum length are eligible