BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

The past of Cosmos: Incentivized testnet, node attack and defense, and "cartel" debate

stakefish
特邀专栏作者
2020-04-11 07:12
This article is about 4920 words, reading the full article takes about 8 minutes
Look for revelations in a different kind of 'Race to Race' story before GoZ kicks off
AI Summary
Expand
Look for revelations in a different kind of 'Race to Race' story before GoZ kicks off

textCosmos’ new incentive testnet GoZ (Game of Zones) is coming soon, and the past of participating in the Cosmos GoS (Game of Stakes) competition a year ago is still vivid. GoSIt is the first of its kind, whether it is the form of confrontational competition or the participation of the community, it has provided a lot of reference and inspiration for many subsequent mainnet launches, and it has almost become a "prescribed action" before the mainnet release.

Not only that, but different forms of "contests" between GoS nodes are also full of stories. stakefish would like to share an article published by Certus One, who was the winning team with stakefish, before the start of the 5th stage of GoS, that is, when the incentive testnet is coming to an end, for everyone to learn about a piece of Cosmos history, Feel the enthusiasm for building verification nodes, and gain reflections and inspirations on governance from past experiences of confrontation.

Time flies. At that time, stakefish ran two nodes including the test node in the name of bitfish, but now it has grown into a staking service operator running more than 20 nodes. Let's flash back to the Cosmos world before the mainnet launch by reviewing the "bitfish's Official Response To GoS 5" published a year ago.

Hello everyone, we are bitfish, the organizer of alliance.fish, and the node operator of the GoS competition. We aim to accelerate the mainstream adoption of blockchain technology. Cosmos is exploring and solving major issues such as scalability and interoperability in the process to achieve mainstream application goals, and we have therefore been actively contributing to the network. We now want to give the community, validator partners, Interchain Foundation, and the Cosmos team a proper response to clarify the issues raised in an in-depth article by Certus One and Joe about our involvement in GoS.

Certus One and Joe's blog post

The quality of the article is very high! We're really happy to see Certus One and Joe writing quality articles about our node running. Although this exposes our position, it is beneficial to the healthy development of the entire Cosmos network, and it also allows us to see the prospects for future network development. We can expect a similar level of scrutiny of nodes after the mainnet goes live to ensure that successful achievement of goals.

Analysis of Certus One and Joe's blog post on the discovery of a "Cartel"

Note: Cartel originally refers to a monopoly in the form of an alliance. In the pBFT network, it refers to the situation of controlling more than 1/3 or more than 2/3 of the nodes.

As a participant in the Cosmos ecosystem, we hope to contribute some insights into the development of the network through this response. Knowing more information is the key point, and we will provide as much detail as possible in our response, in order to achieve a more level playing field for all nodes.

Gear up for GoS

The foundation of bitfish in the blockchain ecology originated from mining pools, and it plans to make similar contributions to the PoS field in the PoW field through staking pools and staking services. Along these lines, we wanted to experiment with how to run multiple nodes. We are very concerned about the rules and participation methods issued by GoS. Running multiple nodes is allowed by the GoS rules (we will explain in detail later).

So we started reaching out to family and friends to encourage them to sign up. We hope to simulate the staking service that meets the requirements as much as possible, so we will not interfere with the normal KYC process with false ID documents. We stopped registering when our nodes were almost over 33% of the total number. And since we want to participate in stress testing all aspects of the universe, we don't want to directly control 33% of the network power.

We accounted for 28% of the initial 253 applications approved by the GoS. Our infrastructure team worked non-stop over the holidays to make sure we were able to keep 70+ validators and more sentinel nodes, relay nodes, and monitoring servers (hundreds of machines in total) up and running.

Open alliance.fish

Inspired by the idea of ​​steak.zone, we also wanted to invite more verification nodes to join. We believed that sharing and cooperation could multiply our knowledge and experience, so alliance.fish was born. The design team came up with an awesome piece in one day and even added an easter egg to the alliance.fish page.

We promoted alliance.fish at our meetup in Seoul

We invited a well-known validator to join the consortium and it was exciting to learn that they are leading another set of validators. But shortly after, we were surprised to find out that validator was leaking information about us to another consortium of Cosmos validators and the top and most vocal validators in the GoS chat room. This really makes our blood boil, the confrontation has begun, we need to prepare various fortifications, and even prepare to defend against off-chain social engineering attacks.

From the beginning of GoS to Phase 3

Before the start of GoS, we have done enough preparations to join the network with a 28% share, and set a goal to protect our network share.

Our development team continues to improve the node performance of GoS, which accelerates the speed at which we accumulate network rewards, and avoids nodes being punished, which also increases the proportion of our network power. To our surprise, we far exceeded our initial goal, achieving over 55% of network power on GoS Phase 3.

This strengthened our confidence in attack defense capabilities and management node capabilities, and then further tested our capabilities and tried some small attacks. We conducted a successful, ongoing "censorship attack" against other nodes using one of the nodes we operated and went undetected for some time. We do not deploy such attacks on a large scale because we do not want to compromise the entire network.

As we explore further experimentation and stress testing, Certus One also published their blog post identifying and recommending a fork to remove our node. Certus One's findings are also verified in another way in Joe's blog. Subsequently, multiple nodes began to support the fork proposal on Github and the Roit channel of GoS. Alas, it looks like our experiments and stress tests on the network will come to an end here.

our harvest

