It is commonly written everywhere that Ethereum miner selects transaction based on higher gas price first, so I want to know is it possible for minter to select transaction to process based on from/to address instead of higher price ?
[Ethereum] is it possible for a Ethereum miner to select transaction for processing based on from or to address
ethereum-classicminingtransactions
Related Solutions
As I mentioned in the answer to the post you've referenced, putting your own transactions into a block doesn't make that block easier to mine. You'd still be competing against the rest of the miners, who may or may not have included your low-priced transaction in the block they're mining. You'd probably1 be better off broadcasting the transaction and hoping someone else - perhaps with far greater hashing power than you - picks it up. (i.e. Use the power of the rest of the network rather than cutting yourself off from it.)
To actually answer your question though, there are a couple of options I can think of. (Other people may have other ideas.)
- If you're using the Parity client, use the
--tx-queue-strategy
flag to prioritise low priced transactions. (Though this won't guarantee yours is included if the transaction pool is full of cheap transactions.) I think the same can be done with the--gasprice
option. Geth doesn't have a way to set maximum limits for gas price, only minimum limits, so you can't prioritise low prices. - The only way I can see to guarantee that your own transactions are prioritised is to edit the code. For Geth, I've mentioned where transactions from the memory pool are sorted in this previous answer. You'd need to inspect the
from
address in each transaction, and only add to the block you're mining if the address is yours. (I think. There might be an easier way of creating a local transaction pool containing only your transactions, but that would need some digging and design.)
1 I've no way of quantifying this...
The gas limit for single send transaction is about 21000 gas which turns out to be 0.000378 ether per 21000 gas, roughly equal to 0.4 US$.
The SafeLow cost for a transaction is currently $0.019, which is a lot less than your $0.40. It's possible, however, that the price has fluctuated since you wrote your question, which I'll talk about more below.
Now I am creating my own Ethereum based crypto-coin, and I want to keep its conversion rate as 1 coin = 1 US$
This is perhaps possible during an ICO phase, where you can sell the tokens for this amount, but how will you prevent them being traded for different amounts on the open market? (This is perhaps worth a new question, if it hasn't been asked before.)
But if my traders send 1 or just half coin, then also for this transaction, if they have to pay the whole gass limit then it will be of no use as it will be more of a loss.
Ethereum's gas prices form a market. As above, I think your estimate of $0.40 is too high, at least for the current market. However, as the number of transactions being sent on the network increases, so does demand for throughput and space in blocks. This pushes up the gas price, and this is how it was designed to work.
Fees will likely be lower when further scalability solutions have been implemented, but the price market will always exist. If that doesn't appeal to you, then perhaps a different platform would be a better fit (and especially if you want to peg your token to a fiat value).
Best Answer
Simple answer is yes. The miner can select whichever transactions from the pool they like. They can include all of them, none of them, or any combination they want based on any criteria - including the from address, or the contracts being called, or even the outcome of the contract call. Of course, they won't get paid for transactions they don't include, and they can't prevent a transaction ever getting mined, as there are other miners that will include it themselves in a later block.