Binance Built a Blockchain, Except it Didn’t
For all its claims of promoting decentralization, Binance runs two “blockchains” that are not just highly centralized, but regularly alter history, undermining one of the core tenets of the blockchain — immutability.
‘Twas the night before Christmas, when all through the chain
not a glitch or a hiccup, no transaction in vain,
the blockchain hummed, as if nothing was wrong
when in reality ’twas never a blockchain all along
For all its limitations, blockchain technology does provide some distinct advantages, one of which is a canonically accurate and immutable record of all historical transactions which have occurred up to the present moment.
Having an immutable ledger maintained by a decentralized network allows anyone inspecting the blockchain to view a snapshot of historical transactions that hasn’t been manipulated or tampered with.
Whereas in war its the victors who write history, on the blockchain, history is written as is.
Unfortunately both fraud and fanaticism have obscured some of the key foundational benefits of blockchain technology and few understand what a blockchain even is, let alone which of its features are sacrosanct and which are more plastic.
So to understand what Binance has done, with its “blockchains” (the need for parenthesis will become evident shortly) it’s important to go back to basics and recall what a blockchain even is.
Blockchain Much?
Simply, a blockchain is a decentralized network of distributed digital ledgers, maintained by computer nodes and managed through a consensus mechanism.
Fans of Harry Potter can imagine the blockchain to be a magical set of books that anytime someone, whether Hagrid or Hermione, writes in, magically updates all of the other books instantaneously, and once written in, what’s been written can’t be erased — that’s the blockchain in a nutshell.
But instead of spells and totems, the blockchain records transactions and keeps a history of every single transaction from its birth, otherwise known as the “genesis block.”
Every time a new transaction is added to the blockchain, it’s added to the existing body of transactions that have existed up to this point.
New transactions and the decentralized nature of the blockchain prevent any user from going back in history to change any past transaction because the blockchain works on a consensus system.
As transactions are added to the blockchain, it becomes impossible to change historical transactions, without convincing a majority of validators who secure the blockchain to agree to those changes retrospectively.
Blockchains like Bitcoin’s are prohibitively expensive to reach into history and change the past precisely because the maintenance of that blockchain is relatively decentralized.
And any time a malicious actor tried to change the past, everyone else would be able to see it happening on the blockchain, undermining the very value of the fraud attempted by undermining the value of that blockchain.
Now to the curious case of Binance.
The Binance Chain
Around 2017, Binance, at the time a promising cryptocurrency exchange startup, issued its BNB token as an ERC-20 token on the Ethereum blockchain, in what was one of the most successful initial coin offerings or ICOs of the time.
In 2017, there was no shortage of startup cryptocurrency exchanges issuing their own tokens, which would allow holders to receive preferential fees for trading and Binance was no different.
But by 2019, high gas (transaction) fees on the Ethereum blockchain (the main chain for smart contracts) meant that demand for alternatives was growing and Binance saw the opportunity, to launch its own Binance Chain in April 2019.
BNB, which was an ERC-20 token initially, now shifted across to the Binance Chain, becoming the native token of that blockchain, which was intended as a marketplace to support decentralized exchanges, including the Binance DEX.
Although Binance Chain was touted as being built to allow users to develop decentralized applications on top of its blockchain, its primary purpose was the decentralized trading of cryptocurrencies and to support the Binance DEX.
In reality developers couldn’t really build very much on the Binance Chain anyway because it was based entirely on the Cosmos blockchain framework and utilized the Cosmos SDK (software development kit).
The Cosmos SDK is an open source toolkit built for developers to create single purpose blockchains, and in the case of Binance, the Binance Chain was built almost entirely to support the Binance DEX.
And because the Binance Chain was based on the Cosmos blockchain framework, it wasn’t Ethereum Virtual Machine (EVM) compatible, and couldn’t support the smart contract functionality of decentralized applications built on Ethereum.
So what was it for anyway?
Was Binance U.S. Dollar always worth a hundred pennies?
Enter the Binance dollar-based stablecoin.
In September 2019, Binance announced that it was launching a new stablecoin called BUSD, developed in partnership with Paxos, a New York-based fintech founded in 2012, and regulated by the New York State Department of Financial Services.
Given Binance’s wariness of regulators, the BUSD launch with Paxos was a major public relations victory, creating the impression that Binance had created a properly “backed” and compliant dollar stablecoin.
But while Binance’s BUSD launched in conjunction with Paxos, existed on the Ethereum blockchain and was indeed backed and regulated, as soon as it was greenlit by regulators, Binance launched BUSD on its own Binance Chain.
On the surface, it would appear that BUSD on Binance Chain, or the Binance Smart Chain (an Ethereum ripoff) that was launched in 2020, was backed by actual dollars held by Paxos in a bank account overseen by the New York State Department of Financial Services, in reality though, Binance’s own blockchain history told a different story.
Part of the problem of course was that BUSD on Ethereum versus BUSD on Binance Chain and Binance Smart Chain meant entirely different things, although on the surface, they appeared identical.
And even though Binance was happily minting BUSD on its own blockchains, first Binance Chain and then Binance Smart Chain, it wasn’t until April 2022 that Paxos clarified the difference here.
When talking about BUSD, most users assumed that Binance was referring to the one issued by Paxos on Ethereum, but the reality was that BUSD existed across several blockchains, including the Binance Chain, Binance Smart Chain, Avalanche and Polygon.
Binance facilitated movement of BUSD across blockchains, for instance BUSD on Ethereum to BUSD on the Binance Smart Chain using what it called the “Binance Convert Function.”
And that’s where things come, well, unchained.
BUSD on Binance Smart Chain is what Binance itself describes as a Binance-Peg token.
Binance-Peg is analogous to how tokens are “wrapped” across different blockchains, a way of making tokens interoperable on different blockchains running different software.
Whereas most “wrapped” tokens use smart contracts, locking tokens on one chain and minting their equivalent on another chain to make them interoperable, Binance Smart Chain used a method that can only be described as a “quasi-bridge,” using both the Binance Convert Function and the Binance-Peg token concept.
And it’s through Binance’s “quasi-bridge” that the first of many issues arises.
Using extensive blockchain research performed by DataFinnovation, Binance’s own Binance Smart Chain reveals that the Ethereum wallets for BUSD which are Binance-Peg, regularly had less than the number of BUSD circulating on the Binance Smart Chain.
BUSD on Binance Smart Chain is supposed to operate in a straightforward way — Binance locks BUSD on Ethereum here, and then the equivalent circulates on Binance Smart Chain, Binance Chain, Avalanche, Polygon and TRON.
Because BUSD on Ethereum is linked to Paxos, that BUSD on Ethereum can be assumed to be backed by equivalent actual dollars in bank accounts or short-term Treasuries held by Paxos and regulated by the New York State Department of Financial Services.
Yet DataFinnovation has discovered that the Binance-Peg BUSD wallet on Ethereum has regularly had a lower balance than the amount of BUSD circulating on the Binance Smart Chain, meaning that somehow, someone, was creating BUSD out of thin air to use on Binance Smart Chain.
Because the amount of BUSD circulating on Binance Chain, Avalanche, Polygon and TRON is trivial compared to the amount circulating on Binance Smart Chain, just looking at what happens on Binance Smart Chain should be more than enough to see if there was indeed more BUSD on Binance Smart Chain than was locked in the BUSD Ethereum wallet.
In the graph above, the green line, which reflects the BUSD supply on Binance Smart Chain, exceeded the BUSD locked on the Ethereum wallet during two crucial periods — in March 2021 and again in May 2021.
DataFinnovation reflects this under-collateralization of BUSD again in the chart below, with negative numbers reflecting that the Binance-Peg BUSD on Binance Smart Chain was undercollateralized for extended periods of time.
Which begs the question, what happened in March and May of 2021 that required there to be more BUSD on Binance Smart Chain than was actually backed?
Why didn’t Binance have your back?
Interestingly, the periods when BUSD was under-collateralized were followed soon after by a massive run-up in the price of BNB, Binance’s native token, and while correlation is not causation, the coincidence is worth noting to say the least.
It has long been suspected that Tether uses USDT to manipulate the price of Bitcoin — could Binance have been doing the same for BNB?
While pumps and dumps are not new, it wouldn’t be beyond Binance to have used its ability to whip up BUSD on Binance Smart Chain from thin air and then use that BUSD to pump up the price of BNB.
That BUSD on Binance Smart Chain was regularly under-collateralized is reflected by the blockchain, but how that BUSD was possibly created is altogether far more terrifying.
Not My Blockchain
By now, a casual reader would have become thoroughly confused by Binance Chain, Binance Smart Chain and BNB.
The nomenclature of Binance’s various blockchain-esque products may or may not have been deliberately designed to confuse, but they had that effect anyway and to keep up, it’s important to reiterate what all the different terms mean.
Binance Chain — started in 2019, based on the Cosmos SDK, no smart contract capability, intended for decentralized exchange application and would go on to be called the BNB Beacon Chain, intended for governance and management of the Binance Smart Chain.
Binance Smart Chain —started in 2020, based on the Ethereum blockchain, smart contract capability, intended for decentralized applications and would go on to be called the BNB Smart Chain, intended for dApp development and smart contracts.
BNB — native token used on both the Binance Chain and Binance Smart Chain, multi-use token that could be used for governance on Binance Chain or for preferential trading fees on Binance’s cryptocurrency exchange, as well as for payment of gas for transactions on Binance Smart Chain.
BUSD (on Ethereum) — issued by Paxos, and regulated by the New York State Department for Financial Services.
BUSD (on Binance Chain and Binance Smart Chain) — BEP2 standard token, that was issued by Binance and supposed to be backed by BUSD on Ethereum held in specific wallets on the Ethereum blockchain.
For the purposes of this article, the legacy nomenclature will be used to make things easier to understand, especially where it pertains to the Binance Chain and the Binance Smart Chain.
Once Binance Smart Chain was up and running, the raison d’etre of the Binance Chain became less clear outside of the Binance DEX, so the Binance Chain took on the role of a governance chain, that would be used to validate transactions and that is important for the next part.
Because the Binance Chain behaves nothing like a blockchain.
Who’s in-charge?
The Binance Chain consists of validators, and just like any other blockchain, validators, well, validate transactions.
In theory, anyone with BNB can stick their hand up to become a validator, but in practice, only a handful of Binance Chain validators with orders of magnitude of BNB in their wallets, act as the governance for Binance Chain.
A concentration of validators is not new in the cryptocurrency space, but it is the operation of the Binance Chain that raises serious questions about how if functions.
In order to understand how the Binance Chain works, DataFinnovation went ahead to try and sync it from the genesis block, and generated the following error:
panic: Failed to process committed block (285075852:2BDC391C402FF452B83AD484D5C40DA615133C25E60C07352CBC6E45435EA873): Wrong Block.Header.AppHash. Expected 3E60F1573122DC7FAD2C5E4779A21BFEEB578422C915A16DEA70A1A617314720, got 1EDDADB1DC0B8E67A3F10FCE05201A4A59A7C380EC54F3CA83D400317CC49685
To the uninitiated, an attempt to sync all of the transactions for the Binance Chain threw up the error that while trying to validate the 285,075,852th block, the hashes did not match.
Think of a hash as a way that the blockchain “signs” a transaction.
Once a hash is issued for a transaction, as is the case for blockchains like Bitcoin and Ethereum, it’s set there forever and can’t be changed — that’s what gives the blockchain its immutability and ensures that the ledger reflects a single source of truth.
But in the case of the 285,075,852th block on the Binance Chain, something went wrong, the hashes did not match and the node gave up.
Yet a quick inspection on a relevant blockchain explorer shows that the hash matches what was reflected publicly.
DataFinnovation goes further to identify where the exact failure to sync can be found, and it’s here and after several attempts, found that the Binance Chain regularly breaks at these timestamps.
Coincidentally, Binance, the centralized cryptocurrency exchange resets its price candles at the same time everyday.
Nonetheless, what DataFinnovation has discovered is that the Binance Chain breaks every 24 hours, without fail, yet somehow the blockchain still runs and validators somehow push past the previous breaks.
And it’s not just DataFinnovation that has documented serious issues with the Binance Chain. Here’s a long list of errors, some of which go back as far as two years ago:
But it may be more than just brute force that keeps the chain running, because the Binance Chain comes with its very own “state recover tool” that can be found here and which is reproduced (in part) here:
// Purpose:
// Reset node to a specific height and continue block from this height
//
// Usage:
// 1. go build state_recover.go
// 2. ./state_recover height_to_reset home_path1 home_path2 ...
blockState.LastResultsHash = nextBlock.LastResultsHash
blockState.AppHash = nextBlock.AppHash
For the non-technical, what Binance Chain’s “state recover tool” allows someone to do is rearrange hashes retroactively and it would appear that in order to make the Binance Chain move forward, the standard operating procedure is to edit hash histories.
But so what?
Well for starters, it would appear that Binance Chain, the governance chain for Binance Smart Chain, operates nothing like how a blockchain is supposed to.
The whole point of a blockchain is that once transactions are fixed in time, no one is supposed to reach back into history and change stuff up.
And even if the centralized nature of the Binance Chain is glossed over, as well as its inexplicable retroactive editing of historical hashes (which is an extremely cynical way to run a “blockchain”), it would go some way to explaining why BNB can mysteriously “appear” in certain Binance Chain wallet addresses.
As uncovered by Twitter user @cryptohippo65, 22 million BNB mysteriously appear in the wallet address highlighted above (ending in “kjaj”), with no transaction history of these tokens ever being deposited in that address.
@cryptohippo65 goes on to point out that a total of 9 transactions occur to this wallet address and only two deposits for less than 0.0001 BNB are tracked.
Believing this to be a possible bug with the BNB explorer, @cryptohippo65 goes on to use Bitquery which also showed no transaction for 22 million BNB to the wallet in question.
DataFinnovation’s running of a full Binance Chain node also provided no indication as to how the 22 million BNB ended up in this wallet with no trace of a transaction.
But someone claiming to be the “Chief Scientist” at Binance suggests that just because the transactions did not show up in the explorer, it didn’t mean that the transactions did not exist.
The Chief Scientist’s response was disconcerting to say the least — what sort of transactions on the Binance Chain don’t show up on the blockchain explorer?
If the whole point of a blockchain is to provide a transparent, decentralized, immutable record of historical transactions, then how is it that some transactions just can’t be found?
Enron and the 2008 Financial Crisis have proved that it’s transactions which aren’t inspectable or are “off balance sheet” that should be of greatest concern.
For some reason, Binance Chain just doesn’t show up certain transactions, yet miraculously, the tokens appear in the wallets.
If so, then this allows for significant abuse by the operators of Binance Chain and Binance Smart Chain.
A Theory
The possible implications of Binance operating quasi-blockchains aren’t just serious for what’s been going on inside Binance Chain and Binance Smart Chain, but would also go some way to explain how BUSD can go undercollateralized by so much and for so long.
It’s entirely possible for unbacked BUSD to appear, be used to pump up the price of BNB or whatever token insiders deemed fit, sell those tokens to retail investors, and cover back any uncollateralized BUSD in the Ethereum wallet used for the Binance-Peg BUSD.
And if so, would help explain bizarre flows of BUSD — like the one identified by DataFinnovation and found here, where 1.85 billion BUSD was withdrawn and then redeposited in the Ethereum Binance-Peg wallet.
So what exactly has been going on?
It’s possible that Binance (or its insiders) were creating unbacked BUSD on Binance Chain by exploiting its lack of an immutable historical ledger (it’s not possible to meaningfully sync the Binance Chain) and making that BUSD “appear.”
That “miraculous BUSD” then makes its way onto Binance Smart Chain via the Binance Convert Function, where it is minted and burned because it needs to find its way to pump some “other token.”
Once that “other token” is pumped sufficiently, the dollars are gathered and whatever holes in the unbacked BUSD are patched, with the operators of this scheme then pocketing the difference.
More often than not, that “other token” would be BNB or some token cornered by Binance (or its insiders).
Possible? Absolutely.
Provable? Working on it.
For now, DataFinnovation has been able to prove a few things, that Binance Chain does not operate like a blockchain at all, and historical transactions aren’t just alterable in theory, they are manipulated as a standard practice.
That BUSD on Binance Smart Chain was regularly undercollateralized has been proved as well.
And periods when BUSD on Binance Smart Chain was least backed by the Paxos BUSD on Ethereum tended to be just before a serious increase in the price of BNB is also an uncanny coincidence.
Beyond that, the overall ramifications are probably somewhat unsatisfactory.
Mind you, Binance has always managed to stay one step ahead of regulators and law enforcement.
Because BUSD running on Binance Chain and Binance Smart Chain via the Binance-Peg facility is not a regulated stablecoin, it occupies the no man’s land that Tether’s USDT occupies, with the latter having attracted enforcement action by the U.S. Attorney’s Office for the Southern District of New York.
While there have been no allegations against Binance for any form of wrongdoing with respect to its blockchains, that it was potentially issuing an unbacked dollar stablecoin and possibly engaging in pump and dump activities may raise the ire of law enforcement agencies in the U.S. who have had their targets set on the cryptocurrency exchange since 2018 for alleged money laundering and evasion of sanctions.
Subscribe to DDIntel Here.
Visit our website here: https://www.datadriveninvestor.com
Join our network here: https://datadriveninvestor.com/collaborate