Sunday, July 25, 2021

Cryptofights: In Search Of Evasive BSV Utility

In which we go over a few details about CryptoFights, the game that has been sweeping BSV's transaction rate by storm.

It has been heralded by Calvin's Coingeek as an "explosive success on BSV blockchain", featuring bold assertions such as

  • Cryptofights is a "killer app" that demonstrates "the true power of BSV enterprise blockchain."
  • "CryptoFights wouldn’t work on any blockchain other than BSV"
  • "the number one player on the game leaderboard earned $146.70 in 24 hours."
  • "With the attention this game is getting, it’s not likely to plateau anytime soon."

What's actually happening

A lot of transactions

As of last week, Cryptofights has finally passed the BSV transaction spam bot to become the #1 source of transactions.
Look at https://bsvdata.com/applications for evidence. The spam bot application is somehow missing from the chart, but just add a constant 200,000 daily transactions for it, and you'll be about right. As you can see, Cryptofights easily flippened the spam bot on July 17 and is generating roughly 500,000 transactions a day now.

In this way, Cryptofights demonstrated the power of the BSV Enterprise Blockchain™ much like the BSV transaction spam bot did before it: You can indeed fill up BSV with a lot of transactions. Yet somehow nobody at Coingeek ever bothered to acknowledge the spam bot as the BSV killer app it truly is.

Then again, Cryptofights implies there is a purpose to those transactions. Stories are being written to imply those transactions are needed to play the game. Are they?

Spambot 2: The Quest For Utility

When is a spam bot not a spam bot? When its transactions are actually meaningful and, dare we say, useful.

In its own words Cryptofights' main feature is its "cash tournament."
To use that feature, you must send Cryptofights some money, which doesn't have to be with BSV.
You can however only get BSV back out of it. Cool.
In the last 24 hours, about 200 unique users participated in roughly 1650 PvP battles, while Cryptofights was emitting half a million BSV transactions.

That seems like a lot of transactions considering. Let's dig into what's happening, and what those transactions accomplish.

Cryptofights is using the Run framework as their underlying game engine/storage/BSV integration mechanism.
It's a fun little framework. It stores large chunks of javascript source code in strange places, and expects users of the framework to load and run it in a provided sandbox, as a mean of doing smarter things with transactions. While stopping short of calling itself a smart contract platform, it nonetheless purports to let applications create "tokens, contracts, artwork, elections, games, digital pets, and more."
It appears that Run is intended to allow users to use someone else's Run code and objects under some conditions, although their docs could be clearer on how and when exactly that would happen.

Searching for utility by logging database transactions

Cryptofights's use of Run is however much more reductive. Once you cut through the fluff, Cryptofights' use of Run is effectively treating BSV as a write-only log store.

Looking at how Cryptofights uses Run reveals a few things: They are running their own run-db instances, which means that if they're using vanilla code, their business logic runs in node.js app servers and stores the game data in a SQLite database. While using SQLite is a bit unusual here and isn't a good long term choice, this is otherwise a fairly ordinary approach.

However, every database change also emits a BSV transaction. And that is the big reveal behind the enormous transaction count: The overwhelming majority of Cryptofights BSV transactions consist of payloads that mirror any and every change in their internal database.

The way they are using Run is essentially equivalent to using BSV to store a log of their internal database transactions.

Notably, because the run-db server already tracks all this locally along with the actual database, there are no real reasons why Cryptofights would ever need to go look at those BSV transactions.

So that isn't particularly useful.

Searching for utility by being transparent

But maybe it helps to prevent cheating? Their FAQ certainly implies it might be useful for that.
Except it has nothing to do with preventing users from cheating, it just makes some internal log file public.
It doesn't even truly prevent Cryptofights itself from cheating, since they still control how their "Run Jigs" are used, they simply can't edit their logs afterward.

Is being certain that Cryptofights didn't alter their logs after they were created useful?
It depends on your threat model. You could argue it protects players from Cryptofights acting in bad faith, except that Cryptofights still has a lot of latitude at the time the logs are created. They can arbitrarily initiate the issuance of arbitrary items, move funds, grant XPs and levels at will, and whatever else.

Speaking of whatever else, Cryptofights battles rely on dice throws. Randomness and blockchains are always an interesting match, and the extra transparency Cryptofights provides by immediately and constantly throwing every database change into the BSV mempool has consequences here:

At the beginning of every battle, Cryptofights comes up with a seed of its chosing, and that value is then used predictably to generate every throws in the battle. That means, not only does Cryptofights exert an enormous influence over the "randomness" of fights, players also have access to that seed value during the fights and can predict both their throws and their opponent throws. This is handy to figure out optimal moves during the battle. They can also predict the rewards the winner will get based on that seed and the number of turns played in the battle. This provides a rather convenient and undetectable form of cheating, enabled by Cryptofights "publicly auditable decisions."

