Bitcoin Forum
November 12, 2024, 09:08:28 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: What is the incentive to collect transactions?  (Read 19629 times)
theymos (OP)
Administrator
Legendary
*
Offline Offline

Activity: 5376
Merit: 13410


View Profile
June 05, 2010, 04:26:09 PM
 #1

Adding transactions to the block you're working on will slow down your generation rate. What prevents the majority of generating nodes from ignoring broadcasted transactions and making the network unreliable?

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
lachesis
Full Member
***
Offline Offline

Activity: 210
Merit: 105


View Profile
June 05, 2010, 06:59:19 PM
 #2

I don't know if there are any technological safeguards to prevent this, but there is a social one: if you drop transactions, others might drop yours.

Bitcoin Calculator | Scallion | GPG Key | WoT Rating | 1QGacAtYA7E8V3BAiM7sgvLg7PZHk5WnYc
sirius
Bitcoiner
Sr. Member
****
Offline Offline

Activity: 429
Merit: 1002



View Profile
June 05, 2010, 07:22:38 PM
Merited by Foxpup (2)
 #3

Bitcoin supports transaction fees paid to the node that records a transaction into the block chain. If too many nodes start dropping transactions, you can pay a fee when you want to increase the likeliness of your transaction being recorded in the next block.

Iris — for better social networks
I'm not a forum admin - please contact theymos instead.
laszlo
Full Member
***
Offline Offline

Activity: 199
Merit: 2384


View Profile
June 05, 2010, 07:42:17 PM
 #4

So would it be smarter to only process transactions which profit you?  That way if you want to send money you need to include a courier fee or nobody will confirm it.  That seems reasonable to me, where you can add a fee yourself to each transaction, and people can configure a threshold of how much of a fee they expect before accepting a transaction.

BC: 157fRrqAKrDyGHr1Bx3yDxeMv8Rh45aUet
theymos (OP)
Administrator
Legendary
*
Offline Offline

Activity: 5376
Merit: 13410


View Profile
June 05, 2010, 07:55:40 PM
 #5

That's a clever (and very free-market) solution. How does BitCoin currently deal with transactions that aren't published in a block for a long time? Is there any risk of them being lost?

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
QuantumMechanic
Member
**
Offline Offline

Activity: 110
Merit: 19


View Profile
June 05, 2010, 08:02:09 PM
 #6

Are there any estimates on the average transaction fee once users' incentive to support the network via bitcoin generation is mostly dried up?  How does this scale with the number of users, the size of network, and the total transaction rate?
satoshi
Founder
Sr. Member
*
qt
Offline Offline

Activity: 364
Merit: 7248


View Profile
June 15, 2010, 11:41:29 PM
Merited by Foxpup (2)
 #7

Adding transactions to the block you're working on will slow down your generation rate
The premise is false.  Adding more transactions to the block you're working on does NOT slow down your generation rate.  When generate is scanning hashes, it only hashes the header of the block, which is constant size.  The header contains a hash of the transactions (the Merkle root) and is only updated occasionally.

If necessary I can write code to make nodes prefer not to use a block if it doesn't contain enough of the transactions they know about.  A discouraged block would almost always fail to be included in the main chain, but would be accepted if it did get in.  I doubt this will be necessary, since there's no real advantage for nodes not to include all transactions.
Stickboy
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
July 13, 2010, 05:38:55 AM
 #8

I'm new here so forgive me if I say something stupid.

Under normal circumstances there might be no advantage not to include all transactions but what about pure malicious motivations?  If this is an avenue for disrupting the currency I certainly would think twice about "keeping my money there", so to speak.
jib
Member
**
Offline Offline

Activity: 92
Merit: 10


View Profile
July 13, 2010, 05:46:31 AM
 #9

It doesn't matter if a transaction's not included; it'll get included in a later block. As long as the attackers have much less CPU power than the rest of the network, they won't be a problem.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
October 05, 2012, 07:10:38 PM
 #10

Adding transactions to the block you're working on will slow down your generation rate
The premise is false.  Adding more transactions to the block you're working on does NOT slow down your generation rate.  When generate is scanning hashes, it only hashes the header of the block, which is constant size.  The header contains a hash of the transactions (the Merkle root) and is only updated occasionally.

If necessary I can write code to make nodes prefer not to use a block if it doesn't contain enough of the transactions they know about.  A discouraged block would almost always fail to be included in the main chain, but would be accepted if it did get in.  I doubt this will be necessary, since there's no real advantage for nodes not to include all transactions.

What if the state developed and sold a lot of ASICs that don't include any transaction? If these ASICs are better than anyone's else, then most of miners will use such malicious devices. The state can afford to hire the best scientists and the best engineers to create such ASICs. It can even sell these devices much cheaper than, say, Butterfly Labs. Was the mentioned functionality (rejecting blocks with not enough transaction) implemented?
maaku
Legendary
*
expert
Offline Offline

