Pages:
Author

Topic: Incentivizing Bitcoin Nodes - page 5. (Read 15188 times)

sr. member
Activity: 261
Merit: 523
July 25, 2016, 05:59:03 AM
#41
rico666 fails to assume good faith in the wiki. He should spend less time getting angry and more time educating himself on bitcoin's security model.

What are the odds that he uses an SPV wallet or web wallet for his actual bitcoin transactions? Quite high I bet, which means anyone could print infinite bitcoins out of thin air and his wallet would happily accept them. If the attacker had some hash power they could make them have confirmations too.

When I first posted that article, several bitcoin experts and core developers including adam back and gmaxwell told me it was good.
sr. member
Activity: 261
Merit: 523
July 25, 2016, 05:29:21 AM
#40

"Nodes with open ports are able to upload blocks to new full nodes. In all other ways they are the same as nodes with closed ports."

The contributor of those two lines makes it sound as if this difference between the two is negligible, when it isn't.

Please elaborate on this. We might as well have the discussion here rather than the wiki talk page.

The reason bitcoin is special is because anyone can verify for themselves in a trustless way. That requires most of the economy to be backed by full nodes which verify all the consensus rules, they have the same behavior in this respect whether they have open ports or not.

We know for sure that it's very easy to spin up thousands of nodes: http://i.imgur.com/CVFPj6a.png

https://www.reddit.com/r/Bitcoin/comments/499bai/51_of_bitcoin_classic_nodes_hosted_on_aws/
https://www.reddit.com/r/btc/comments/44syq6/start_a_classic_node_in_aws_in_under_20_minutes/
https://www.reddit.com/r/Bitcoin/comments/45zluh/growth_in_classic_nodes_almost_completely_fake/
https://www.reddit.com/r/btc/comments/4aka3f/over_3000_classic_nodes/d113ffi

These links show that a small number of people were responsible for this. Including one guy who set up 800 nodes himself.


Plus theres the amount of well-meaning but misinformed people who post threads saying "I want to help bitcoin, should I run a full node on rented hardware to help people download the blockchain?". While they continue to use a web wallet for their actual bitcoin transactions. These people are fundamentally confused about the main job of full nodes.

I'm perfectly confident to say that bandwidth is not at all a problem, and probably never will be for the foreseeable future. The real problem is the lack of widespread consensus verification, which Bitcoin "Classic" attempted to exploit to force a hostile hard fork, which is why I wrote the article.

I see you've added some words about miners using the p2p network to propagate blocks, future solutions like BIP152. From what I know most miners directly connect to each other's IPs because they would not be remotely competitive if they used the p2p network. The main bottleneck here isn't bandwidth so adding more peers to the p2p network won't improve it. The main bottleneck today is mostly verification time since hashing and ECDSA can take long.
legendary
Activity: 1120
Merit: 1037
฿ → ∞
July 25, 2016, 02:36:47 AM
#39
Three people wrote it, and two of them have replied to this thread. Just look at the history: https://en.bitcoin.it/w/index.php?title=Clearing_Up_Misconceptions_About_Full_Nodes&action=history.

Yeah - I know how MediaWiki works...

A 1st step could be some tx-fee for seeding the network. I.e. you could get your full node synced and your 100GB blockchain (or more in the future) downloaded eventually - for free if you wished so. But you could also pay/indicate the network some BTC bounty for priority data.
But how?

Ah - ok (I like when the discussion changes from IF to HOW). This is for a separate thread, as it requires solving another problem of Bitcoin: Trustless exchange of digital goods without an intermediary. Until then Bitcoin is of course not a very good P2P payment platform. It's most probably even for an own BIP.  I have a crude concept for that in my mind and it could use more elaboration through discussion.

IMHO one could start off even more primitively: Announce bounty, negotiate sender, receive blocks, send bounty. In case the receiving node would not fullfill it's promise, ban it. That way it could "rip off" data from the network but at the cost to land in some banlists - which kind of counters the desire of priorization. Ripping off data from the network is todays default mode of operation, so limited damage.

A full node could attach it's own fingerprint to a transaction it has relayed. This relay-blockchain of fingerprints could be thrown away when the tx was integrated in the block, but the miner would pay - say 50% of the tx fee - to the relaying nodes in that list.
Terrible idea. Now you have been deanonymized. This just completes breaks the idea of privacy.

WHAT? The "you" in de-anonymized is who exactly? The one sending the tx? The node operator? It doesn't matter - why is there a deanonymization you think? I didn't write the fingerprint would contain IP addresses. Fingerprint of a relaying node could very well point to a Bitcoin address (for the receiving funds). Are you telling me Bitcoin addreses break the idea of privacy?  Wink

Think before you dismiss something as terrible idea. You sure you want to participate in a technical discussion leading to some advancement or do you prefer a "technical discussion" where you can excel in thinking of ways how something doesn't work or why it's not possible?

The concept I'm talking about has several problems, but deanonymization isn't one of them. Blowing things out of proportion is. Wink Because as it stands, you would have n transactions (to relaying nodes) for every 1 transaction (which makes it into the block). And who should relay these? ... This is something that probably should be addressed with a sidechain - actually IMHO the perfect use case candidate for that.


Rico
legendary
Activity: 1762
Merit: 1011
July 24, 2016, 08:17:16 PM
#38

Three people wrote it, and two of them have replied to this thread. Just look at the history: https://en.bitcoin.it/w/index.php?title=Clearing_Up_Misconceptions_About_Full_Nodes&action=history.


Yeah, I did make some edits to it today after I saw this thread. I'm not the originator of it. It probably needs further revision.
staff
Activity: 3458
Merit: 6793
Just writing some code
July 24, 2016, 04:51:27 PM
#37
I'm operating a full node, and a fat one. Not pruned, running 24/7 quite among the top 30 or so.

If I could lay my hands on the faggot who wrote this: https://en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes, it would not leave him happy.

Some may be offended by the following not politically correct statements, Caution! Turn around - walk away. Don't say you haven't been warned.
Three people wrote it, and two of them have replied to this thread. Just look at the history: https://en.bitcoin.it/w/index.php?title=Clearing_Up_Misconceptions_About_Full_Nodes&action=history.

IMHO the farthead who wrote this Bitcoin Wiki article is either a Chinese operator of some mining pool, or - given the English - someone hired by some mining pool operator. Or someone completely delusional. I'm actually not sure how anyone could advocate the altruism aspect of a full node, while there is a consolidation and condensation and monopolization of mining (pool) operations. Which are actually DESTINED to get all the transaction fees in time.

So excuse me if I rant, but while a mining pool operator usually gets ALL transaction fees while he does NOTHING for decentralization, the full node operator is expected to be altruistic. Gimme a break. A surgical strike against the top10 mining pool operators TODAY and our beloved bitcoin is in the gutter for quite some time to come. Don't want to think about the situation in the future.

I do not expect full nodes to get any of the mining reward, but I think it would be fair if the full nodes got their share from the tx-fee.
Uh. Are you sure you actual read the article? The Myths headers are claims that are not true. It clearly states how the network does not rely on altruism and how using a full node benefits the users as well.

As for "faking full nodes" ... srsly? If you deliver blocks out there, so new nodes can sync faster - isn't it very easy to see if you are faking the data?
The point of faking full nodes is to pad the node count. This is very easy to do by writing the version string to say that the node is a full node and of a certain type, but it isn't actually. These nodes target the crawlers used by node counting sites which do not download the blockchain nor verify that the services offered are real.

A 1st step could be some tx-fee for seeding the network. I.e. you could get your full node synced and your 100GB blockchain (or more in the future) downloaded eventually - for free if you wished so. But you could also pay/indicate the network some BTC bounty for priority data.
But how?

A full node could attach it's own fingerprint to a transaction it has relayed. This relay-blockchain of fingerprints could be thrown away when the tx was integrated in the block, but the miner would pay - say 50% of the tx fee - to the relaying nodes in that list.
Terrible idea. Now you have been deanonymized. This just completes breaks the idea of privacy.
legendary
Activity: 1120
Merit: 1037
฿ → ∞
July 24, 2016, 04:17:42 PM
#36
I'm operating a full node, and a fat one. Not pruned, running 24/7 quite among the top 30 or so.

