Hot answers tagged

12

A 2X rate with a 50% chance of missing a winning nonce is no advantage at all. Incrementing the nonce is the easiest mechanism of choosing the next nonce to try, so you try the most nonces per second that way. That's all that matters. Perhaps you are under the mistaken impression that everyone is trying to mine the same block. That is not so. If you are a ...


11

Modern computers almost always use little-endian internally, so this choice improves speed. If Bitcoin used network byte order, then order conversions would be necessary for every message sent or received. Hashes are defined by the standards as being big-endian, and crypto libraries deal with them in that form, so hashes are transmitted in big-endian. ...


9

Most likely it is a small design error, but there is big argument about it at bitcointalk.org:What would you change about the Bitcoin protocol?.


7

Bitcoin transaction and block hashes are considered little-endian when treating them as integers. On the network they are just 32-byte sequences in the order they are generated by the hash function. In both transaction and block hashes bytes are reversed when displayed by Bitcoin software and websites in hexadecimal form. This makes blocks show up in big-...


7

The transaction would be valid - there is nothing in the protocol that forbids this. This is also the cause of the "duplicate coinbase" bug in the Satoshi client which I discovered a few months ago. If you create a block with a duplicate coinbase and that block then becomes orphaned it will cause the both the original and duplicate tx to be removed from ...


7

You cannot obtain a list of transactions from the merkle tree. The merkle tree root is part of the block header, which as you said, allows quick verification of the proof-of-work. After the block header, each block contains a list of serialized transactions in the order they appear in the merkle tree. A complete block is a block header + list of ...


5

There's no such thing as a "non-existent" address. Other than valid addresses created by a client in which the private key is kept secret there are also are: Invalid addresses (which will fail the client's sanity checks and thus cannot be used when building a transaction) There are also valid addresses in which no key exists. The private key is ...


5

There's a reason cryptographic hash functions, like the double SHA256 used for proof-of-work in Bitcoin, are not usually described using these complexity classes that classify asymptotic behavior. In fact, there are several. A technical reason is that hash functions often do not scale. For example, it is not defined how one would extend the proof-of-work to ...


4

The system called timestamp server in the original whitepaper is currently more often referred to as a "miner". They timestamp blocks, which combine several transactions, imposing an authorative order on these transactions. This is necessary as the system cannot otherwise decide which of two conflicting but otherwise valid transactions should be accepted. ...


4

That's valid (and has happened) for coinbase transactions and transactions built off of coinbase transactions. Other than those strange cases, putting the same transaction in the chain twice isn't allowed. Coinbase duplicates are only allowed due to an oversight. It will be corrected soon.


4

Is verification of blockchain computationally cheaper than recreating it? Yes, far easier How do you verify the blockchain integrity? Don't you also have to recalculate all the values to see whether they are valid? No. The miner has to find a value for parts of the block they can choose a value for, such that a hash of the block has a certain number of ...


3

See https://bitcoil.co.il/Doublespend.pdf. What matters is the number of blocks, not time elapsed or average time for this many blocks. Also, the idea of "wait for 6 confirmations or 1 hour" in Bitcoin is a myth. If 1 hour passes with 3 confirmations you're less secure than if 30 minutes passed with 3 confirmations, because the attacker would have had more ...


3

Not that I know of. Opencoin is still playing around with the protocol, so there probably won't be a white paper until they open source it.


3

Each leading 1 in an address after the first 1 represents a leading zero byte in the 160 bit hash of the public key, and so makes the search 256 times harder. See the wiki page for Base58Check encoding for details. Whereas any other character makes the search only around 56 times harder. Every version 0 bitcoin address begins with a 1. And 1 in 256 of ...


3

See http://www.youtube.com/watch?v=IavQ-Wc8S1U Clemens Cap of Uni Rostock explains the Electronic Bitcoin wallet device he's working on. It's based on adafruit microtouch device. This is a small takeout of Clemens' talk at the Bitcoin Conference in Prague 2011


3

