Conformal Systems, creators of the alternate Bitcoin full-node implementation written in Go, has released a bitcoin transaction simulator called btcsim. Created by interns Javed Khan and Michalis Kargakis, the transaction simulator has been used by Conformal to test a variety of claims about how the Bitcoin network might function when transaction volume mirrors that of the 3000 transactions per second credit card companies such as Visa and Mastercard process.
Including blocks up to 32MB in size, Conformal have reached some conclusions including:
- A 32 MB block, when filled with simple P2PKH transactions, can hold approximately 167,000 transactions, which, assuming a block is mined every 10 minutes, translates to approximately 270 tps.
- A single machine acting as a full node takes approximately 10 minutes to verify and process a 32 MB block, meaning that a 32 MB block size is near the maximum one could expect to handle with 1 machine acting as a full node
- A CPU profile of the time spent processing a 32 MB block by a full node is dominated by ECDSA signature verification, meaning that with the current infrastructure and computer hardware, scaling above 300 tps would require a clustered full node where ECDSA signature checking is load balanced across multiple machines.
The full article is available on the Conformal blog and the btcsim software is available here.
Cue the inevitable shitgnome chorus: 'We need hardware ECDSA processors! Buy ours! Don't wait till they're mandatory, buy at discount now!'