We have learned a lot in the past month and participating in GoS has been a successful experience. We were even more convinced that we were on the right track when other validators started asking us for help with device configuration and node setup via Riot channels. We have given them a lot of help, and believe that this can promote the overall healthy development of the Cosmos ecosystem. Now that we have disclosed our identities, we will take the initiative to introduce ourselves in due course.

Passing some hardcore data also makes us feel that the effort is worth it.

Looking at Certus One's graph of total token count, out of the top 20 nodes we are running 11. All 70+ nodes we run are in the top 80.

The red part in the figure represents the node we are running

Based on the data about pre-commits from Hubble (a tool developed by Figment Networks), there are 9 of our nodes in the top 10 of the total. Only Certus One exceeds the data of our nodes. Similarly, almost all of our more than 70 nodes are ranked in the top 80 of the total number of pre-commits.

There are more than 70 nodes behind Certus One in the number of pre-commits :)

Note: pre-commit refers to the vote of the verification node on the submission and signing of the block. The larger the number, the more stable the performance of the node.

our opinion

I believe the above has given you a clear outline of our participation in GoS. Now, we want to share some views and insights here.

1. Certus One's reason for excluding our nodes is not reasonable

The only claim that GoS 5 has any merit is that we violated the registration rules, but we strongly dispute this allegation.

We asked friends and family to help with the registration process, asking for help from real people. We want to promote the development of staking pools and node services in the progress of GoS, which is not prohibited in the rules of the Interchain Foundation. The only part of the rules that requires our close attention is the following:

Screenshot from the following link: https://github.com/cosmos/game-of-stakes/blob/master/RULES.md#disqualification

The Certus One blog post doesn't say a word about this entire registration rule above. We hereby specially remind this sentence "If you simply register an account for a friend, and then delegate or transfer all tokens to one or a small number of nodes, then all relevant participants will be disqualified." And we All nodes running have never transferred any tokens to each other.

We also noticed that Certus One was preparing a blog post earlier to expose all of our nodes. They admit they didn't release it then because they were waiting for us to attack the network. Now that it's clear, they've been waiting for a "good reason" to propose a fork.

We've noticed earlier that Certus One is preparing a draft article about it. We were impressed, but we felt there should be a better name than "Asia Cartel".

We started the GoS journey with less than 30% of the network power, and nearly doubled the network power through continuous optimization of nodes. Should we stop optimizing just to get stuck below the 33% line?

The nodes we run also avoid any "lockdown" penalties, and even help them out by receiving on-chain transactions from other validators. By any objective standard, our entire participation in GoS has been good and helpful to the network. But now we're being demonized simply because of our ability to grow organically from 28% to 55% in web power.

2. Governance methods that lack proper processes are abused

There is no doubt that another cartel exists on the GoS network. The level of coordination from an article to the GoS Phase 5 fork clearly shows that a group of "vocal" nodes have conspired behind the scenes to fork at the "right time", albeit for no suitable reason.

Without proper governance processes to check, this group of nodes was able to completely disrupt the accusation-to-execution process. Certus One combined the accusation and the resolution into a blog post, and did not give community members independent time to think and judge the next step, but rushed to move forward with a decision. No one communicated with us during this process. The group, led by Certus One, essentially acted as judge, jury, and executioner all at once. Basically, we were sent directly to the guillotine without a chance to go to court.

There are other possible solutions than adopting this "off-chain" fork. For example, we can completely solve this problem by voting on the chain. What we want to tell the community is to be wary of those clamoring for a hard fork. They set a bad precedent. A friendly approach should always be the first choice.

3. The distributed way we run these nodes is a possibility in the real network

Centralized distribution of network power among a small number of "whales" is possible in PoS networks. These whales can designate an entity to run a node for them. That's probably pretty close to what we're running at GoS. It is possible that we are helping to rehearse a possible scenario. It would be naive to think that our participation in the GoS could not exist in the real world.

4. We did not disrupt the Cosmos network

One point to make is that we have not done anything detrimental to the Cosmos network. We have invested a lot of resources in GoS, and continue to improve the setup, which only means that our setup will be the most powerful one on mainnet.

write at the end

write at the end

GoS was a wonderful experience and gave us enough confidence to run a secure validator on the Cosmos mainnet.

We would like to thank Zaki for his time and effort in maintaining the GoS contest. Thanks to the Cosmos team for their unremitting efforts to stabilize and improve the network. We are very confident about running a mainnet node in a few weeks. We also won't be participating in GoS Phase 5 (we have no other choice for this off-chain review :p). We'd love to continue experimenting with the web, and we're happy with what we've achieved at GoS.

Node friends, I hope you are doing well. We will continue to cheer on your stress tests on the Cosmos network, and we will continue to see each other on the mainnet. Excited to share our knowledge and optimize the node. Community members who have not participated in GoS are also welcome to contact us. We are willing to share our expertise in node setup with validators who have ideals for the future.

Thank you to our development team and all the team members who have given us the GoS lead. Please continue to explore the footsteps of ecology! Goodbye, thanks for the happy time with us!

After reading this article a year ago, can you still feel some of the "smell of gunpowder" on the incentive testnet at that time? Fortunately, that was only a short time away, stakefish won the recognition and won the GoS competition. Stakefish will meet you as scheduled after the launch of the Cosmos mainnet, and has maintained the number one node ranking for a long time.

text

Cosmos
Welcome to Join Odaily Official Community