You are diverting attention to what I was taking about. Read your post, and read what I was talking about. I was not talking about throughput, but solely about quadratic hashing.
what our failing to understand is that segwit wont stop anything.
you can pretend it solves things and is 100% utopian fix. but its not
quadratic hashing still will occur after segwit is activated.
What i would try to solve this problem is :
Associate a number to each op code in the script to represent the computing time it take, all node need to have this same values.
Each time the vm execute an op code, it increase a counter with this value.
When the block is being mined , a counter is kept by mining node for this block.
When the block is emitted this value is put either in the block header, or in the coinbase input script.
On the "client" side, the consensus decide what is the maximum value for this number for valid blocks.
On the "client" side, a limit is on put on the vm and the execution is stopped when the counter reach this limit.
Normally it shouldn't be to hard to do in itself. And should be effective to keep the execution time in certain boundaries.
Not saying i will do this in the afternoon, for the moment i have plenty of things to do lol But the problem is to be able to reach the consensus on the update, good moves need to be planed before to see how it's supposed to evolve.