This is probably obvious to some of you on here, but I'm a beginner. I recently read the lightning network whitepaper and its very unclear to me how the lightning network addresses the double spend problem without broadcasting transactions to the public blockchain. Can someone explain this to me?
To use the example in the white paper, if Alice and Bob are sending BTC back and forth to each other through a secure payments channel, I agree this provides Byzantine fault tolerance in a two-person economy of just Alice and Bob. Moreover, I agree this solves for scaling issues currently present in Bitcoin. My understanding here is that the net result of Alice and Bob's transactions are posted to the network at some later date, which is what solves the bitcoin scaling issue. That said, if the transactions of Alice and Bob are not immediately broadcasted to the network, then why can't either of Alice and Bob double spend with another party, Cindy? Provided that either of Alice and Bob transact with Cindy before the wallet states of Alice and Bob are broadcast via the blockchain, then there is no way for Cindy's wallet to be "aware" of whether Alice / Bob's wallet state has sufficient bitcoin for a transaction with Cindy. For this reason, I don't understand how double spending is avoided and why Cindy can be sure that Alice / Bob aren't cheating Cindy in a transaction.