A few comments. (This is also posted on Cryptocurrency Talk. Please see https://cryptocurrencytalk.com/topic/90700-gridcoin-future-technology-base/)
I am a relative newcomer to Gridcoin - I have been solo staking and pursuing research associated with Gridcoin since the middle of September. I use my real name, and you can look me up: https://www.gridcoinstats.eu/cpid/bc0621a4ac4610ffa400a0d298c02e23. Magnitude ~225 and balance about 180k GRC. I have been participating in distributed computing since 1999 with the original SETI client, and have been a BOINC contributor since its inception. I have a combined cobblestone score of almost 1.9 billion, and am ~#600 in the world by total credit and ~#159 in the world by RAC. So I think I can speak with some weight about BOINC contributions.
I signed onto Gridcoin because I believe it is the most altruistic of cryptocurrencies. It actually motivates people to use their spare cycles to do something good for humanity rather than simply generating heat. The stewards of Gridcoin need to always keep this in mind.
In this discussion, I see a founder who has been disengaged from the community for a while, but has suddenly come back on the scene with a heavier hand than ideal. I see a lot of disagreements that seem to be based on bruised egos. Folks need to calm down and talk rationally about the vision for GRC III. We need to keep the egos out of this. Given the time and money now invested in Gridcoin by many people, the stewards of this community owe it to the community to make the right choices. "First do no harm" should be the maxim. We cannot put into place changes that could be ultimately destabilizing and worse than what we have now. I voted yes to Halford’s proposal in the client poll, but that is a qualified yes, with the expectation that reality will be that the final vision for GRC III will be a mix of different contributions that further the stability, security, and scalability of Gridcoin. I sincerely hope that we have a spirited, but civil debate, and we end up with a hybrid of the different proposals that have been put forth which represents the best path forward. We need to stop looking at this as a black or white issue, and instead look at the actual technical and economic merits of the different components. Putting a coin together that ties into a complete other ecosystem (BOINC) and does so in a secure and scalable manner is a very difficult task. It is a much harder task than a straightforward "me-too" cryptocurrency...
If we want broad based participation in GRC that fits with its ideals, then we have to recognize that much of BOINC research is performed by individuals in a private capacity using personal computing resources. (I am one - these are my own machines - 6 quite capable hosts that do the work.) The ideal would be for everyone to participate in network from a block creation, research credit, and voting power standpoint proportional to their balance AND magnitude. However, there is an inherent tension in blockchain technology between scalability (performance) and transparency/equality. Consider that the Bitcoin network can manage about 50 tps or so. VISA’s network, on the other hand, can handle 50k tps+. The challenge for blockchain technologies to approach commercial private transaction networks in throughput is immense. A distributed transaction network that requires verified journal copies among all the nodes in a purely peer level manner is not going to scale well. This is because regardless of the actual technologies employed, each transaction is going to have a specific network entry point, and this transaction is going to have to be replicated across all of the nodes in a secure manner that prevents corruption of the ledger. The mitigation is to require only a few nodes to confirm a transaction to consider it “done” and then allow additional confirmation to occur afterwards, but we all know that carries risk of forks (the blockchain version of a replication A-B B-A conflict), replays, etc. Maybe we don't care to reach a VISA level of throughput. Quite frankly that level of throughput will never be required for GRC, unless we envision it being used for daily transactions at the cash register. This in fact is the biggest question around cryptocurrencies! Are they cash or gold? Or something in between?
It seems that the general approach to solving these scalability problems among many of the new cryptocurrency developments is to divide the network into a set of “privileged” nodes, sometimes at multiple levels, to control the size of the set of nodes required to synchronize critical information (and also be able to create blocks), thereby reducing the overall network communication load and overall latency. Obviously, Halford’s proposal to adapt Dash’s Masternodes is a version of this. My guess is that we are not going to get around it. Some form of privileged nodes are going to have to be implemented to support scalability. We also have the additional issue of the interface to the BOINC project servers, which are inherently non-scalable, and require effectively a near O(1) relationship between Gridcoin network size and the load on the BOINC servers. We also cannot demand changes to the BOINC server logical interface structure as this would be untenable – it would be very difficult to get all of the BOINC project admins to agree and then keep the changes up to date. This complicates matters for us. We have to ensure a non-spoofable interface to the BOINC project servers to determine proper research credit, but can’t have everyone crowding in and cross-verifying. Again the specter of a set of privileged nodes (maybe even more constricted in the BOINC statistics case) rears its head again as the only viable solution to this problem. I don’t see a way around that either.
The question is the exact form of these privileged nodes and who gets to participate. I am uncomfortable with Halford’s initial investment outlay of 400k GRC and a static IP address to act as a Master node. GRC is supposed to be primarily about contribution to BOINC research, but we need wallets to stay online to ensure network stability. The 400k level of investment plus a static IP requirement for a master node will all but eliminate the participation of researchers in the master nodes, and essentially divide the network into commercial investors that run the master nodes, and the researchers who are then second class citizens. (According to Gridcoin stats, there are only 175 addresses with balances 400k or greater, and some of these addresses could actually be part of the same wallet/node.) I agree that the number of master nodes has to be controlled. But what are the right requirements to participate? Personally, even though I have a dynamic IP set by my ISP, my machines stay up 100% of the time, and the IP address rarely changes. I run a full node, which has port 8333 forwarded from my router/firewall. To me it is important to be able to fully participate in the securing of the network. I have a level of service at the ISP that is not throttled in any way, so I don’t have an issue with the amount of data. I suspect that there are many other researchers with moderate balances that fit into that category. I think the balance requirement should be lower than 400k, maybe in the 25-50k range, and the requirement for a static IP should be removed. (Almost no one running machines personally has a static IP, because to get a static IP requires a commercial ISP account, and that is difficult and expensive to get for home.)
It would seem to me that the qualification to act as a master node should derive from both balance plus magnitude. We need to adopt an appropriate formula. Maybe it should be something similar to the voting shares, where balance + magnitude is combined together.
As I have read the ongoing thread at Cryptocurrency Talk, I feel like folks are calming down and getting down to the business of hammering out what needs to be done. Let’s hope this continues – we will get a great result if everyone can work together.
(This is also posted on Cryptocurrency Talk.)
Can't agree more. I believe it should be both magnitude and wealth. Mostly because high magnitude does also guarantee stability to the node.
That was a very well-written post, and I agree with all of your points. Egos just have no place in the tech world, and if you can't leave that stuff at the door, don't even bother being a part of the conversation. I was very disheartened when I read Rob's posts. His attitude, the language used, the singling out of specific people. I respect what Rob did, and what he built. But that doesn't give him an open mic to just start throwing shade at people. Especially at someone who spent a great deal of their time fixing his broken code. Anyway, I hope you're right and everyone calms down and gets back to problem-solving. We have some incredibly smart devs for this coin. They just need to keep it professional and drop all the name-calling and ad-hominem attacks. Otherwise we risk causing a schism in the community, which not only scares off investors, but could lead to a dreaded fork, like several other coins have done.
You are absolutely right!
Incredible post. Thank you for your insight and for taking the time.
The main point I think that needs to be made against masternodes is as follows:
Why switch to untested solutions for incredibly complex problems, as you described. Blockchain technology is not yet 10 years old, yet we want to move away from the only hundred billion dollar secure protocols? This does not make sense to me.
Second to that: There are serious failings of masternodes. Primarily, they present the opportunity to become a combination of the fiat banking system and the government structures which inspired the creation of blockchain technology in the first place. Why do we want to implement a potentially more efficient version of the system which blockchain tech is intended to disrupt?
Why not continue with the protocol which is known, PoS, and which has known and studied flaws: centralization based on wealth. Centralization based on wealth is present in every single economic system in western society (and most others too), so we do not need to work to destroy that. Other, smarter people will do that for us. In fact, they are developing solutions at an unbelievable pace. So again, why not focus on the BOINC aspect of Gridcoin by fixing the vote weight situation you describe along with several other issues while maintaining the protocols and power structures we know to be more or less secure and stable.
Additionally, mastersnodes will solve some problems, but with very risky potentials. All these problems can be solved through alternative means which are much less risky. Let's do the less risky solutions and wait for a year to see what is developed.
Ouroboros is one protocol that is doing wonders when it comes to solving the wealth distribution problem regarding block creation. There are dozens more in development.
I will also post this on the CCT thread.
I think everyone has to keep in mind that not everyone into crypto does it because some libertarian fantasies of escaping control from the goverment . Specially if we are talking GRC.(just like i use linux because it is objetively better for my needs, not because software freedom)
I don't have strong feelings one way or another, although i think it would much better to not polarize a community that is at its core altruistic volunteers, as it can backfire heavily. But if it were to apply i would like to have wealth masternodes and magnitude masternodes. As both have shown dedication and the means to maintain it. I also think the reward for running a masternode is waaay to high.
i think there is a difference between seeking "libertarian fantasies" and acknowledging flaws in old systems and looking to fix the flaws or improve the system.
"What is needed is an electronic payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party."
masternodes seem like trusted third parties, or financial institutions.
I concur ..
Great post, I agree with you regarding master nodes or delegate nodes being the only real solution to avoid DDoSing BOINC servers. Also bringing this within reach of "average" gridcoiners is imperative. A leaseholder balance in the 15k to 75 k range seems ideal.
Also, I want to thank you -- I wish there was a more meaningful expression than this, but words words words. -- for bringing the oath into this. Truly, I thought I might be the only one who wanted to use it in crypto.
'First do no harm' is the oath we should all try to live by!!