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 ...
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,...
1 kH/s is 1,000 hashes per second (sometimes mistakenly written KH/s).
1 MH/s is 1,000,000 hashes per second.
1 GH/s is 1,000,000,000 hashes per second.
1 TH/s is 1,000,000,000,000 hashes per second.
1 PH/s is 1,000,000,000,000,000 hashes per second.
Simplified Payment Verification:
A Bitcoin implementation that does not verify everything, but instead
relies on either connecting to a trusted node, or puts its faith in
high difficulty as a proxy for proof of validity. BitCoinJ is an
implementation of this mode.
There are several definitions with overlapping meanings.
The first is perhaps best called extinct blocks. These are blocks that were produced by building on an block that is no longer the active tip of the chain. Some nodes may have considered it to be the best block at some point, but they switched to another chain which does not contain the relevant ...
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 satoshi per kilobyte, which results in the same dust values as the dust definition used before Bitcoin Core 0.15.0. ...
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].
Bitcoin's block chain system is really two quite separate systems, and they are easily confused. The first one is the block tree and the second is the active chain.
The block tree consists of all valid blocks whose entire ancestry is known, up to the genesis block. The rules for validness include no double spending, valid signatures, no introduction of more ...
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 ...
I'm not sure there is an exact definition of dust. The Armory client wiki says:
Sending less than 0.01 BTC to any recipient — The network considers these small outputs to be “dust,” and discourages them by requiring a fee. If it was not discouraged, someone could take 1.0 BTC, and create 1,000,000 transactions of 0.000001 BTC each, for free, which would ...
At any second, a block may be "solved." This means that everyone else
in the world working on that block must stop, and restart their work.
Continuing to work after that point is known as working on a "stale
block" because it is old data, and old transactions.
My understanding is the term stale is much more commonly applied to ...
Colored coins are a method to track the origin of bitcoins, so that a certain set of coins can be set aside and conserved, allowing a party to acknowledge them in various ways. Such coins can be used to represent arbitrary digital tokens, such as stocks, bonds, smart property and so on.
The colored coins protocol is decentralized just like Bitcoin, but the ...
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 ...
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 ...
TL;DR Bitcoin already is a currency because it's a generally accepted medium of exchange among certain communities. As those communities grow and usage spreads to other communities, its strength as a currency solidifies.
This requires a little bit of history. I am not a numismatist, but I have studied this a little even before the advent of Bitcoin.
You can trace the coin back to its origin, the question is whether that information is meaningful.
Say I steal 50 bitcoin. I can pass them around between several different Bitcoin accounts, all mine, and you can trace them. The problem is, you don't know whether any of those transactions are real.
Say Jack has 50 bitcoins that come from a block reward and ...
Imagine that the blockchain is 210000 blocks long and TWO miners both find valid blocks within a few seconds of each other and broadcast them to the network.
This is perfectly normal as the Bitcoin network is peer to peer and global.
You now have two chains, each of length 210001. Neither of these are longer than each other. Some bitcoind nodes will see ...
The minRelayTxFee is a full-node setting. It specifies a lower bound for the fee rate the node requires from a transaction. Only transactions with a fee rate above the bound will be added to the node's memory pool and relayed to other nodes. As it is not a flat fee, but a fee rate, it is relative to the transactions size. Each node can set its own policy.
ASIC or Application-specific integrated circuit is a type of circuit that has become very popular in the Bitcoin mining community.
wikipedia defines it as
"An application-specific integrated circuit, or ASIC /ˈeɪsɪk/, is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use."
Traditionally computer ...
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.
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.
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...