Free TON

Contest Proposal: Validators Nodes World Map Visualization [05 october 2020 - 06 november 2020]

Short Description:

Ideas of ​​decentralization, is a key feature for FreeTON project. It is important, that the project not only talks about such ideas, but also demonstrates that it adheres to this concept. The basic elements of TON network is validators nodes, that theoretically should be geographically located in different regions. Now is not exist simple visualization, that shows a world map for proof that nodes are located in different places and not concentrated in one datacenter.

Main idea of this contest is to find solutions for fetching geolocation data, and proof that this data is useful for map construction.

Motivation:

For initial validators - this map needed on FreeTON site, as demonstration, that the project adheres to decentralization ideas, and validators servers are really distributed across regions.

For users - possibility to watch, that project involves many servers across the world.

For validator node owners - as ability not trust initial validators and possibility to check common information about decentralisation independently.

For potential validator node owners - possibility to find the better place for new node, and achieve decentralization at same time.


( this is dns root servers map - for example )

Exist two cases for use this solution:

  1. initial validators must collect and provide this information as world map visualization on FreeTON sites.
  2. validators owners and simple users must have solution for check site (initial validators) information.

Basically it is DevOps contest, as proof, that this data possible to be collected and visualized via modern common systems, complete implementation makes no sense, because map is not a separate, independent resource, it is a part of site and must be based on API and common design conception, specified for site. Design contest also possible, but must be initialised from site developers who can provide requirements for API, JavaScript libraries and design. At same time it is useful for validators owners and simple users as proof of decentralisation.

Dates:

00:00:00 05.10.2020 UTC - 00:00:00 06.11.2020 UTC

General requirements:

  1. possible to running all components on current infrastructure (one validator node must be sufficient for processing data collector + database + visualization, data from external corporate firewall is not an appropriate solution).
  2. possible to running components separately (data collector, database, visualization must be possible to be running on different computers), for possibilities to realised follow architecture: 2 nodes, one database, one visualization.
  3. possible to be scalable horizontally (for redundancy, and production ready, for possibility be useful as data source for main FreeTON sites)
  4. compatible with one of modern visualization systems (Grafana | Kibana (ELK part) | Apache SuperSet | etc…)
  5. compatible with one of modern JavaScript world map visualization library (Leafletjs | etc…) a simple map based on Leafletjs library for demonstrate possibility to query data via API (database query example needed as example and base for possible further contest, with design and api requirements)

Participant must show:

  1. PDF - describing the technologies used and their advantages, as well as the correspondence of the points, specified in the requirements.
  2. winners applying for the award must provide for community source code and deployment guide for they solution.
  3. link for working example also possible.

Rewards:

1 place — :gem: 40 000 TONs

2 place — :gem: 20 000 TONs

3 place — :gem: 10 000 TONs

Jury:

Jury should be formed from the community members with high technical knowledge and experience

Initial members whose team(s) intend to participate in the contest lose their right to nominate a jury member.

If the competition is approved, I think it is possible to implement voting through a special tool, which will already be implemented in the blockchain for competitions

Jury rewards:

An amount equal to 5% of the sum total of all total tokens actually awarded to winners of this contest will be divided equally between all jurors who vote and provide feedback. Both voting and feedback are mandatory in order to collect this reward.

13 Likes

Good idea. Node map can show how decntralized FreeTON is. But many peoples use same cloud servers (OVH and others). Therefore, map cannot show in which countries nodes owners are located. But it can show how many people host their node on own servers.

It’s a great idea. However in the proposal description should be set details like how often a map should update, which platform should be used and etc…

That is a good question.
At first - i have not complite solution, only some of parts seems that working.

At first - most simple way to reliase this map is implement tracker in validator-engin, that by timer will be send simple http request on special address. Also response must be that data on map must be real time. But it is wrong solution because it broke blockchain conception.

Exist another ways - to fetch data from node network traffic, or fetch data from DHT ADNL table.

follow documents, that explin how ADNL working:
https://test.ton.org/Validator-HOWTO.txt
https://test.ton.org/ton.pdf ( 3.2.14. Locating abstract addresses. + 3.3.1. Overlay networks. )

that discribe that:
“Notice that in order to make an abstract address “public” (reachable from any nodes in the network), its owner must either use it as a semi-permanent DHT address, or publish (in the DHT key equal to the abstract address under consideration) an input tunnel description with another of its public abstract addresses (e.g., the semi-permanent address) as the tunnel’s entry point. Another option would be to simply publish its IP address and UDP port.”

That mean that data in dht is not easy useful for obtain ip data about network.

I did not find solution how to see this dht table, and do not know how it is look like.

That mean that another way to fetch ip addresser is fetch network traffic data.
It is also not simple, because during work, node connecting only with 5-10 another nodes addresses, and database filling is not quick.
в дополнение к этому присутствует шум в виде одноразовых пакетов - от сканеров портов.

But, this method does not violate the concept of the blockchain network about privacy, and uses conditionally “public” data, that available for providers, attackers, or simple node owners.

According this, the answer:
one node per day can fetch data about 5 addresses
300 nodes - full nodes | validator nodes | simple nodes, that is not validate network
300 / 5 = 60 days for fetch all ip addresses
at same time possible situations whan addresses can be used repeatedly, that why i propose 60 days * 1,5 = 90 days (3 months)

also contest contain follow architecture description:
2 nodes, one database, one visualization,
it assumes that data can be collected faster due to the number of nodes involved in the scheme.

And again - i have not complite solution, i am still do research and do a lot of changes in my schema. And of couse possible that someone know another, and more simple, or not ways for building map like at contest describtion.

2 Likes

Hello. For this purpose, a VPS server is suitable for starting a node. It is better to arrange a competition for sites where information on node locations will be displayed. Update information every day, for example. The award is not too large? The reward is very high. It is better to distribute it by months throughout the year, for example. Vesting mast have! Costs: server rental, website, hosting, time and effort spent.

The reward is small, there is a lot of work and support of the resource is necessary. All prize-winning places can provide their services and users will have a choice which service is convenient for them to use. So it is necessary to calculate all the prizes with support for one year with the possibility of prolongation for another year.

It depends on the level of the job and the platform that would be chosen to execute it. We would be glad to participate in the contest, however we would rather not build a simple web map, but an interactive dashboard with key indicators, trends and dynamics, built on either Qlik or PowerBI platform. It would also involve the requirement to parse data through ADNL, as well as a number of other technical challenges. Therefore, implementation on a desired quality level would require a significant effort and financial resources. The contest prizes do correspond to the participants’ efforts. Due to the fact that the expected level of contest competition is rather high, I would suggest increasing number of the final prize winners.

2 Likes

@sdm can you send your tg contact in a pm?

1 Like

What about extend rewards?
Rewards:
1st place .…………………………………. 40,000 Tons
2nd place ……………………………………. 35,000 Tons
3rd place ……………………….…………. 30,000 Tons
4th place ……………………………………20,000 Tons
5th place…………………………………….15,000 Tons
6-10 place…………………………………….10,000 Tons each

1 Like

very likely that the competition is fierce :slight_smile: I think it is appropriate!