If I could lay my hands on the faggot who wrote this: https://en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes, it would not leave him happy.

Some may be offended by the following not politically correct statements, Caution! Turn around - walk away. Don't say you haven't been warned.

IMHO the farthead who wrote this Bitcoin Wiki article is either a Chinese operator of some mining pool, or - given the English - someone hired by some mining pool operator. Or someone completely delusional. I'm actually not sure how anyone could advocate the altruism aspect of a full node, while there is a consolidation and condensation and monopolization of mining (pool) operations. Which are actually DESTINED to get all the transaction fees in time.

So excuse me if I rant, but while a mining pool operator usually gets ALL transaction fees while he does NOTHING for decentralization, the full node operator is expected to be altruistic. Gimme a break. A surgical strike against the top10 mining pool operators TODAY and our beloved bitcoin is in the gutter for quite some time to come. Don't want to think about the situation in the future.

I do not expect full nodes to get any of the mining reward, but I think it would be fair if the full nodes got their share from the tx-fee.

As for "faking full nodes" ... srsly? If you deliver blocks out there, so new nodes can sync faster - isn't it very easy to see if you are faking the data?

A 1st step could be some tx-fee for seeding the network. I.e. you could get your full node synced and your 100GB blockchain (or more in the future) downloaded eventually - for free if you wished so. But you could also pay/indicate the network some BTC bounty for priority data.

A full node could attach it's own fingerprint to a transaction it has relayed. This relay-blockchain of fingerprints could be thrown away when the tx was integrated in the block, but the miner would pay - say 50% of the tx fee - to the relaying nodes in that list.


Rico
legendary
Activity: 1762
Merit: 1011
July 24, 2016, 09:23:39 AM
#35

"Nodes with open ports are able to upload blocks to new full nodes. In all other ways they are the same as nodes with closed ports."

The contributor of those two lines makes it sound as if this difference between the two is negligible, when it isn't.
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
July 18, 2016, 12:26:26 PM
#34
This idea comes up fairly regularly however the main problem is faking a full node.

You can wish all you like but there's absolutely no way to confirm a full node really is a full node and not just faking it. If full nodes were to get paid, then one could spoof as many full nodes as they like and get paid for each of their fake nodes. To prove they're full nodes you'd have to invent some kind of "proof of work" and add it to some kind of blockchain - congratulations you've invented mining and an altcoin blockchain.

Everyone wants to be a bitcoin parasite and make money off of the blockchain. You have full nodes trying to get paid. Developers creating fiefdoms (DASH/Lightning) and miners taking bribes to process transactions. In the same way that money in politics has corrupted democracy, money in Bitcoin has corrupted the technology.

The opposite needs to happen. The one place where the blockchain can be monetised needs to be removed and that will happen naturally over time with the halving. What then needs to happen is not for it to be replaced with higher bribes to maintain profits, but with clean nodes that include transactions for free to drive out the rent-seekers that have been paid handsomely already for establishing the network.

Still it has to have some kind of incentive, if not monetary then what?

How do you incentivize full nodes to be created, by individuals, and limit it to 1 / person?

 That is the real question.
full member
Activity: 317
Merit: 103
July 12, 2016, 04:18:37 PM
#33
Great work, did you presented your findings to the core developers? I`m sure they will consider it and think about it if it's viable.

Node count is not an issue yet, but it will become in the future, so its better to be prepared for it and have solutions before the problem grows too big.

To the moment I have a quick conversation with Eric Lombrozzo only. I'm working on proofs of security and then the plan to publish it in a reviewed journals. To be incorporated into Bitcoin, authenticating value for a state is needed to be included into a corresponding blockheader. There are discussions about that(UTXO commitments) for a long time, but no any ETA at the moment AFAIK.
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
July 10, 2016, 11:29:21 AM
#32
There are some consensus protocols adding rewards for full nodes to the Proof-of-Work, e.g. Proof-of-Activity by Bentov/Rosenfeld http://eprint.iacr.org/2014/452.pdf and a protocol of mine http://arxiv.org/abs/1603.07926 (working on the new version of the paper right now, it will be more formalized)

Great work, did you presented your findings to the core developers? I`m sure they will consider it and think about it if it's viable.

