Pages:
Author

Topic: Microsoft Researchers Suggest Method to Improve Bitcoin Transaction Propagation - page 4. (Read 17557 times)

legendary
Activity: 1145
Merit: 1001
IMHO we can keep this in mind but we shouldn't fix it before it actually has become a problem.
newbie
Activity: 12
Merit: 0
As with all things bitcoin, I am hesitant to chime up in the discussion without doing more research, but I have also always had the feeling that transaction processing is not properly incentivized. There are (at least) two major operations in the bitcoin network: currency generation and transaction processing. I think the generation part is remarkably viable, and well conceived, especially in this nascent stage.

But while transaction processing costs money to perform, it does not seem to be incentivized properly. While there are concrete rewards for generating currency, there is no corresponding concrete and immediate reward for processing the transaction, and voting in transaction approvals. This might be a real obstacle in general acceptance, and some of the root cause behind all of the "so where can I use this" kind of questions we hear all the time.

In this case, I believe that these researchers seem to have found a structural imperfection causing a block where there should be a flow. The health of this community really depends on identifying all such cases.
hero member
Activity: 714
Merit: 500
legendary
Activity: 1652
Merit: 2301
Chief Scientist
Has Gavin left a message about this topic somewhere?
No, I've been busy. Although I have in the past said that I'm worried about long-term incentives for relaying transactions (and am not worried at all about the block reward dropping and being replaced by fees).

I skimmed the paper, and I'm really pleased to see very smart people thinking hard about the incentive structures built-in to Bitcoin. I think most people see all the digital signatures and peer-to-peer networking technology but miss that much of the brilliance of Bitcoin is how the incentives are designed.

Overall, I think the paper is most valuable as a demonstration of how to prove that a particular solution to the problem could work-- whether or not the particular solution the authors propose (rewarding the relaying nodes) is the "best" solution I'm not sure -- there are lots of dimensions of 'goodness' here -- lowest cost, fastest transaction confirmations, easiest to implement, most compatible with the network we have now, etc.

A while ago I proposed another potential solution:  have relaying clients drop their connection to 'greedy' nodes. If you have a node that sends you new blocks but isn't relaying you new transactions, maybe drop your connection to it and ban it's IP address from re-connecting to you for a while. Or maybe don't relay (or relay after delaying a couple of minutes) new-block messages that you first see from that node.  The idea is that a mild dis-incentive should be sufficient to encourage nodes to do the right thing and relay all valid transactions and blocks.

Figuring out "isn't relaying you new transactions" in a spoof-proof way would be a little tricky-- you want to see real transactions, not miner-generated "I'm pretending to be a good network citizen" transactions. A scheme where you relay transactions to half of your peers and then monitor the other half to see if you receive the transaction back from them should work to detect nodes that are relaying many-fewer-than-normal transactions or blocks.



