Dismantling the core team and governance structure

It’s a good idea overall, it decentralizes choices and allows the community to be an integral part of the project without it quickly becoming anarchic decision making

Without dwelling too much on the past and whether your representations above are fair, I do think you have some right to be frustrated. And I do think that we need to resolve this in order to make progress.

I try to define a form of “natural law” below, i.e. not some rules that I propose or think ought to exist, but rules that simply exist by the nature of how things are.

The way I see it, any contributor to Grin can have influence by making one (or more) of the following three types of contributions:

  1. Contribute to an existing implementation and work themselves into a position of influence (i.e being part of an existing nation state). For example, the Rust implementation.

  2. Break out by forking / writing a new implementation and work this implementation into a position of influence (i.e. forming a new nation state). For example the Grin++ implementation.

  3. Work across implementations and influence the directions of those projects without actually having any authority over them (i.e. the way NGOs like the Red Cross work across nations). For example, this could be some individual or movement campaigning for a capped emission or for the implementation of BLS signatures.

Of course, there’s also the nuclear option always:

  1. Break the consensus model and hard fork, essentially exiting Planet Grin and going to some other place in the crypto universe bringing with them whoever wants to join them.

There’s no right or wrong way to contribute, and it’s always up to the individual to choose what they want to do. Depending on their preferences, they will have a different degree of influence based on their actions.

If what they care about the most is autonomy and freedom to work on a Grin node or wallet in the language they prefer, or using a specific architecture design, or with custom features and functionality, then it makes sense to create a stand alone implementation they have full control over.

If what they care about the most is consensus and protocol rules, then working on the canonical implementation makes sense, i.e. the one that defines consensus. They will have more influence over the rules by making changes to this implementation that become accepted. Of course it’s possible to still have influence over consensus in other ways, and by working on other implementations, but the canonical implementation will have the most influence over the direction of the protocol. For as long as it remains the canonical implementation.

Or they can be soft power diplomats, working across implementations as lobbyists, perhaps writing blog posts and producing research, arguing for one thing over the other. While at the same time acknowledging that each implementation at the end of the day will be making their own decisions, and if they are not part of that process, they won’t have much direct influence over the outcome.

If what I wrote above holds, then any organisation between implementations will always be voluntary. I don’t see a way we can devise a structure that ensures authority and consent from future implementations.

To me, logically, it must then be that the governance we are talking about in this thread is only representative of the Rust implementation, and that nobody can really speak on behalf of the greater grin today, the same way that nobody can speak on behalf of Bitcoin, or of Planet Earth for that matter.

So that the next time someone would ask for the “official website” for Grin, the answer should be that there is no such thing. And that, I think, is as it should be.

6 Likes

So, it looks like the solution is not to dismantle the current “Grin council” but just rename it to “Grin Rust council”, so to clarify any remaining ambiguity.

And other independent teams could manage the grin.mw website, the forum and other social media accounts. Could be the same persons though.

The “Grin Rust council” might need to create his own website and social media accounts, but it shouldn’t be a problem as long as it clearly states that it’s related to the Grin Rust implementation and not the Grin project as a whole.

I have not responded to this topic before since I think it is rather challenging to provide a good alternative to the current system. Many things have been said by others which together voice my opinion. I am too lazy to quote them all, so many arguments will be familiar.

  1. The current government systems is not so bad in my opinion. Only minor changes are needed

  2. Separate ‘feeling’ from ‘reality’. It is not like ‘the core’ the decides all, but the feeling exist they do since they hold all the power/keys and basically pay themselves even though the wider community agrees to do so. Hence, I agree with the idea to make the ‘core developers’ and ‘the council’ two separate entities. The later should include other active community members like e.g. @david, @Kurt, @oryhp … A major overhaul of the current systems is not needed to remove this feeling of an old boys club, some simple changes can do the trick.

  3. The council should represent Grin in the brother sense, not just the rust repository. The rust repository is the official Grin implementation, but the council and community govern Grin in the brother sense and care for all its implementations, so also Grin++ or any new implementations that might arise and they all are free to apply for funding.

  4. Over regulation should not be the target of the new government structure, best to keep the governance structure simple and not overly formalised to keep the open feeling. The biggest change I think should be made is to separate the funds from the core to tackle the ‘feeling’ issue of an old boys club paying themselves.

  5. RFCs are an exceedingly difficult topic for me. I do not think it is bad system, however, since it is somewhat formal, I often feel some resistance on providing feedback simply because I for example cannot check the intricacies of the mathematics behind them. So, although not bad, their ‘formality’ does create a slight hurdle to informally give feedback, opinions or just should out in support.

  6. Where does the resentment come from? Rightfully said in many case negative feelings and opinions originate from to high expectations from the project, get rich quick etc. The other part is because of the power balance. Of course, it is not right to be your own judge and executioner, which is how it feels with core developers since the are the only ones managing the funds. Again, it is just a matter of feeling, hence, separation of funds from the core would solve this issue.

  7. The community involvement, and the involvement of non-core developers is ‘lacklustre’. I do not recognize this. With maybe the exception of Bitcoin as a project with even more enthousiasts involved, Grin has more than enough community involvement. The community is one of the reasons why I like Grin as a project so much. So maybe like some community members have to high expectations of the speed at which Grin can be developed, the core developers are having to high expectations for the community, just give the project some time.

Anyhow, these are just my thoughts, feelings etc. The only think I can conclusively say is that I am in favour of having a separate council to ‘empower’ the community and to keep everything else open and somewhat informal. Contributing in any way should always feel like an open door.

3 Likes

I’m in general agreement with this post. Not yet convinced that radical changes to core team and/or governance is what needs the most attention at Grin. Agree that, with some tweaks - core (technical direction, implementation etc.) + council (funds, community voice etc.) - will give more transparency to the overall effort. To me, I’d question if the community involvement is strong enough, though.

One face to rule them all - like in the case of ETH or LTC - is really not great for any decentralized project - equal amounts of upside or downside risk in every situation. At the same time, Grin needs to be more recognizable as an effort - the dual community/tech structure might help here. In the case of BTC, there’s the aura of anonymity from the founders… Satoshi/Hal/Marti… and that a dedicated army of enthusiasts are committed to the cause - too broad to track - so the larger community believes the project is in good hands.

This is a good balance, and difficult to repeat, but we should try. For Grin, we really need more voices across the community, to augment the inspirational work the core team is doing - this awareness will bring in more devs - which is what I really think Grin needs the most.

Then, we focus on solving the hardest, most visible challenges. Rest will follow.

3 Likes

If we make this any more publicly technical, folks - we can bet it’ll turn off more people. While technically the right direction, there should not be any public messaging that highlights such technical distinctions… Rust vs/ C++ or whatever else. Grin has a great aura about it - let’s preserve it’s quirky and ‘I want to know more’ nature. If there’s an overarching community structure (apart from the technical core structure) we’ll end up at, let’s take the high-road here a bit for messaging and have the community think and absorb just the “Grin” name.

I echo the community involvement problem. Specifically, I think a lot of the technical proposals/ideas take a long time to reach the conclusion because the feedback loop is very slow due to the lack of technical challenge - we seem to have more ideas than our small community can process deeply. We do have a few community members that actively challenge stuff, but we need more manpower to really get faster iterations on the ideas. I do think that solving ‘more fun’ problems like reducing linkability will bring more engaging discussions. Perhaps we could do something to encourage debates in parallel though I’m afraid this would add more content to digest if we don’t get more eyes…

I think separating rust implementation, or the mw github, from the rest of the community is a recipe for a split and will hurt the community. It provides clarity on one respect, but is divisive and it seems like being divisive is a bigger issue than clarity

What’s wrong with any open source project to have its own governance? All Bitcoin implementations have their own governance, same for Ethereum.

Looks like some people wants to take over the governance of the Grin Rust implementation.

Without proper governance the Grin Rust implementation is probably dead too, almost feels like an attack to me. Sad.

They all operate under the same consensus. I am not talking about all their subtle implementation differences, I am talking about the fact they can all operate on the same network. They do not operate as independent entities as you are suggesting. Suggesting the rust implementation of grin is grin and all other implementations can either follow or fork is what would be sad.

Consensus is community driven, no need for governance in my point of view. Governance is probably impossible for a truly decentralized crypto-currency.

But a GitHub repository without proper management can self destroy in a short time.

Grin Rust is definitely not Grin. Never said that. Just one specific implementation, just like Grin++.

Do you think Grin++ should give up its own governance? I don’t think so.

If forks were impossible, that would just prove that the coin is totally centralized and worthless in my point of view.

