Could be a false flag, we don't know now and I don't think we will get the full truth.
If it was the Ukranians they would never admit to it as the bridge is used by civilians and civilians died in the explosion. The same reason why Russia won't admit to its own terrorist actions in Ukraine.
As for the explosives, besides corruption, one could improvise in all sorts of manners, especially with the know-how and resources of a state actor.