I've also said repeatedly in the past I'd like to see more diversity in the networks used to transmit bitcoin transactions/blocks (with bridges between them so we're all working on the same block-chain). There doesn't have to be just one right answer to this problem, and I would love to see people simulate or experiment with variations on the existing network protocol or radically different protocols.
staff
Activity: 4270
Merit: 1209
I support freedom of choice
Has Gavin left a message about this topic somewhere?
donator
Activity: 1218
Merit: 1079
Gerald Davis
The incentive to broadcast and listen for transactions and blocks is to make sure you KNOW everything that everyone else KNOWS. If you hoard information it becomes stale and worthless.

So why is the number of nodes dropping?  Obviously there isn't "enough" incentive.
legendary
Activity: 3431
Merit: 1233
I'm glad some people at MS research are interested in Bitcoin but Satoshi has a mental muscle the rest of us can only wish for.
My respect for the idea and initial implementation, but Satoshi (whoever he/they are) missed many things. One thing they missed is that every monetary system is an economy of its own and that every economy is based upon a system of incentives. Transaction fees and how they are defined is one weak spot in bitcoin protocol! And this is a fundamental question.
legendary
Activity: 3431
Merit: 1233
Meh, you dont usually vote laws, you vote for representatives.
We do! It is called referendum (aka plebiscite).

Quote
A referendum (also known as a plebiscite or a vote on a ballot question) is a direct vote in which an entire electorate is asked to either accept or reject a particular proposal. This may result in the adoption of a new constitution, a constitutional amendment, a law, the recall of an elected official or simply a specific government policy. It is a form of direct democracy.

Voting for representatives is a form of centralization. Decentralization means direct democracy. Never forget, bitcoin is about decentralization not centralization!



staff
Activity: 4284
Merit: 8808
I guess my point was missed...

I didn't read the paper just the summary but if you read the words of Satoshi he explains that it's not a trivial problem to collect fees for transactions and the approach the paper authors take is naive (sorry). I'm glad some people at MS research are interested in Bitcoin but Satoshi has a mental muscle the rest of us can only wish for.

This isn't really fair.   And the tree-rewards system is interesting on its own merit, even if it never turns out to be something useful for bitcoin.  Complaining about this is kinda like complaining that double-geometric payout schemes for mining pools are pointless because there are non-score based ways around the problems proportional pools have.
sr. member
Activity: 437
Merit: 415
1ninja
I guess my point was missed...

I didn't read the paper just the summary but if you read the words of Satoshi he explains that it's not a trivial problem to collect fees for transactions and the approach the paper authors take is naive (sorry). I'm glad some people at MS research are interested in Bitcoin but Satoshi has a mental muscle the rest of us can only wish for.

Next you'll be researching how to re-introduce lost coins because you don't understand the divisibility of the currency units.

The incentive to broadcast and listen for transactions and blocks is to make sure you KNOW everything that everyone else KNOWS. If you hoard information it becomes stale and worthless.
hero member
Activity: 518
Merit: 500
Meh, you dont usually vote laws, you vote for representatives. Pools would be like that. And its easier to change pools than representatives Smiley
legendary
Activity: 3431
Merit: 1233
I am more worried about the no-incentive for clients than with the dis-incentive for miners.
I'm worried by my own observations too. People start the bitcoin client if they have to send/receive bitcoins and once recent blocks are downloaded they stop and exit.

Our society is based on a voting system, one man one vote. No one should be encourage to purchase votes. Unfortunately, this is exactly what is happening with pool mining. Mining pools are incentivised to purchase workers' votes. Bitcoin is hostage of a dozen mining pools.

If changes in the bitcoin protocol need to be made that will discourage pool mining, how would you convince mining pools to assist you do something that is against their interest?
hero member
Activity: 602
Merit: 502
But then wouldn't a miner still have a dis-incentive to propagate information on transactions? If I can keep transactions to myself, and add them to a block that I generated (and thereby increase the block's value compared to other blocks my competitors may be producing), others will prefer to build upon my block and may even abandon ones that were found earlier (that offered lower rewards).

I'm not sure if I can clearly see the optimal behavior of a miner under such circumstances, but this is certainly food for thought.

I am more worried about the no-incentive for clients than with the dis-incentive for miners. With a good network of forwarding nodes, everybody will know about most transactions and miners won't really profit much from holding them. There's a slim chance that they will find the next block anyway. Running a network with few forwarding nodes might be a problem though because the network becomes more vulnerable to a few attacks described by DeathAndTaxes a few pages ago.
newbie
Activity: 6
Merit: 0
It would certainly change the incentives of miners to accept transactions. A miner will have to add some value to the block otherwise no one else will build on it. He might also reject low fee transactions to put upward pressure on fee prices. These two opposing forces will set a market price for fees, which may also address this problem: https://bitcointalk.org/index.php?topic=6284.200

But then wouldn't a miner still have a dis-incentive to propagate information on transactions? If I can keep transactions to myself, and add them to a block that I generated (and thereby increase the block's value compared to other blocks my competitors may be producing), others will prefer to build upon my block and may even abandon ones that were found earlier (that offered lower rewards).

I'm not sure if I can clearly see the optimal behavior of a miner under such circumstances, but this is certainly food for thought.
hero member
Activity: 714
Merit: 500
For now , mining business is focusing on "Generating Coins",
when it reduces again and again,
mining business will focus on collecting "Transaction fees".
Problem solved.
hero member
Activity: 527
Merit: 500
One more comment to asdf:  Your suggestion of paying miners with the fees gathered in the previous block is interesting. But wouldn’t that change the incentives miners when choosing which transactions to accept or reject? Or the incentives of buyers to give a transaction-fee? Right now, the miner that is currently working on a block can decide to reject a specific transaction (due to insufficient fees) but if that miner doesn’t directly get the fee from the current block, why would we trust him to accept transactions “properly”? For example, He may choose not to add any transactions at all, and save up on processing power needed for verification.

It would certainly change the incentives of miners to accept transactions. A miner will have to add some value to the block otherwise no one else will build on it. He might also reject low fee transactions to put upward pressure on fee prices. These two opposing forces will set a market price for fees, which may also address this problem: https://bitcointalk.org/index.php?topic=6284.200

It's also a trivial change to implement, although It may be infeasible at this point to alter the existing system. So far it seems to me like a positive alteration to bitcoin. More debate would be appreciated.

