The Crystal Game (Magister Ludi) [Finished]

There is truth, my boy. But the doctrine you desire, absolute, perfect dogma that alone provides wisdom, does not exist. Nor should you long for a perfect doctrine, my friend. Rather, you should long for the perfection of yourself.
— Hermann Hesse

Short description:

The Crystal Game will ask validators to compete in validation cycles recurrently in order to win the title of Magister Ludi . With each new cycle new winners will be announced.

Prizes: Prizes will be sent from Givers on Free TON to a DePool contract to each winner in amounts ranging from 750,000 Tons to 1,500,000 Tons (Subsidy), which will be returned over a period of 1 to 2 years, depending on the winner’s rating. Additionally, winners will receive a direct reward of 60,000 to 120,000 Tons vested over a 12-month period, also depending on the winner’s rating.

Type: Cyclical contest

Starting Date : June 16, 2020 as per table

Motivation :

To choose the best validators for Free TON

To provide additional long-term incentives for validation

To subsidize capital required to run high performance validators

To provide continuous motivation for supporting DePools as the main tool for decentralization

To disconnect the “staking” layer from the “validation” layer as much as possible

General requirements : Run at least one validator node.

Proposed reward: The total subsidized amount will peak at 300,000,000 Tons (6% of total supply). This amount may be increased in the future.

KYC : Any one team can earn a reward just once. No US residents can get a reward. Before reward distribution a moderate KYC procedure will be performed.

Rules :

List of all validators on the network will be obtained automatically. Each validator will be assigned a random, quirky pseudonym, but can change that name via a transaction to a special smart contract.

List is updated when a new wallet address is used to send messages to the Elector contract.

Note that if you are going to participate with several nodes under the same validator name, the average metric across all your nodes will be counted.

Contest participants are ranked by their score in real-time, and the data is available on the leaderboard at ton.live/leaderboard

The Magister Ludi title will be issued in portions up to 30 per week after the contests end, beginning with top rated winners.

Game rules may change at any time. Game conditions can be amended to any cycle by virtue of community voting; respectively, so may reward amounts increase.

Week 1 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : normal validation

Contest Metrics :

  • Metric 1: Uptime → Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency → max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-10

Week 2 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : network load

Contest Metrics :

  • Metric 1: Uptime → Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency → max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-20

Week 3 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : network high load

Contest Metrics :

  • Metric 1: Uptime → Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency → max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-30

Week 4 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : network overload

Contest Metrics:

  • Metric 1: Uptime → Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency → max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-40

Winner selection:

Up to 300 highest rated winners who achieve the minimal rating threshold (MRT) will be selected out of all those who participate. If less than 300 achieve this threshold, then only that number of winners will receive rewards.

MRT should be calculated as 35% of the average rating for all participants.

Disclaimer:

Anyone can participate, but Free TON cannot distribute Tons to US citizens or US entities.

Subsidy stakes will not be eligible for voting.

12 Likes

Great idea! It is important to support validators who protect our network.

Two initial questions:

  1. How does the system differentiate the already running nodes from participants of this contest?
  2. What would be the purpose of the rewards not being transferrable forever?
  3. Metric 2 needs to be revisited considering the fact that many nodes are staking 20k, 30k tokens somehow while others cannot. Perhaps, we could put a limit of staked tokens to 10001 for each node participating in the contest?

Thank you for coming up with thoughtful details.

2 Likes

Total reward sum should be much higher. Initially there was a discussion about distribution 200k x 300 winners = 60m. 1% is not enough for such an important contest.

5 Likes

I agree. As we understand, this validator contest should be a separate one from the 200k reward mentioned earlier.

2 Likes

I like the idea of this contest.

It will be good if not validators will participate in this. They will need online streams and reports during each phase.

It will be good if users can win tokens on the streams dedicated to the tournament.

I also like idea of betting on winner validators.

Can you please clarify the metrics:

Metric 1: Uptime -> Share of blocks signed by a validator (average if several nodes)

Is this metric affected by the speed of the validator, or just the uptime? More generally, what validator variables affect this metric? Also, it might be a good idea to simulate some level of DDoS attack against candidates to test their DDoS protection before granting them them the Magister Ludi title. The master chain shouldn’t be easily DDoS’ed.

Metric 2: Staking efficiency -> min {1; Ave amount recovered/ Ave stake)

What validator variables affect the staking efficiency? Does the amount staked affect this metric?

Also, can you please clarify this; “Note that if you are going to participate with several nodes under the same Validator Name the average metric across all your nodes will be counted.”

In what case would multiple nodes have the same Validator Name? If multiple nodes have the same Validator Name, will they have to share the reward, or will they each get the full reward?

I want to be sure I get into Waldzell.

4 Likes

Sounds good, but what about the start date?
This Monday, the 8 of June, will be a reasonable date to start.
Validators are ready, DevOps contest is finish. Yes, we, DevOps, for development, we use minimum server configuration. We want to create and already created, excellent tools, which will load your system for minimums.
So.
Do servers prepare? Seven days from the 1 of June is much time than we all have.
I think we must start this contest.

Start date - June 8

How many winners will be selected?

1 Like

That as well as the total pool is what we need to discuss.

Suggestion
We suggest adding another stage in this contest where all participating nodes are rewarded if they run for the entire 4 weeks.

Rational:
If we understand correctly, the primary purpose of this contest is to promote decentralization. Technical contribution in running the node more efficiently is indeed very important, but it is only meaningful if there actually are hundreds of people willing to run these costly validators.

Here are more technical reasons:

  1. non-winning participants are contributing just as much to decentralize the network;
  2. it costs capital to run the network, especially for those who have been running for many weeks;
  3. we have to prevent discouraging many who have started validating in hopes to receive the 200k TONs reward mentioned in the freeton.org;
  4. such rewards can encourage the losing participants to continue validating with lessons learned during the contest.

Therefore, a large portion of the rewards should be focused on getting onboard as many validators as possible to the main.ton.dev.

4 Likes

I think this is part of the game. Validators need to research this and act accordingly.

Most definitely. May be we should create another contest for Attacking Validators.

It means that running several node with the same key should not affect the Game outcome.

Same validator Key.

How about we design this contest in two major stages?

In the first stage, people are rewarded for participating, and we provide a stress environment for a week or so, so that validators can conduct experiments and share tips among the free community.

In the second stage is where the real contest begins that you’ve outlined very nicely above.

The first Round is for simple participation as not stress tests are performed.

All the running and validating nodes will be ranked according to the contest metrics. It is enough to participate in the elections for the first and following validation rounds during the contest period when it is announced.

Metric 2 is relative, the amounts earned are divided by amounts staked. So the stake size plays a large role during elections, but subsequently does not effect much metric 2. What is measured is effective participation in elections - not to lose elections, to utilize the full stake sent, etc. All such things maximize relative rewards.

1 Like

You @Mitja took part in testneta2 stress tests. The node didn’t leave any logs before it fell. It seems to me that as a result of past testnet2 network tests, you already know the server bottlenecks and it would be easier for validators not to reinvent the wheel, but to share information with them if it is available. This would probably speed up and simplify the tests.

2 Likes

Thank you for clarifying.

Then we would like to suggest half of the overall reward (ex: 100k tons each) to be distributed to every participant who successfully runs a node for the entire duration of the contest, up to Week 4, regardless of ranking, and under reasonable conditions. For example, the node must not be offline for more than 3 cycles.

The rest, half of the reward, could be used to reward the top 10% of the contestants according to the metrics outlined above. Then, we could ask them to write in-depth validator guides explaining how they won so that the entire community can learn.

This structure could provide sufficient incentive for technical talents to share their expertise while encouraging ordinary validators to learn to become more sophisticated.

3 Likes

Just to clarify, One Validator Name = One Validator Wallet. A contest participant will be sending stakes with various validator keys from one wallet over 9 rounds of the one week contest. If this validator runs say 2 nodes and sends 2 stakes with different validator keys per round, his uptime is average over these 2 nodes. Otherwise, he would sign more blocks than was issued in the masterchain. There are pros and contras of running 2 nodes. I think the main advantage is more stability as in any cluster. If you have one node down, the other would still be signing blocks. The main drawback is more resourced required to run 2 nodes for one participant. Therefore, it’s up to participants to decide.

I would like to propose amended contest terms which are the result of intense discussion with valuators community.

Short description :

