Thu. Oct 28th, 2021
    Rust Cup, Free TON

    Rust Cup ended with a world speed record and combat debugging of innovative Free TON solutions. You can judge the epochal nature of the event by the scale of the work done, the geography of the participants, and the contest duration, as well as by the results achieved.

    Free TON HOUSE asked the race organizers and participants — CTO of TON Labs Mitja Goroshevsky, senior data scientist, and TON Live Blockchain explorer product owner Sergey Zaitsev and several teams of validators — about how the race went, what were the scores and conclusions.

    When it was announced in early 2021 that a large-scale Rust Cup validator contest was about to launch, the goal of the race was imagined quite simply to participants and spectators — testing a new node written in the Rust programming language. The organizers had about the same expectations:

    To be honest, when the contest started, I thought we would just launch the network, load it up and show the result that we would have at that time.
    Mitja Goroshevsky

    Reaching the Stratosphere

    As a result, validators tested the new public network node, overcoming post-launch difficulties. Unlike the C++ node that was debugged during the Telegram Open Network project, the new software, which had been developed over the previous few years, needed tweaking literally during the contest. And its configuration, together with the rest of the system, opened horizons that were impossible to refuse and which increasingly expanded the front of the required work.

    By analogy with rockets, we had a plan to accelerate the first stage, but as a result of debugging it, we assembled the whole rocket and decided to reach the stratosphere. And we have done so.
    Mitja Goroshevsky

    Sergey Zaitsev recalls the process step by step with nostalgia:
    “The first five months, from February to June, took a so-called warm-up when RustNET was simply brought to a state so that it would be possible to hold a contest in it. You can even single out a separate stage in this warm-up — February-April — the stability of the Rust node network with a validator was achieved. The network could more or less exist for a long time already”.

    One Size Fits All

    The second task of the contest was to practice dynamic slashing in the main network, the work of which was supposed to place the race participants in the prize places.

    But, as it turned out, without a serious load in the contest, slashing punished primarily those validators whose work differed in minor nuances not directly related to network security, such as ping or distance from neighbors.
    Sergey Zaitsev

    From May to June, slashing was tuned, and as a result, it became apparent to the organizers that for it to be used effectively on the main network, such fine-tuning was necessary, which was not originally discussed. The organizers were preparing to remove from the network clearly “weak” participants, who simply would not have checked the blocks or turned off their nodes during work at all.

    Participants did not make such primitive mistakes, but it was necessary to slash someone, penalties rained down for the smallest nuances, turning the punishment into random.

    Slashing will be revised — the organizers unanimously assured us.

    It took May-June to debug this part, and in July the testnet operation revealed the next obstacle to achieving record-breaking performance.

    No One Else Has Such a Thing

    By July, the main network was debugged, but it worked on just one workchain. This was not enough to achieve record numbers. The next task was the introduction of new workchains working in parallel.

    And now, neither Durov nor anyone else had such a thing. We made a network with ten workchains and increased the number of transactions per second by 10 times within a month.
    Sergey Zaitsev

    An incredible amount of code was written, debugged, rewritten, refactored, debugged again, launched in combat conditions, tested, and so on in a circle countless times. At some point, it turned out that the guys simply did not leave their computers just out of excitement, even when I kicked everyone out to rest. We just told ourselves that we were going to the stratosphere, no matter what happened.
    Mitja Goroshevsky

    The result that the network achieved is not just a world speed record. Blockchain architecture built from the ground up demonstrates the ability for unlimited possibilities. According to Sergey Zaitsev, the blockchain can now put ten more workchains in RustNET, and ten more, and continue to increase the throughput. This is a huge competitive advantage of Free TON in relation to projects aimed at high speed of transactions. For example, in front of Solana, which achieved a result of 50,000 TPS in a test tube, only pushes Free TON to show the real throughput capacity of the main network. Or in front of the Cardano blockchain, which announced a prepared (but not tested) design for a million transactions.

    And so I say to myself, so you want a million TPS? Okay, we’ll show you a real million TPS. Or two. Or twenty-two. We will not lose this race in any field, including public opinion, we will respond to any chatter with an experiment!
    Mitja Goroshevsky

    Solana cannot do this, — adds Sergei Zaitsev — because they are already at the limit of their architecture capabilities

    So it is possible that although Free TON has no practical need for so many transactions per second right now, and it will be enough for a long time to have a single workchain that can reach 3,000-4,000 TPS, but perhaps there will be RustNET with more workchains to show that in the future Free TON has capabilities that exceed other blockchains by an order of magnitude. It is worth noting that, in the test mode of the contest, these ten parallel workchains were not connected with each other and cross-chain operations were not envisaged. Therefore, when the need for a multi-threading launch appears in the future, this connection will also be adjusted.

    Race In Two Runs

    In fact, the culminating part of the race itself took place in two stages: August 12 and on the night of August 31 to September 1. After it was announced its successful completion.

    Starting with a stunning network storm that almost shut down half of the European Internet — recalls contestant Sergei Tyurin all the way from February to August — in the end, we reached a speed record with fairly acceptable network traffic.

    Participants of FreeTON.one project – Dmitry M (CEO) and Axel F (CTO), are categorical in their assessments of what happened:
    A race in which validator nodes would compete in performance and latency nanoseconds, accumulating rewards and maintaining vesting, gaining or losing advantage, overtaking or falling behind their opponents; a race, 30 days of running, which would be the busiest and most exciting days for the entire global PoS community, defining the best under high load — there was no such race.

    The suggestion from FreeTON.one team is the following — to consider the contest that took place from February to August as large-scale testing of Free TON Rust Testnet and additionally hold the race itself to determine the best validators in races without random factors.

    Validator Sergey Tyurin expected it to be a contest of skills and abilities to select and configure servers, scripts, the ability to choose the best server and hosting location, but the result was a simple roulette.

    It’s like when a meteorite hits the starting grid and blows away half of the participants — Sergei Tyurin continues comparing it to car racing.

    To get rid of the sense of injustice, the organizers have already promised to revise the system of rewarding participants.

    My suggestion is to change the structure and give out much more rewards than originally intended. This is justified by the fact that a large number of validators have supported the network for many months and it would be simply unfair to deprive them of their rewards, even if they are not in the top 200.
    Mitja Goroshevsky

    The top 200 is now available at the link, but for the reasons stated above, this data must be taken with a degree of convention.

    Aftertaste And Tips

    What are the emotions of the participants now — we asked the validators. Everyone we contacted had participated in the Rust Cup from the beginning, and some even agreed to share information about their hardware configuration.

    How wonderful that the contest is over! When you’re in a race state for over seven months, though, you get used to that state and start to get bored when you’re done.
    Dmitry Gachko

    Despite many difficulties throughout the Rust Cup, we reached a record speed. The network became more and more stable. I’m very glad to be a part of this testnet, which proved to everyone that Mitja’s approach to network architecture exceeds all the wildest expectations.
    Anatoly Ustinov

    During this time, TON Labs has done a tremendous amount of work to improve the node and the protocol — Sergey Tyurin agrees with him — and improved the DApp server to the state that it was able to withstand a record-breaking load.

    Anatoly Ustinov gave advice on hardware using the example of the machines they had assembled together with another participant, Roman Matusevich.

    Processors — one AMD Ryzen9 5950x machine. The majority was on the Epyc 7502p
    Summary — 5950x is perfect for the first time for Rust mainnet
    Memory — from 128 to 300+ GB. As a result, Anatoly Ustinov did not need that much memory. He kept it in reserve in case of memory leaks and other potential problems. But the node was optimized so well that this did not happen.
    Storage — NVME from 2 to 4 TB. To reduce the load on solid-state drives.

    Dmitry Gachko about his hardware:
    90% of the machines are CISCO UCS B200 servers — CPU 2 x 24 cores, RAM 256Gb, located in Amsterdam and Moscow. The main changes concerned network connectivity and bandwidth. Unfortunately, in the first versions of the node, some errors led to traffic amplification – channels were full, for example, once we used over 20 Gbps at one location, as a result, we had to shoot nodes IP addresses to black hole. We increased channel bandwidth, but due to subsequent optimization (developers started using data compression), it remained unclaimed. Because of the large reserve of the computing power of the node, no performance issues were noticed.

    Rust Cup — What’s Next?

    Now that we’ve managed the speed, it’s time to deal with security!” — said Mitja Goroshevsky at one of the AMA sessions. Magister Ludi and Rust Cup gave the project an impressive team, technologically equipped for the most serious achievements. Speed records and unique architectural solutions, validator teams all over the world — Eastern Europe, South Korea, France, China, America — in less than a year and a half Free TON project has gathered an impressive collection of achievements and continues its way in the stratosphere.

    26
    0