How to go about controversial changes once the community takes over?

I put this in RFC, but its not yet. Hopefully we can come up with something to propose though.

I’m not sure how many people here follow Bitcoin closely, but there is a small war going on with the core developers about the direction Bitcoin should be going. I thought Bitcoin would be around for the long haul, but this is really something that could kill it from the inside and it’s a shame. The changes being proposed don’t change the way the protocol works, but are more how to go about the vision of what it was created to do.

I’m looking for ways that we can propose to resolve issues like this in the safe network once the community “takes over”. Right now we’re still in “Satoshi nakomoto” time. David is still calling the shots and he has made outstanding decisions so far.

How can we go about dealing with contentious changes in how to implement changes based on difference in opinion on how to go about things? (or controversial issues in general) I think it is important to have a standard in place before they happen so we, as a community, don’t tear ourselves apart from the inside as Bitcoin seems to be doing.

4 Likes

What I know is that David and the Dev-team will still be in charge of their own repo on github. So if you add a great piece of code they like, they will add it to their codebase. So we, as users can choose to use the software provided by the team. On the other hand, say some folks like to create a very different GUI, and they create their own repo, you can choose to follow them.

The thing that really needs to be discussed is the protocol itself. I think SAFEnet will provide an option where a lot of people can vote. But instead of maybe 15 people discussing a new point, maybe we need at least 250 from the community. Maybe an App for that? Where people can come up with RFC’s for the protocol.

4 Likes

You make a good point @wes. But I don’t really see us having the problems that bitcoin has, because the SAFE Network will be built on a strong foundation. I think that most of the people will just built their apps on the SAFE Network and users will have fun on it. We don’t have to argue about fees, blocksize or scalability. What I think is important is that at a moment in time, we should have hack the SAFE Network contests to see how the SAFE Network holds up.

Although I keep dissing bitcoins, traceable money is still usefull. The government can use it, we pay them with SAFEcoin and it gets converted to bitcoin. Sorry bitcoin for saying your worthless, your super usefull.

BTW if the controversial changes don’t improve the network, they simply won’t be accepted, by the SAFE Network itself.

2 Likes

A few initial thoughts:

The statement that SAFE is built to provide simply and only [Privacy; Security; and Freedom], will go a long way to suggest what is a good change.

Trying to force consistency and a single instance or version of code, is the root of Bitcoin’s problem atm. Managing dynamic change requires art and flexibility.

It is perhaps worth noting that most technology that goes mainstream, does get normalised; so, there is a real threat that other interests will try to force change that they can exploit in whatever way motivates them.

A network that can fragment, is not a network that can be destroyed by stress. If SAFE is capable of splitting and fractioning into different communities where that is required, then there is no issue. The weak link here maybe Safecoins. If safecoins can move between SAFE networks, that would allow for variety. Still I see no reason there needs to be too much variety.

We need to know how flexible the network is - must there be only one protocol:

  • What happens now when part of the network is split off from the rest?
  • What happens now when separate SAFE networks then find each other again?
  • Are safecoins fluid enough that they can move from one instance of SAFE to another SAFE network and back, without risk of being compromised? If it is possible to create safecoins in an evil network and then introduce them to the real network, then there’s an immediate problem right there!

Expecting a simple creation attack on safecoins is not possible, then my first thought is to wonder the answer to the OP follows from allowing difference and evolution. In the event a new code is not backward compatible, perhaps it will not be adopted? The worse type of evolution would be a cancer, something bad that corrupts the network. If the network is well built and draws strength from survival of the fittest, then perhaps we can be less worried about controlling evolution?

However, it is important to recognise that the community will need to know that they can trust any changes… and that requires authority, if it doesn’t require that each user understands the code.

I wonder then that informed consensus is best. That is have authority gifted to those who are widely trusted but in a way that doesn’t have them individually liable to risk and coercion. Most people are lazy; we need to encourage good developments not bad. Gifting capability to upgrade to Joe Bloggs would be foolish, where there might be options to retain authority but distribute it.

I would suggest that those who retain authority, are those devs who have made commits and changes that have been adopted. Perhaps then the route to becoming a new dev, would be only through having a consensus from old devs accepting new code. So, if 19 of 32 devs agree on a change, then that is signed off… with some multisig. That will help satisfy the wider community’s interest in knowing they can trust changes. If anyone can make a change to what is widely understood to be the real SAFE network, that would risk other interests corrupting it too easily.

In the event that some other rotten group of devs want to make a unlockedSAFE, then I don’t know what limits on use of code there are that maidsafe.inc would have to allow. Wider community will likely prefer the original and best - first mover advantage and heritage count a long way towards who people trust.

In the event that the physics of this new world are so stable that changes are not made in ways that enough new devs are being brought in, perhaps there can be a secondary option to have simple consensus among devs nominate others to join them, without those devs having contributed code. The risk of political pressure compromising many devs in order to secure corrupting code, would be mitigated by the code remaining open source and available for whistleblowing and public sight of debate.

3 Likes

While id like to think so, I don’t want to rely on this logic. Bitcoin is built (in my opinion) on a pretty firm foundation with its white paper. The ideology I got behind was “global payments for everyone” which is not the direction some people are trying to take it. While that was the “solid foundation” and widely accepted (I believe) idea behind it, it is being contested.

So, while we have a solid foundation now, we can’t predict the future.

I’ll get some other points at lunch.

3 Likes

The core idea I have appreciated from the MAIDSAFE is the SAFE network will be free from human authority dependency. I have read @dirvine state the goal is for MAIDSAFE to become irrelevant with regard to being the authority on network development. Although like many things with this network the theory is very different from current reality. I am not aware of any technology, with the ability to evolve, that evolves without a central human authority that is controlling it.

I think the SAFE network will be one of the strongest tech’s created to date, because of the limited dependency on humans with self authentication, monetary reward, distribution of network resources, etc, but I am having a hard time seeing exactly where AI of SAFE stops and where there will be a need for a human(s) intelligence. I think whenever there is a discussion of decentralized control the first link in the chain that requires a human will always be the point of failure; being from the USA I could go on for hours about that. So IMHO the further most point down the chain of control we require human intelligence the better.

My mind has been blown since the first time I read David. Irvine’s white paper during the IPO and I will be very comfortable wherever we end up after being lead by the MAIDSAFE team, but I agree with @wes that we should learn from current bitcoin controversy. I feel the code part of Bitcoin got way too far ahead of the community and they didn’t have the benefit of these discussions before. It would be a grave error to not take advantage of our situation of the community growing along side the code.

We should plan for the worst and hope for the best. That mantra has always served my patients and I well when fighting human bugs, viruses and cancers.

4 Likes

I think that having those three simple words at the core go a long way. If Satoshi hat said “simple low cost transfer for all” specifically, I think it would have simplified the whole BTC argument as it stands today, so that’s a great point.

About the “single protocol” you bring up, that’s kind of what’s happening with XT. There are a few other implementations of BTC outside of core, but they are not very prevalent. The thing with SAFE though is that it needs to be a single protocol like the Bitcoin network to work. Sure, you can have smaller networks that are similar, but that’s litecoin or doge in my mind. It’s either compatible with safe, or its not. By running a parallel network and then trying to merge into SAFE is like trying to merge litecoin into BTC. There would be a ton of issues.

I do think a network split needs to be handled, but I think Rouge networks trying to join with the intention of messing things up needs to be denied. How do we tell there two occurrences apart? I don’t have an answer for that. It will be easier in the early days (as it was with btc) but until SAFE becomes ubiquitous, it’s something were going to have to figure out how to deal with it.

2 Likes

There is a class of such technology, of which genetic algorithms are an example. Often used just to evolve solutions to a problem, they can be applied to evolve software, and indeed themselves. I’ve long wanted to pick up my old work on GAs and apply it on the internet, but until things began to be decentralised I didn’t see anything that interested me.

In theory at least, there’s no reason why the network shouldn’t support evolution of itself, or some subsets of itself (any remaining magic numbers, messaging/routing protocols for example). The tricky part would be setting the “goals” and not having these or the selection process be corruptible. In evolution, the goal is fundamental - the real mind of God - no ifs, no buts, no arguments, no tweaking. It’s just what is. Here though we would be playing God in the sense of trying to direct evolution of the system towards some goal, and we are of course capable of making mistakes, and corruption! David will no doubt have a wee idea or two :wink:

2 Likes

@happybeing Strong work :sweat: Now you’re talking. After reading up on genetic algorithms (I know you’ve mentioned before, but couldn’t remember), with this current discussion in mind, it immediately hits me that this direction has a ton of potential.

We just need to figure a way to apply

A typical genetic algorithm requires:
a genetic representation of the solution domain,
a fitness function to evaluate the solution domain.

Applying this thought process to the human body (my area of expertise) we luckily mutate all the time, but there are a few core elements that seem to be required for living. Intake of energy, blood flow, gas exchange, chemical/electrical messaging, and excretion. It seems even slight variation from standard function and we don’t survive.

As with evolutionary genetics, there are subtleties. When I was working on this most people modeled the sexual reproductive processes, using a single haploid string per organism, a high crossover rate, and a low mutation rate. In real organisms we have diploid chromasomes, and no doubt lots of fine tuning of the process to avoid the kind of issue you mention happening too often (i.e. variations in the likelihood of changes at different points along the chromosome).

I built a DOS program to let people play with settings different problems, and tweaking the parameters to the reproductive algorithm.

Looking for my GA Workbench (1989) on the web I found this article (PDF) from 1994 which mentions it and describes how most of these tools worked. There were several libraries and few applications, so there will be usable source code around from that time if not more recently. I adapted one tool so it could be used to optimise oil rig design!

1 Like

Ultimately, a long-term change management process needs to be agreed upon. How, when, and by whom is up to some serious debate. Some thoughts on the matter have been discussed here:

Even better, we only send them BTC, so the government (if it even will still exist in this traditional sense) can’t ever touch an anonymous currency like SafeCoin, so there’s less possibility for corruption

1 Like

People make a big fuss about anonymous digital currency but anonymous money is not new… we’ve had cash for quite a few years now.

Cash is not digital, plus it’s still fiat.

2 Likes

Pfft yeah as if we need the government.

2 Likes

I have been intermittently pondering your evolutionary genetics and I like it more and more. Would there be any value in trying to get someone like Jonathan Eisen, Professor at UC Davis (biologist/blogger w/ focus on evolution/ecology of microbes/genomes & #openscience; lab: http://phylogenomics.wordpress.com ; TED: http://on.ted.com/Eisen) to provide input into building an autonomous core code (SAFE DNA) evolution?

I think his blog is absolutely hilarious and strikes me as very SAFE network approved. His frequent posts supporting #GenderAvengers is great.

More importantly though he seems to be a good person to apply SAFE evolution to concepts includiing Neutral theory of molecular evolution (what kind of core code evolution would be possible) with Universality and Attractor values in dynamical systems (where code evolution can go); Self-organized criticality answering when code should evolve; Pareto distribution being dictated by Power Law answering who is able to make code changes. It seems all the above math features Scale invariance

It seems obvious that staying in the realm of mathematics/nature and staying away from human control will be the safest route for the networks evolution.

2 Likes

My point was that cash actions anonymously and has been accepted and useful for a long time. Just because digital currency is digital, does not suggest that it should not be anonymous - which is frequently implicit in chatter about digital currency. There is a fallacy all pervasive atm that Government should have access to all information, just because they want it. Just because something is digital, does not give anyone a right to access it. Similarly, that cash is fiat, is not a reason that digital currency cannot be anonymous.

To get back on topic: Such fallacies as Government and others promote, will be what more progressive projects like SAFE will be up against. Sometimes the fools are in the majority and we need to resolve ways to ensure those with understanding and capability to maintain SAFE, are given authority beyond those who have exactly the opposite intent. So, evolving control from the control that exists, will likely be safer than trusting everyone by default.

1 Like

I would expect consensus will outwit any attempt to create artificial measures or genetics, for a good time yet. Any artificial constraint would immediately become a liability and open for exploitation. Perhaps over time some parameters can be resolved but that will only follow from experience. Academics have little to offer by way of wisdom; they tend to fall foul of ‘knowing’ that they are right, despite reality strongly suggesting otherwise.

consensus will outwit any attempt to create artificial measures or genetics,

Consensus to me appears to be just an observation after the fact and is rarely reproduced effectively, but it is the evolutionary algorithms that remove the guesswork/exploitable-elements from consensus and provide a language (mathematics) SAFE easily understands and autonomously makes the final decision.

Any artificial constraint would immediately become a liability and open for exploitation.

@davidpbrown Are you saying the whole SAFE network is a liability and open for exploitation? It seems like this whole discussion is about the point where the SAFE network is susceptible to liability/exploitation and the consensus thus far is the network is SAFE until it becomes dependent on human intervention.

Obviously not.

Until measures or ‘genetics’ are described in some meaningful way, it’s pointless discussing them. Informed consensus is a real and likely simple option. Speculating on creating ‘DNA’ in the core code of SAFE, is a project in itself just to understand what that’s supposed to mean. SAFE is one core code, not many versions all fighting to resolve the fittest. While it’s a nice idea to have a clever code that knows it’s creators intent, I don’t see any suggestion how that is practical or related to SAFE in a way that would be available in the near future. Such a proposal is essentially suggesting that we code the ideas of privacy; security; and freedom, into a code that cannot see the bigger picture. Also setting of such parameters at this stage would more likely be clumsy and arbitrary… better to have those with the real interests of SAFE overseeing any change or likely more often resisting that.

If it works, we don’t want to fix it… but others who do not care or understand privacy; security; or freedom, will likely do their worst to encourage damage.