Validators will compete in validation cycles of The Crystal Game repetitively to win Title of Magister Ludi . Each validation cycle new winners are announced.

The Crystal Game will ask validators to compete in validation cycles recurrently in order to win the title of Master Ludi . With each new cycle new winners are announced.

Prizes: Prizes will be sent from Givers on Free TON to a DePool contract of each winner in amounts ranging from 750,000 Tons to 1,500,000 Tons (Subsidy), which will be returned over a period of 1 to 2 years, depending on the winner’s rating. Additionally, winners will receive a direct reward of 60,000 to 120,000 Tons vested over a 12 month period, also depending on the winner’s rating.

Up to 300 winners who achieve the minimal rating threshold (TBD) will be selected out of all those who participate. If less than 300 achieve this threshold, then only that number of winners will receive rewards.

Subsidy stakes will not be eligible for voting.

Type: Cyclical contest.

Starting Date : June 15, 2020 at 12:00 PM UTC

Motivation :

To choose the best validators for Free TON

To provide additional long term incentives for validation

To subsidize capital required to run high performance validators

To provide continuous motivation for supporting DePools as the main tool for decentralization

To disconnect the “staking” layer from the “validation” layer as much as possible

General requirements : Run at least one validator node.

Proposed Reward : Total about of subsidized stakes at peak will reach up to 6% of total TON total supply (300,000,000 Tons). May be increased in the future.

Proposed reward: The total subsidized amount will peak at 300,000,000 Tons (6% of total supply). This amount may be increased in the future.

KYC : One team can earn a reward only once. No US residents can get a reward. Before reward distribution moderate KYC will be performed.

Rules :

List of all validators on the network will be obtained automatically. Each validator will be assigned a random Funny Name but can change that name with a transaction to the special smart contract.

List is updated when a new wallet address is used to send messages to the Elector contract.

Note that if you are going to participate with several nodes under the same Validator Name the average metric across all your nodes will be counted.

The contest participants ranked by their Score in real-time are available on the Leaderboard at ton.live/leaderboard

The Magister Ludi title will be issued in portions up to 30 per week after the contests finish starting from the top-rated winners.

Game rules may change at any time, conditions added to any cycle by a Community Voting. More rewards could be distributed.

Week 1 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : normal validation

Contest Metrics :

  • Metric 1: Uptime -> Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency -> max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-10

Week 2 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : network load

Contest Metrics :

  • Metric 1: Uptime -> Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency -> max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-20

Week 3 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : network high-load

Contest Metrics :

  • Metric 1: Uptime -> Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency -> max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-30

Week 4 (9 validation cycles)

Contest Network : net.ton.dev

Contest Mode : network over-load

Contest Metrics:

  • Metric 1: Uptime -> Share of blocks signed by a validator (average if several nodes)
  • Metric 2: Staking efficiency -> max {1; Ave amount recovered/ Ave stake)
  • Score: 1 x 2

Rating points : 1-40

4 Likes

The current validators on mainnet were allowed to have (at least) two nodes per team. From the DOD:

"Validator’s Declaration
By signing this Addendum to the Declaration of Decentralization, the undersigned Validator commits the following resources to the Free TON blockchain upon its launch as described in this document:

At least 2 Free TON Validator Nodes for a period of 1 year with availability of: 99,95%"

Therefore, I think we should allow other teams to have the same opportunity. I understand the importance of distributing the master chain validators to as many different parties as possible, but 2/300 is only 0.67% (very far from 33%).

Also, while there are currently 305 validator contracts deployed (per Stanislav’s excellent work in the validator channel), I suspect that many of these will not be mainnet candidates (people experimenting with multiple, low-cost, low-performance servers). I would guess that less than half of these 305 will have adequate capability for the master chain.

Furthermore, I suspect that many teams currently have multiple validators on the testnet. If we limit mainnet validators to a maximum of one per team, the total number of master chain validators will be “slashed” to an even lower number.

Allowing two validators per team:

  • Significantly increases the probability of getting closer to the ideal of 300 high-performance, reliable validators.

  • Does not pose any theoretical or practical centralization risk.

  • Has precedent, given that teams have already been allowed to have two mainnet validators.

(Full disclosure: I already deployed two high-end servers).

2 Likes