This is effectively more harmful than useful.

Searching for utility with non fungible tokens (NFT)

Next, let's talk about NFTs. Those are non-fungible tokens that players can own and do with at what they will.
Cryptofights claim they have NFTs. Do they, and could those be worth the transactions they're printed on?

Even at first glance, for most of them, the answer to the latter is unequivocally no. Every item in the game, all of which are auto-generated, is portrayed as an NFT. Most of them are completely and durably worthless. But what of the few items in that pile that are perhaps seen as valuable?

Alas, those still lack all the basic properties of a NFT: You don't own the keys that control them. You cannot trade them on a third-party marketplace. You cannot transfer or sell them yourself, the best you can do is to politely ask the game to transfer or sell them for you.

In short, those are not NFTs, they are just game items, for which Cryptofights is emitting some related BSV transactions, but those transactions do nothing for you.

This is not useful, and calling those game items NFTs is deceitful.

Searching for utility by exchanging value

If we go back to its roots, BSV is a fork of Bitcoin, and Bitcoin is about storing and passing value around. Despite all the tragic events surrounding BSV's development, this is also still something BSV can do.

And that is arguably a decent use case for a gambling or "cash gaming" app.

Of course, transactions that meaningfully impact a players' wallet balance are a negligeable portion of the whole. Each PvP battle touches the users' wallets once when the battle begins, and the winner's wallet once when the battle ends. Given a current rate of about 1,650 PvP battles per day, that accounts for about 3,300 daily transactions.

Still, there's some utility there.

Searching for utility by being a loss leader

It's a good thing transactions on BSV are so darn cheap, or Cryptofights could easily end up spending a million dollars a year on transaction fees alone. In fact, they came dangerously close to reaching that rate on July 19, when they spent $2,434 in fees in a single day, which would add up to $888,000 over a year.

Very soon after, they fees dropped from 2.1 faketoshi/byte to 0.5 faketoshi/byte, which likely means that they are now dependent on Calvin's TAAL to accept their transactions.

In doing so, they are keeping things in the family, since they themselves are partially owned by Calvin, and have collected roughly $2,300,000 in funding from him and other BSV folks.

Even at TAAL's discounted fee rate, if their BSV traffic remained constant, they can expect to hand over $180,000 a year in fees alone. This is a very expensive log storage cloud service indeed.

Is it useful? Sure, but only to Calvin, and it is certain his thumb is on the scale here. He gets to portrays Cryptofights self-defeating use of BSV as evidence of BSV's "true power", in the hopes it will attract more unsophisticated parties.

If they were not driven by perverse incentives, a rational company in Cryptofights' situation would disable the broadcasting of valueless BSV transactions, and save hundreds of thousands of dollars a year, at the cost of losing no functionality. That'd also fix some of the dice issues.

Won't somebody please adopt BSV?

Speaking of deceptive practices, the near totality of cryptofights traffic has been bought.. It is not organic traffic, and will vanish the moment Cryptofights stops paying for it.
This is not an isolated or accidental business tactic, since they've also been caught buying likes and retweets on their twitter account.

But so what? If those users end up adopting BSV, does it matter? Surely, those large transaction rates must mean that is exactly what's happening.

Let's dig into the numbers.
We know Cryptofights is averaging about 500,000 daily transactions right now.
Those accounts for about 39,200 daily battles. Out of those, over 37,550 are "Bot" battles, where users play against a computer-controlled opponent. That leaves around 1,650 "PvP" battles, featuring 2 players.
Today, all those PvP battles were played by about 200 players.

In the past 24 hours, about 20 new users showed up on the Cryptofights leaderboard. That means that 20 users won their first PvP battle during that period.

That doesn't come close to the "explosive success" hyperbole of Calvin's CoinGeek.

Quick recap and parting thoughts

This is already too long, and there's still more to be said. The leaderboard has bad data, the CoinGeek claim that someone earned $146 is 24 hours is obviously false, the websites feel like an inconsistent patchwork with the occasional broken link, which could be a symptom of using too many contractors, or having bad turnover rates.

  • There's nothing Cryptofights is doing that couldn't be done without BSV.
  • Cryptofights doesn't have NFTs in their current incarnation. Anyone saying different is lying to you.
  • The high BSV transaction rates are not just a misleading and empty talking point, they are also expensive and harmful to Cryptofights.
  • Cheating is not only possible, but facilitated by their transaction diarrhea.
  • Despite literally trying to buy users, their user growth numbers remain unimpressive.

There's a strong technical case to be made that Cryptofights could be doing more if it hadn't BSV'd itself.
After all, Cryptofights used to have real NFTs before this.
With BSV came investment funds it perhaps needed to survive, but at a cost of being steered into a dubious technical direction.

Can Cryptofights recover from this, or will the same Faustian bargain that allowed it to survive now forbid it from ever thriving?


No comments:

Post a Comment