Pages:
Author

Topic: Full node reward - request (Read 5375 times)

member
Activity: 112
Merit: 10
August 22, 2014, 10:33:32 AM
#46
I see a lot of alt-coins use what is called "Proof of Stake"... That gives them an incentive to be full nodes, at least some of the time. Maybe not all the time.

Well then it's not impossible to implement. And yes this is just a debate for a request I made. See thread Subject.

One of BTC strongest claim, is it's decentralized nature. {This is being threatened, by less people, running full nodes} Exaggerated but still true.

Why not implement something that is a incentive to keep it that way. {decentralized}

I suggest you read up on proof of stake. Bitcoin secures the network by proving that enough work (in the form of computing really low hash values) was put into generating a block that it would be (almost) impossible to have forged it. The proof-of-stake altcoins secure the network by proving that enough coin days were destroyed (I suggest you read up on what that means) in the process of generating a block that it would be (almost) impossible to have forged it. I have a much better understanding of how proof-of-work actually works than proof-of-stake, so I'm not really in a position to explain it better. But what I can tell you is that changing bitcoin over to proof-of-stake would be a huge change in the security model of the network. It would destroy some trust, and there's almost no chance it will happen without an extremely strong reason (stronger even than loss of some decentralization). The only way that could happen is if the current security model breaks somehow (51% attack, SHA-256 broken, etc), and even then other solutions would be considered first.

The reason not to implement something that is an incentive to keep bitcoin decentralized is that we don't know how to without either breaking trust in the network or adding an element of trust in a third party.
legendary
Activity: 1904
Merit: 1074
August 20, 2014, 02:03:24 PM
#45
I see a lot of alt-coins use what is called "Proof of Stake"... That gives them an incentive to be full nodes, at least some of the time. Maybe not all the time.

Well then it's not impossible to implement. And yes this is just a debate for a request I made. See thread Subject.

One of BTC strongest claim, is it's decentralized nature. {This is being threatened, by less people, running full nodes} Exaggerated but still true.

Why not implement something that is a incentive to keep it that way. {decentralized}
legendary
Activity: 3416
Merit: 1912
The Concierge of Crypto
August 20, 2014, 11:49:19 AM
#44
I see a lot of alt-coins use what is called "Proof of Stake"... That gives them an incentive to be full nodes, at least some of the time. Maybe not all the time.
member
Activity: 112
Merit: 10
August 17, 2014, 09:48:26 AM
#43
Updating isn't always important. The main benefits to updating are personal security and new features - occasionally there could be a network security update. If a full node operator isn't using the node to store bitcoin, they don't need to update for personal security, and they certainly don't need to update for the new features. They only need to update if there's a network security update or a fork, which is rare.

There is almost never a fork - it happened with version 8.0, but only because of a bug. Most versions of the bitcoin core client are compatible with the same bitcoin protocol.

EDIT - To clarify, bitcoin is a consensus driven network. A fork only happens if a fundamental rule of the network is changed. Most updates to bitcoind don't change the rules of the network, so they don't cause a fork - therefore running an older version doesn't break compatibility.
sr. member
Activity: 420
Merit: 250
August 17, 2014, 07:57:34 AM
#42
Yes I know there is no central government, but if everyone wants to be compatible with each other aren't they all supposed to be updated?.... I thought all the nodes have to be same version.. For example If Gavin changes something in the Core and everyone agrees, isn't everyone supposed to take this change to accept it? If there is Bitcoin V0.9.1. & 0..8 & 0.4 or what ever wouldn't this mean there is all different kind of coins out there right now? And how do i or others without nodes know which coins they have

OR

Have I got it wrong, the bitcoin Core client/Wallet Is not the actual CORE which determines if there is a fork or not ?

I think I am just more curious, I just don't get why people would not upgrade, i mean  newer most of the times means better, less bugs etc.
legendary
Activity: 1260
Merit: 1019
August 17, 2014, 07:44:32 AM
#41
Quote
I am extremely curious why ALL the nodes are not up to date

Because there is not "Central Goverment Of Bitcoin" which would force users to upgrade.
sr. member
Activity: 420
Merit: 250
August 17, 2014, 05: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.
sr. member
Activity: 384
Merit: 258
August 16, 2014, 01: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.
member
Activity: 112
Merit: 10
August 16, 2014, 12: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).
legendary
Activity: 1260
Merit: 1019
August 15, 2014, 01:29:06 PM
#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".
member
Activity: 112
Merit: 10
August 15, 2014, 01: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.
legendary
Activity: 1260
Merit: 1019
August 15, 2014, 12:59:38 PM
#35
The only proof-of-fullnode is mined block. If you are not producing blocks - you are not bitcoin network supporter.
member
Activity: 110
Merit: 10
August 15, 2014, 12: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.
member
Activity: 112
Merit: 10
August 15, 2014, 12: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://bitcointalksearch.org/topic/m.8351456

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.
legendary
Activity: 1904
Merit: 1074
August 14, 2014, 11:44:22 AM
#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://bitcointalksearch.org/topic/m.8351456

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.

legendary
Activity: 1260
Merit: 1019
August 12, 2014, 09:25:27 AM
#31
member
Activity: 112
Merit: 10
August 12, 2014, 09:07:22 AM
#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.
hero member
Activity: 642
Merit: 500
Evolution is the only way to survive
August 12, 2014, 05: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
member
Activity: 112
Merit: 10
August 12, 2014, 01:32:24 AM
#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.
hero member
Activity: 602
Merit: 500
August 11, 2014, 03: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.
Pages:
Jump to: