Our progress is far better than expected in developing a workaround for random number generation under blockchain environment! Here is the brief description how it works. If you have installed MetaMask in Chrome or Firefox, welcome to have a try in this technical demo by switch to Ropsten testnet: https://eth888.io/games/HooHeyHow/index.html You may get some Ethers from this faucet: https://faucet.metamask.io/ There are three major concerns in design: convince the players that the decision made by the platform was before them players can contribute their inputs to affect number generation players are unable to control the result For point 1, we provide a SHA256 encrypted hash to the players before any bets placed. The key to this hash actually is a random server-side seed (a long random string) generated from a centralized world (a private client node in Ethereum network). The seed is already stored in a private database (no public end-po...
It is really awesome that Ethereum support easy-deployment of smart contract by individual developers! The language / script is using called Solidity. However, unlike coding in ordinary environment, it is running in blockchain network, so we don't have a function simply to seed and generate numbers, as all outputs from blockchain network are deterministic. Blockhash This is an approach for games which are merely for fun or with a relatively small bet, as its number generation algorithm is transparent and shown in the smart contract and also its inputs, like blockhash (an unique long text for labelling a block) and block number (completely deterministic). Normally, blockhash is unpredictable but if the bet is extremely large or worthy, miners can choose to whether publish a new block to the network, so they can have some degrees of control in blockhash generation for result manipulation. Here is a simple: contract random { /* Generates a random number from 0 to 1...
By extending our existing technology, we now support slot game genre as well, time for confirming one round less than 3 seconds! Another core issue is, how we can let player validate the result. Prior to each player's decision, hash of game result seed is given for result verification and also player can submit their own seed too for affecting the final result. Transaction records of each game are accessible for future verifications. Here is the validation page for confirmed results, which is 100% transparent, hosted in an independent third-party JS portal (jsbin.com).
留言
張貼留言