-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How about to pay to full nodes and increase blocksize limit as a temporarily solving of scalability problem #1395
Comments
You decided to cut miners reward from 3 to 2 eth. It will decrease inflation. But at the same momeny Ethereum has a big problem with scalability. In Decembe 2017 and June 2018 for several weeks we'd been seeing spammed network and got to use gasorice = 100. Currently owners of full nodes do not receive any rewards for their work.
These guys do all of this for free for you for many years. I t was not a problem when blockhain was 20 Gb. But now many of them could just stop their work what would be not good for decenralisation. Casper + Sharding is about 1 year ? What coud happen for this 1 year.
The possible way what to do is to give part of 1 eth (3 eth -> 2 eth) to full node owners. Reward can be dinamical depending on number of transactions in pool (what if to increase block limit to 80M gas).
So emission will be 2.1 (almost all time ) - 2.5 eth (in case of very high load). |
Full nodes that aren't chain building nodes aren't providing a service. Those people run full nodes out of their own interest, either because they don't trust other nodes claims that the chain is "valid" and want to verify it themselves, or because they have businesses that require full nodes in order for them to make money. There is also no way I know of to know if someone is actually a full node, so I don't know how you would pay them without them being able to lie. Now, on the other hand, what would be great is incentivized lightserve nodes. This is easily done using payment channels and some client customizations, it just needs developers to work on it. |
Ethereum is a decentralized network. So if i man run full node (keeps the whole blockchain and runs EVM) he is definetely useful part of system. He can be enthysiast or miner or somethinge else but whatever. He validate transactions and store all blocks of blockchain. And if 99% of nodes will be broken We can rely on his server.
How about this https://www.ethernodes.org/network/1/nodes |
He is useful only to himself. Every full node that isn't mining or running a node out of their own interest could shut down right now and nothing would change, nobody would notice (the network would actually get more efficient) and the network would still be sufficiently decentralized. To add to this, if I spin up a full node right now without any other changes to the network, I'm not adding anything to the network. I'm actually taking a (negligibly) small amount of efficiency from the network. I should be paying the network for the ability to run a full node.
That is a self reported list. I could run a modified Parity light node that claims it's a Geth full node and it could get added to that list.
How would you find out that they weren't a real full node? They aren't gonna admit it. You're also suggested hard forking every time you find out someone lied about being a full node.
Indeed, we could only have 1 full node in the world. Actually, we could have no full nodes. All I know about full nodes is that there is at least 1. I have a full node, but I have no idea if there are any other full nodes in the world. Obviously there most likely are, because it's beneficial for someone to run their own full node, but it doesn't benefit me. |
If all nodes shutdown Ethereum blockhain will disappear. About identification of full node - as of example - we can check does it validate each block by itself or it connects fro, time to time to anybody else for it. |
Yes, but if all full nodes disappear, Ethereum will survive just fine. We don't need full nodes, but people want to run full nodes because it's in their own self-interest. Hence why they shouldn't be paid to do something that they're doing out of self interest, e.g. them running the node is a payment in itself.
This is impossible for you to check. Only the NSA can check this /sarcasm |
How. Nodes store blockchain and run EVM. All accounts/data. No nodes -> no data -> no blockchain |
I propose to pay them as block size will be bigger -> bkockchainsize will be bigger -> they will have to buy new SSDs. |
A full node is a node that downloads the entire blockchain and runs all transactions to validate all blocks. All that's really needed to run Ethereum is the current state and a way to modify state. This could be miners creating blocks that modify the state. Then they'd either broadcast the block (after processing the new block, nodes would throw it out), or even just broadcast the state. The reason there are nodes that download the full state and validate it is because those nodes don't want to blindly trust miners to modify the state. They do it because it's beneficial to them, not because it's beneficial to others. I think this level of discussion is getting off-topic for Github though, so if you wanna continue talking, you can message me on Gitter with the same username (@flygoing).
Again, there is no way to trustlessly know who to pay. You'd have to trust that everyone will say the true amount of full nodes they run, which is a bad idea. If you want bigger blocks, then pay the miners more, since they're the ones doing most of the work. |
Ok. If Full nodes are nothing for Ethereum network - who stores Blockhain. Let me guess. Are you miner and your goal is to troll this issue ? |
I already explained this. Full nodes store the blockchain, but only for their own selfish reasons. Miners only have full nodes to validate the blocks of other miners, e.g. for their own selfish reasons. Not to "help the network", but because they want to make the most money. Not saying this is bad, it's a great thing.
No, I'm not a miner. I'm not sure why a miner would even want to troll this issue. I am a blockchain developer though. Either way, the "incentivizing full nodes" conversation has happened several times in the past, and there is no way to do it trustlessly. |
Man so |
There are 2 ways. If I take my full node, and A. Delete a block after processing i, then I no longer have a full node, but I have the full state of the network, or B. Connect to a miner and they just tell me the new state when they mine a block. |
No. You will delete totally your full node. We talked about this. The case when all full nodes are removed.
Miner will no be able to give you block. As we removed all full nodes (miner's too) he can't validate new block. Blockchain is not exist still we removed all full nodes. Nobody have it. |
A full node is no longer a full node if it doesn't store all blockchain history, that's the definition of a full node. You also can't take the first half of a sentence and quote me on it when the second half of the sentence completely changes it.
They can still give you blocks without there being full nodes. Miners can exist without being full nodes, they just need the full state, the previous blockhash, and a bunch of transactions to try to create a block. Just because the blockchain history doesn't exist doesn't mean the current state doesn't exist. |
Either way, whether or not we agree on the definition of full node and who they're serving, there's still the fact that it's impossible to trustlessly pay full nodes for being full nodes. |
Any code deployed at full node with a signature (for non-modifying) created by smart-contract or something like that. I think you're agree that scalability next year is the key problem of Ethereum. My idea can help a bit (if it's realizeble technically). |
Looks like this is the key problem here. |
ATTENTION! If you would like to submit an EIP and it has already been written as a draft (see the template for an example), please submit it as a Pull Request.
If you are considering a proposal but would like to get some feedback on the idea before submitting a draft, then continue opening an Issue as a thread for discussion. Note that the more clearly and completely you state your idea the higher the quality of the feedback you are likely to receive.
Keep in mind the following guidelines from EIP-1:
The text was updated successfully, but these errors were encountered: