I am wondering why Bitcoin's inter-block time is 10 minutes, whereas it is only about 15 sec in Ethereum. Given both Bitcoin and Ethereum are based on PoW consensus algorithm, why not decreasing the inter-block time in Bitcoin to be as Ethereum and thus increase the system througput?
Bitcoin and Ethereum inter-block time difference
307 Views Asked by Noureddine At
1
There are 1 best solutions below
Related Questions in ETHEREUM
- Automatic Transfer of Token in Solidity Contract
- Not able to create accounts for Private Ethereum Blockchain using Geth and Web3 API
- Deploying Ethereum Private Network
- Uncaught ReferenceError: web3 is not defined at window.onload
- Does the "holy trinity" (Ethereum, Swarm and Whisper) support multimedia streaming?
- How to accurately measure the effort required to reduce a λ-term?
- Q: How do I add nicehash support to open-ethereum-pool for musicoin
- eth_SendTransaction - Unknown Account
- solidity - get return value of delegatecall with assembly
- Link Javascript to Solidity?
- Can I configure my truffle project to use an .ipc endpoint file instead of an ethereum RPC listener?
- Can we use mysql with ethereum?
- Monitoring Ethereum private network
- Is Ethereum wallet to wallet token exchange possible?
- How do display all the events logs from a smart contract?
Related Questions in BITCOIN
- Blockchain receive API with same address
- Unable to convert variable to GMP when initializing Bitpay client class (Laravel)
- Creating "wallets" for users with BlockCypher
- Transaction on bitcoin address derived from bitcoinjs-lib not showing in Bitcoin core
- How to event when BitcoinJ instance shut down before the transaction is confirmed?
- Connect to Multichain network using aws EC2
- Restart bitcoind daemon in case of crash with node.js code
- Bitcoin: How to check payment received on many bitcoin addresses
- (0.7/0.001)%10 is not returning 0
- Why is there no main() in bitcoin source?
- Send Multiple GET Requests to Server:80 port Simultaneously
- Transaction via Blockchain API using Multiple recipients
- Having trouble getting a specific value in JSON/PHP
- Bitcoin implementation with laravel
- com.coinbase.api.exception.UnauthorizedException
Related Questions in CONSENSUS
- How is service discovery not a subset of centralized configuration?
- vcf-consensus script error: The sequence N not found in the fasta file
- Any terrible thing will happen if change Chaincode state in invokeChaincode?
- How does raft handle committing entries from previous one?
- Bitcoin and Ethereum inter-block time difference
- How a distributed storage system like Raft filter duplicate requests even after client session expiration
- Recommend algorithm of fair distributed resources allocation consensus
- Raft Vs MongoDB Primary Election
- consensus score and WSP score in python
- Consensus number of FIFO queue
- Where can I configure iot_consensus_throttle_threshold_in_byte in IoTConsensus of Apache IoTDB?
- Doesn't Paxos end up with the same instructions in the exact same order?
- How do developers manage to update new source code on blockchain due to the difficulty of distributed and decentralized consensus process
- Minimum number of nodes to achieve Byzantine Fault Tolerance
- Simple Consensus with Timeouts
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The Bitcoin block time was chosen to make sure disk space would not become an issue.
Bitcoin whitpaper (2008): A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year. With computer systems typically selling with 2GB of RAM as of 2008, and Moore’s Law predicting current growth of 1.2GB per year, storage should not be a problem even if the block headers must be kept in memory.
Another reason is to minimize orphan blocks. Which is a block that has been solved within the blockchain network but was not accepted due to a lag within the network itself. So the block is valid but broadcasted to the network too late. In the Bitcoin blockchain these orphan blocks go to waste, as the miner that mined it gets no reward for it. Which is a waste of computing power.
Also along with the wastage, if multiple nodes start generating the same block simultaneously or within a short period of time, this will lead into multiple and more frequent bitcoin forks, which is unhealthy for the network.
Ethereum, being a smart contract blockchain, needed a block time that was as fast as possible and solved this issue by introducing the Greedy Heaviest Observed Subtree (GHOST) protocol. This protocol included orphan blocks when finding the longest chain after a fork and it also rewarded the miners of these orphans blocks. So their computing power was not completely wasted.
TLDR: The use cases of the Bitcoin and Ethereum blockchains are different and Ethereum needs a faster block time to fulfill its purpose as a smart contract blockchain. A more detailed and technical explanation by Prabath Siriwardena can be found here: The Mystery Behind Block Time