Gridcoin 4.0-2018 General Roadmap Poll - Securing Superblocks

in #gridcoin6 years ago (edited)

Gridcoin 4.0-2018 General Roadmap Poll - Securing Superblocks

This is the description and thread for the Gridcoin 4.0-2018 General Roadmap Poll pertaining to creating superblocks through a Dynamic Witness Participation protocol. You can find the Cryptocurrency Talk thread, which contains information on all polls, here. Any questions asked on this thread should relate only to this poll. Any questions on the Cryptocurrency Talk thread that are related to this poll will be relayed here and vice versa. Please, do not be afraid to ask questions. We want to make sure that everyone understands what they are voting on.

You can find the poll on Gridcoinstats here.
The poll was made by @tomasbrod with address: SFhy5MRyNqVcC2pCtEYeMSULe6wA5SPYMk.

GRCHorizontal_Purple&Purple_Solid.png

Gridcoin currently forms a superblock by having all nodes request data from each whitelisted project simultaneously. This process causes high network and server load and does not scale.

Dynamic Witness Participation will serve to replace the stats gathering aspect of what is now called the "Neural Network" with a new C++ iteration integrated directly into the client, making the network cross-platform.

Dynamic Witness Participation will use a dynamic process to select delegate nodes which create superblocks. Only the delegate nodes download the necessary data from the BOINC project servers and work to create the superblock. The algorithm will run independently on different projects.

Any node willing to serve as delegates in the creation of a superblock will indicate such when they stake a standard block. When too many nodes are willing to serve as delegate, the network will choose a subset through a dynamic selection process. This limits the number of active connections and decreases stress on BOINC project servers. Once selected, all delegate nodes download the project stats data, process it into a shareable format and place a vote for their version. Delegate nodes then form a consensus on the data set to be used in the superblock. Finally, a delegate node with the agreed upon data set is randomly chosen to create the superblock and end the process.

Note that this delegation process is ONLY for the creation of superblocks. All standard blocks will continue to be secured through the Proof of Stake protocol.


"Do you support the continue exploration of Dynamic Witness Participation for superblock creation in 2018?"
-Yes
-No
-Need more information
-Abstain

Sort:  

There are several things here I simply do not understand.

  1. If this switches to only Dynamic Witness, how do I make sure my wallet gets to be one?
  2. What is the reward for creating a superblock in this scenario?
  3. how would my node communicate that it is willing to participate as a delegate?
  4. What is the dynamic selection process for the network to choose a subset?

Here's the problem: I'm not a programmer at all. I'm barely conversant in blockchain (learning); and I'm trying very hard to make my vote a wise vote.

Thank you for these questions! I expect there might be more in depth posts explaining DWP, but here are the short answers.

  1. It will be either an opt-in or opt-out system, this is not yet decided. In an opt-in, you would check a box, perhaps, or enter a command in the wallet that would tell the network you want to participate. You would tell the network when you stake a block. In an opt-out, all wallets would be potential participants unless otherwise stated.

  2. There are a few scenarios for rewards discussed so far. A superblock could be rewarded just as a normal block. If we implement CBR, perhaps a superblock is rewarded a few more GRC than a normal block. If we implement MERRC, perhaps some MERRC fees are added to superblocks. There are probably many other ideas out there. The general take-away is that there are several options that will need to be explored.

  3. By staking a normal block.

  4. This process is not yet completely defined as this idea is still being explored. More details can be found on the github here. One certainty is that the wallet doing the staking is intended to change regularly -- to be dynamic.

Thank you for the clarity of the answers. Now to ponder...

Now to come back to this as I vote today:

  1. I am in favor of opt out. This will have the negative of not immediately reducing traffic, but as a positive also does not rely on every single user having a chance of not participating in something they care about because they did not understand.

  2. Superblock rewards could, in this instance, fix the low stake weight problem by initiating payments to any who have not staked in the last month (insert alternative time period here).

  3. No further thoughts.

  4. I will respond to the github thread as needed.

Thank you.

So porting Graphene's DPOS (witness/committee) functionality to GRC? lol..

If it securely improves/decentralizes the NN & enables us to remove the team requirement then sure, but it's reinventing the wheel considering graphene exists.

Looks like we forgot to include DPoS into the stakeweight poll. Through it can be argued to be part of the Masternode option, but that is more of CPoS (C=centralized).

Masternode/DPOS shouldn't be considered in the same option, I'm dissapointed it was left out of the poll.

wEll, technically the option can be added to this poll, but something tells me it is not appropriate. What do you suggest?

Just move on? In the future a graphene fork will probably end up developed.

I think the difference here is that a DPoS blockchain means that all blocks are created through delegation.

DWP seeks to create superblocks and only superblocks through a process that is similar, yet still a bit different, to a DPoS blockchain such as graphene. The main take away is that the Gridcoin blockchain will remain a PoS blockchain if DWP is implemented.

Really, it will be a combination of PoS and dynamic selection (DPoS... sort of) which is an entirely novel idea by my understanding.

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 63966.64
ETH 3055.32
USDT 1.00
SBD 3.87