The Jews asked for a sign from Jesus (v 30), a sign such as bread from heaven. "Our fathers ate manna in the wilderness; as it is written, 'He gave them bread from heaven to eat'" (v 31).
Now comes the tricky part. Jesus wants to make a transition from discussing the origin of the historical manna to himself as the true bread of life; in v 35 he says, "I am the bread of life." He clarifies that it was not Moses who gave (δέδωκεν) the bread from heaven but his Father who gives (δίδωσιν) the true (ἀληθινόν) bread of life.
Did you see the two points of transition. "Gave" goes to "gives," and the "bread of life" goes to the "true" bread of life, and this brings us to the hinge verse. ὁ γὰρ ἄρτος τοῦ θεοῦ ἐστιν ὁ καταβαίνων ἐκ τοῦ οὐρανοῦ καὶ ζωὴν διδοὺς τῷ κόσμῳ (v 33). The (true) bread of life is that which comes down form heaven, and the (true) bread of life is that which gives life to the world. Or is it "he who gives life to the world"?
This is the crucial ambiguity. ἄρτος is masculine, so it could be the referent for ὁ καταβαίνων and for ὁ ... διδοὺς. But since the true bread is actually Jesus, the masculine participles could be referencing him.
Some translations keep the reference back to the ἄρτος. The NASB reads, ""For the bread of God is that which comes down out of heaven, and gives life to the world" (also NIV, NRSV) with a footnote on "that" saying, "Or, He who comes." The NET does the same with the text and footnote.
Others take the reader a little further through the transition to v 35 and see the referent as Jesus. "The bread of God is he who comes down from heaven and gives life to the world" (ESV, also CBS, NLT, KJV).
The flexibility of the masculine ὁ ἄρτος ... ὁ καταβαίνων ... διδοὺς makes the shift from the manna given in the past to the true bread of Jesus given now quite smooth and subtle. English will always lose something in translating this verse, and we have to make a decision as to referent, the bread or Jesus.
But this is why we learn Greek!