Terra Bot Prevention

The solution I suggested below for a change to Terra Station is not practical due to how bots interact with smart contracts and not the app directly. However, if Terra Station could read, sort, and filter transactions (make them searchable) individual protocols will be able to recognize certain types of transactions with the ability to blacklist a wallet address. Therefore, the ability to easily read transactions is the suggested change.

Hello LUNAtics,

As all of you know, Terra has struggled with launches of new protocols due to bots taking advantage of high frequency trading (HFT) that leaves the typical LUNAtic in the dust and disadvantages the ‘retail’ traders that wishes to support a new protocol, but also get in at a fair price while doing so. The main issue with attempting to combat bots is the nature of what the Terra community is trying to build, a truly decentralized network and community. If a centralized agency doesn’t exist to preside over each launch and look for suspected bot activity, how can there possibly be a way to prevent bots and those with deep pockets from taking advantage of the current system?

First, it is important to analyze how wallets with suspected bot activity typically act before, and during a protocol launch. As you have probably seen from new protocols launching on Terra, they will not provide an exact time for their TGE (Token Generation Event) or launch. They will pick a window and announce the actual launch via one of their social media channels to reach as many people as possible while also hoping to prevent any malicious bot activity. See TerraLand, ApolloDao, Pylon Swaps, etc for examples of this. In theory, this is a great practice. The problem is that bots (and those with deep pockets) will take the token address of the protocol, and perform as many transactions per minute as they can during this window in an attempt to game the system by guessing the time of the launch while taking an acceptable loss of the transaction fees. These wallets are usually worth hundreds of thousands, if not millions of dollars and can afford to lose the transaction fee, even if they perform thousands of transactions in the span of a few hours.

Therefore, I suggest that we add a feature to TerraStation (App as well as Extensions) that will lock a wallet address for a set period of time IF there are 10 identical failed transactions in a row.

“Identical failed transactions” would mean any transaction towards a particular token address, smart contract, or wallet. For example, if a wallet attempted to purchase or sell $APOLLO tokens before liquidity was provided 10 times, the wallet would be barred from making an identical transaction and would need to wait a pre-determined period of time before attempting to purchase or sell the token. However, if the wallet was barred from attempting another transaction for $APOLLO tokens, it would still be able to send funds to another wallet, token address, or smart contract. Now, A bot could get around this by transferring funds to multiple wallets so, should the community deem it necessary, the wallet could be barred from ANY transaction for a set period of time. This will discourage bot activity and severely limit its capabilities.

Implementing this would not affect individuals who are attempting to support a protocol by simply purchasing tokens or providing liquidity. A warning would be added after failed 5 failed transactions that only 5 chances are remaining until the wallet address is locked from making this transaction for X amount of time (30 minutes, 1 hour, etc. The community should decide this). IF an individual is locked out of making a transaction, they will simply wait the pre-determined period of time.

I highly suggest and welcome community criticism and feedback to this topic. Something needs to be done to combat this issue and if there is a community in Crypto that can figure it out, the LUNAtic community is going to be the one.

This proposal will not cost anything as it is an upgrade to TerraStation (aside from coding time, anyone from TFL feel free to add to this as far expected time/cost), I will put up the LUNA to fund the proposal should the community decide it is worthwhile.

1 Like

I wouldn’t want my wallet address to be locked during a major crash just because of trying too hard in making sure I do not get myself liquidated on Anchor.

After taking some time to learn about how bots interact directly with smart contracts and not through Terra Station, the core issue comes down to reading, sorting, and recognizing transactions. If transactions can be recognized in this way, a protocol will have the ability to blacklist wallet addresses if need be. This means that some protocols will have the option of not utilizing a blacklist, IE Anchor

Fork Terraswap , add a random creative authentication mechanism that would be hard to reverse engineer without the code (maybe with a secret phrase or similer concept) , fork the GUI and add a method to solve the creative authentication mechanism. Require multiple annoying and time consuming captchas to access website at launch. (prevents botters from building dynamic bots that are adapted to this mechanism). Problem solved. Locking funds and wallets is messy and unproductive.

1 Like

My main concern in doing something like that is the UX aspect. What really attracted me to Terra in the first place was how easy it was to use. Insanely user friendly and intuitive with fast and cheap transactions. I would be afraid of scaring away new users by having them jump through hoops in order to participate in the ecosystem. This is why my initial thought went towards putting the majority of the burden on the protocols and individual projects in order to ensure a smooth launch.

How can what you are describing be accomplished without sacrificing on user experience?

The idea here is users wouldnt see the difference. The UI would hold the solution that solves the sc authentication mechanism.But this would be unknown to bots that are sniffing TS pools for new liquidity. I hate capchas too, just trying to cover this problem from all angles that could be exploited.

1 Like

Got it, I am just not a fan of captcha’s. While it limits bots I think it would also limit retail traders. For example, I have been lucky enough to take advantage of Pylon swaps simply because I was quick with a TX. Ideally, retail should be able to compete against each other but not bots.

I am of the opinion that something needs to be built that will make transactions searchable, sortable, and filterable. For example, if I took out a loan against bLuna and wanted to look up the transaction to see exactly how much I took out, I shouldn’t have to scroll through thousands of transactions in search for a needle in a haystack. I should be able to put in a keyword or sort by loan disbursement. Once something like this exists it should be relatively easy to identify bot activity. Once it is identified the protocol should be able to take steps to ensure it doesn’t take advantage of the launch.

Brainstorming, is your tax reporting project theoretically going to be able to pull transactions on a macro scale? Specifically by token address? If so, wouldn’t it be possible for future projects to identify bot activity via your project?

You can do this today on beta.trackterra.org, all fields are searchable , the search feature could be better but is pretty functional as it is today.

Fully agree . Bots that are attacking TGE’s like Apollo’s are acting quite unethically , we need to prevent and counter this behavior.

1 Like

Astroport and other projects working on fairer launches an related issues, no (StarTerra, Pylon, Apollo)? My understanding is Astroport will replace/make obsolete Terraswap.
" Terra’s first liquidity bootstrapping pool (LBP), which will allow projects to create liquidity for their tokens with very little seed capital and provide a fair launch where bots don’t have an edge " - from Astroport Medium at Introducing Astroport: A Next-Generation AMM on Terra | by Astroport | Medium

While bots can be a nuisance, not all bots are the same, it should be up to the protocol to implement bot prevention measures on launch (see the WHALE/ASTRO launch)… it’s not up to the network to prevent that behavior as that could limit productive use-cases, such as bots arbing and keeping the peg of the several tokens/pools, this helps retail investors in the end.

1 Like