Activity: 905
Merit: 1012


View Profile
October 05, 2012, 07:46:27 PM
 #11

You, sir, are a powerful necromancer.

Can you raise Satoshi from the dead too?

I'm an independent developer working on bitcoin-core, making my living off community donations.
If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
October 05, 2012, 09:02:43 PM
 #12

No, it wasn't, thankfully. It is the miners choice to add or not add transactions to a block.

You worry about a state attacking Bitcoin, yet want to force miners, via the protocol, to add transactions? /facepalm

Eventually, transactions fees will be the main method by which miners are compensated for their work. There is no reason to change anything. Let the market take care of it. If miners don't add ANY transactions, they won't receive any transaction fees, and their competition will earn more than them and outpace them in the hardware arms race.

I'm talking about next few years.

If u were a miner what would u choose:
1. Find 1 block every 24 hours with some fees.
2. Find 1 block every 16 hours with no fees.

Huh
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
October 05, 2012, 09:09:16 PM
 #13

You, sir, are a powerful necromancer.

Can you raise Satoshi from the dead too?

I was led here via https://en.bitcoin.it/wiki/Weaknesses (search for "Satoshi has communicated that he will write code to stop this kind of thing if it becomes a problem" text). So I'm not a necrophiliac. Smiley
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1100


View Profile
October 05, 2012, 09:09:35 PM
 #14

I'm talking about next few years.

If u were a miner what would u choose:
1. Find 1 block every 24 hours with some fees.
2. Find 1 block every 16 hours with no fees.

And if everybody's bitcoin transactions take forever to confirm, users will abandon the network, and bitcoins will have no value.

Miners have an incentive to encourage users to use bitcoins, over and above simple fee income.

The more users, the more value conferred by the block reward + fee total.

No users, block reward + fee is worthless.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
October 05, 2012, 09:10:39 PM
 #15

If in some make-believe I was forced to choose between the two, I would choose option 1, I'm not stupid enough to think that Bitcoin can have value if it can not function properly.

Most miners will choose option 2 coz of greed.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
October 05, 2012, 09:13:33 PM
 #16

Miners have an incentive to encourage users to use bitcoins, over and above simple fee income.

I disagree. I know some miners who own mining farms. They mine coz it's easy way to earn money, they don't care what will happen to Bitcoin in the future.
jgarzik
Legendary
*
qt
Offline Offline

Activity: 1596
Merit: 1100


View Profile
October 05, 2012, 09:18:07 PM
 #17

Miners have an incentive to encourage users to use bitcoins, over and above simple fee income.

I disagree. I know some miners who own mining farms. They mine coz it's easy way to earn money, they don't care what will happen to Bitcoin in the future.

The existence of an incentive does not presuppose all will follow that.

Thankfully, most do, otherwise value would collapse.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1026



View Profile
October 05, 2012, 10:09:18 PM
 #18

I'm talking about next few years.

If u were a miner what would u choose:
1. Find 1 block every 24 hours with some fees.
2. Find 1 block every 16 hours with no fees.

Why on earth would anyone make this choice?  Are you confused about how mining works?  Here's a hint to get you started: including transactions does not hurt your hash rate.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1010

Newbie


View Profile
October 05, 2012, 10:12:53 PM
 #19

I'm talking about next few years.

If u were a miner what would u choose:
1. Find 1 block every 24 hours with some fees.
2. Find 1 block every 16 hours with no fees.

Why on earth would anyone make this choice?  Are you confused about how mining works?  Here's a hint to get you started: including transactions does not hurt your hash rate.

Heh. It's the 1st time I see a person who can write but can't read.

What if the state developed and sold a lot of ASICs that don't include any transaction? If these ASICs are better than anyone's else, then most of miners will use such malicious devices. The state can afford to hire the best scientists and the best engineers to create such ASICs. It can even sell these devices much cheaper than, say, Butterfly Labs. Was the mentioned functionality (rejecting blocks with not enough transaction) implemented?

Should I rewrite it MORE slowly?  Grin
Inaba
Legendary
*
Offline Offline

Activity: 1260
Merit: 1000



View Profile WWW
October 05, 2012, 10:17:09 PM
 #20

Holy shit I was so confused when reading this... I didn't look at the date to start with and was like total WTF.



But to answer your question: What is the incentive to do so?  To destroy bitcoin?  There are easier, quicker, cheaper ways to do that... The threat of a state or powerful actor going through the trouble and expense to wreck bitcoin in that manner is pretty remote, because it's exceptionally inefficient once the ASICs are in the wild and network hashing power is measured in hundreds of TH, not just 10 or 20.

If you're searching these lines for a point, you've probably missed it.  There was never anything there in the first place.
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!