Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: OmegaStarScream on March 16, 2016, 05:21:29 PM



Title: Paying full nodes , impossible at this point ?
Post by: OmegaStarScream on March 16, 2016, 05:21:29 PM
I was wondering if it would be possible (easily) for the Core developers to simply edit the source and make the Full nodes gets % of bitcoin from what the miners are getting on the first place ? something like DASH is doing or Maidsafe network is planning to do . and what do you think about it ?


Title: Re: Paying full nodes , impossible at this point ?
Post by: unamis76 on March 16, 2016, 06:49:45 PM
It's probably technically possible, but impossible in practice.


Title: Re: Paying full nodes , impossible at this point ?
Post by: Amph on March 16, 2016, 06:58:51 PM
i would give them only a % of the fee for now which should be enough, not a % of the block reward itself


Title: Re: Paying full nodes , impossible at this point ?
Post by: unamis76 on March 16, 2016, 07:02:43 PM
i would give them only a % of the fee for now which should be enough, not a % of the block reward itself

Miners also collect money from fees... So to them it's pretty much the same as taking it from a block.


Title: Re: Paying full nodes , impossible at this point ?
Post by: Amph on March 16, 2016, 07:03:47 PM
i would give them only a % of the fee for now which should be enough, not a % of the block reward itself

Miners also collect money from fees... So to them it's pretty much the same as taking it from a block.

yeah but i can argue that it's an overkill, they don't really need all this money, so a % can be given to the full noders


Title: Re: Paying full nodes , impossible at this point ?
Post by: unamis76 on March 16, 2016, 07:09:11 PM
i would give them only a % of the fee for now which should be enough, not a % of the block reward itself

Miners also collect money from fees... So to them it's pretty much the same as taking it from a block.

yeah but i can argue that it's an overkill, they don't really need all this money, so a % can be given to the full noders

It's not overkill. You're mining for the coins... Who tells you miners do not need their coins? I think it's exactly the opposite.

I don't think most miners and pools would be pleased to see a % of their income to be directed towards full nodes, at least for now.


Title: Re: Paying full nodes , impossible at this point ?
Post by: Amph on March 16, 2016, 07:36:57 PM
i would give them only a % of the fee for now which should be enough, not a % of the block reward itself

Miners also collect money from fees... So to them it's pretty much the same as taking it from a block.

yeah but i can argue that it's an overkill, they don't really need all this money, so a % can be given to the full noders

It's not overkill. You're mining for the coins... Who tells you miners do not need their coins? I think it's exactly the opposite.

I don't think most miners and pools would be pleased to see a % of their income to be directed towards full nodes, at least for now.

still they are earning more than what they need to operate with their miners, so if they want to help the decentralization, there should be a rule that a % go to the full nodes

i'm not saying that they have not the rights to claim 100% of the fee and the reward, but they should let's say..."donate" a % to the full noders


Title: Re: Paying full nodes , impossible at this point ?
Post by: shorena on March 16, 2016, 08:22:44 PM
The question is how do you distinguish a full node from a fake full node. Lets assume that is solved. Do you pay a node thats barely running (e.g. 2 hours a day) and holding 8 connections (no inbound connections) the same as one that is online 24/7 and holds >100 connections?


Title: Re: Paying full nodes , impossible at this point ?
Post by: unamis76 on March 16, 2016, 09:08:53 PM
still they are earning more than what they need to operate with their miners, so if they want to help the decentralization, there should be a rule that a % go to the full nodes

i'm not saying that they have not the rights to claim 100% of the fee and the reward, but they should let's say..."donate" a % to the full noders

I agree, they should, and they would probably be doing so if there were less nodes (and then again, I'm not sure if they would, some miners probably think their nodes are enough :D). That being said, of course they're earning more than they need to operate the miners... Who would mine if they weren't earning more than they need to pay their bills? :D

The question is how do you distinguish a full node from a fake full node. Lets assume that is solved. Do you pay a node thats barely running (e.g. 2 hours a day) and holding 8 connections (no inbound connections) the same as one that is online 24/7 and holds >100 connections?

Identifying fake nodes would be the hardest part, indeed. The second part is probably not a big issue, I think, bitnodes distributed Bitcoin through their rewards program by examining nodes, giving points to those who were contributing more to the networking and distributing funds using this algorithm, so it's possible to prioritize rewards this way.

Suggestion box is open in order to avoid fake nodes :)


Title: Re: Paying full nodes , impossible at this point ?
Post by: ATguy on March 16, 2016, 09:10:47 PM
The question is how do you distinguish a full node from a fake full node. Lets assume that is solved. Do you pay a node thats barely running (e.g. 2 hours a day) and holding 8 connections (no inbound connections) the same as one that is online 24/7 and holds >100 connections?

Ideally would be if every full node get few Satoshi for every relayed transaction it receives, check whether valid and relay to other nodes. But it is not technically possible as far as I know.

What could work is miner asking nodes about BTC address and for every received unique transaction give voluntarily some small part of the fee when including such transaction to the block, though only the nodes directly connected to miner could expect small BTC amounts.


Title: Re: Paying full nodes , impossible at this point ?
Post by: shorena on March 16, 2016, 09:16:35 PM
The question is how do you distinguish a full node from a fake full node. Lets assume that is solved. Do you pay a node thats barely running (e.g. 2 hours a day) and holding 8 connections (no inbound connections) the same as one that is online 24/7 and holds >100 connections?

Ideally would be if every full node get few Satoshi for every relayed transaction it receives, check whether valid and relay to other nodes. But it is not technically possible as far as I know.

Maybe, but what is keeping me from relaying valid, but unlikely to confirm (0 fee) TX that would increase my payment?

What could work is miner asking nodes about BTC address and for every received unique transaction give voluntarily some small part of the fee when including such transaction to the block, though only the nodes directly connected to miner could expect small BTC amounts.

-snip-
Suggestion box is open in order to avoid fake nodes :)

I wish I had a solution, but for now Im fine paying 100 EUR a year to run a full node.


Title: Re: Paying full nodes , impossible at this point ?
Post by: odolvlobo on March 16, 2016, 09:16:49 PM
A low number of full nodes is not much of an issue for those people that run full nodes because by running a full node, they know that transactions transactions they care about are valid. It is however an issue for those people not running a full node because they have no way verify transactions.

In short, there is no reason to pay full nodes because they already get a benefit from being a full node.

Furthermore, it is possible for full nodes to charge non-full nodes for access to their block chain. That would be a better system than being paid out of the block reward.

The question is how do you distinguish a full node from a fake full node.

You can always determine if a node is a full node by quizzing it about transactions in the block chain.


Title: Re: Paying full nodes , impossible at this point ?
Post by: shorena on March 16, 2016, 09:18:02 PM
A low number of full nodes is not much of an issue for those people that run full nodes because by running a full node, they know that their transactions are secure. It is however an issue for those people not running a full node because they have no way verify transactions.

In short, there is no reason to pay full nodes because they already get a benefit from being a full node.

Furthermore, it is possible for full nodes to charge non-full nodes for access to their block chain. That would be a better system than being paid out of the block reward.

The question is how do you distinguish a full node from a fake full node.

You can always determine if a node is a full node by quizzing it about transactions in the block chain.

Whats keeping the node from relaying the request to another node and passing the answer to you? At the very least one could make a single node look like 1000.


Title: Re: Paying full nodes , impossible at this point ?
Post by: unamis76 on March 16, 2016, 09:28:14 PM
-snip-
Suggestion box is open in order to avoid fake nodes :)

I wish I had a solution, but for now Im fine paying 100 EUR a year to run a full node.

Slightly bit offtopic, but can you disclose what host do you have your node in?

I'm also fine with having VPS acting as nodes, and that's my way to contribute instead of directly donating to nodes. And I guess that's the key to have many nodes: individual distributed effort.


Title: Re: Paying full nodes , impossible at this point ?
Post by: shorena on March 16, 2016, 10:14:19 PM
-snip-
Suggestion box is open in order to avoid fake nodes :)

I wish I had a solution, but for now Im fine paying 100 EUR a year to run a full node.

Slightly bit offtopic, but can you disclose what host do you have your node in?

I'm also fine with having VPS acting as nodes, and that's my way to contribute instead of directly donating to nodes. And I guess that's the key to have many nodes: individual distributed effort.

I still have one with 1and1[1], but the contract will expire soon. The disk is too small to run it without enable pruning. The new one[2] just synced yesterday (stats page isnt done yet) and is with netcup.de. I went for a mechanical disk to have some more room for the blockchain.

[1] http://213.165.91.169/
[2] http://188.68.53.44/


Title: Re: Paying full nodes , impossible at this point ?
Post by: countryfree on March 16, 2016, 11:03:20 PM
I was wondering if it would be possible (easily) for the Core developers to simply edit the source and make the Full nodes gets % of bitcoin from what the miners are getting on the first place ? something like DASH is doing or Maidsafe network is planning to do . and what do you think about it ?

I don't like the idea as this would increase the volume of data and require more computing power. If you run a node with over 50 connections, the difference would be easy to notice, and since I'm a supporter of larger block sizes, I'm against anything which could slow nodes.