Node count is not an issue yet, but it will become in the future, so its better to be prepared for it and have solutions before the problem grows too big.
full member
Activity: 170
Merit: 101
July 10, 2016, 11:10:40 AM
#31
You're underestimating social-engineering attacks, which include political maneuvering. If you think governments won't kill a billion dollar industry through their own good intentions, I encourage you to check out Detroit sometime.
But it's not only social-engineering attacks. DDOS, physical attacks (even natural disasters), and viral attacks become much more effective when you're only dealing with a handful of nodes.

I agree with a real danger of social-engineering attack. However, I think that people got a good immunity shot after XT affair. Also, big money which already invested in bitcoin were immune to these FUD attacks at the first place.

In case of natural disasters or similar events, miners and big bitcoin holders will have every reason to provide additional nodes.

Of course, I do not say that people should not run full nodes. They definitely should. Moreover, they already have all incentives to do so
https://bitcoin.org/en/bitcoin-core/features/validation.  Smiley
full member
Activity: 317
Merit: 103
July 08, 2016, 03:45:12 PM
#30
There are some consensus protocols adding rewards for full nodes to the Proof-of-Work, e.g. Proof-of-Activity by Bentov/Rosenfeld http://eprint.iacr.org/2014/452.pdf and a protocol of mine http://arxiv.org/abs/1603.07926 (working on the new version of the paper right now, it will be more formalized)
legendary
Activity: 1232
Merit: 1030
give me your cryptos
July 08, 2016, 06:12:30 AM
#29
This idea comes up fairly regularly however the main problem is faking a full node.

You can wish all you like but there's absolutely no way to confirm a full node really is a full node and not just faking it. If full nodes were to get paid, then one could spoof as many full nodes as they like and get paid for each of their fake nodes. To prove they're full nodes you'd have to invent some kind of "proof of work" and add it to some kind of blockchain - congratulations you've invented mining and an altcoin blockchain.

Maybe miners could be paid according to how many transactions they relay, with an even larger amount if they are one of the first to relay it, just like mining. But this cannot be done with hardware, but internet connection.

legendary
Activity: 1120
Merit: 1012
July 08, 2016, 01:27:51 AM
#28
Just figure out a way to require those providing hashing power for the network to run a full node (in other words convince people to be actual Bitcoin miners instead of hash rate providers).

Sure, mining might tend to centralize, but it would be far less centralized if there were no mining pools. So, instead of incentivizing full nodes, disincentivize mining pools.

How one accomplishes that, I have no idea, but I strongly believe that this single step would lead to huge improvements to the health of the Bitcoin network. As a side effect, you would have a larger group of people who are "experts" at running a full node (which would help when it comes to making important decisions about the network in general).
newbie
Activity: 12
Merit: 0
July 07, 2016, 10:04:19 PM
#27
this is a problem with bitcoin, full nodes are not incentivized
full member
Activity: 219
Merit: 102
July 07, 2016, 12:03:11 PM
#26
This idea comes up fairly regularly however the main problem is faking a full node.

You can wish all you like but there's absolutely no way to confirm a full node really is a full node and not just faking it. If full nodes were to get paid, then one could spoof as many full nodes as they like and get paid for each of their fake nodes. To prove they're full nodes you'd have to invent some kind of "proof of work" and add it to some kind of blockchain - congratulations you've invented mining and an altcoin blockchain.

Everyone wants to be a bitcoin parasite and make money off of the blockchain. You have full nodes trying to get paid. Developers creating fiefdoms (DASH/Lightning) and miners taking bribes to process transactions. In the same way that money in politics has corrupted democracy, money in Bitcoin has corrupted the technology.

The opposite needs to happen. The one place where the blockchain can be monetised needs to be removed and that will happen naturally over time with the halving. What then needs to happen is not for it to be replaced with higher bribes to maintain profits, but with clean nodes that include transactions for free to drive out the rent-seekers that have been paid handsomely already for establishing the network.
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
July 07, 2016, 08:27:45 AM
#25
This idea comes up fairly regularly however the main problem is faking a full node.

