So yes, transactions are received at different times by different nodes,
Correct. So there is no way to know which transaction is "First In". Since every node would have a different order.
but that is not how transactions are entered into the mined block.
Correct. The protocol does not have ANY rules about the order. Every miner can choose any valid order they want. This is because it is the blockchain that decides the order of the transactions. This is the WHOLE REASON THE BLOCKCHAIN EVEN EXISTS AT ALL. Without the blockchain, there is no way to know what the order is, and that makes a decentralized cryptocurrency impossible to use). With the blockchain, you can wait until your transaction is in the blockchain, and then you can know exactly what the order is.
What happens is when a block is mined, the transaction que is setup where the miner's software can accept the transaction into the block accepting the fee offered.
Nope. That's not what happens at all. You should probably take some time to learn a bit more about how bitcoin works, and what problems it solves before you try and suggest changes that will break it.
It makes sense that the top fee amounts get included into the block first.
Correct. The miners are free to choose any valid transactions when they build their blocks. Since they must spend money on equipment, electricity, and a place to put the equipment, it makes sense that they would want to choose the transactions that pay them the most.
This creates a competition which pushes fees higher.
Until people aren't willing to pay the fee anymore. Then the number of transactions drops, and the miners are forced to include cheaper transactions in their blocks in order to fill the blocks and increase their revenue. The system will reach an equilibrium when the number of transactions that are willing to pay a specific fee is equal to the amount of space available in a block. Then the blocks stay full, and the transaction fees stop increasing.
If instead we assigned an order to the transaction when it was accepted by a node based on first in first out and guarantee that the transaction(with a minimum transaction fee) then (if valid) the transaction will eventually be added to the block chain, then this would have the effect of elimination of competition for the next block which would reduce transaction fees to the minimum.
How do you know what order my mining node receives the transactions? How can you assign an order to the transactions that my mining node receives? Since there is no way for you to know the order that transactions are received at EVERY MINING NODE in the world, there is no way for your node to enforce a rule about it on those mining nodes. You could solve this by having the mining nodes group some transactions together and declare the order. To keep anyone else from lying about that order, you could require every mining node that groups transactions together to do some provable work before they can broadcast their group of transactions. Then you can require everyone to accept the queue of groups of transactions that has the most work. Of course if you do that, you'll have invented the blockchain, and we already have one of those. You still have no control over the order that mining nodes group those transactions in that blockchain that you are using as a queue, so you still haven't really solved your problem.
(There would be no reason to increase your fee because you que in line is based upon when the node broadcasts your transaction.
So, I can bribe a mining node to claim they got my transaction first? That way I can get into a block earlier? And the higher my bribe, the more likely that a mining node will be willing to claim that my transaction was received first? How is this any different than the fee competition that we already have?
This might also have the limited added effect of incentivizing running your own full node. Because then the faster you can broadcast a transaction the faster it would get to be mined...
You do understand that a node just sends the transaction to the nodes that it is directly connected to, right? That's no different than a non-node wallet which also just sends the transaction to the nodes that it is directly connected to. What about that is "faster"? You still have no control over how quickly the nodes that you send to relay the transaction to the nodes they are connected to.
Once part of the FIFO que
"The FIFO Queue"?
Where is this all-knowing queue found? You do understand that there isn't a single queue somewhere that miners go to for transactions, right? Each miner just keeps track for itself of the transactions that it has heard about from its peers. Then it chooses from those transactions that it knows about. You have no control over how that miner stores those transactions, no control over what it does with those transactions, and no way to know what order it received those transactions. There may be transactions that you know about that the miner has never heard of, and there may be transactions that the miner has received which you know nothing about. If you don't know what transactions a miner has, then you aren't able to enforce your rules on their transaction selection. They can just lie and claim that the only transactions they've heard of so far are the ones with the highest fees. You wouldn't be able to prove otherwise.
the business then can determine how long before the transaction will be added.
Unless the miner lies and claims that they never heard about the businesses transaction.
Also businesses could do segwit themselves on the transaction to determine validity to decide whether to risk giving the product and waiting for the confirmation or just waiting a predictable amount of time for the confirmation to come in before dispensing.
Do segwit themselves? To determine validity? You are using words, but I don't think they mean what you seem to think they mean? Perhaps they could just do orange juice themselves to determine the cleanliness of the transaction? Bah, why am I even engaging with this nonsense?
So, my argument to you then, to be able to have a system with a first come first serve basis
Which we've now established can't work.
could be by having more nodes and giving them a slice of the transaction fees...
How will you identify a node? How will you make sure that they get paid? How will you prevent someone from running a few million pretend nodes to collect all the fees while contributing nothing useful to the network?
allowing the network to accept more transactions..
The number of nodes has
no effect on how many transactions fit into the blockchain.
I guess what it really comes down to are a couple of things...if we want more decentralization then some of the resources should go to the full nodes or becoming node centric.
I've not heard of any good ways to do this that aren't disastrously unstable.
Right now BTC is decidedly miner centric. Almost all the benefit goes to miners.
Miners perform the VERY IMPORTANT job of choosing the order of the transactions, and cementing that order into the blockchain with the proof-of-work. In exchange for performing this service to the community, we pay them. Are you suggesting they shouldn't be paid to do this work for us? If they aren't paid to do it, then why would they bother? If they don't bother, then we don't have a usable system. The mining process is the reason we have a decentralized system. Without the miners, we would need a single trusted entity that we could all go to to find out what the official order of transactions is.
I am not talking about usage benefit, just economic incentive benefit. That is not a bad thing, but it does tend toward having the network centralized...
Actually, it is the ONLY reason that the network is decentralized.
which in reality if you block all of China as 1,
Which is a very racist and prejudiced thing to do. To say that people that all live in the same country (or people that all have some similar physical features) are therefore identical and will all make identical decisions and automatically conspire together is beyond ridiculous and really ought to disqualify you from participating in any technical discussion, ever.
which essentially they are,
Your racism is showing again.
then BTC is really centralized in China...
Even more so, we could say it is REALLY centralized in the northern hemisphere! Perhaps we need to do something about that! OMG! It is completely 100% centralized on the EARTH!
Get over it.
which will not allow Bitcoin to become anything other than what it is now..so I guess our points are really mute.
Yours certainly are.
It is probably time to move on to some other coin...
Bitcoin probably would be better off if you would, please.