Bitcoin Forum
April 25, 2024, 01:31:35 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Should nodes receive part of the transaction fee?  (Read 1865 times)
minerva (OP)
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile
December 30, 2013, 12:46:49 PM
 #1

Without nodes providing bandwidth and a modicum of CPU power, the Bitcoin network would be nothing.

Should nodes receive a fraction of the transaction fee?

Tip-Jar: 15NN2YwMGAntKopJgAsFBJvfuCARkV62xo
1714051895
Hero Member
*
Offline Offline

Posts: 1714051895

View Profile Personal Message (Offline)

Ignore
1714051895
Reply with quote  #2

1714051895
Report to moderator
1714051895
Hero Member
*
Offline Offline

Posts: 1714051895

View Profile Personal Message (Offline)

Ignore
1714051895
Reply with quote  #2

1714051895
Report to moderator
Remember that Bitcoin is still beta software. Don't put all of your money into BTC!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714051895
Hero Member
*
Offline Offline

Posts: 1714051895

View Profile Personal Message (Offline)

Ignore
1714051895
Reply with quote  #2

1714051895
Report to moderator
1714051895
Hero Member
*
Offline Offline

Posts: 1714051895

View Profile Personal Message (Offline)

Ignore
1714051895
Reply with quote  #2

1714051895
Report to moderator
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
December 30, 2013, 12:54:02 PM
 #2

The answer seems to be "no".

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
NewLiberty
Legendary
*
Offline Offline

Activity: 1204
Merit: 1002


Gresham's Lawyer


View Profile WWW
December 30, 2013, 02:19:21 PM
 #3

That would be a different coin.

FREE MONEY1 Bitcoin for Silver and Gold NewLibertyDollar.com and now BITCOIN SPECIE (silver 1 ozt) shows value by QR
Bulk premiums as low as .0012 BTC "BETTER, MORE COLLECTIBLE, AND CHEAPER THAN SILVER EAGLES" 1Free of Government
t3a
Full Member
***
Offline Offline

Activity: 179
Merit: 100


View Profile
December 30, 2013, 02:33:05 PM
 #4

Can nodes receive part of the transaction fee?

You can prove that you found a hash below a certain value. Can you prove you relayed a transaction to your peers?

Advertise here for 10btc/day
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1122


View Profile
December 31, 2013, 03:28:14 PM
 #5

I'm of the opinion that the answer should be yes.  But "should" does not affect the reality.  In Bitcoin, they do not.

Also, it isn't clear how to demonstrate the degree to which a client is being useful. 

If you pay them for propagating transactions, then people will make fake (or meaningless) transactions to propagate, and your altcoin melts under a Sibyl attack.  If you pay them for propagating blocks (which seems possible) then the block propagation has to be reported somehow.  Someone pretends he's a thousand nodes, all propagating every block to each other by every possible path, in order to maximize his reward, and then the claims on the award require more bandwidth than there is in the next block.  Lose again.

 
empoweoqwj
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500


View Profile
January 01, 2014, 02:16:17 AM
 #6

No I don't think so.
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
January 01, 2014, 03:07:43 AM
 #7

Can you prove you relayed a transaction to your peers?

Heroes, is there a fundamental reason this is not possible?  Is it theoretically possible to track relays if someone wrote the feature into their wallet program? 

Then the relay#'s themselves could be redeemed...and it sounds like a new coin doesn't it.


Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
t3a
Full Member
***
Offline Offline

Activity: 179
Merit: 100


View Profile
January 01, 2014, 03:27:13 AM
 #8

Can you prove you relayed a transaction to your peers?

Heroes, is there a fundamental reason this is not possible?  Is it theoretically possible to track relays if someone wrote the feature into their wallet program? 

Then the relay#'s themselves could be redeemed...and it sounds like a new coin doesn't it.


As the others have mentioned, one could simply make 10,000 imaginary nodes that all say they are relaying with each other, when in reality they aren't.

The only person who knows when a transaction is relayed is the ISPs because they are doing the actual relaying.

Advertise here for 10btc/day
dree12
Legendary
*
Offline Offline

Activity: 1246
Merit: 1077



View Profile
January 01, 2014, 03:29:53 AM
 #9

It's possible and seems to be a good idea, but more research is needed before it is confirmed to be safe from exploits.

See this thread.

TL;DR: More research is necessary.
RoadTrain
Legendary
*
Offline Offline

Activity: 1386
Merit: 1009


View Profile
January 01, 2014, 09:56:58 AM
 #10

Well I personally don't think it's needed.
Every holder has an incentive to keep the network operating well, thus to run a full node.

IMO the more important goal is to make running a full node as easy as possible.
empoweoqwj
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500


View Profile
January 01, 2014, 10:58:35 AM
 #11

Well I personally don't think it's needed.
Every holder has an incentive to keep the network operating well, thus to run a full node.

IMO the more important goal is to make running a full node as easy as possible.

