Governance. It may not be a word to stir the blood, but it’s one of the big differentiators between open source projects that stand the test of time, and those that are fly-by-nights. To achieve what we are setting out to do, we need to put in place measures that ensure (a) that we stay in compliance with our regulatory obligations, and (b) that we remain open and transparent so that everyone’s voice is heard. @Heather_Burns explains more.
Leading with a good news story, the connectivity bug we’ve been seeing has finally been squashed.
What we found was that there could be several connections to a node even from the same client, but those connections didn’t know about each other, and so one connection could be broken and the other not. Retries were not centralised and this could lead to increased memory and cpu usage and other issues around messaging. So we’ve fixed that by explicitly tying each connection to a peer, allowing us to minimise the number of connections to each peer and to handle connections more elegantly.
We’re not quite out of the woods yet as the links we make when a client connects are not cleaned up, so can hang around forever, which seems to have been a cause of increasing slowness seen as time goes on. @joshuef has made some intertmittent connection cleanup functionality which seems to be keeping a cap on this nicely.
As well as some epic bug squashing, we can report some progress with DBCs. @Mav has got blstrs working in our Rust crate blsttc. Plenty of hardcore techie reading material behind those links for those that want to go further, but suffice to say it’s both fast and secure. @danda has grabbed this with both hands, and we now have
sn_dbc working nicely with
blsttc/blstrs, providing a big improvement in both our public API and performance. Hard to explain in a concise way, but a considerable hurdle has been overcome.
@yogesh has been continuing to chip away at refactoring how data republication works, shifting more of the responsibility to adults in order to reduce network messages overall, but also allowing nodes to be more selective about what data they pull in, ignoring anything they already have, whereas at the moment any possible matching data is sent across for replication, regardless of what the node already has.
As the Safe Network approaches its launch, our highest priority is to ensure that the community enjoys the best possible structure for the project’s governance. Governance, in this case, does not refer to the code itself, or to the token distribution (which will come a bit down the road); rather, it refers to the structures that will be put in place to ensure that the project is stewarded in a transparent, accountable, and responsible manner. It’s about establishing how decisions about the Safe Network will be made, who will make them, and who they will be making them for. It’s about making sure that the Safe Network rests in the best possible legal framework, one which minimises risk and maximises potential. And it’s about making sure that we put the right legal, ethical, and supervisory safeguards in place to prevent things from going wrong—and to have a plan for what to do to put things right.
It’s a lot to get right at the start, but the good news is that with the best possible support, we are headed in the right direction. This month, our focus is on establishing a legal registration, based in Switzerland, as the statutory home for the project governance. (For this post, I’ll call it the “Foundation”; like expectant parents, we’re still trying to pick the right name.)
Why , you ask, when MaidSafe is based in sunny ? We’ve chosen to incorporate the Foundation there for two reasons. First, Switzerland has the most robust foundation registration model in Europe for innovative tech projects like the Safe Network; the UK, by comparison, is still in the process of getting up and running. The Swiss registration model is also backed by an independent regulator who are already supervising and scrutinising projects like ours at full speed; the UK, again, is playing catch-up here. In other words, if you’re a project like the Safe Network, Switzerland is where you need to be.
Second, we are benefiting from the support of a Swiss-based legal team who specialise in the legal registration of decentralised ledger projects, and who have as much experience as it’s possible to have in this evolving field. Their guidance has already proven invaluable, as they have provided feedback and constructive pushback that we just wouldn’t get from an old-school company law firm here in the UK. (Personally speaking, working with them is an example of the phrase “every day is a school day”, and team MaidSafe are being very thoroughly educated.)
So that’s where the Foundation will live. But what will it do? The Foundation will be governed by a committee who will be entrusted with the legally binding responsibilities of care, due diligence, impartiality, and legal compliance required by any committee role. At incorporation, this committee will be composed of several members of the MaidSafe leadership team, including our non-executive directors.
But the committee will not be MaidSafe’s show. We are working with our legal team to establish the structural means for community members to have their voice in the Foundation’s governance, as well as to provide external scrutiny: in other words, watching the watchers. This is likely to take the form of at least one committee membership, as well as an advisory council. We’re also thinking about who we need on the committee, to help the Safe Network reach its fullest potential. This could include external experts on ethics, law, and policy. It should also include the representatives of the users of the Safe Network: people who don’t necessarily build or understand the technology, but whose lives are impacted by it.
We’ll be able to provide some more (legally sound!) clarity on how this will work later in the month.
We also intend the Foundation to act as the legal home for the Bamboo Garden Fund. At the moment, the Fund’s governance structure essentially lives on the Safe Network forum. Bringing it into an accountable and transparently governed legal registration structure will help the Fund live up to its potential. Incidentally, the Fund’s decision-making structure is a model we’re looking at for wider decision-making within the Foundation.
It’s important to note that none of the steps we’re taking to establish the Foundation are about deciding how the project will work, or who will run it. What we are doing is setting up the right structures to hold those decisions, whatever they may be and whoever may make them, by establishing the right means to make those decisions and choose those decision-makers.
It’s tough work building foundations, and Foundations, but it makes for a very sturdy place to call home.
Feel free to reply below with links to translations of this dev update and moderators will add them here:
As an open source project, we’re always looking for feedback, comments and community contributions - so don’t be shy, join in and let’s create the Safe Network together!