For example, one bitcoin from address A to address B, then from address B to address C,
Assuming that prior to the transfer from address A to address B, no bitcoin had been sent to address B.
If the above is broadcast in the same block, would address C receive the bitcoin?
Yes, this is possible. This is seen happening today in MtGox’s green address implementation. The two transactions are not guaranteed to be included in the same block, because the second transaction has a lower priority for miners to include it; but it’s possible, and seems to happen in a lot of cases.
Quoting from MagicalTux:
Actually if you look at : http://blockexplorer.com/address/1LNWw6yCxkUmkhArb2Nf2MPw6vG7u5WG7q
Look at transactions 597d00408b… and 557c87f205….
597d00408b… is “A to B”
557c87f205… is “B to C”
Both happened in the same block, which is the expected behaviour.
Previous tests did not always end in the same block, so I believe some miners may consider the second transaction lower priority as it involves not yet confirmed coins. In the case of those two transactions it was as fast as a normal transaction, but it cannot be guaranteed in 100% of the cases.
If we look at the previous transactions we can see it was sometimes coming out with a difference of 1 block, or even more. If pools could put priority on green addresses it’d (mostly) solve this issue.
You can also pay a higher fee on the second transaction in order to compensate for the lower priority.