I agree the more important goal is to make running a full node as easy as possible. How to do that with the increase in blockchain size?
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
January 01, 2014, 02:13:41 PM
Last edit: January 01, 2014, 02:44:04 PM by Altoidnerd
 #12

Every holder has an incentive to keep the network operating well, thus to run a full node.

Just like your roomates in college all had an incentive to do the dishes.  Homo sapiens' performance falls off steeply when gratification is indirect or delayed.

I agree the more important goal is to make running a full node as easy as possible...

mmhmmm, either easier or otherwise more enjoyable for one reason or another.  I run full nodes because of their performance and thus for selfish reasons. You could do a poll, but this is psychology 101... nobody cares about the network.

Interest groups will pop up and pay for it if they need to.  The foundation can send out a DVD of the blockchain that comes with free season 97-99 of south park.

Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1122


View Profile
January 01, 2014, 06:00:44 PM
 #13

I would truly like for there to be a way to do this, but Sibyl attacks are tricky to design around.  If you reward the last few nodes before the miner, then the miner has an incentive to put up a bunch of fake clients to "relay" it the last few steps before he gets it.  If you reward the first few nodes following the transaction origin then the transaction originator has an incentive to put up a bunch of fake clients to "relay" it the first few steps from them.

To minimize the Sibyl vulnerability you need to promote minimum-length propagation paths, so the "time to live" or "hop limit" *is* a relevant response.  With a "time to live" limited by the network the transaction originator doesn't reach as many potential miners if they consume the first bounce with a Sibyl node, so they have a disincentive to do that. 

But if a miner gets a tx with a "hop limit" of four, on the first or second bounce, there is an incentive for the miner to put up sibyl nodes to relay it the last two or three nodes to the miner.  And if a transaction originator knows she's directly connected to several of the leading centers of mining power (pool centers or ASIC farms that will probably make at least one of the next ten blocks), or even directly connected to blocks that are directly connected to centers of mining power, then she has an incentive to put up a few fake  nodes to "relay" it from her to the miners. 

So you need to create a disincentive for the miner to make sibyl nodes.  This could happen if the size of the transaction increases with each bounce (which a lot of these schemes will have happening anyway) and the miner is paid proportional to the *efficiency* (in tx per Mbyte) of his blocks.  With more incentive to keep the transactions short than incentive to add sibyl nodes, the miner wouldn't be putting up fake nodes in order to maximize profits. 

This also provides a disincentive for relay nodes to create Sibyl attacks.  If a relay node knows that the miner will only be putting tx with the shortest paths into the block, then they have a disincentive to lengthen the path, because if they do and the miner then gets the tx from elsewhere with a shorter path, the relay node that put up a sibyl loses. 

What it does not prevent is collusion attacks.  The miner will likely get a transaction hundreds of times before forming a block.  Of those, dozens may travel through a selected node that's directly connected to the miner. If such a relay node and a miner collude, then the miner can, in exchange for a kickback, prefer paths that run through that relay node - unfairly reducing the chance of reward for all non-colluding nodes.

And, finally, it creates a very complicated set of payments, which must be subject to more complicated feedback, which must in turn be fixed so there are disincentives to game the feedback mechanism.  To accomplish this in a way that's stable across diminishing block rewards, or even produces predictably sized aggregate block rewards, is nontrivial.   And it also adds the number of bounces to the signature checks that must be performed when checking transactions, and to the size of the blockchain, increasing the compute and bandwidth burden on all nodes.
empoweoqwj
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500


View Profile
January 02, 2014, 02:25:58 AM
 #14

I would truly like for there to be a way to do this, but Sibyl attacks are tricky to design around.  If you reward the last few nodes before the miner, then the miner has an incentive to put up a bunch of fake clients to "relay" it the last few steps before he gets it.  If you reward the first few nodes following the transaction origin then the transaction originator has an incentive to put up a bunch of fake clients to "relay" it the first few steps from them.

To minimize the Sibyl vulnerability you need to promote minimum-length propagation paths, so the "time to live" or "hop limit" *is* a relevant response.  With a "time to live" limited by the network the transaction originator doesn't reach as many potential miners if they consume the first bounce with a Sibyl node, so they have a disincentive to do that. 

But if a miner gets a tx with a "hop limit" of four, on the first or second bounce, there is an incentive for the miner to put up sibyl nodes to relay it the last two or three nodes to the miner.  And if a transaction originator knows she's directly connected to several of the leading centers of mining power (pool centers or ASIC farms that will probably make at least one of the next ten blocks), or even directly connected to blocks that are directly connected to centers of mining power, then she has an incentive to put up a few fake  nodes to "relay" it from her to the miners. 

So you need to create a disincentive for the miner to make sibyl nodes.  This could happen if the size of the transaction increases with each bounce (which a lot of these schemes will have happening anyway) and the miner is paid proportional to the *efficiency* (in tx per Mbyte) of his blocks.  With more incentive to keep the transactions short than incentive to add sibyl nodes, the miner wouldn't be putting up fake nodes in order to maximize profits. 

