Some more info on CRDT’s as mentioned in the latest dev-update.
Wikipedia:
YouTube infoQ-channel:
That’s a good video - long on the demos and short on the theory. I understand CRDT a lot better now.
Excellent, thank you.
I’m curious if vector clocks and LWW are planned to be incorporated in the MaidSafe adaptations. From a superficial view it would seem that these become problematic in a situation where nodes could meddle and lie.
Top of my head answer is that to do that you would need to control a majority within a section - and that is (almost) impossible. And if you could get a maority in a section there is worse badness you could get up to.
Or do I misunderstand?
Unsure, I haven’t spent enough time on this yet, just my initial (superficial) impressions leaking through. In the examples shown, nodes use a vector clock as an easy means to determine causality. If they lie about the state of the vector clock, then perhaps they could affect the replicated data?
Sure but would a majority of the section not have to lie about the state of the vector clock?
I’d say it depends on the implementation, hence my curiosity about what MS will ship.
We will pore over the implementation details
Yes, well version vectors really (we refer to these as Dots) The key is to force incremental updates (1 at a time) so the pressure is on the initiator to ensure replicas (elders) get those clock + 1 counts applied in order. This is a part of at2 thinking as well as bft-crdt (crate coming soon).
In terms of LWW or whatever business logic then it is a business logic decision. With our current impl we have not required to impl LWW of FWW etc. as we are forcing incremental changes.
excellent! 20 chars.