@nmaro has some pretty good stuff.
The cartoon explainers gives an overview.
But you'd probably want to do RGA algorithm or one of the newer ones.
Martin Kleppmann has a pretty good talk with bunch of paper references:
https://youtu.be/yCcWpzY8dIA