Title: Re: Paying full nodes , impossible at this point ?
Post by: -ck on March 16, 2016, 11:30:48 PM
Been discussed MANY times before since people want to be rewarded for running a full node as some kind of "node reward". The short answer is: It's impossible. There's no way to prove you are a real node relaying real transactions or data without some "proof of work" - and guess what, "proof of work" is precisely what mining is. Then there'd be exactly the same arms race there is for regular mining rewards as there is for node rewards, the node rewards being in essence an altcoin built on top of the existing bitcoin, making it not worth mining "node rewards".


Title: Re: Paying full nodes , impossible at this point ?
Post by: MingLee on March 16, 2016, 11:44:16 PM
Been discussed MANY times before since people want to be rewarded for running a full node as some kind of "node reward". The short answer is: It's impossible. There's no way to prove you are a real node relaying real transactions or data without some "proof of work" - and guess what, "proof of work" is precisely what mining is. Then there'd be exactly the same arms race there is for regular mining rewards as there is for node rewards, the node rewards being in essence an altcoin built on top of the existing bitcoin, making it not worth mining "node rewards".
Having a Proof-of-Work system certainly would be an interesting concept for Bitcoin, but I doubt most people could get behind it.

This would only turn Bitcoin into another system of the rich getting richer and the poor getting poorer.


Title: Re: Paying full nodes , impossible at this point ?
Post by: AliceWonderMiscreations on March 17, 2016, 01:25:29 AM
The question is how do you distinguish a full node from a fake full node.

Bingo.

For me the incentive in running a full node is to help the network. It's not really needed, there are plenty of full nodes in Northern California and Western US - but in some parts of the world, finding peers with a low ping time is really hard.

Also the incentive for me, I don't have to trust someone else to verify transactions.


Title: Re: Paying full nodes , impossible at this point ?
Post by: AliceWonderMiscreations on March 17, 2016, 01:26:23 AM
Been discussed MANY times before since people want to be rewarded for running a full node as some kind of "node reward". The short answer is: It's impossible. There's no way to prove you are a real node relaying real transactions or data without some "proof of work" - and guess what, "proof of work" is precisely what mining is. Then there'd be exactly the same arms race there is for regular mining rewards as there is for node rewards, the node rewards being in essence an altcoin built on top of the existing bitcoin, making it not worth mining "node rewards".
Having a Proof-of-Work system certainly would be an interesting concept for Bitcoin, but I doubt most people could get behind it.

This would only turn Bitcoin into another system of the rich getting richer and the poor getting poorer.

There is no system that will prevent that except for bloody revolution which always always eventually happens, and will happen again fairly soon. Bitcoin may be the only safe place to keep your value when it does happen.


Title: Re: Paying full nodes , impossible at this point ?
Post by: OmegaStarScream on March 17, 2016, 06:37:51 AM
The question is how do you distinguish a full node from a fake full node. Lets assume that is solved. Do you pay a node thats barely running (e.g. 2 hours a day) and holding 8 connections (no inbound connections) the same as one that is online 24/7 and holds >100 connections?

Ye I kinda had the same question but how DASH are doing it ? or Maidsafe is planning to do it ? I suppose for what comes to Maidsafe it's peer to peer , so once you close the node , you stop getting paid or something like that ?


Title: Re: Paying full nodes , impossible at this point ?
Post by: -ck on March 17, 2016, 06:58:24 AM
Ye I kinda had the same question but how DASH are doing it ?
The answer to that is likely "Badly, in an exploitable way." But no, I haven't looked at the code myself (nor have an interest in doing so), so it's pure speculation.


Title: Re: Paying full nodes , impossible at this point ?
Post by: Amph on March 17, 2016, 07:51:48 AM
Been discussed MANY times before since people want to be rewarded for running a full node as some kind of "node reward". The short answer is: It's impossible. There's no way to prove you are a real node relaying real transactions or data without some "proof of work" - and guess what, "proof of work" is precisely what mining is. Then there'd be exactly the same arms race there is for regular mining rewards as there is for node rewards, the node rewards being in essence an altcoin built on top of the existing bitcoin, making it not worth mining "node rewards".

i guess it can be done with sidechain, where those full node can become a sort of light miners and have reward from the fee that are retrieved from the token exchanged with bitcoin


Title: Re: Paying full nodes , impossible at this point ?
Post by: shorena on March 17, 2016, 09:04:39 PM
Been discussed MANY times before since people want to be rewarded for running a full node as some kind of "node reward". The short answer is: It's impossible. There's no way to prove you are a real node relaying real transactions or data without some "proof of work" - and guess what, "proof of work" is precisely what mining is. Then there'd be exactly the same arms race there is for regular mining rewards as there is for node rewards, the node rewards being in essence an altcoin built on top of the existing bitcoin, making it not worth mining "node rewards".

