For each round of the game, a random beneficiary is selected from the previous round's donors.
So, by donating to the current beneficiary, every donor gets the chance to become the next round's beneficiary. All donors contribute the same amount of ETH that is transferred immediately to the beneficiary (minus a small fee).
Once the current round ends, the next round is started automatically. This is guaranteed by the smart contract.
You can look at current round's details on the main page.
There is no money pool because all donations (minus fee) are transferred immediately to the beneficiary.
Furthermore, there is no "winner" in the same sense as in a lottery, because the beneficiary is chosen at the start of each round. Therefore, he/she gets no money unless people decide to donate. So there is no guarantee that the beneficiary gets any money at all.
Since by the time the first donation is made the beneficiary is final and public knowledge, donors know exactly who (more precisely: which Ethereum address) will receive their money; There's no element of chance involved in the donations.
What is legal depends on each donor's jurisdiction, so there is no easy way to answer this question.
The smart contract itself lives on the Ethereum blockchain (and thus works independently of this website). So, in a way it is everywhere and nowhere; it depends on the location of the miner that creates the respective blocks that contain Cillionaire transactions. Which country's laws apply in this case? To be honest: we're not lawyers - we don't know.
Donors must decide for themselves whether participating is legal in their jurisdiction.
The Ethereum blockchain is deterministic, i.e. nothing on the chain is truly random. So, to achieve true randomness, the random number must be generated off-chain.
The bottom line is that neither the owner of the smart contract, nor the miner, nor anybody else can influence the selection of the next round's beneficiary.
The service that is used to generate the random number for determining the next round's beneficiary charges ETH. Additionally, retrieving the random number costs gas (miner fee) which is also denoted in ETH.
So the fee is primarily needed to cover those costs and keep the game running. Once the current round ends, the next round is started automatically.
The smart contract enforces that the fee can not be more than 10% of the donation (but it can be less). This is to ensure that the bulk of the money will go to the beneficiary.
The fee is currently 0.0003 ETH or 3% of the donation. It takes 14 donors do cover the fee. Once the user base grows beyond that, the fee will be lowered.
This website is a front end for the smart contract, but does not contain any game logic. The smart contract handles the ETH transfers and cannot be compromised.
The only way the website could be compromised is if the donation transaction were to be hijacked such that donors' ETH would be sent to the hacker's address instead of the smart contract. The correct address is 0x663a5cA0295231B0d88afB1C557a8D8f4C1B6459. It is therefore important to check the recipient address before submitting the transaction in MyEtherWallet. It is also important to check that the transaction is indeed sent through myetherwallet.com. Please check the browser address bar to be sure.