Ok, so a long time ago I read this theory online that Kaidou was a dragon that ate the oni oni no mi, and it seemed very far fetched. Then, a year or two later, it is revealed that Kaidou can turn into a dragon. Since then, we have seen that his dragon form looks a great deal like Momonosuke’s dragon form. We have also seen that Yamato has some animal form as well. I believe that Yamato was also going to change into a dragon, or half form dragon. Since there can be no duplicates of devil fruits, and we have, potentially, three dragon people, I suspect that Kaidou is a dragon naturally. Which would make Yamato at least half dragon. This means he either ate a dragon devil fruit or he has a natural ability to change into a human form. We know with the minks that animalistic humanoids exist and they are able to change form (given the right circumstances). So I think the devil fruits are a creation, likely from the ancient kingdom, and they are (at least zoan types) based around dragon dna. This could also explain the Vegapunk fruit. He created a pure devil fruit, which would give the user dragon dna. I think Vegapunk (who is either working with the government to protect his island or as a spy for he revolutionary army. Potentially both.) knew this and called it a failure so he wouldn’t have to supply the World Government an endless supply of pure devil fruits. (This also brings into question the whole Celestial ‘Dragon’ thing, but I think if they were dragons they would be much more resistant to harm.)
Also this makes me wonder if dragons can’t swim, and that’s where the weakness comes from...
As always this is wide open for debate and correction!
Edit:
I suspect that Kaidou is Uranus. As Uranus is the god of the sky and Posideon is the god of the oceans, I posit that if Shirahoshi is Posideon then Kaidou is Uranus.