<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;"><div>Hi All,</div><div><br></div><div>Recently I was trying to set up a prototype app with riak-core. It all went smooth until ran into CRDT.</div><div><br></div><div>I have read:</div><div><br></div><ol><li>papers about CRDT from HAL</li><ol><li>`Conflict-free Replicated Data Types’ at <a href="https://hal.inria.fr/file/index/docid/609399/filename/RR-7687.pdf">https://hal.inria.fr/file/index/docid/609399/filename/RR-7687.pdf</a></li><li>`A Comprehensive Study of Convergent and Commutative Replicated Data Types’ at <a href="https://hal.archives-ouvertes.fr/inria-00555588/">https://hal.archives-ouvertes.fr/inria-00555588/</a></li></ol><li>`Version Vectors are not Vector Clocks’ at <a href="https://haslab.wordpress.com/2011/07/08/version-vectors-are-not-vector-clocks/">https://haslab.wordpress.com/2011/07/08/version-vectors-are-not-vector-clocks/</a></li><li>`Dotted Version Vector Sets' at <a href="https://github.com/ricardobcl/Dotted-Version-Vectors">https://github.com/ricardobcl/Dotted-Version-Vectors</a> which by the way is used in riak-core for meta</li><li>Project-FiFo’s fifo_dt at <a href="https://github.com/project-fifo/fifo_dt">https://github.com/project-fifo/fifo_dt</a></li></ol><div><br></div><div>Then which following understandings are wrong?</div><ol><li>Version vector is for state-based crdt; vector clock is for op-based crdt</li><li>From #1, riak and similars use state-based CRDT, then it should use version vector rather than vector clocks</li><li>Dotted version vector is more compact than plain version vector</li><li>The reason fifo_dt and similars are using vclocks is because basicly vclock’s static structure is the same as version vector, but since the update rule is not the same, why it is used in fifo_dt?</li><li>To explain #4, the object combining value & vclocks can be thought as a way of state-based crdt without using version vector</li></ol><div>What is the *most updated & correct* way of doing this?</div><div><div id="MAC_OUTLOOK_SIGNATURE"></div></div></body></html>