Is it something on a more fundamental level that doesn't have to do with code but with architecture of the blockchain?
Yes.
Average current block time:
- Ethereum: ~13 seconds
- Bitcoin: ~10-11 minutes
(Block times are by design, set in the protocols. There's some variation, but generally currently hovering around these values.)
Average current block size:
(Again, variable. These are the current averages. Relative block sizes are by design and can fluctuate within certain limits.)
Calculated data throughput:
- Ethereum: 10.8 MB/hour
- Bitcoin: 7.8 MB/hour
Average current transaction size (variable):
Given these current average values, and noting that they can vary, the current ball-park transaction throughput can be calculated as:
- Ethereum: ~108,000 / hr ==> ~30 tps (1observed data is a lower tps, as not all transactions are basic 21,000 gas transfers)
- Bitcoin~: ~7800 / hr ==> ~2.2 tps (generally matches this data)
The performance of bitcoin is limited by the frequency of block generation- what's the frequency limited by? – DoctorDoom338 Jan 20 '21 at 10:14