i guess it can be done with sidechain, where those full node can become a sort of light miners and have reward from the fee that are retrieved from the token exchanged with bitcoin

Id rather use my CPU cycles for something else though. I will pay for my node(s) as long as I can afford it. Its a worthy investment even if its just for the knowledge gained. It also allows me to do things I wouldnt be able to do without them, e.g. generate my own stats or consistantly rebroadcast unconfirmed TX from a well connected 24/7 node.


Title: Re: Paying full nodes , impossible at this point ?
Post by: pedrog on March 18, 2016, 10:27:26 AM
Been discussed MANY times before since people want to be rewarded for running a full node as some kind of "node reward". The short answer is: It's impossible. There's no way to prove you are a real node relaying real transactions or data without some "proof of work" - and guess what, "proof of work" is precisely what mining is. Then there'd be exactly the same arms race there is for regular mining rewards as there is for node rewards, the node rewards being in essence an altcoin built on top of the existing bitcoin, making it not worth mining "node rewards".

i guess it can be done with sidechain, where those full node can become a sort of light miners and have reward from the fee that are retrieved from the token exchanged with bitcoin

Id rather use my CPU cycles for something else though. I will pay for my node(s) as long as I can afford it. Its a worthy investment even if its just for the knowledge gained. It also allows me to do things I wouldnt be able to do without them, e.g. generate my own stats or consistantly rebroadcast unconfirmed TX from a well connected 24/7 node.

In the future, with the Internet of Things we might be paid for our full nodes, not for block relaying but for other services our full node machine can provide to other machines, 21 computer/software is an example of how this can work.

I've just read an article about this subject, check it out:

https://medium.com/@21/ping21-earn-bitcoin-by-monitoring-uptime-and-latency-807f212509f4


Title: Re: Paying full nodes , impossible at this point ?
Post by: calkob on March 18, 2016, 06:37:14 PM
The question is how do you distinguish a full node from a fake full node. Lets assume that is solved. Do you pay a node thats barely running (e.g. 2 hours a day) and holding 8 connections (no inbound connections) the same as one that is online 24/7 and holds >100 connections?

Is there no way of knowing these details or would someone have to write a program to find them out?


Title: Re: Paying full nodes , impossible at this point ?
Post by: pereira4 on March 18, 2016, 06:45:46 PM
The debate of how to incentive running nodes is a long one, it has been considered for ages. I think it's a very tricky subject, it may seem like common sense to give some money to people running nodes but apparently there are some serious tradeoffs. If you search on the subject in developers like nullc in reddit you may find some valuable information on this.


Title: Re: Paying full nodes , impossible at this point ?
Post by: OmegaStarScream on March 18, 2016, 06:59:46 PM
The debate of how to incentive running nodes is a long one, it has been considered for ages. I think it's a very tricky subject, it may seem like common sense to give some money to people running nodes but apparently there are some serious tradeoffs. If you search on the subject in developers like nullc in reddit you may find some valuable information on this.

I will do that , In the meantime I will appreciate if someone could submit this topic on Reddit (since I don't have an account already) , maybe someone with enough knowledge could come and give us some information's about this matter.


Title: Re: Paying full nodes , impossible at this point ?
Post by: xyzzy099 on March 18, 2016, 07:25:36 PM
I believe that one of the selling points for the Lightning Network is that bitcoin node operators can make transaction fees by serving as an intermediary in LN transactions.


Title: Re: Paying full nodes , impossible at this point ?
Post by: alani123 on March 18, 2016, 07:33:28 PM
Nothing is imposible but for such a thing to be viable we'd first need a way to accurately know which nodes are contributing nodes and which are fake/imitators. A reward would surely attract the latter. Now, embeding such a reward into bitcoin's protocol would be a whole other story as it would require a fork and the agreement of miners.


Title: Re: Paying full nodes , impossible at this point ?
Post by: rienelber on March 18, 2016, 07:44:53 PM
Nothing is imposible but for such a thing to be viable we'd first need a way to accurately know which nodes are contributing nodes and which are fake/imitators. A reward would surely attract the latter. Now, embeding such a reward into bitcoin's protocol would be a whole other story as it would require a fork and the agreement of miners.

I see plenty potential in this ideia, it might be a nice inprovement in the technology...


Title: Re: Paying full nodes , impossible at this point ?
Post by: odolvlobo on March 18, 2016, 07:47:37 PM
I believe that one of the selling points for the Lightning Network is that bitcoin node operators can make transaction fees by serving as an intermediary in LN transactions.

Anyone can be a Lightning network "intermediary" and you don't need a Bitcoin full node. A "intermediary" that supplies liquidity to the network can charge a fee for that service.

Similarly, a full Bitcoin node could charge a fee for transaction and block data. There is no need to pay full nodes out of the block reward.