CryptTracker Task Request: Discord Detective Bot for Communities

in #utopian-io6 years ago (edited)



GitHub Repository

https://github.com/livefreensmart/crypttracker

Project Background

CryptTracker was born during the Utopian Hackathon. It was initially coded to investigate an account's wallet transactions:

  • outgoing transfers to exchanges, taking note of the memo for the external wallet address
  • incoming transfers to the account, taking note of the "from" account for voting ring investigation

The anti-abuse community need open source powerful tools for detecting abuse. We currently don't have any. We use Steemworld.org and SteemD, as well as other Steem dApps.

Steemcleaners have some tools but we don't know what they are. They are not available for everyone to use.

We are very limited to manually searching for patterns. Opening multiple tabs is a resource hog. SteemWorld only goes back 7 days*. SteemD shows everything and filtering through other transactions is a pain.

Communities like Tasteem and Artisteem also need a way to detect abuse. With SMT on the horizon, communities need to be vigilant on rewarding only authentic and quality community members.


communites.png


I almost forgot to mention Utopian. The moderators at Utopian also need a detective tool!

Unveiling abusive network of accounts on the platform is the first goal for CryptTracker. There are various tools mentioned under "Other Resources" below. But CryptTracker aims to minimize the manual matching and eye scanning that abuse fighters do.

Details

It is time to create a public Discord bot. We need to make this tool available for the different Steem Discord Guilds.

For Phase 1, we need below commands implemented

walletmatch memo

Description: Given a memo (exchange wallet address) find other accounts transferring to it
Input: (required) (string) memo, usually exchange wallet address
Constraints: Filter transfers to exchange accounts. Memo can also be a partial search.
Output: List of unique Steemit accounts sending to the given memo
Example
command: walletmatch 10234890
output: oneko thetnaung kinggyi kopholone

transfermatch account1 account2

Description: Check transfer relationship between 2 non-exchange accounts
Input: (required) (string) 2 accounts are required to start looking for a possible connection
Constraints: account1 and account 2 should not be any of the exchange accounts in exchange accounts
Output: List of all similar transactions that both accounts share.

OutputDescription
memo abcde-123456-fghij789both used the same wallet to withdraw funds
transfers from account3both received funds from account3
transfers to account4both transferred to account4

Example
command: transfermatch thetnaung kinggyi
output(s):
transfers to oneko
memo 44f4ea71-2b71-4ad0-b2b8-86a84b383101
memo 10234890

accountmatch partialname

Description: Check account names similar to the given text
Input: (required) (string) partial text of an account name
Constraints: N/A
Output: List of accounts starting, ending, containing or patterned to the given text.
Example
command: accountmatch jekis
output: jekisan jekisan1 jekisan2 jekisan3 jekisan7

command: accountmatch lock
output: numlock capslock scrollock
Note: We know there is a vote farm that uses keyboard keys as names. We need more ideas on this accountmatch command. Ideally, the output should be:
numlock capslock scrollock prtsc shift alt tab ctrl

Components

Sections of the GitHub repo that will be affected once the task will be completed:

Other References

  • Crokkon discussed the logic of a script he coded to identify a network of accounts with Steemit Inc SP delegation.
  • Klye had a similar concept 2 years ago but only for monitoring deposits.
  • Steemworld.org has a tool for Transfer Search and is not limited to 7-days. We need a similar tool a little bit more flexible.
  • Steemyy has a Transfer Viewer tool but you have to specify an account name. We need a similar tool a little bit more flexible.

Deadline

No hard deadline. It would be nice to complete them within 2 weeks.

Communication

Contact me on Discord lovenfreedom#5290 or join us at SteemFlagRewards Discord

Github

https://github.com/livefreensmart

Sort:  

Thanks for the task request, @lovenfreedom! It's a great task request with a great goal. There isn't anything that's unclear to me and you have done a great job of laying out exactly what you want, how and why + additional tips and resources. A great example of a task request for others.

Only thing I was wondering is if it must be coded in Python? I know there a few people on Utopian who have built Discord bots and could take on the task, but I think the majority of them used JavaScript.

Anyway, regardless of the chosen language, good luck finding someone who can implement it!


Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

I'm partial to Python, but it's not a requirement.

If anyone's up to taking this task using JavaScript, I'm all for it.

Thanks for the review, Amos. I do hope we get this up and running soon.

Thank you for your review, @amosbastian! Keep up the good work!

That's a very cool task request!

I assume the reason steemcleaners keep their tools restricted is to try and stay one step ahead of the abuse. Once abusers know the search techniques they will have a better chance of evading them.

Thank you!

I share the same thought. Steemcleaners tools are restricted so the abusers can't dodge how they are caught.

This task request is something I've been meaning to program but just can't get to it. The "commands" are special filters on what's already out there so there's no point in making it a private tool.

Hi @lovenfreedom!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your post is eligible for our upvote, thanks to our collaboration with @utopian-io!
Feel free to join our @steem-ua Discord server

Hey, @lovenfreedom!

Thanks for contributing on Utopian.
We’re already looking forward to your next task request!

Get higher incentives and support Utopian.io!
Simply set @utopian.pay as a 5% (or higher) payout beneficiary on your contribution post (via SteemPlus or Steeditor).

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Wow, it might be fun to work on this :P

Hello, thank you for the interest. However, there's already a PR waiting to be approved.

Feel free to suggest any features you think would help us detect abuse!

Hi man, I'm gonna give this a shot if it hasn't been taken already. I can see someone else has forked it but I feel it's something I'd be able to finish today.

Hi @sisygoboom,
It's already taken and almost done. I'm about ready to approve the PR so please don't put any effort into it. We'll have another TR after this so I'll keep you in mind.

No bother, I thought I'd challenge myself anyway and got the wallet match done this morning :) keep me in mind for future tasks! sisygoboom#6775

Ah well, that's a great motivation indeed :) There will be some complex logic on the next commands we have in mind for phase 2 of this project.

Coin Marketplace

STEEM 0.21
TRX 0.25
JST 0.038
BTC 98320.57
ETH 3439.18
USDT 1.00
SBD 3.12