About consensus algorithm and transaction speed

+2 votes
Hello, MultiChain Team.

Is MultiChain's consensus algorithm (proof of work, PoW) exactly the same as that of BitCoin?
Are there any differences between MultiChain and BitCoin or between multichain protocol and bitcoin protocol in terms of mining methods? If so, what's the difference?

 

We know that MultiChain has transaction processing speeds of 500 ~ 1000 tx / sec.
Will the transaction time be 500 to 1000 tx / sec even if the block time is about 3 minutes?

 

Thank you.
asked May 23, 2017 by Ilhun

1 Answer

+2 votes
 
Best answer
For blockchains with permissioned mining, MultiChain uses a completely different scheme to bitcoin's. You can find a description of it starting on page 7 of the original MultiChain White Paper:

http://www.multichain.com/download/MultiChain-White-Paper.pdf

The maximum transaction throughput of 500-1000 tx/sec includes the time taken to process individual unconfirmed transactions, as well as transactions in blocks. However we wouldn't recommend using a 3 minute block time at that transaction throughput, because that means each block will contain 90000-180000 transactions, which will 'lock' the node for a longer time while the block is being processed. Is there any reason why you don't want to use 5-10 second blocks instead?
answered May 23, 2017 by MultiChain
selected May 23, 2017 by Ilhun
What is the recommendation for Block time for private chain, and how to calculate the transaction per second ? Can you give the formula to calculate this ?
Please see the production recommendations at the end of this page:

https://www.multichain.com/developers/blockchain-parameters/

Your theoretical limit on transactions per second is given by:

maximum-block-size / [average transaction size] / target-block-time

Where [average transaction size] depends on what your blockchain is doing, but you can take a guideline of ~300 bytes for simple transactions that transfer an asset and have some optional small amount of metadata.

In practice, you need to ensure the target-block-time is not too long given your network latency, and the theoretical limit won't be reached if it is higher than the speed at which individual nodes can process transactions.
...