5 ms·
This worries me. Bitcoin solved the double spend problem by using the LCR with PoW. That is the novel aspect which allowed cryptocurrencies to come into existen
by wildbunny 9y ago
This worries me. Bitcoin solved the double spend problem by using the LCR with PoW. That is the novel aspect which allowed cryptocurrencies to come into existence.
If you remove the LCR and PoW, all you are left with is a toy example which cannot work in practice.
What is needed is education about censensus design and bitcoin's implementation of the solution, rather than a 'how to guide' for building a basic linked list under the guise of 'blockchain'.
Cheers, Paul.
- ionwake 9y agoWhat does LCR stand for? Thank you
- StavrosK 9y agoLooks like "longest chain rule".
- jmcmichael 9y agoLongest Chain Rule, that the network honors the longest chain as the correct chain.
- tinkerrr 9y agoBitcoin has moved away from the Longest Chain Rule to the blockchain with the most cumulative Proof of Work as what the nodes recognize as valid blockchain.
- test6554 9y agoI hear a lot about hash rates. How are aggregate hash rates confirmed/reported? Does a miner submit every single attempted hash to the network as a potential solution or do miners self-report their total hash rates?
- nicky0 9y agoIt is not necessary for miners to report any stats. Hash rate is simply inferred from the average time taken to find a block, multiplied by the current difficulty.
- digitalronin 9y agoCould you explain the difference? Isn't the longest chain the one with the most cumulative proof of work?
- hudon 9y agoEvery block hash has a target it is trying to be under. For example, if the target is "0000008dab3", then when you are hashing your block, you need to come up with a hash that is below that number. When the network's hash rate goes up, people are producing hashes quicker so a hash is found below that target well below 10 minutes (what the network tries to average around). If hashes are found in less than 10 minutes for too long, then the target gets lowered even further, say to "00000000ab3" to require everyone to produce more hashes so it takes longer. Now to actually answer your question: if you take 2 bitcoin blockchains that stem from the same origin block, but blockchainA has 20 blocks with a very easy target "fffffffdab3" and blockchainB has 1 block with a very difficult target "00000000003", then blockchainB has actually done more work than blockchainA, even though it has less blocks (it is "shorter"). So blockchainB has the most cumulative proof of work.
- fortenforge 9y agoBecause the "difficulty" rate (essentially the number of leading 0's needed for the proof of work) can change dynamically, the longest chain is not always the chain with the most work.
- ue_ 9y agoWhy would that make it more secure? Couldn't I simply make a lot of fraudelent transactions and append them, having a long chain, but a false one?
- gtfierro 9y agoYou could, but you'd be competing with everyone else that's also making transactions so you'd need an incredible amount of computational power to outstrip that.
- nickporter 9y agoAnd if you had that much hashing power, you'd be better off using it for mining. It's explained in more detail in the (surprisingly accessible) bitcoin whitepaper.
- jbb67 9y agoAs for proof of work, am I right in assuming it works like this :- Add a field to store a random number. Keep generating values for this field until the hash of the structure has 'n' leading zeros. Is that more or less correct?
- wildbunny 9y agoAgain, that's how it works, but not why it works. It bitcoin it is used as an unforgeable proxy for elapsed time.
- bogomipz 9y ago>"It bitcoin it is used as an unforgeable proxy for elapsed time" This sounds pretty interesting, can you elaborate on how exactly its proxy model for the passage of time?
- wildbunny 9y agoIn a p2p environment, timestamps are totally useless at proving when I sent you bitcoins. However, when I sent you bitcoins is fundamentally important when it comes to ordering transactions, because I can send you bitcoins, but also send them to myself after you accept them. If I can forge timestamps then this attack is trivial to pull off. You need an analogue to elapsed time to solve this problem. Hashes in bitcoin are probabilistic, there is an expected number of hashes required to solve the PoW (on average). Each hash takes an amount of time that cannot be made faster, so you suddenly have an unforgeable, easily provable analogue to elapsed time.
- bogomipz 9y agoThat makes perfect sense. Thanks.
- DSMan195276 9y agoYes, that's more or less it. It's worth adding to that description that the hash must be secure in that it does not allow determining what random number to use to get a particular output (I'm sure you already recognized this detail - it just guarantees you have to keep trying actually random numbers to find a result). Also worth adding is that the 'n' (Basically the difficulty) is generally going to need some way of scaling based on how quickly correct hashes were found in the past. This is important to prevent problems that would happen with people being able to generate correct results too quickly (Or even just significantly faster then previously). In particular, Bitcoin's difficulty factor scales such that a new block is found aprox. every 10 minutes, so 'n' is adjusted every so many blocks depending on how fast the hashes were found. Because in the case of Bitcoin, a found block means more coins in the market, it is important that when more hashing power is added, it doesn't result in blocks now being found 1 minute apart. If that were to happen, then you'd have 10 times the number of coins entering the market.
- ankushnarula 9y agoCorrect me if I'm wrong but the article is about elucidating the structure of a blockchain database - not a practical secure cryptocurrency.
- wildbunny 9y agoYou are correct. However, this field is so new and so potentially disruptive that there are a lot of so called 'blockchain developers' inventing new cryptocurrecies which are unworkable, or essentially no different to VISA in terms of trust, who are convincing unwitting investors to part with large sums of cash because they don't understand the basics of what a cryptocurrency is. We don't need more of them. We need understanding.