  Randomness plays a pivotal role in modern online gaming, but disputes have
arisen over the accuracy of stated winning chances, resulting in legal issues
and financial setbacks for gaming companies. Fortunately, blockchain-based
games offer a solution to the transparency and fairness issue regarding
randomness. Furthermore, emerging blockchain technology like Sui Network
enhances the efficiency of smart contracts by eliminating traditional web3
barriers, such as inefficiencies and expensive transaction fees. This unlocks
the potential for extensive decentralized gaming applications.
  This paper aims to provide insights into designing a fair, verifiable, and
efficient smart contract game on blockchain by the example of building raffles
on the Sui Network. We explore efficient methods for implementing randomness on
smart contracts, including DRAND committee-based decentralized random beacons
and single private-key-based verifiable random functions (VRF). Then, progress
from basic to comprehensive smart contract design. We addressed limitations in
developing blockchain games in general, such as data input and storage space
constraints.
  We propose corresponding solutions, encompassing the utilization of Object
Tables, Delegate Object Creation, and Zero-Knowledge Proofs (ZKP) to optimize
storage and input efficiency. After testing our designs, we found that the
transaction fees for DRAND beacons and private-key-based VRFs are similar.
Moreover, Object Tables incur higher overall transaction fees, while the ZKP
setup fee is cheap but becomes very expensive during the verification process.
Moreover, we identified suitable designs for different application scenarios by
comparing the pros and cons of different smart contract implementations. Our
findings provide valuable guidance for future researchers and developers in
building random, fair, and verifiable games with smart contracts.