I only skimmed over the paper. Looks interesting.
sr. member
Activity: 437
Merit: 415
1ninja
I think a bitcoin node is walking in the dark, piecing together reality by touching (sending) and feeling (receiving) transactions and blocks. You only feel confident in what you know if everyone else knows it too. That's why you send (influence) and receive (listen) freely. So you have confidence in the value of your bitcoins.
hero member
Activity: 686
Merit: 564
My understanding after a few glances is that they base their work on the claim that nodes have the incentive NOT to broadcast the transaction (so that a node can increase its chances of getting the fees when it solves a block). This ignores the fact that clients broadcast transactions too.

Any publicity is good publicity?
At some point, nodes will have an incentive not to broadcast transactions too - once blocks start reaching the maximum amount of free transactions, they can improve the odds that their transactions get in by not relaying everyone else's.

I suppose this argument would be equivalent to saying in BitTorrent, that there is "no incentive" for people to seed files, therefore, eventually nobody will seed files and that BitTorrent will soon fail.
True, though BitTorrent has incentives to upload chunks of a file that you're currently downloading which at provides some limit on freeloading. In practice if you want a public file to remain seeded for long you do have to provide seeds yourself though. (Interestingly, Microsoft Research did come up with something they claimed was better than BitTorrent a while ago and apparently failed to quite understand how that worked.)
newbie
Activity: 6
Merit: 0
Hi Everyone,

I’m one of the authors of the paper “On Bitcoin and Red Balloons”. I’ve been following the discussion in this thread with great interest. We are very happy to get comments from the Bitcoin community and to discuss our work. We were pleasantly surprised to see that the community found our paper so fast (on the very day it was uploaded to the website).

I would love to respond to some of the great comments you guys have already made (I would have jumped in sooner, but it took a while to get a whitelisted account that would allow me to post to the forums). Before starting, I would like to say that while I do work for Microsoft, my comments do not reflect the company’s policy or strategy in any way. Microsoft Researchers are allowed a great deal of freedom in choosing their research topics, and thus our personal interest in Bitcoin should not necessarily be interpreted as interest by the company – it is our personal research agenda.  My co-authors and I do find BitCoin a fascinating endeavor, and we would personally like to see it succeed.

One of the first points I would like to address is the suggestion that Bitcoin can survive by relying on non-mining relay nodes that volunteer to transfer transaction information.  It is certainly true that at Bitcoin’s current size the requirements from relay nodes are very modest, and that there are many volunteers. However, we are interested in forming a stronger foundation for Bitcoin even as it scales up. I’ve been looking at the scalability page on the wiki (https://en.bitcoin.it/wiki/Scalability), and I think the requirements from nodes suggested there (taking Visa’s transaction volume as an approximate target) can be heavily taxing on nodes. At these high transaction volumes it seems like nodes need a great deal of processing power, storage, and bandwidth (the latter  being perhaps the least of their concerns) even without the potential costs of mining. These requirements are certainly affordable by someone who mines Bitcoins commercially, but I’m not sure you’d like to base the future of the currency on the hopes that many nodes will contribute so many resources freely.

Even in BitTorrent, which was mentioned above as a system in which people contribute resources altruistically, there are many complaints about non-contributing members. In fact, a great deal of BitTorrent activity is conducted in closed communities that more carefully monitor the contribution of members. Besides that, BitTorrent is much less crucial than a monetary system. If your file has no seeders then it’s not that big of a deal, but if the monetary system is shaky, it may have terrible consequences.

One more comment to asdf:  Your suggestion of paying miners with the fees gathered in the previous block is interesting. But wouldn’t that change the incentives miners when choosing which transactions to accept or reject? Or the incentives of buyers to give a transaction-fee? Right now, the miner that is currently working on a block can decide to reject a specific transaction (due to insufficient fees) but if that miner doesn’t directly get the fee from the current block, why would we trust him to accept transactions “properly”? For example, He may choose not to add any transactions at all, and save up on processing power needed for verification.

I hope to hear more interesting comments from community members. Our paper is written for an audience of theoretical computer scientists (which are more familiar with game-theoretic aspects but less familiar with Bitcoin) and we are very interested in the complementary viewpoint of Bitcoin practitioners.

Thanks!
hero member
Activity: 527
Merit: 500
I raised the issue of nodes withholding transactions earlier in this thread:
https://bitcointalksearch.org/topic/witholding-transactions-5024
Some concluded that the market would produce transaction relay subscription services.

On a related note; what if the fees were changed so that the miner solving the block is rewarded with the fees from the block that he builds on instead of the block he mined? This would remove the incentive to withhold transactions, because the miner's reward is no tied to the transactions that a miner accepts.
Pages:
Jump to: