A theorem is a theorem until it’s proven or broken, like Zooko’s triangle (btw Zooko is insanely good and thoughtful) and bitcoin. All the flat earth postulates and so on. new/innovative means having tools we never previously had, SAFE is no different, look at zk-snarks and the “impossible” halting problem. I have no ego regarding all these theorems, I do not fear them or ignore them. As @digipl says there are always reasons not to try and assume failure before you start, we don’t go that way
Take a partition: Btw I have three RFC’s to write tonight so will answer quickly, if somebody says hand waving I say time limited human at keyboard.
Network splits for long time or short time or whatever
With DataChains even 1 member of a group can republish → great. So what?
Data (at least identifiers) is available, even on massive partition (xor does not partition like a linear addressed network)
regardless there is a significant ability to maintain data now, securely.
SAFE has no central node (name node (hadoop) for instance) so we are cool there.
Data is either network owned (immutable) or user owned (only user can update).
So availability looks good. Smaller possibility of not available data. Not impossible though (as nothing is impossible)
Consistency → all clients see same data, well no not in a decentralised system, so southern hemisphere goes off line, users in southern hemisphere see the smaller network consistently and it’s data (that can only be changed if owners are in this network as well), others see the other network.Seems reasonable. taking above into account.
Partition tolerance → see above. Plus when network re-combines the updates to structured data for instance do pass the secure successor test, so we are good there.
This is a very fast fly past and does not go into everything, but should show where we are heading.
If we wanted to go very deeply into this then
- Lets do it in the dev forum
- Lets get features in place, first
So a dedicated topic may make sense, but the team will not be keen to depart from Alpha 2 right now, so time limited, but there are bigger issues for us to deal with. Hopefully this provides some things to think about
- Xor partitioning not linear (so groups exist, but smaller till they merge)
- Data republish is powerful
- Updates to data by owners otherwise it’s immutable, so what you see in your partition is consistent and will be also on merge of the partitions.
If you want to make a choice then choose availability (until partition rejoins) I suppose. I believe that is very pedantic and not the final answer.