Implement lottery
To attract users to create more transactions, we can implement lottery in the system.
In the lottery, every user buys a ticket with a fixed price and enrolls in the lottery. The price of the ticket paid by the user is added to the prize pool. A user can enroll multiple times but needs to create separate transactions for all of them (This requires support for multiple transactions in the same block, therefore can be discussed) .
After a minimum number of users are gathered and a minimum amount of time has passed, transfer the tokens in the prize pool to the winner that is selected randomly.
Ideally, I'd like to increase the volume of transactions between actual people. However, this might fit into the "testnet" phase since it can be driven by low number of people, even 1.
Which reminds me, the project desperately needs a way to switch between different modes of operation. I can implement the lottery system after that, since there is a need for multiple game scenarios (between different semesters and between testnet and realnet (?)). That will be a separate issue though.
Let's put this on hold and reopen it once the mode of operation switching is implemented.
I see, transactions between actual people requires a different approach for creating incentives. First idea coming to my mind is to allow exchange of different types of tokens, similar to Decentralized Finance. This idea is also suitable for "chaos mode" that is mentioned in TODO.md