Oh yea I forgot you left. Oh well. All the more reason to add ICDevs to the default neurons
I’ve listened to your interview with @Arthur and it was very informative. My general take-away is that ICDevs wants to make IC developer life easier. This will be achieved by focusing on the development of critical system components, software libraries, and educational resources. Is that correct?
Would you say that ICDevs has a 5 year vision for the IC?
For example: Dfinity often requests developer feedback on prioritization of development efforts. Some might argue that Dfinity should focus on improving the IC’s web hosting capabilities (to include DNS, CA, identity solutions, etc.) . Others might suggest that the integration of other blockchain protocols should take priority. Does ICDevs have a general idea for how the IC should look in 5 years?
Nice post, Arthur.
Added cycle_dao to my followees (why aren’t they just called follows?). Great work on that blog post. The two things that most convinced me to follow were your “no” votes on:
(By the way, might be nice if your posts included the position you took in the headline)
Defaults are powerful things.
For now, I believe the DFINITY Foundation has wielded their influence well. For example, their frequent strategy of following the community essentially means that uninformed voters just support the people that are informing themselves. For that reason I still follow them, and think they’re a good default follow.
I want to support adding additional defaults, but two things concern me:
- Power superlinearity
The UX concern is simple: getting up and running with NNS is already a very involved, ambiguous, and worry-inducing process for new users. Ambiguity kills user confidence.
The UX we want to offer is this:
- User learns about ICP, buys some.
- User learns they should be staking their ICP for voting control and for rewards, invests time into learning how the internet identity and the nns works
- In the NNS, user learns how to navigate and stakes their ICP to starts earning rewards
- User learns that they’re following Internet Computer Association (ICA) or DFINITY Foundation (DF) by default and so they go hunting to see who they would prefer to follow and thereby invest in the community and governance conversations.
This creates the incremental trust-building user flow that we’ve all experienced, it’s what got us here. The learning curve for the internet computer is steep, this Learn → Invest → Learn loop makes it a bit easier. Each step in the above is a completion of the Learn → Invest loop.
I don’t see much benefit at the moment to moving the selection of followees from the fourth learn → invest loop back to the third.
I can see a UX cost, which is that as more neurons are available by default to choose from, users could feel like it’s too much work to finish up the staking step.
Even solving for UX, changing the default away from Internet Computer Association still leaves us with a problem: power superlinearity. Let’s tell a story, but now I’m adding a malicious neuron into this proposal named “DFINITY Team”, which is run by me and just trying to accrue power:
- User goes to NNS to stake ICP, they see they need to select a neuron to follow
- User is presented with cycle_dao, icdevs, DFINITY Team (my malicious neuron), ICA, and DF. They might select semi randomly, but they’ll likely favoring DF, DFINITY Team, or ICA due to name recognition. Otherwise, they’ll delay selecting a neuron due to their concern about choosing poorly.
- My malicious neuron, DFINITY Team, steadily gets more voting power from non-vigilant users which I can do whatever I want with, because the users aren’t paying attention. For example, given sufficient time perhaps I could introduce a motion to kick DF, ICA, cycle_dao, or icdevs out of the defaults.
This is a concerningly plausible story that just comes from the power of defaults and name recognition. Obviously, this isn’t what you’re doing. But it’s possible for someone to do if we stick with the current flow of needing to propose neurons as default follow-target neurons.
I think the existing user flow is pretty good as it is. It makes sense that neurons that haven’t intentionally selected a followee should just follow the community’s vote. However, there’s still an opportunity here:
What we could do is make it easier for a user to discover the neurons they would prefer to follow. This would make completing that 4th learn → invest loop easier.
I just found out about cycle_dao through this post, excited to have found it! What other methods might there be to set up a credibly neutral mechanism for exposing new ICP stakers to neurons they might like to follow?
We have a big opportunity here to design the context within which neuron followership is evaluated and earned, including the process by which neurons are selected as defaults.
Inside that context, it might be much easier for people like me to find cycle_dao in the future
There is an important distinction between default followees and being named as a followee option in the NNS app. I would not have a problem with either of your neurons named in the list of followee options (analogous to proposal 28713), but I do not think either organization should be default followees. I think @diegop and @johan were intentional in their proposal to disable default followees for governance proposals and they did not recommend that ICA be replaced with any other neuron (now or in the future). Their proposal specifically requires neuron holders to manually configure their neuron if they want to follow other neurons on governance proposals.
I would like to see you remove the word “default” from this proposal and clarify that you are only suggesting that you be named in the list of optional followees in the NNS app. You would have the power to wield Absolute Majority with every vote you cast if you are the default followee. I don’t think that is what you are suggesting with this proposal, which is why it is important to clarify.
Also, will you please add information about when you plan to submit this proposal to the NNS so we will know when it is time to go vote.
I think “default follow-target neurons” does a pretty good job. But “default follow-option neurons” might be clearer.
In the future, we will include the decision in the title. The reason it is in the conclusion now is that when people read the title alone they can miss the nuance of the discussion. You aren’t the first to ask, however.
I have been slightly unclear in the description. This was intended to add new options to the followee list because default following will be turned off for the “governance” topic if the currently discussed governance/voting reward proposal is accepted.
Your discussion of the Learn → Invest → Learn loop is well considered. However, that is not relevant to this proposal per-se as this aims to present options to the user. The proposal that will disable follow by default is this one Changes to governance proposals and voting reward weights (Proposal)
The malicious follow target neuron story is plausible but to me appears unrealistic. It would have to pass a community selection process to be included. The name “DFINITY Team” would not be accepted as part of a proposal to add a new neuron because it is misleading. So lets rename it “Governance Analytics” then, in our imaginary future context, users will have to select it from a range that might include ICA, DFINITY Foundation, cycle_dao, ICDevs, Governance Analytics.
We can say it will get say, 1/5th of random choice but it would be very hard to hijack voting based on credibility. The sheer amount of sustained work that has gone into establishing cycle_dao has been huge, and that is in the presence of a lot of social capital from reputable individuals.
Not to mention, sheep clothing is always ill-fitting on a wolf. cycle_dao & others would see a long con a mile off. Finally, someone needs to be motivated to do this ie. the threat has to actually exist. Personally, I don’t believe it does, but given the multiple layers of protection we have it wont be an issue if I’m wrong.
I think the process of discovering “credibly neutral” neurons is exactly what we are going through here
I’m in favor of being an option, but don’t need to be a default. I think the NNS UI does some randomization… the interesting thing about the IC is that anyone can make a UI for the NNS. I’ve thought about building one for ICDevs that lets people stake dedicated neurons and default follows us. I don’t have enough funding for that, but it is on the agenda.
There may be some merit it selecting 1 of X in the long run, but I think Arthur hits most of the points that are needed to talk about.
Totally agree that it is.
I guess the point I’m making is that if we’re going to add additional options to the nns dropdown, they should also come with context, like a link to a web page where the user can read about the neuron’s voting goals and governance structures
Would you say that ICDevs has a 5 year vision for the IC?
We think that in 5 years the IC can be enterprise-ready and can onboard 10,000 developers into building web3 apps and smart contracts. That can increase another 10x in the 5 years after that. Doing that takes amazing tools and a broad set of IC tuned libraries. We hope to support the building of those libraries and tools.
On the blockchain side, we expect that in 5 years the IC will be integrated with ETH and BTC and that somewhere around 50% of the non-staked eth will be held inside of IC canisters/on-chain wallets that are running scaling infrastructure for Ethereum that moves far beyond what ETH2 will achieve. This may extend to some of the newer chains if they manage to stick around, but the IC is going to give BTC and ETH a new lease on life and they have the network effects.
How will the IC have 50% of the non-staked ETH? That’s as much or more than Ethereum itself?
Kinda curious as to how you arrived at that estimation?
Pure speculation based on the scaling principles of the IC, the needs of ETH, and an understanding of chain key crypto.
Keep in mind that eth held by canisters will still be on the eth mainnet. These canisters will just be able to hold it and pass through the scalability of IC smart contracts. 1,000,000x cheaper gas and storage.
Someone else could get there first, but I bet they do it with similar chain key crypto principles.
Ah but when you make a function call to a contract with web3, all the native integrations are based on a request and response model on the ETH network.
I’m not sure the ETH foundation would sanction changing web3 and all that infrastructure to accommodate two networks, with a response coming from Dfinity.
Certainly a use-case perhaps for heavy-computations, with results being transmitted back on to Ethereum through events …
Your canister will be able to make request/response transactions on the ETH network. You can mask it behind IC based transactions…or you can program your canister to take in signed ETH transactions and relay them to the network.
it uses normal smart contracts on Ethereum
Ahh I see, yeah huge in that it absolutely reduces the cost of swaps on ETH by a huge factor. Maybe the web3 integrations not that big a deal.
If a Uniswap swap costs about 150,000 gas and we say an ERC20 transfer costs about (40,000 *2) then this would make the cost of transacting about half on the main chain. A significant cost-saving advantage.
I wanted to ask if there are any types of proposals that your organization might abstain from voting on?
Edit: Thought of a less controversial way to ask my question
(Not representing Dfinity here)
I just want to add that I intend to vote accept on this proposal with my personal neurons. More leaders the better.
Seriously though…I’m sure we’ll find some good neurons to follow on topics that aren’t relevant for us. Throw out some examples and I’ll try to clarify.
Hey @Arthur and @skilesare this is a really good suggestion made by @cnr. I think it should be easy for users to find your respective websites, know who is voting in your organization, know your voting mechanism, know how you determine when your neuron will vote to Approve or Reject, and know your general principles that tend to influence your decisions. Also, as pointed out by @Manu, you should make it clear to the users how you plan to make sure your neuron is a reliable followee neuron for governance proposals. Otherwise folks could miss out on voting rewards if they are trusting liquid democracy by following your neurons. It would be good to set this up before you make your respective proposals to add your neurons as named options in the NNS app.