1 Like

So let’s say the community wants one-sided txs and focus more on UX and privacy… Grin Rust devs are not interested in that. Would that mean Grin Rust devs defy consensus rules and they are the ones forking away?

I would rather say: “no consensus -> no change”.

And, in my point of view, the ones not respecting that rule are the ones forking away.

But sometimes the ones forking away are the ones succeeding if they have the majority hashrate behind them (Ethereum Classic).

90 Replies on this topic, unfortunately the forum does not show by how many members, 20-30 I estimate. Not bad for community engagement if you ask me. As mentioned by others there is little feedback and decisive decisions made on RFC’s. I think there are two obvious reasons for that.

  1. Few community members have the knowledge or math skills to check the many technical RFC’s that pass the revue. Since they are ‘official RFC’s’ some community members might also feel more reluctant to respond than on a normal discussion forum thread. Even with the awesome new tutorials from @Paouky it still should be said that Grin is simply rather technically difficult to get if you want to participate in math discussion and attack types that might or might not be possible. If I compare it with Bitcoin, I think bitcoin is much simpler than Grin. Maybe time for a ‘Grin for dummies’ book, or even better, something like ‘Mastering Bitcoin: Unlocking Digital Cryptocurrencies’ by Andreas M. Antonopoulos but then for Grin. I am sure someone can think of an awesome Harry potter inspired title.

  2. The number and the speed at which new RFC’s are being produced is impressive as @oryhp mentioned. Many new RFC’s are based on or follow up on existing RFC’s. Luckily their linkage is managed increasingly well, still the speed they are being produced at is a lot to keep up with, meaning only a few community members are continuously up to date and are able to provide useful feedback. As I said before, this not a bad thing, it just means that the speed at which new ideas are developed is impressive and something to be proud of. The second step though, going to implementation is sometimes frustratingly slow, and it must be to some extent. Just like Rome/Bitcoin was not build in one day, neither is Grin.

We all would love to see transactions without the need of the finalize step or even non-interactive transfers, however, this is all new tech and triple checks on security as well as checking for more elegant solutions is important. Still at some point decisions must be made and priorities have to be set. I am not sure if Grin excels at being decisive. Maybe we should in governance meetings discuss and set clear objectives. E.g. formalize that we as a community are putting more emphasis/focus on usability, which I think is something many of the new RFC’s are focussed on. Appologies for getting slightly of topic, but I think it is important to note that the amount of feedback on RFC’s probably has little to do with governance and as such cannot be easily solved by any changes to the governance structure.

3 Likes

We could consider running some small developer bounty(R&D) programs where the best proposal is awarded funds even if nothing comes of it. This could encourage more open source contributors to start looking into Grin. So, not only could be discover something new it could be a good indirect marketing exercise, especially if the community gets on board and actively promotes it.

2 Likes

What isn’t flawed?

I would agree with this to an extent. However @johndavies24 is definite proof that this is not the case :joy:

People with strong @Kurt and differing @david opinions are still here and have a stronger voice than ever before. Most of the community think privacy is the most important attribute of Grin, which differs from my opinion and the core team(I’m judging the core teams opinion by actions taken thus far). The Majority of the community would support Non-interactive txs, yet it’s very clear that Core does not.

Most people with strong/ differing opinions become alienated at some point, so they have to be resilient/ learn to coexist if they want to progress and that doesn’t mean they have to become part of the echo chamber.

Personally I think the Grin community is still filled with with people who share different opinions. I’ve seen people complaining about all disagreements going on vs core and how it looks bad for Grin’s image. Which is a complete contradiction to the Grin community being echo chamber. This thread wouldn’t exist otherwise.

I hate all the SJW bullshit but at some point you have to take a practical approach and draw the line.

Sounds like most of us.


Mod: The post this is in response to was off-topic. Blurring all the ranting and SJW stuff, it’s not adding anything to the topic.

Off-topic on R&D and reaching audience and reviewers

I think a good first step would be to concisely describe the problem - a short description with our coinjoin explained, current situation and a question of how to get a better aggregator that does not require trusting a central server. Perhaps a post on a forum where more people are active (Bitcointalk?) could reach some audience, but it would need to be thought carefully imo. I think that’s all that is needed because there are people out there whose brains will get excited if they understand the problem and they will start thinking about it, we just need to reach them somehow. I think these are the people we would want to attract and they are also the ones that could stay around in the community :+1:t2:

P.S. I’m not against paying them, I just don’t think they care about getting paid as the joy of R&D is the value they get. I think @Kurt is a great example of this (so are some others)


Mod: Off-topic

Off-topic one line reply

What about the joy of programming? :wink:


Mod: Off-topic

1 Like

A few days ago I was thinking about the development of a cryptocurrency and I was thinking about its different stages. I’ll use the three stages made by the first article as reference model:

  • Early stage: In this phase is made a technological discovery. Someone use it to build the protocol and launch the project. The first applications appear, however there is no structure, and most of the attention is on what the innovation could do in the future. There is not much community activity because the protocol is matter of a few high skilled developers, reason why the project is mostly centralized. In this phase awareness has yet to form and there is no general consensus about the rules.

  • Growth stage: The growth phase starts when more independent activities to sustain the protocol are built (nodes, wallets, exchanges, services). Here, these activities are mature enough to be profitable, or at least to recognize the importance of the protocol. This gives trust to continue, therefore more structures are built and begins to form a general ecosystem. The growth leads other users to join the community and the price start to gain consideration on the markets, which become more liquid.

  • Maturity: At this point, the system is totally independent. There are more interest aligned to the protocol and decision are made upon a strong consensus mechanism, which hardly could be changed. The next step is adoption, so the community focuses on scalability and network effects.

If we agree that Grin is currently in the early stage, for me, some sort of centralization is probably inevitable and a complete decentralization is likely to destroy the project at this stage.

It is true that centralized decision making in some way discourages other initiatives, however, it also guarantees a certain level of securece, especially for non-technical people. It is also more flexible and able to respond faster to problems, even if it requires some trust.

Furthermore, there is not enough community engagement and without a leadership and a guide, the remaining people will simply disperse. Leadership is needed right now because it allows the community to have a direction and have time to learn and interiorize principles.

But I agree that, without decentralization in the long term, the project is going to lose any sense. The trust in the core team is a point of failure and an additional unwanted risk for everyone.

I see the trade-off “centralization/decentralization” as a sprectrum, where no extreme is completely possible.

So, rather than pushing more decentralization on decision-making in the early stage, I suggest to use the advantages of centralization to gradually develop a more sustainable network that can bear decentralization when the protocol is more mature (for II and III stage).

The most of the knowledge is in the core team anyway, so changing the current structure wouldn’t change anything, as long as there aren’t volunteers that are able to cover the tasks mentioned in the list.

Disband the team or hastily create rules would only create confusion to the community and to the newcomers. In addition, rules are a difficult riddle to solve, because it’s impossible to satisfy everyone.

It is more important to focus on the things we get along with, rather than the things that divide us, so that Grin can develop its identity and a strong consensus mechanism.

The high inflation rate and the bear market have not helped in grin’s diffusion and I think this is the reason why most people have leaved the project, not the centralization of the core team.

But I expected that the depreciation of grin was somehow foreseen, with the aim to discourage people that are here only to speculate, one of the advantages of Grin in the long term.

So, for me, it’s not a problem of lack of visibility nor the lack of adoption or price decrease and the things I suggest to divide are the monetary problems (management of funds and market price) and the community objectives, as money is contentious by definition.

Even though price and community growth are tied together and converge in the long term, they are moved by different reasons. Profit is one of this, even if true entrepreneurs are motivated by ideals before opportunities.

Or better, it depends on the people one wants to attract to the project, as different types of attention generates different type of incentives. For instance, attention on price could be more dangerous than other because it only attracts speculators, mercenaries, and “weak hands”, forming bubbles (defi trends).

The key is to attract people and entrepreneurs that truly believes in Grin and what it proposes. A steady growth is surely better, when the grin protocol would be ready, attention will come.

Apart of that, feelings and perception around Grin are still important. So, I agree that there could be a lot of improvements to be made, maybe by removing the governance page from the site which could be one reason for the “us” and “them”.

Or removing auto-elected income, which could create a “race of salary” in the community, an irresolvible problem (I would apply one day, if it would be possible). The salary has also psychological implications in terms of entrepreneurship.

Therefore, in my opinion, the only thing we should decentralize for now, is knowledge.

Possible approaches

Github repositories

For me the RFC process is the best option that we have now, at least it has been experimented by the Rust community. But I cannot speak much about that.

Consensus rules

Who decides about the consensus is not a matter now. It would develop anyhow in unpredictable ways, as more actors join the protocol. It is worth to discuss, but in my opinion, it would be a more stringent concern in future stages, when the community is large enough to develop different independent interests.

Use of the funds

I would like to premise that, from my point of view, the donor’s letter is quite clear. Therefore, I suggest to respect the donor’s will and their words. They have donated to the core team, then, they can do whatever they want with these funds, as long as they are comfortable. Without the core team now, there is Grin? How funds will be used is going to be noticed anyhow.

Nevertheless, I suggest to use energies and resources to focus on principles, education and donations in this early stage.

Principles

Principles are what really moves people. For me, they are more powerful than economic incentives and are what allows entrepreneurs to push innovations (along with the rest).

Then, I suggest to focus on which principles the protocol really reflects, strengthening what can be reinforced.

For instance, some of the principles that I consider relevant and that I see in grin are (in that order):

  • Security
  • Freedom
  • Privacy
  • Simplicity
  • Fairness
  • Inclusivity
  • Decentralization
  • Scalability
  • Altruism

They are important because, even though it’s clear that not everybody could understand Pedersen commitments, probably most of us can distinguish (or at least have a perception) whether the protocol’s vision respects what the core team says it’s implementing.

They give a direction. In the long run, if principles and the protocol are aligned the experiment would success, otherwise I don’t think so.

Education

As I’ve said before, centralization of knowledge is one of the main problems for me. We cannot achieve decentralization if there is such an asymmetry on people that know and don’t know what to do. Therefore, funds used for education (documents, articles, courses) are never wasted, because they enrich everyone. Education also strengthen critical thinking, making the community more able to assess problems and reasonable statements.

Moreover, I guess that there are only two way to have competent people that works on the project:

  • Attract them with monetary incentives (are they trusty then?) or principles (existing devs in other chains).
  • Grow them through mentorship (in this case they surely would be more loyal).

Donations

I suggest to insist with donations, because I think they are one of the keys of money, overall for privacy coins.

Donations are simple. Donations are the free will of people who cares, and they are perfect to reflect intentions and interests.

Having a central fund would always lead to decisions and rules to make, so we end up in the problems just discussed. But, what if everyone builds up a way to accept donations?

The core team could donate too (with the funds it has), to the projects that thinks are fruitful. In this way, nobody would be able to pretend or complain.

Maybe this is only a change in perspective, but in this way everybody becomes volunteer again and, if it receives donations, it is a good reason to continue!

Donations by the core team could also give a good example for others and examples are worth more than any word. It would be amazing to develop a culture based on donations.

Invest

Why not. Some capital, say between 10% and 20%, could be just hodl in bitcoin and grin for future projects.

Indeed, we have not considered yet what would happen if Bitcoin starts again a bull run. In that case, probably a lot of crypto would appreciate, including grin.

However, reverting the process of “have skin in the game” would take a while, since Grin gave up investment appeal, to gain accessibility and fairness.

The growth in price would also change the underlying economic incentives, making more difficult to look for authentic people. Hopefully, if the market increase, with some good principles people would be more inclined to donate.

What else

I know that this propose could be not clear and could seem too much “abstract”. But maybe this is what the community needs first: build its identity and understand where it wants to go.

6 Likes

I agree with most of what you have said, very well written and structured.

Off-topic discussion about functionality, security, and UX

The future of Grin will also largely depend on the UX and the security, aka important choices that we should probably take in the short or middle term, as they will also be determinent for the dynamism around grin, the developer’s community, and the broader community. For example, for me it is unacceptable, in order to fix security, to

  • self-spend outputs
  • Having unspendable outputs on the blockchain

Both of these features are:

  • unelegant
  • not user friendly
  • do not provide the better security, and privacy, compared to other proposed solutions that do not require self-spend and unspendable output.
  • create negative emotions on users (how to explain them why we need those things? and how acceptable is it to explain these for a coin that makes access and usability its raison d’etre and ultimate goal, see the grin website)
  • unseen in the whole blockchain industry; why would we use grin if the UX, and maybe the security in some aspects, is inferior to everything else?

So, the technical choices that we will make in the short or middle terms will be very important for the future of Grin.


Mod: Hiding off-topic section.