Author

Topic: incentive to forward transactions? (Read 1214 times)

legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
July 13, 2011, 09:33:50 AM
#12
Another way to do this, but one that's pretty silly IMO, is to include with a transaction a tiny additional payment to an account whose private key you pass along to the node you hand the transaction to. Now that node has a small incentive to get your transaction into the public chain.
donator
Activity: 2058
Merit: 1054
July 13, 2011, 08:51:29 AM
#11
First you need to remember that not all network nodes are necessarily miners. So even if transactions stop at miners, they can still propagate through the rest of the network.

I expect that as network traffic increases and requires significant hardware and connectivity investments, propagation of transactions and blocks will be monetized. So there will be an incentive to operate honest non-mining nodes, and maybe even miners will be incentivized to propagate in spite of the possible competition.
You are probably right, some market mechanism will arise, I just can't imagine yet how the propagation of transactions could be monetized. Bitcoin does not provide a mechanism for that.
It needn't be a part of Bitcoin per se (in fact it could be part of a general p2p monetized data-sharing network). It's easier to see how it will be done with blocks - when a new block is found, miners will want it as quickly as possible and pay to the lowest asking node who has it (they'll need either trust between them or a trusted instant-payment intermediary). Nodes will pay for receiving it from other nodes based on how much they expect to gain from selling it.

With transactions it's harder to micromanage which node has what transactions, but this should be a solvable technical issue.
legendary
Activity: 1596
Merit: 1012
Democracy is vulnerable to a 51% attack.
July 13, 2011, 08:11:53 AM
#10
One solution is to periodically test nodes by pretending not to have a transaction. If a node appears to be withholding transactions from you, you can start withholding transactions from it.

But I think the better workaround is to set up more reliable ways for miners to get transactions. One simple way is for people to run 'hub nodes'. These would just be bitcoind nodes run at well-known addresses with lots of resources, coded to handle tens of thousands of connections and to accept all transactions that are not obviously abusive. Miners would connect to them because they had a broad view of transactions, got blocks to them quickly, and got their blocks out quickly. Clients would connect to them because they had a broad view of miners and got transactions out quickly. Hub node operators would make sure their hubs linked with each other by private agreement.
newbie
Activity: 12
Merit: 0
July 13, 2011, 07:47:19 AM
#9
First you need to remember that not all network nodes are necessarily miners. So even if transactions stop at miners, they can still propagate through the rest of the network.

I expect that as network traffic increases and requires significant hardware and connectivity investments, propagation of transactions and blocks will be monetized. So there will be an incentive to operate honest non-mining nodes, and maybe even miners will be incentivized to propagate in spite of the possible competition.

You are probably right, some market mechanism will arise, I just can't imagine yet how the propagation of transactions could be monetized. Bitcoin does not provide a mechanism for that.
My guess is that online wallet services (like instawallet etc.) or similar services will have an incentive to speed up the transaction propagation, but then again they might choose to only propagate transactions that their clients are involved in.
So the generalized question is: could the incentive to leach by choosing to propagate none or only a subset of the transactions become dangerous to the bitcoin network? why should any "rational" node propagate any transaction that does not directly benefit you?
donator
Activity: 2058
Merit: 1054
July 13, 2011, 07:05:47 AM
#8
In the not so distant future when the miners reward consists mainly of transaction fees...
... mining will probably be a very specialized task representing a small minority of the network. The greatest part of the nodes has no incentive to discriminate between the miners because that can only slow down the processing of their transactions.

It is possible that being a regular node will not be so easy when the bitcoin network has grown and a node needs to receive and forward thousands of transactions per second. So the only ones that will have the incentive to be full nodes will be the miners. And everybody else might be using a "light" client that does provide this functionality to the bitcoin network.
I have already addressed this concern.
legendary
Activity: 910
Merit: 1001
Revolutionizing Brokerage of Personal Data
July 13, 2011, 06:51:14 AM
#7
It is possible that being a regular node will not be so easy when the bitcoin network has grown and a node needs to receive and forward thousands of transactions per second. So the only ones that will have the incentive to be full nodes will be the miners. And everybody else might be using a "light" client that does provide this functionality to the bitcoin network.
Good point! I guess some kind of compromise could be found to ensure a healthy network infrastructure. Like for example, clients which randomly accept and forward transactions according to their resource limits. I don't think it would be too hard to implement such measures.

It is a valid concern, but fortunately the scenario can be detected (by looking at the percentage of full nodes in the network) and most probably prevented before it becomes a real problem.
pc
sr. member
Activity: 253
Merit: 250
July 13, 2011, 06:50:09 AM
#6
I believe that some people have suggested that in the future, it may be normal to submit transactions directly to your preferred miner, with its known fee schedule and expected how-soon-will-get-in-block time. Even if that's not the case, I'd expect miners would publish their bitcoin node addresses publicly, and a user wishing for a transaction to have as big a chance as possible of going in a block soon would be sure to connect to all the biggest mining pools/companies directly.
newbie
Activity: 12
Merit: 0
July 13, 2011, 06:19:53 AM
#5
In the not so distant future when the miners reward consists mainly of transaction fees...
... mining will probably be a very specialized task representing a small minority of the network. The greatest part of the nodes has no incentive to discriminate between the miners because that can only slow down the processing of their transactions.

It is possible that being a regular node will not be so easy when the bitcoin network has grown and a node needs to receive and forward thousands of transactions per second. So the only ones that will have the incentive to be full nodes will be the miners. And everybody else might be using a "light" client that does provide this functionality to the bitcoin network.
legendary
Activity: 910
Merit: 1001
Revolutionizing Brokerage of Personal Data
July 13, 2011, 05:50:22 AM
#4
In the not so distant future when the miners reward consists mainly of transaction fees...
... mining will probably be a very specialized task representing a small minority of the network. The greatest part of the nodes has no incentive to discriminate between the miners because that can only slow down the processing of their transactions.
donator
Activity: 2058
Merit: 1054
July 13, 2011, 05:42:10 AM
#3
First you need to remember that not all network nodes are necessarily miners. So even if transactions stop at miners, they can still propagate through the rest of the network.

I expect that as network traffic increases and requires significant hardware and connectivity investments, propagation of transactions and blocks will be monetized. So there will be an incentive to operate honest non-mining nodes, and maybe even miners will be incentivized to propagate in spite of the possible competition.
member
Activity: 109
Merit: 10
July 13, 2011, 05:35:07 AM
#2
right, you are asking good questions and thinking critically here, but let me explain to you why it wont be a problem

what you say is true of course but you have to consider that everybody knows if everybody does it, the network will collapse. so all miners will almost certainly not do it since then the value of their bitcoins would collapse. now theres always gonna be 5-10% of the population who will be greedy and not do it, but its basically prisoners dilemma, but with a twist where if EVERYBODY acts in their own best interest its actual in their worst interest, so incentive is extremely high to just forward transactions

even if you just consider pools as one miner, thats still a good 50-60 mining clusters plus everyone who gambles it up solo, market incentives is just too high for everyone to not forward transactions imo
newbie
Activity: 12
Merit: 0
July 13, 2011, 04:56:21 AM
#1
In the not so distant future when the miners reward consists mainly of transaction fees, what is the incentive of a miner to forward received transactions to other miners?
To clarify, imagine you are a big miner (maybe a pool operator) and a transaction comes in from another node with a (considerable) fee. If you do not forward this transaction to the nodes you are connected to, you will reduce, admittedly by just a tiny amount, the chance that some other miner will include this transaction in the next block and reap those rewards if they find the block before you. By keeping it to yourself you can include the transaction in the next block that you will find.
If only one miner does this, the effects will be barely noticeable given the interconnectedness of the bitcoin nework, but if many miners have this behavior, could this potentially be a problem?
Jump to: