Bitcoin Forum
June 28, 2024, 04:06:41 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: Full node reward - request  (Read 5334 times)
CJYP
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
August 07, 2014, 08:04:07 PM
 #21

Well, if you're setting up 1000 full nodes then you're doing a lot to help the network, so I'd say you'd deserve a good chunk of donations (we're not trying to force anyone to donate, just allow anyone to prove that a full node is associated with a specific address).
1000 nodes run by one party is very harmful to the network compared to just running one system with more capacity, consolidating node control like that reduces the diversity of voices available to other hosts. Done maliciously it would be called a sybil, done innocently its just a waste.

Fair, though I know I just run fullnodes on computers or servers I have anyway, as a thing it does on the side.
That honestly sounds like a bigger problem than a 51% attack, since it would be easier.
abtus
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
August 07, 2014, 08:35:09 PM
Last edit: August 07, 2014, 08:54:40 PM by abtus
 #22

Actually you can receive an indirect income by providing alternate services to Bitcoin network.
Check https://bitcointalk.org/index.php?topic=726826.msg8214655#msg8214655.
This week will be more information about how the node works and potential additional services.

The basic Coinjoin service doesn't require a large bandwidth connection, but if you connect the node to a good internet connection you can provide the blockchain network service and get additional income with a better ROI than a GPU rig miner. You will be able to pay the basic bills (host, internet access, etc) and get extra bitcoins to invest and consolidate the Bitcoin network service.

While I like the idea, this doesn't reward someone just for being a full node. They have to do something additional.

I understand your point of view and agree with you.
Let me use a simile:
Most large shopping centers (at least in south Florida) provide free parking for their customers. The parking lot space service is obviously not free and someone absorb the cost (usually ownership cost and maintenance community fees).
Change this traditional free parking in most shopping center and charge the customer is not a good idea (it will create additional problems in the future).
- One solution could be accept donations at the shopping center entrance (maybe with an amazing sign with a lovely speech suggesting a donation).
- Another solution could be an optional paid service like valet parking or premium parking slots, (equivalent to premium bandwidth to download and perform the blockchain operations). I'm confident that some bitcoin users will paid a reasonable fee to have access to faster full nodes.
- Another real solution is to offer other related paid services like rent electric chair or high capacity shopping carts, sell umbrellas when is raining, etc. (equivalent to perform the Coinjoin service). At the end you will have the blockchain in the Coinjoin processor and your node will be idle until the deterministic selection will activate your node to execute the coinjoin transaction.
CJYP
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
August 07, 2014, 09:33:00 PM
 #23

Actually you can receive an indirect income by providing alternate services to Bitcoin network.
Check https://bitcointalk.org/index.php?topic=726826.msg8214655#msg8214655.
This week will be more information about how the node works and potential additional services.

The basic Coinjoin service doesn't require a large bandwidth connection, but if you connect the node to a good internet connection you can provide the blockchain network service and get additional income with a better ROI than a GPU rig miner. You will be able to pay the basic bills (host, internet access, etc) and get extra bitcoins to invest and consolidate the Bitcoin network service.

While I like the idea, this doesn't reward someone just for being a full node. They have to do something additional.

I understand your point of view and agree with you.
Let me use a simile:
Most large shopping centers (at least in south Florida) provide free parking for their customers. The parking lot space service is obviously not free and someone absorb the cost (usually ownership cost and maintenance community fees).
Change this traditional free parking in most shopping center and charge the customer is not a good idea (it will create additional problems in the future).
- One solution could be accept donations at the shopping center entrance (maybe with an amazing sign with a lovely speech suggesting a donation).
- Another solution could be an optional paid service like valet parking or premium parking slots, (equivalent to premium bandwidth to download and perform the blockchain operations). I'm confident that some bitcoin users will paid a reasonable fee to have access to faster full nodes.
- Another real solution is to offer other related paid services like rent electric chair or high capacity shopping carts, sell umbrellas when is raining, etc. (equivalent to perform the Coinjoin service). At the end you will have the blockchain in the Coinjoin processor and your node will be idle until the deterministic selection will activate your node to execute the coinjoin transaction.


I'm not advocating anything that would force anyone into paying for full nodes. But some people would like to donate to full node operators, and I would like it to be possible to do that with full faith that you are actually donating to a full node operator. It simply is not right now.
As for coinjoin nodes, that's a separate topic, and it may or may not be implemented (regardless of our advocating for or against it in this thread).
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
August 07, 2014, 11:11:29 PM
Last edit: August 07, 2014, 11:23:29 PM by CIYAM
 #24

Here is an idea that could have some potential - there has been discussion (by Peter R in particular) about tools for creating a "snapshot" of all UTXOs for a given date range (for usage in clone coins that will end up with the equivalent distribution that BTC had at the time of the snapshot).

Offering such a service (which requires a full block chain) could be a way to "earn some extra BTC by running a full node" (and perhaps there are other such services that could be useful - such as say statistical reports).

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
deluxeCITY
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500



View Profile
August 07, 2014, 11:21:52 PM
 #25

This is not something that is done today, although I have seen a few sites that do allow for donations to full nodes.

I would not be surprised if, in the future there is some kind of system in which full nodes are rewarded as running a full node will be much more expensive when adoption gets much higher then it is now.
chris45215
Newbie
*
Offline Offline

Activity: 22
Merit: 0


View Profile
August 11, 2014, 08:29:35 PM
 #26

Nope. Anyone can do that, even someone not running a full node. You can't guarantee that they actually have the whole blockchain.

So, would it be possible to verify that an entity is a full node if they sign to show their address and provide a hash of the entire blockchain + a nonce?
Can a contract be written into the scrypt stating that a designated node can receive the coins of a transaction? Or, why not give higher priority to transactions that include a small transaction to a known node address?

If an alt protocol is created to reward nodes, then it may be better to abandon processor-based mining altogether. It is possible to devise a protocol in which nodes constantly send blocks, and send 'gibberish' transactions in the block to provide the randomized value that allow the hash to be different for each block. When some set of conditions is met (like Node A can prove to the network that it received a transaction from Node B and they each used the same salt/random value to generate the transaction), then a reward can be split among nodes A, B, and all other nodes that directly observed and confirmed that transaction. This system could feasibly work because it's intention is to consume bandwidth - so needing tons of bandwidth to inform and validate with the network is a good thing, rather than a bad thing.
The benefit of consuming bandwidth rather than ASIC cycles is primarily that, in order to 'mine' faster, the miner must increase their bandwidth, which allows them to transmit more transactions. There is a perfect correlation between helping the network and the miner's profit. The gibberish transactions sent along the network can be discarded shortly after they are received; there is no reason to keep them, they can be treated just like any failed attempt to mine a block.
The actual signal that a block has been mined may be a bit tough to figure out though - the specific example I gave would be too easy to exploit.
MakeBelieve
Hero Member
*****
Offline Offline

Activity: 602
Merit: 500


View Profile
August 11, 2014, 08:48:55 PM
 #27

It's a good incentive for people but it would be too complicated to implement and would probably be exploited a few ways I think you get enough reward for having a full node in the first place.

On a mission to make Bitcointalk.org Marketplace a safer place to Buy/Sell/Trade
CJYP
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
August 12, 2014, 06:32:24 AM
Last edit: August 12, 2014, 06:43:42 AM by CJYP
 #28

The most important concept that people seem to be missing:
You can have a full copy of the blockchain and all unconfirmed transactions and not be a full node.
To be a full node, you also have to participate in relaying transactions and blocks, and accept incoming connections. If you use bitcoin core, and only have 8 or less connections, you're probably not a full node even if your block chain is up to date. And you are only a full node as long as you are accepting incoming connections, so you can be a full node for some hours of the day (when your computer is on, for instance) and not be a full node others.

Here is an idea that could have some potential - there has been discussion (by Peter R in particular) about tools for creating a "snapshot" of all UTXOs for a given date range (for usage in clone coins that will end up with the equivalent distribution that BTC had at the time of the snapshot).

Offering such a service (which requires a full block chain) could be a way to "earn some extra BTC by running a full node" (and perhaps there are other such services that could be useful - such as say statistical reports).

You just need a full copy of the blockchain (and maybe unconfirmed transactions) to do this. See above. A full node owner can do it, but it's a niche and there won't be much room for competition in that niche.

Nope. Anyone can do that, even someone not running a full node. You can't guarantee that they actually have the whole blockchain.

So, would it be possible to verify that an entity is a full node if they sign to show their address and provide a hash of the entire blockchain + a nonce?
No, see above.
Also, under that system a single full node operator could sign multiple addresses.

Can a contract be written into the scrypt stating that a designated node can receive the coins of a transaction? Or, why not give higher priority to transactions that include a small transaction to a known node address?
This only works if you can identify nodes (though,  allowing a full node to sign an arbitrary number of addresses is acceptable for giving higher priority to their transactions; node owners would have to show restraint and not abuse that, or miners would eventually start disregarding it).

If an alt protocol is created to reward nodes, then it may be better to abandon processor-based mining altogether. It is possible to devise a protocol in which nodes constantly send blocks, and send 'gibberish' transactions in the block to provide the randomized value that allow the hash to be different for each block. When some set of conditions is met (like Node A can prove to the network that it received a transaction from Node B and they each used the same salt/random value to generate the transaction), then a reward can be split among nodes A, B, and all other nodes that directly observed and confirmed that transaction. This system could feasibly work because it's intention is to consume bandwidth - so needing tons of bandwidth to inform and validate with the network is a good thing, rather than a bad thing.
The benefit of consuming bandwidth rather than ASIC cycles is primarily that, in order to 'mine' faster, the miner must increase their bandwidth, which allows them to transmit more transactions. There is a perfect correlation between helping the network and the miner's profit. The gibberish transactions sent along the network can be discarded shortly after they are received; there is no reason to keep them, they can be treated just like any failed attempt to mine a block.
The actual signal that a block has been mined may be a bit tough to figure out though - the specific example I gave would be too easy to exploit.
Interesting. Proof-of-bandwidth. If you develop this idea further and write up a whitepaper, you might be able to get some support for developing an alt based on the concept. One issue I can see is that we don't want to ddos the entire internet (or even just the trans-oceanic pipes). Think of the implications of anyone being able to profit financially from sending junk data, and profiting more the more junk they send.

It's a good incentive for people but it would be too complicated to implement and would probably be exploited a few ways I think you get enough reward for having a full node in the first place.
I agree that it would be complicated to implement, but bitcoin as a whole is complicated to implement. That didn't stop Satoshi from implementing it. I think this is a problem that will take Satoshi-level genius to solve securely. It's not currently a big enough problem to warrant it, but there are a lot of really smart people working on bitcoin. If the number of full nodes starts decreasing too much, the developers will find a solution.
p2pbucks
Hero Member
*****
Offline Offline

Activity: 642
Merit: 500


Evolution is the only way to survive


View Profile
August 12, 2014, 10:15:20 AM
 #29

bitnodes has a part of full nodes IP address .
Maybe bitcoin fundation will likely to donate some little money to full nodes ?   Roll Eyes
CJYP
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
August 12, 2014, 02:07:22 PM
 #30

bitnodes has a part of full nodes IP address .
Maybe bitcoin fundation will likely to donate some little money to full nodes ?   Roll Eyes

Centralized, and doesn't associate bitcoin addresses with nodes (only IP addresses).
It's fine for just getting a sense of the network, but not for trying to contribute financially to node operators.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 12, 2014, 02:25:27 PM
 #31

see also http://en.wikipedia.org/wiki/Tragedy_of_the_commons and think about it
Kprawn (OP)
Legendary
*
Offline Offline

Activity: 1904
Merit: 1074


View Profile
August 14, 2014, 04:44:22 PM
 #32

When I created this thread, I was more thinking of a very small portion of the estimated +/- US $50 transactions fees per block, being generated now. {Let's say about $10 of that amount, goes towards, this reward.}

But the $50 per block, seems to be at the upper limit per block, anyway. See this thread --> https://bitcointalk.org/index.php?topic=738166.msg8351456#msg8351456

This can easily be funded by donations, from generous BTC moguls.  or from the $ 2 000 000 wallets currently generated on the blockchain. { 1 satoshi from each of them }  Grin

The "proof of node" part, I will leave up to you. Way above my knowledge level.

Who would want to exploit a system, for that kind of money? {Remember it's split up between everyone, running the full node} So running 1000 full nodes, will cost you more than, what you would gain from it.

But it creates another way, to generate income from BTC and that is good.

But, thanks for all the positive remarks. Remember it's just a request.


THE FIRST DECENTRALIZED & PLAYER-OWNED CASINO
.EARNBET..EARN BITCOIN: DIVIDENDS
FOR-LIFETIME & MUCH MORE.
. BET WITH: BTCETHEOSLTCBCHWAXXRPBNB
.JOIN US: GITLABTWITTERTELEGRAM
CJYP
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
August 15, 2014, 05:27:24 PM
 #33

When I created this thread, I was more thinking of a very small portion of the estimated +/- US $50 transactions fees per block, being generated now. {Let's say about $10 of that amount, goes towards, this reward.}

But the $50 per block, seems to be at the upper limit per block, anyway. See this thread --> https://bitcointalk.org/index.php?topic=738166.msg8351456#msg8351456

This can easily be funded by donations, from generous BTC moguls.  or from the $ 2 000 000 wallets currently generated on the blockchain. { 1 satoshi from each of them }  Grin

The "proof of node" part, I will leave up to you. Way above my knowledge level.

Who would want to exploit a system, for that kind of money? {Remember it's split up between everyone, running the full node} So running 1000 full nodes, will cost you more than, what you would gain from it.

But it creates another way, to generate income from BTC and that is good.

But, thanks for all the positive remarks. Remember it's just a request.



There are two separate problems here:
1) Figuring out a way for people to prove that they are a full node, that won't allow them to cheat (don't underestimate peoples' willingness to cheat when there's a financial incentive, or even just the ability to destabilize bitcoin involved).
2) Implementing this either (a) at the protocol level (where people who run full nodes are automatically rewarded with bitcoin) or (b) as an optional thing people can donate to if they so choose.

There will have to be a big debate over (2). There are a lot of merits and downsides to (2a), and it is definitely a useful debate. But until (1) is done, it doesn't even make sense to have that debate.
It seems that you created this thread to debate (2), but most of the discussion in this thread has centered around (1). That's probably because we don't have a practical solution to (1), so debating (2) isn't really practically necessary yet. Also, this is the Development and Technical Discussion board, so people here are more inclined to discuss the technical side of things than to debate the practical side of things.
warpio
Member
**
Offline Offline

Activity: 110
Merit: 10



View Profile
August 15, 2014, 05:38:54 PM
 #34

you can already be rewarded for having a full node. just turn your full node into a p2pool node with a moderate mining fee.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 15, 2014, 05:59:38 PM
 #35

The only proof-of-fullnode is mined block. If you are not producing blocks - you are not bitcoin network supporter.
CJYP
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
August 15, 2014, 06:15:54 PM
 #36

you can already be rewarded for having a full node. just turn your full node into a p2pool node with a moderate mining fee.
There's only so much room for p2pools. If all 7000 (or however many there are) fullnodes currently in existence ran p2pools, only a few of them would have miners on them (and those would be the ones with the lowest fees, so they wouldn't even make too much money off of it).

The only proof-of-fullnode is mined block. If you are not producing blocks - you are not bitcoin network supporter.
That's not proof of fullnode, only proof of hash power. You can mine without being a full node as long as you have a full copy of the blockchain.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
August 15, 2014, 06:29:06 PM
Last edit: August 15, 2014, 06:41:44 PM by amaclin
 #37

Quote
That's not proof of fullnode, only proof of hash power. You can mine without being a full node as long as you have a full copy of the blockchain.
http://en.wikipedia.org/wiki/Duck_test
Every running miner (not a pool-miner, but owner of full node in setgenerate=true mode) works for decentralisation and been paid fees for founding blocks.

Such miners *must* accept transactions from the network and *must* push found blocks back to a network (otherwize it is wasting energy)

The problem is that mining on general devices is economically unreasonable. But we can do nothing with it.
You must understand that nobody will pay you only for your computer switched on.

I placed here a link http://en.wikipedia.org/wiki/Tragedy_of_the_commons
Fees and block reward - is a "common resource".
CJYP
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
August 16, 2014, 05:04:56 PM
 #38

Quote
That's not proof of fullnode, only proof of hash power. You can mine without being a full node as long as you have a full copy of the blockchain.
http://en.wikipedia.org/wiki/Duck_test
Every running miner (not a pool-miner, but owner of full node in setgenerate=true mode) works for decentralisation and been paid fees for founding blocks.

Such miners *must* accept transactions from the network and *must* push found blocks back to a network (otherwize it is wasting energy)
That's subtly false.
Miners and full node owners are not the same. Though they both work for decentralization (as long as they don't own too much of the hash power / connectable full nodes) and the security of the network, the way they do so is completely different. See my comparison earlier. Someone can be both (as in your example - owner of full node with setgenerate=true), but someone definitely can be one without being the other.
One important distinction - miners are not required to include transactions in their block (read up on the O(1) block propagation discussion to see why this is important), so they are not required to do anything other than accept blocks from the network and push their blocks to the network. And since mining can be pooled, one copy of the blockchain can support many miners.

The problem is that mining on general devices is economically unreasonable. But we can do nothing with it.
You must understand that nobody will pay you only for your computer switched on.

I placed here a link http://en.wikipedia.org/wiki/Tragedy_of_the_commons
Fees and block reward - is a "common resource".
https://en.bitcoin.it/wiki/Scalability
Running a full node is much more than just computer switched on. It requires storing the entire blockchain (~20gb right now, but will scale as the network grows - and there certainly will be a financial price for all the hard drive space that'll take up once the it's growing fast enough). It requires accepting incoming connections, and accepting and sending on transactions to anyone who needs or wants to send them (8 mbps according to the above article assuming 2000 txps, which is certainly not free).
The article I linked claims that these problems are easily solvable as long as full nodes are running on high end servers. The price of a high end server is enough that most people won't pay that price just to support the bitcoin network.
The common resource we need to protect is not fees or block reward - that's reserved for specific people (miners). The common resource we need to protect is the security of the network (you know, the thing that gives bitcoin value).
laurentmt
Sr. Member
****
Offline Offline

Activity: 384
Merit: 258


View Profile
August 16, 2014, 06:48:52 PM
 #39

The only proof-of-fullnode is mined block. If you are not producing blocks - you are not bitcoin network supporter.
I don't think it's completely true. There was an interesting concept discussed in the past : a miner network backbone (direct connection between big mining pools used to propagate blocks, clients connect directly to mining pools).

The concept is interesting and I guess that such a network could work. But it has a major drawback : the network becomes more centralized with less redundancy in the architecture. As a consequence, attacking such a network would become easier. I guess a better solution is a miner backbone cohabiting with full nodes which provide redundancy and a better resilience of the network.

So, as stated by CJYP, even if mining becomes more and more centralized, full nodes remain very important for the security of the network. Their role is different but not less important.
gtraah
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250



View Profile
August 17, 2014, 10:19:08 AM
 #40

It is possible to slightly change the User-Agent string
Right now the string is something like: "/Satoshi:0.9.1/" or "/Satoshi:0.8.5/"
List of nodes is here https://getaddr.bitnodes.io/nodes/1407404879/?q=United%20States

Just change your bitcoind and set this string to "/Satoshi:0.9.1-Donate-1MyBitcoinAddressForDonations/"
(this can be even configurable option in .conf file)
Everyone will see that the node is really exists and connected

In fact, I do not think that fullnode owners should ask donations. The rest of network is obliged nothing to them.


I am extremely curious why ALL the nodes are not up to date and doesnt this effect the network as to version of bitcoin... Now I am totally lost and confused about this whole updating client thing? What are the downside to not running the latest and whats the point up updating bitcoin when more than Half of the nodes are not updating.
Pages: « 1 [2] 3 »  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!