SHA256D, which is what Bitcoin uses, is 128 rounds, comprising 768 additions, 640 ORs 896 XORs And a bunch of bit shifts but bit shifts are free on an ASIC. (source)


3

If a miner would do so, and the transaction they include is invalid, they would produce a block with invalid transactions in them. As all full nodes on the network (not just miners) verify all transactions in blocks, they would reject this block, and the miner would lose their reward. By extension, other miners will avoid building on top of such a block, as ...


3

The reason that is often stated is that you would have to re-calculate all the headers with all the hash values of the whole chain which is practically un-doable. It's not the mere recalculation of new headers: miners currently create about 8×10^19 block candidates every second. However, at current difficulty levels, it takes about 4.8×10^22 block ...


2

testnet-in-a-box is a simple way to set up your own testnet network, separate from the main one. That lets you mine your own blocks easily because the difficulty will stay low. Then you can play around with double-spending your own coins to yourself without inconveniencing others, and without needing large amounts of hash power.


2

Modern CPUs also typically have byte-swapping load and store instructions, or at least a byte swap register instruction, so that effective programmers (and optimizing compilers) may eliminate, or nearly eliminate, the overhead of endianness compensation. This "small design error" may be a simple case of "premature optimization".


2

The bitcoins would be lost. It's also very, very, very (times a very big number) unlikely that a randomly chosen address would ever be generated, as such capability would mean that brute force attacks could be performed and Bitcoin as a payment system would no longer be secure.


2

Yes. By the way this is exactly the point of a paper wallet like you can get from https://www.bitaddress.org/, you generate an address and private key that don't exist anywhere in the digital world, but you do transfer funds to the address. When you need them you add the private key to a bitcoin client to claim it. Good luck by the way with finding out the ...


2

Each fragment starts it's own chain. Edit: I randomly selected a transaction for you to see. Try this link: http://blockchain.info/tree/7514743 and click on the yellow circles. Edit2:: Actually, this one is more interesting: http://blockchain.info/tree/50429084 In the former, the payments mostly returned in part to the original address. That's odd. The ...


2

The blockchain itself does not have any power. It is just public set of records, like a phonebook. Depending on the contract between trading parties, you arbitrage the contract disputes within the legal means you have available. However, blockchain can act as a proof of agreement and everything signed there is very hard to forge: the other party cannot ...


2

Try looking around on http://archive.ripple-project.org/, in particular: http://archive.ripple-project.org/Main/Papers Note, that site refers to the original Ripple project and implementations of it such as RipplePay and Villages. Ripple.com is the new distributed implementation of the Ripple project and although not discussed at that site, supported by the ...


2

They won't be lost. But it won't be easy to get them recovered. The wiki page on Transaction Fees mentions the following: A transaction may be safely sent without fees if these conditions are met: It is smaller than 10,000 bytes. All outputs are 0.01 BTC or larger. Its priority is large enough (see the Technical Info section below) So if ...


2

The data that is hashed, and the hash of which must be below the current target, is the block header. The block header consists of the block version number, the hash of the previous block, the Merkle root of the transactions in the block, the time, the target, and a nonce. The generation of new bitcoins happens with a transaction, the first transaction of ...


2

Is Bitcoin still an experiment? I don't think so. There's no control, and nobody's made one of those three panel boards. In all seriousness, though, I think Satoshi probably wrote and published Bitcoin because he found it interesting. He may also have done so because it aligned with his political views. Of course, we're speculating on the motives of a guy ...


2

There are some excellent papers by Aviv Zohar (Red balloons, GHOST etc.) which at least touch on game theory. There's also a comprehensive list of papers at https://docs.google.com/spreadsheets/d/1VaWhbAj7hWNdiE73P-W-wrl5a0WNgzjofmZXe0Rh5sg/edit#gid=0, you can browse it to see if any could be relevant.


2

As you mentioned, the sum of the value of spent coins (inputs) should be superior or equal to the sum of the value of the created coins (outputs) ; the difference being the miner fee. This condition is checked by every peer of the P2P network when relaying transactions and blocks containing transactions not respecting that condition will be rejected as part ...


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