30

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 ...


30

Yes, it is possible, and you can actually follow "orphaned blocks" here: https://blockchain.info/orphaned-blocks Bitcoin clients always trust the longest chain, so if two blocks is mined on the same time, it's up to (51% of) the miners to decide which is going to be 'accepted' and which is going to be worthless. This is one of the reasons why you shouldn't ...


26

When a node starts up it initializes its copy of the block database alongside the genesis block and then begins the synchronization process. For some reason, Satoshi decided not to add the coinbase transaction from the genesis block to the global transaction database. Thus all the nodes in the network would reject the block. I'm not sure if this was done ...


22

The block is accepted, and the coins are lost. Poor miner. Here is a link to the part of the 0.6.3 source which checks this: https://github.com/bitcoin/bitcoin/blob/v0.6.3/src/main.cpp#L1362 Also, this has effectively happened before; block #124724 claimed one satoshi less it than could have.


21

Proof of stake is a proposed alternative to proof of work designed to increase network security. It's not currently implemented in the main chain (and would likely require a hard fork to implement), but alt currency PPCoin features a hybrid proof-of-stake/proof-of-work system of sorts. With proof of work, the likelihood of mining a block is dependent on the ...


19

The big advantage on the Bitcoin side is that its technology is now well-proven. Ripple's consensus system is the newcomer. Ripple was designed by people who had the benefit of seeing exactly what Bitcoin was doing and its strengths and weaknesses. Ripple's consensus process can validate a transaction such that irreversibility is reasonably assured much ...


19

The Stellar network does not have a mining-based currency. At the network's genesis, 100 billion stellars were created. The only other stellar creation mechanism is inflation. To account for both economic growth and lost stellars, there is a fixed 1% annual rate of new stellar creation. These new stellars will be generated on a weekly basis and distributed ...


17

Mining is not essential for coin creation. New coin introduction can be tied to new block creation, or be time based. Even if you don't use proof of work, you will still have blocks (even if you don't call them that way anymore; they may be called "database updates"). More interesting however, if you don't use proof of work, you don't even need your own ...


16

We have a mathematical proof that to tolerate n malicious nodes, you need 2n + 1 good nodes. The full proof is found in G. Bracha and T. Rabin, Optimal Asynchronous Byzantine Agreement, TR#92-15, Computer Science Department, Hebrew University. It's also well known in the industry. It is not possible for an asynchronous system to provide both safety (the ...


12

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 ...


11

This question may be opinion based in some ways, but I'm going to attempt to answer it as it is an important concept, and somewhat unlike traditional systems. Bitcoin is governed by math, in some places. At the end of the day, it's software, and even the math rules can be updated to use different rules, or removed altogether by means of a soft or hard fork (...


10

What Nicolai said is not completely right. The network would decide which one is the main chain according to the following block mined. Let's assume that block A and B are mined at almost the same time. The miners would accept the first block that was broadcast to them, so there would be some miners accept A and others accept B, it doesn't matter whether A/B ...


9

At the moment in my opinion, Gavin does indeed control Bitcoin Project to some extent. He is widely recognised as the main developer behind it and could probably push his authority on a lot of subjects if he so desired. However, I am under the impression that he would not perform such actions - they would undermine the credibility of Bitcoin and be bad for ...


8

10,000 bytes. See Bitcoin Core source code: https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/script/script.h#L31-L32 https://github.com/bitcoin/bitcoin/blob/v0.17.0/src/script/interpreter.cpp#L299-L300


8

No, there is no consensus until the next block is found. The network is experiencing a blockchain-fork. It will only mend once one of the tips pulls ahead by adding another block. Then all nodes will reorganize to the longest chain and consensus is reestablished. The losing chain becomes an extinct branch – valid but not part of the longest chain. There can'...


8

Speaking as someone who has worked on a blockchain project for a bank, I can tell you that banks are interested for several reasons. Banks know they are ripe for disruption Due to a combination of heavy regulation and incumbency (mixed with a variable level of collusion), banks have remained relatively protected from the technological disruption that has ...


7

In my opinion, it is one of the greatest misconceptions about Bitcoin that miners solve a "hard problem". Many news sources explain it like that, but in fact it's not true. All a miner does is guessing until he got something right. A miners takes his block of transactions (including the coinbase transaction that sends the fees and block reward to himself) ...


7

If the Ripple network splits in half, then each half will validate ledgers independently, potentially with conflicting transactions. If all servers are properly configured, they will not accept any of these ledgers as fully validated, since none of them will have sufficient validations. It's possible both sides will think they're in the minority (if the ...


7

You're looking for CBlockIndexWorkComparator, which operates by three rules. The rules are applied one at a time, and if a rule leads to a tie, then the next rule is applied. Which blockchain has the most work? Which one was received first? (This can be different for different clients, which is why the previous rule is applied first.) Which one has a ...


7

When a node discovers a new block, it will send an (unsolicited) inv (inventory message) to announce the new block to its peers. The peers should then respond by sending a getdata message requesting either the header, or the complete block. The Developer Reference describes the exchanged messages in more detail. The nodes will then check the header, and ...


7

Attention: Ambiguity! Note that the term (or abbreviation) "PoB" can be used differently. For example, some cryptocurrencies allow users to get some of their coins for provably burning money in Bitcoin, essentially deriving their values from Bitcoin's value by deriving their scarcities from Bitcoin's scarcity. Yeah, but what about my question? The idea ...


6

Both Bitcoin and Ripple are systems made of many components. One such component is a method to synchronize transactions and secure against double-spending; Bitcoin uses mining based on proof of work for that, while Ripple uses a consensus mechanism. Another component is the initial issuing of coins - Bitcoin uses mining for that as well, while Ripple uses ...


6

A really quick answer is this: The proof of work system is a solution to the distributed synchronization issue; in another guise it is called the Byzantine Generals' Problem. Thus, any solution to this problem is an acceptable alternative, however the proof-of-work solution is particularly suited to distributed systems. You can read Satoshi Nakamoto's ...


6

Signalling simply means the miner of a block has set a bit in the version field to say that they support something. BIP 8 and 9 discuss this, it allows the miners to let the network know they are ready for the change or not. The version field of a block is 32 bits long, and if the top 3 bits are set to '001', 29 bits are free to be used for signalling. ...


6

BIP9 "versionbits" introduced a method to deploy up to 29 softfork proposals at the same time. Each proposal follows the same flow: Graphic from BIP9 After the starttime is reached for the proposal, miners can signal readiness by setting the corresponding bit in the version field of the block header. In the past weeks we've seen signalling for two ...


5

Another alternative is proof of burn.


5

If validators waited until other validators declared consensus to declare consensus themselves, no validator would ever declare consensus. So you must declare consensus and hope you turn out to be right. Most of the time you will be. If not, you will later not be mathematically certain of the results and will not pass them on to clients. If you use a 75% ...


5

First note that Ripple uses the term ledger slightly differently than general use. In Ripple a ledger is the set of all Ripple accounts, all their current balances, all open trade offers, and only the transaction details that justify the changes in this ledger from the previous ledger. A specific Ripple ledger does not contain any other past history of ...


5

A miner is at perfect liberty to create any sort of block he wants and broadcast it to the network. This could include rewarding himself with an unlimited number of bitcoins, or including transactions without proper signatures. However, this block means nothing if other miners do not consider the block valid. If other miners reject the block, then it ...


5

Assuming the miner as an up-to-date version of the blockchain, he can compute the difficulty from the data about the previous blocks. An explanation of how the difficulty is computed can be found in this other answer. Given a specific chain, indeed, the computation of the difficulty always gives the same result. Every miner may compute this new difficulty ...


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