I have two PhD offers. Can I accept one while waiting for the grades for my preferred option without the latter finding out? Basically I was offered a PhD after my bachelor's degree based only on my performance in the BSc but I enrolled on an MSc and kept this offer as backup.  I have been offered another PhD but it is based on the MSc results rather than the BSc results.  The second offer are asking if I could accept the offer sooner rather than later, but obviously I don't want to refuse the first offer just yet as I know that it is guaranteed.  If I email the second offer and say that I want to accept, would the supervisor who made me the first offer somehow know that I had accepted the other offer and withdraw his offer?  I do not want to turn down the first one if I have not received my MSc grades.  I assume that different universities would not correspond over this type of thing, but I don't know for sure, and I did tell the people who gave me the second offer that I had already received an offer elsewhere and which university made that offer: is this all confidential or could they inform the people who made the first offer?

Obviously, if I don't meet the conditions for the second offer, I could then fall back on the first offer whose criteria I have already met.
You should contact both programs and openly describe the situation. 

Each individual academic field is fairly small, and academics do regularly talk to each other. Reneging on an offer will tarnish your reputation. Even if you successfully pull off this stunt, you will earn some enemies, which can bite you later (e.g. seeking jobs, applying for grants, etc).