This also provides a disincentive for relay nodes to create Sibyl attacks.  If a relay node knows that the miner will only be putting tx with the shortest paths into the block, then they have a disincentive to lengthen the path, because if they do and the miner then gets the tx from elsewhere with a shorter path, the relay node that put up a sibyl loses. 

What it does not prevent is collusion attacks.  The miner will likely get a transaction hundreds of times before forming a block.  Of those, dozens may travel through a selected node that's directly connected to the miner. If such a relay node and a miner collude, then the miner can, in exchange for a kickback, prefer paths that run through that relay node - unfairly reducing the chance of reward for all non-colluding nodes.

And, finally, it creates a very complicated set of payments, which must be subject to more complicated feedback, which must in turn be fixed so there are disincentives to game the feedback mechanism.  To accomplish this in a way that's stable across diminishing block rewards, or even produces predictably sized aggregate block rewards, is nontrivial.   And it also adds the number of bounces to the signature checks that must be performed when checking transactions, and to the size of the blockchain, increasing the compute and bandwidth burden on all nodes.

To summarize, attempting to reward relays adds a layer of complexity to the network which IMHO, we really don't need. We need to solve the issue other ways.
RoadTrain
Legendary
*
Offline Offline

Activity: 1386
Merit: 1009


View Profile
January 02, 2014, 12:38:51 PM
 #15

Every holder has an incentive to keep the network operating well, thus to run a full node.

Just like your roomates in college all had an incentive to do the dishes.  Homo sapiens' performance falls off steeply when gratification is indirect or delayed.

I agree the more important goal is to make running a full node as easy as possible...

mmhmmm, either easier or otherwise more enjoyable for one reason or another.  I run full nodes because of their performance and thus for selfish reasons. You could do a poll, but this is psychology 101... nobody cares about the network.

Interest groups will pop up and pay for it if they need to.  The foundation can send out a DVD of the blockchain that comes with free season 97-99 of south park.
Dunno what you're talking about. Large holders and bussiness operators will run full nodes because of even indirect but significant incentives.
Not everyone is that short-sighted. And the network doesn't require that everybody with a penny runs a node.
Adding complexity to the network is not a wise approach to increase participation.

As I said, the same goal can be reached after we solve 'blockchain problem'. So when core dev team implements UTXO checkpoints or similar compression ideas, the reference client will be much lighter, closer to Multibit, while still being a fully functional node.
NewLiberty
Legendary
*
Offline Offline

Activity: 1204
Merit: 1002


Gresham's Lawyer


View Profile WWW
January 02, 2014, 12:48:42 PM
 #16

Well I personally don't think it's needed.
Every holder has an incentive to keep the network operating well, thus to run a full node.

IMO the more important goal is to make running a full node as easy as possible.

Yes, and

We need to solve the issue other ways.

Adding monetary benefits is not needed if the costs are low enough and use easy enough.  There are other intrinsic benefits beyond monetary. (such as just wanting the block chain data on hand)

FREE MONEY1 Bitcoin for Silver and Gold NewLibertyDollar.com and now BITCOIN SPECIE (silver 1 ozt) shows value by QR
Bulk premiums as low as .0012 BTC "BETTER, MORE COLLECTIBLE, AND CHEAPER THAN SILVER EAGLES" 1Free of Government
Sergio_Demian_Lerner
Hero Member
*****
expert
Offline Offline

Activity: 549
Merit: 608


View Profile WWW
January 02, 2014, 05:36:51 PM
 #17

I proposed two protocols that work, without any theoretical problem, and with very little overhead.


https://bitcointalk.org/index.php?topic=385528.msg4155300#msg4155300
https://bitcointalk.org/index.php?topic=385528.msg4154714#msg4154714

In fact the paycket method could be implemented without any type of fork, if miners add after each transaction another transaction that pays to the PayList pubkeys. But the overhead in txs may be 30%


Nevertheless, I'm unsure if they would ever be needed.

Sergio.
minerva (OP)
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile
January 03, 2014, 09:19:35 PM
 #18

http://research.microsoft.com/pubs/156072/bitcoin.pdf
I just want to point this out.

Tip-Jar: 15NN2YwMGAntKopJgAsFBJvfuCARkV62xo
Altoidnerd
Sr. Member
****
Offline Offline

Activity: 406
Merit: 251


http://altoidnerd.com


View Profile WWW
January 03, 2014, 11:06:12 PM
 #19

Interest groups will pop up and pay for it if they need to...
...Large holders and bussiness operators will run full nodes...

I don't think we disagree in principle, if you isolate these two remarks at the core of our thinking.

Do you even mine?
http://altoidnerd.com 
12gKRdrz7yy7erg5apUvSRGemypTUvBRuJ
empoweoqwj
Hero Member
*****
Offline Offline

Activity: 518
Merit: 500


View Profile
January 04, 2014, 02:55:10 AM
 #20


Is it relevant to this thread? Care to summarize?

I would download and read myself but tend to hate all things Micro$oft
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!