Very new to this space, so forgive the lack of foundation knowledge. Looked at the yellow paper, but honestly the set theory in it is a bit more than I want to bite off right now.
I think I have an ELI5 understanding of DApps. They react to deposits (entry) of ETH, I understand that. They can do some process while they have ETH (execute), I think I get that. But what are their exit conditions? I guess for something like a ticketBooth.Dapp I get it, but for something like a crowdfund, what verifiable proof does the Dapp have to trigger its exit on.
For example... let's say I want a Dapp to fund a feature I want in some game. So I do same marketing and convince enough people to send the Dapp ETH. Now, presumably it will start a timer to refund the ETH if the time runs out, or reward it to the company that release the feature update for the game.
This is all well and good, but without centralized control, how does the Dapp know
- That the feature was really implemented and is not just shell-ware.
- Where to send the money when done.
Do the Dapp developers need to pre-seed these conditions into the Dapp before it is launched, and if so, how would it verify something like softwareQuality == GOOD?