Immortal Lottery

The Immortal Lottery is a project which serves three main goals:

  • Replace a standard "Hello world" definition of sanity tests with a better one applicable for financial applications such as smart-contracts
  • Introduce a "Proof of Research" conception
  • Ensure a flow of funds for the Callisto Security Department

About

What is the Immortal Lottery?

The Immortal Lottery is an abstract set of rules designed to define a viable Decentralized Application that can be used to test the capabilities of various development platforms during its implementation.

The reference implementation will be written in Solidity and deployed at Callisto Network mainnet. The tokens will be distributed among the participants of the Callisto Network through the airdrop.

Whats wrong with "research"?

The crypto industry is developing very quickly. This is one of the most advanced and newest areas of human knowledge, and therefore everything that you knew a year ago can be hopelessly out of date.

For us who work with smart contracts and security, it's critical to stay informed about everything around. We need to keep track of all alternative smart-contract platforms, their capabilities and downsides.

However, the "research" term is usually negatively perceived by the community. In our industry researching is often used as an excuse for the lack of activity. "Why are there no news? - We were busy researching"

Now it's time to introduce a new type of application that can serve as generalised benchmarking tool for every investigated smart-contract development platform as well as provide a living proof of the research being done.

Why Lottery?

The application was selected based on the following criteria:

  • It must be viable. Nobody cares about "hello world" programs when dealing with smart-contracts because blockchains are about money and business logic.
  • It must be "immortal". The application must independently function requiring zero interference from the creators side.
  • It must be complex enough. The DAPP must challenge critical parts of the development platform and expose its bottlenecks and shortcomings.
  • It must be usable. The application must pose some interest for users.

So far, the Telegram lottery bot has proven to be one of the most usable tools in the ecosystem that users keep interacting with. As the result, it was decided to implement a similar on-chain application.

Lottery & Tokens

The Immortal Lottery Dapp implements a special token ($IML) used to claim fees from every lottery round. In order to take part in fee claiming users need to "stake" their tokens in a special reward pool contract.

The lottery allows users to deposit CLO to the contract. Users funds are added to the "prize pool". Each user has a chance to win the total prize pool (with a %fee subtracted) which depends on the users deposit size compared to deposits of other users.

The %fee goes to the additional staking pool. It is redistributed between token stakers proportional to their shares.

Immortal Lottery contracts

The Immortal Lottery DAPP will be composed of multiple parts.

  • Lottery contracts. These implement the logic of a gambling DAPP.
  • Entropy. These contracts will serve as a source of entropy since there is no built-in randomness feature in the EthereumVM.
  • "Reward pool". The contract will serve to redistribute fee revenues among the token holders.
  • IML Token. The token allows its holder to claim fees from the lottery prizes.
  • Signup contract. Used to connect token holders accounts to their accounts at alternative chains.

The Goal

The reference implementation of the Immortal Lottery will be written in Solidity and deployed at Callisto Network mainnet. After that the functioning system of the contracts will stay there unchangeable.

When we will need to research the capabilities of a new development platform for smart contracts, we will rewrite the lottery code for this platform and deploy it. As the system is intended to have tokens - we will airdrop the tokens on a new chain according to the "registered" accounts at the Callisto Network every time a new version of the lottery is launched at a new chain. A user must create an account at the new chain and assign his newly created address to the already-existing address at CLO chain in order to receive the airdrop.

What is the Immortal Lottery?

The Immortal Lottery is an abstract set of rules designed to define a viable Decentralized Application that can be used to test the capabilities of various development platforms during its implementation.

The reference implementation will be written in Solidity and deployed at Callisto Network mainnet. The tokens will be distributed among the participants of the Callisto Network through the airdrop.

Whats wrong with "research"?

The crypto industry is developing very quickly. This is one of the most advanced and newest areas of human knowledge, and therefore everything that you knew a year ago can be hopelessly out of date.

For us who work with smart contracts and security, it's critical to stay informed about everything around. We need to keep track of all alternative smart-contract platforms, their capabilities and downsides.

However, the "research" term is usually negatively perceived by the community. In our industry researching is often used as an excuse for the lack of activity. "Why are there no news? - We were busy researching"

Now it's time to introduce a new type of application that can serve as generalised benchmarking tool for every investigated smart-contract development platform as well as provide a living proof of the research being done.

Why Lottery?

The application was selected based on the following criteria:

  • It should be viable. Nobody cares about "hello world" programs when dealing with smart-contracts because blockchains are about money and business logic.
  • It should be "immortal." The application must independently function requiring zero interference from the creators side.
  • It must It must be complex enough. The DAPP must challenge critical parts of the development platform and expose its bottlenecks and shortcomings.
  • It must be usable. The application must pose some interest for users.

So far, the Telegram lottery bot has proven to be one of the most usable tools in the ecosystem that users keep interacting with. As the result, it was decided to implement a similar on-chain application.

Lottery & Tokens

The Immortal Lottery Dapp implements a special token ($IML) used to claim fees from every lottery round. In order to take part in fee claiming users need to "stake" their tokens in a special reward pool contract.

The lottery allows users to deposit CLO to the contract. Users funds are added to the "prize pool". Each user has a chance to win the total prize pool (with a %fee subtracted) which depends on the users deposit size compared to deposits of other users.

The %fee goes to the additional staking pool. It is redistributed between token stakers proportional to their shares.

Immortal Lottery contracts

The Immortal Lottery DAPP will be composed of multiple parts.

  • Lottery contracts. These implement the logic of a gambling DAPP.
  • Entropy. These contracts will serve as a source of entropy since there is no built-in randomness feature in the EthereumVM.
  • "Reward pool". The contract will serve to redistribute fee revenues among the token holders.
  • IML Token. The token allows its holder to claim fees from the lottery prizes.
  • Signup contract. Used to connect token holders accounts to their accounts at alternative chains.

The Goal

The reference implementation of the Immortal Lottery will be written in Solidity and deployed at Callisto Netwrok mainnet. After that the functioning system of the contracts will stay there unchangeable.

When we will need to research the capabilities of a new development platform for smart contracts, we will rewrite the lottery code for this platform and deploy it. As the system is intended to have tokens - we will airdrop the tokens on a new chain according to the "registered" accounts at the Callisto Network every time a new version of the lottery is launched at a new chain. A user must create an account at the new chain and assign his newly created address to the already-existing address at CLO chain in order to receive the airdrop.

Road map

1-st step

A formalized description of the set of rules guiding the DAPP workflow

2-nd step

Reference implementation in Solidity

3-d step

Signup contract development for inter-chain airdrops

4-s step

Deployment of the reference implementation: Callisto Network mainnet

Platforms