You can wish all you like but there's absolutely no way to confirm a full node really is a full node and not just faking it. If full nodes were to get paid, then one could spoof as many full nodes as they like and get paid for each of their fake nodes. To prove they're full nodes you'd have to invent some kind of "proof of work" and add it to some kind of blockchain - congratulations you've invented mining and an altcoin blockchain.
sr. member
Activity: 433
Merit: 267
July 07, 2016, 08:03:44 AM
#24
Number of nodes is not a problem. At least for security of the system. What could they do? Transmit invalid transaction / do not transmit a valid transaction.
Honest nodes and miners will ban those nodes straight away. They only good to spread the FUD across the system. And they already tried it with BitcoinXT. However, it is a psychological  (social-engineering) attack not a technical one. What they tried to do, is give an impression that a lot of people moved to their client. And probably, most of those nodes were running on single server.

Could similar attack happen in the future? Yes, possible. Maybe, it's already underway  with Bitcoin Classic. But those attacks not stand a chance against bitcoin protocol.
You're underestimating social-engineering attacks, which include political maneuvering. If you think governments won't kill a billion dollar industry through their own good intentions, I encourage you to check out Detroit sometime.
But it's not only social-engineering attacks. DDOS, physical attacks (even natural disasters), and viral attacks become much more effective when you're only dealing with a handful of nodes.
hero member
Activity: 854
Merit: 1009
JAYCE DESIGNS - http://bit.ly/1tmgIwK
July 07, 2016, 07:54:35 AM
#23

You still have to trust the servers. Although the clients verify the PoW so servers have to compute a proof of work if they want to fake some things. Apart from that they can lie by omission and spy on you.

But still by connecting to multiple random servers the probability of faking blockchain decreases.

It's like playing russian rouletted with 6 barrel gun, vs playing with 100 barrel gun. With 100 barrels it's still dangerous, but the probability of failure decreases considerably.

If you outnumber the fake servers 100 to 1, and connect randomly to multiple ones, then that risk is avoided.




That doesn't prove anything, an attacker could spin up lots of their own servers and DDOS all the other ones so you only connect to them.

A sybil attack can be detected, by the servers reporting the DDOS to the devs, by looking at the donation bitcoin address of the servers and the taint between them, and the IP address.

If you are extra cautious, then check the address balance via a secondary API from services like blockchain.info.

sr. member
Activity: 261
Merit: 523
July 07, 2016, 07:04:58 AM
#22
How so? If the electrum servers are nodes, then the wallet only needs to trust the servers, because the servers are already verifying if the blockchain is good or not.

You still have to trust the servers. Although the clients verify the PoW so servers have to compute a proof of work if they want to fake some things. Apart from that they can lie by omission and spy on you.


However trusting the electrum servers is easy, just restart the client a couple of times and you get a new RANDOM server each time. If the TX data is the same every time, then it proves that the blockchain you are on is genuine.

That doesn't prove anything, an attacker could spin up lots of their own servers and DDOS all the other ones so you only connect to them.


We'd need a way to verify that these full nodes are really full nodes to be rewarded. We should find some way of having a full node perform some work to prove they're not just a fake node. Maybe they could perform some sort of mathematical computations to prove they're real. And then when they find the right solution to this mathematical problem, we reward them with, say, 25 bitcoins. I think this would work. People would love such a reward and so they will run lots of full nodes!

I understood this joke!


Number of nodes is not a problem. At least for security of the system. What could they do? Transmit invalid transaction / do not transmit a valid transaction.
Honest nodes and miners will ban those nodes straight away. They only good to spread the FUD across the system. And they already tried it with BitcoinXT. However, it is a psychological  (social-engineering) attack not a technical one. What they tried to do, is give an impression that a lot of people moved to their client. And probably, most of those nodes were running on single server.

Could similar attack happen in the future? Yes, possible. Maybe, it's already underway  with Bitcoin Classic. But those attacks not stand a chance against bitcoin protocol.

Yes exactly right. As long as you're well connected to the network, the only node that matters is your own. Without that you're just trusting others.

There is already an incentive to run a full node and use it as your wallet: https://en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes#Myth:_There_is_no_incentive_to_run_nodes.2C_the_network_relies_on_altruism
Pages:
Jump to: