New Video & Blog Post: Dynamic Membership

Hi all - we’ve just released a new video and blog post that should be of interest to everyone. If you’ve been following the project, you’ll know that a significant stage along the road to the release of SAFE-Fleming is the integration of PARSEC into the Routing layer (the ‘brains’ of the Network, if you like).

As we explain, being open and permissionless is crucial for the SAFE Network - and dynamic membership in this context explains how the Network can still guarantee that the nodes on the Network will agree on the order of events that have taken place and ensure that those details are shared in a secure way with new nodes as they join.

In the video, we show an example which you can run for yourself (head along to in order to see graphs that will illustrate what’s going on. The example shows exactly what happens as each round of gossip is generated and how different nodes then take this information to arrive at the same sequence of stable blocks - despite the fact that nodes are constantly being added and removed.

Hopefully this will act as a useful taster for the topic and answer a few questions that there might be out there. So please feel free to comment, share and let us know what you think!


It almost sounds like some sort of blockchain :thinking:


Thanks for the wonderful article @maidsafe team! Do we know how big the whole gossip graph can be?


This is ordered consensus, so agreement, not a lottery or amount of work thing. So block-chains achieve agreement (not consensus) on a transaction set and sequence of next blocks. They can fork almost continually and like btc select say the longest fork as the correct one.

Then history, blockchain is a historic record of stuff than has happened, not what is happening. So you can see a difference here (PARSEC graph shows how stuff happened and consensus was recorded). This is where data chains come in, to provide history of that ordered consensus, similar to a blockchian and history of blocks. In a blockchian you do not want to go from genesis to today as it could be a malicious fork. You really want to go from today, backwards. In a datachain with a history of ordered consensus, then you can traverse from genesis, from today or from a checkpoint and they will all be correct.


It can grow to be quite large, not blockchian scale large, but large. From my previous post here, you will see we can prune this history with checkpoints etc. So not too large, but in any case there are opportunities to prune.


I’m only making an observation from watching the video. Which is explained at a simple level, but it comes across a little blockchain like.

Can’t you just call the ‘work’ in this circumstance the ordering of consensus?

Parsec also requires ‘what has happened’ no? otherwise a snapshot wouldn’t be sent to a new node (much like when as a bitcoin node I have to download the entire history)

Anyway, cool video.

1 Like

I was adding info, not criticising, sorry if you got that impression.

I think like this.

blockchain is a lottery. It uses POW to get a chance to win (possibly fork).
It is mathematically probable you have done that work (you can get the correct hash in 1 cpu cylce)

PARSEC → Mathematically proven a particular event happened and was accepted for inclusion. No lottery.

Yes, on a much smaller scale. Atm we pass everything, but do not need to.


I can see how they are different (PoW & PARSEC), and that the PARSEC way is much more efficient. But blockchain isn’t just PoW, it has many flavours and PARSEC could be seen as one of those flavours?

On a more serious question, what stops someone poisoning a snapshot for a joining node. Will the joining node get multiple copies (in the video it only shows one node sending a snapshot)?


Blockchain more like datachain PARSEC is a BFT algorithm. So the diff is there really.

You cannot really do this. The blocks are locked by signatures. You would need to go back in history to nodes, steal their keys at some point and make different votes. I mean it’s mathematically provable to traverse the snapshot from a known last point in time, or from now backwards as well.

Very possibly, we have not finalised that yet, it’s currently ongoing. It can get quorum snapshots though to spot attempts at manipulation if needed.


Thats good to hear.

I’ve watched the video 4 times now. In the video, the fact that you call ‘super consensus’ a block, which is formed by ‘rounds of voting’, it’s so difficult to tell my brain to not call this a blockchain technology.

interesting events (‘transactions’) + rounds of voting (‘work’) = super consensus (‘block’)

I know vaults aren’t servers and PARSEC isn’t blockchain around these parts of town. But the similarities are in my opinion close enough.

PoW is a solution to solve this problem Satoshi Nakamoto e-mail. PARSEC would also solve that same problem, in the time it takes for all nodes to gossip with each other and vote reaching ‘super consensus’ aka a block.

The PARSEC achievement is :+1: anyone else think it sounds a bit blockchain like?

In fact would it not be extremely cool PR to implement the problem in Satoshi email in PARSEC and post it as a solution on Reddit demonstrating the efficiency of PARSEC?

Looking forward to the feedback of others.

In a blockchain there may be forks, but in a consensus algorithm like PARSEC you can not, because like David said you proven a particular event… This is a huge difference.

What you miss is that if the SAFE Network is successful it will be extremely cool to have a super consensus and not blockchain. :stuck_out_tongue:

We do not need to pump the price with beautiful lies, we have something much better - the truth…


PARSEC is a BFT, there is a family of these and they all solve the byzantine problem, it is after all their purpose :wink:


I think it sounds similar, but IMO a blockchain is more than just a chain of transactions - it includes the consensus mechanism too.

As I understand it, a data chain does not include a consensus mechanism; it is simply a list (graph) of actions which had been decided by an external consensus mechanism (PARSEC with close groups, node aging, etc).

Perhaps you could argue that data chains are actually a subset of a blockchain, in so much as they represent a similar way to record a sequence of transactions. It is a similar data structure/database format. However, blockchains seem quite different in how they append data to it, especially in how nodes agree.


Heres my thinking.

PARSEC adds that you know that everyone knows. BFT is simply detecting that a party is malicious. PARSEC means everyone knows and agrees that party is malicious.

Not really a BFT means the algorithm tolerates malice. PARSEC goes further and detects that to remove nodes (blockchain does neither). So PARSEC takes BFT moves it to ABFT and then adds malice detection, all of which is quite far from a blockchain.


quite far from what definition of blockchain? A common definition is a public ledger but most ledgers aren’t even public! A blockchain definition

A blockchain is a tamper-evident, shared digital ledger that records transactions in a public or private peer-to-peer network. Distributed to all member nodes in the network, the ledger permanently records, in a sequential chain of cryptographic hash-linked blocks , the history of asset exchanges that take place between the peers in the network.

In my eyes PARSEC is close to that definition, (in context to how it’s described in the video)

You are welcome to think of these as a PARSEC blockchain on a server2server network, but I imagine it will confuse those who wish to understand, but hey. Go for it chap


Okay, I usually did not spam but this was very funny! A wonderful sense of humor @dirvine :smiley:

@zeroflaw you’re on the move!

Edit: For those who do not know the story please see here: Are Safe Vaults servers or not: a discussion


I think he lives to split hairs. World needs folks like that but I personally think the definitions are proper as is here.


@zeroflaw So does this project looks like TRON for you :joy:? (Blockchain + p2p bittorrent)

It’s not even close