Someone copied Stegoseed and deleted my name from it
Sun 3 January 2021Tagged: bitcoin
I searched DuckDuckGo for "stegoseed" earlier and was surprised to find that the top result was not my stegoseed project, but was something else that seemed to do a similar thing:
(I wonder if I was the second result because the "Stegoseed" link in my navbar used to just say "Bitcoin Steganography", so it wasn't giving it enough search engine link juice for "stegoseed"? I've changed it now).
Curious, I clicked through to the Groestlcoin tool (left) and was surprised to find that it looks quite similar to mine (right):
It has only 2 obvious differences:
- My name and the link to the accompanying blog post have been deleted
- "Bitcoin" has been changed to say "groestlcoin"
(Update 2021-01-04: The Groestlcoin Stegoseed page now states that it is a fork of my project).
I'd never heard of Groestlcoin before and initially I wondered if this was a scam to exfiltrate people's Bitcoin keys, but I checked the source and there appear to be no changes at all, other than to the text. It turns out that "Groestlcoin" is actually just an obscure altcoin.
I also found that lots of posts on the r/groestlcoin subreddit are announcements of software releases by the Groestlcoin "Development Team":
These are (almost?) all just copies of other pre-existing projects but with the text changed to say "Groestlcoin" instead of "Bitcoin", and with the original authors' names deleted. This is typically done in a commit with commit message just saying "groestlize".
Here's a bunch of examples of Groestlcoin github projects that are derived from Bitcoin projects:
- GroestlMix Wallet (derived from Wasabi Wallet by zkSNACKs): "Bitcoin" changed to "Groestlcoin", "Wasabi" changed to "GroestlMix", CI labels deleted from README.md, signature verification instructions deleted from README.md, some technical changes.
- vanitygen (derived from vanitygen by samr7): "Bitcoin" changed to "Groestlcoin", some explanation deleted from README.
- groestlcoinjs-lib (derived from bitcoinjs-lib by bitcoinjs): "Bitcoin" changed to "Groestlcoin", CI labels deleted from README.md, "Altcoin-ready" text deleted, warning not to use this library in production deleted, instructions for "Flow" deleted, "Contributors" and "Contributing" sections deleted, list of contributors deleted from package.json and replaced with "Groestlcoin developers".
- php-OP_RETURN (derived from php-OP_RETURN by CoinSpark): "Bitcoin" changed to "Groestlcoin", copyright notice deleted.
- python-OP_RETURN (derived from python-OP_RETURN by CoinSpark): "Bitcoin" changed to "Groestlcoin", copyright notice deleted.
- crypto_bot (derived from crypto_bot by busterroni): "Cryptocurrencies" changed to "Groestlcoin", donation address deleted, lots of stats deleted from the code (I guess they don't exist for Groestlcoin), reddit link to "Message my creator" changed from u/busterroni to u/jackielove4u.
- GroestlSeed (derived from cryptoseed by Arlen Anderson): "Bitcoin" changed to "Groestlcoin", "CryptoSeed" changed to "GroestlSeed", Bitcoin donation address deleted.
- groestldice (derived from bfs-dice by bitcoinfromscratch): "Bitcoin" changed to "Groestlcoin", instructions for verifying signatures mostly deleted, author email address changed.
- groestlcoin-live-transactions (derived from bitcoin-live-transactions by Carlos Guerrero): "Bitcoin" changed to "Groestlcoin", author email address changed.
- BigSpender (derived from BigSpender by ZenGo X): "Bitcoin" changed to "Groestlcoin", example GIF deleted, author email address changed.
- seedguardian (derived from seedguardian by Jason Adams): "Bitcoin" changed to "Groestlcoin", "Powered by Github Pages" changed to "Powered by Groestlcoin Developers", "Backlog" section deleted from readme.md, a warning to "use with care" changed to "should be BIP39 compatible !", "(Alpha)" status labelling deleted.
- emoji-wallet (derived from emoji-wallet by Stepan Snigirev): "Bitcoin" changed to "Groestlcoin", and some actual technical changes.
- BIP39 Mnemonic Builder (derived from BIP39 Mnemonic Builder by Mikey Gee): "Bitcoin" changed to "Groestlcoin", "Motivation" paragraphs deleted from README.md, icon changed.
- groestlcoinjs-message (derived from bitcoinjs-message by bitcoinjs): "Bitcoin" changed to "Groestlcoin", CI labels deleted from README.md, signature examples changed to just say "valid signature" instead of showing the signature that is generated (presumably running the code to find out the real signatures was too much work).
- genesis-block (derived from genesis-block by nasa8x): "Multiple Hash Algorithms" changed to "Groestlcoin", default value for timestamping text changed from "The Times 18/Jan/2018. Don't work for weekends, work for our goals." to "Pressure must be put on Vladimir Putin over Crimea".
- CoreWatchPush (derived from CoreWatchPush by Jonas Schnelli): "Bitcoin" changed to "Groestlcoin".
That's not even all of them. I got fed up of looking through the commit history of the rest of the projects, you can find them here.
Anyway, from what I can tell, Groestlcoin is mostly just Bitcoin but with names changed.
Copying open source projects for fun and profit
Obviously there's nothing inherently wrong with making open source projects derived from other projects - indeed, this is half the point of open source in the first place. But deleting the original author's name leaves a bit of a bad taste in the mouth.
If you happen to want to create your own fringe altcoin, but you don't have any supporting projects, this is what seems to be the formula for creating them:
- copy someone's Bitcoin-related project
- change "Bitcoin" to "Groestlcoin"
- delete any explanatory text that you don't understand
- delete links to explanatory blog posts or related websites
- delete the original author's name and any other references to the original author
- delete any Bitcoin donation addresses
- ???
- profit
Importantly, make sure no credit is given to anyone outside the Groestlcoin project. Even change "Powered by Github Pages" to "Powered by Groestlcoin Developers" if you have to.
Oh, and make sure you have "Issues" disabled on your github repo so that the original authors can't come in and request that you add their names back.
What do I think Groestlcoin should do?
Simply writing "This project is derived from X project by Y author" would be a substantial improvement.
If you like my blog, please consider subscribing to the RSS feed or the mailing list: