Kaspa was a project by DAGLabs, an R&D fintech startup focused on DAG research that was founded in 2017 and received $8m in funding from, among others, Polychain Capital. The original founders were Yonatan Sompolisnky and Guy Corem. By April 2021 Gadi Glickberg, ex VP of Bitmain, had joined the ranks of the Kaspa team.
Kaspa mainnet was launched on November 7th 2021 with an announcement in their Discord. No announcement was made in BitcoinTalk which is the forum that hosts the biggest mining community in crypto. Two weeks after launch, with circa 648 million coins (~$28M today) mined up to that point, Kaspa team halted the network to manually make a new genesis block on Discord as result of a bug. This story came to the forefront only recently in a Twitter exchange between a former DAGLabs employee and an ERGO core developer.
One week after this incident, the first announcement was finally posted on BitcoinTalk where Kaspa was announced as a CPU PoW coin. The title was edited to say GPU shortly after.
In the bitcointalk announcement there is no mention of Polychain and no mention of the incident from 1 week prior. In response to complaints about the lack of communication, former DAGLabs employee Shai Deshe chimed in to stress out how everything was being done by the community due to lack of funds for marketing. Unbeknownst to other posters however, DAGLabs had already received $8m in funding from Polychain.
In March 2023, I called out Kaspa for being a speed mined coin based on this information. Due to the lack of timely and complete announcements, I believed Kaspa was likely to have been mined entirely by one entity or a restricted group of insiders affiliated with such entity. Recently however, something else that is much worse has emerged.
It all starts with one of the early Kaspa holders DMing me a few weeks back noting that he could not find his transaction from February 2022 in the Kaspa explorer. I did a bit of digging and found out that not just his transaction but there wasn’t any data on any transactions from before May 2022. Anyone can verify this for themselves by scrolling back in this miner address here. Rewards stop in May ‘22.
My first thought was that the transactions must be archived somewhere but are being hidden on the front end to obfuscate the Polychain speed mine. As we dug deeper it became apparent that all transaction records from Genesis to May 2022 had probably been erased forever.
In fact, as it turned out, there is not a single Kaspa full node out there today. Was the speed mine concentration so bad that they had to delete all transaction data? That was my first thought but then why go to such lengths as to delete all transaction records if it was just a speed mine when speed mines, in one form or another, happen all the time in VC coins? The more I thought about it the more I started to think that if devs felt they had to take such a drastic action, something much worse must have happened. Only something criminal could justify a course of action that permanently corrupts your blockchain.
Another thing I noticed was that the six months for which all transaction records had disappeared corresponded also to Kaspa’s predeflationary era. This was the time when 500 coins were mined per second, the highest block reward in the history of Kaspa. In total 7.8 billion coins were mined at this time, ~29% of Kaspa’s maximum possible supply, and ~40% of today’s circulating supply.
I went to the Kaspa Discord and asked Shai about the reason team had deleted the transaction history prior to May 2022. In the beginning the only replies I got were from Kaspa community members saying “because you don’t need it”. Then Shai responded by flat out kicking me from the Discord and deleting my question.
Then the nothing burger narrative kicked in. Shai, and others, started preaching that this was a non issue. And that it will be resolved anyway because they are already working on piecing together the ledger.
He went on to reassure the community that the gaps in the ledger do not make the chain corrupt. They also added a section about the missing transactions in the Kaspa wiki where they imply that it is almost certain that the missing transactions will resurface.
As the discussion picked up more steam on Twitter, Alex Chepurnoy, the founder of Ergo, kindly pointed out that it would be nice to at least know what invalid transactions took place in those 6 months.
If Kaspa’s early miners colluded to steal balances from lost coins, then they wouldn’t want those invalid transactions to be known. What everyone who has been in crypto for long enough knows is that when a new coin launches many people hop in and they give up for one reason or another. Mainly because these coins are worthless early on so if you think the coin isn’t going anywhere you lose the keys, forget/don’t care to back them up or simply throw away the wrong hard drive like this famous bitcoin guy.
To maximize the amount of lost coins it’d be smart to make the project look as risky as possible. How better to do this than by presenting it as a hobby project? Or community project? That’s exactly what Shai said in the BitcoinTalk post and also a frequent narrative in the Kaspa discord.
Like in any other coin, a lot of the people who managed to find a way into kas probably moved on from Kaspa shortly after. But as result of team’s efforts to constantly make the project look like a hobby, even more must have done so. Which brings us back to Shai’s answer to Chepurnoy’s observation. Shai links this blog from the Kaspa founder (posted 6 months before mainnet launch) where among others the Author states:
Running full nodes are thus very important for the ledger’s society, however, the marginal utility is rapidly decreasing. - Yonatan Sompolinsky
Consequently, when joining a cryptocurrency system, checking its issuance and its decentralization is far more important than checking the historical validity of transactions. - Yonatan Sompolinsky
Shai by quoting him is telling Alex that the validity of past transactions well…that’s none of your concern. Maybe they stole from some whale, or from users. But none of that matters according to Shai. Shai speaks for the entire team, in fact this is also when Yonatan went on the offensive and posted a twitter thread trying to establish a false equivalence with Satoshi. Read for yourself:
What happens when there is no full node, when everyone uses only the most recent blocks to mine, is that a miner can hijack the network and steal lost coins without being detected. Since Kaspa was small in the early days it wouldn’t have been difficult to hijack it, in other words to put enough hash as to mine 100% of blocks. After all Gadi Glickberg, ex VP of Bitmain, had joined the team in April 2021 (1 month before Yonatan’s post). Once you hijack the network you can mine as many invalid transactions as you want. Although in the beginning invalid transactions will be at the top and will be rejected by the current nodes, if you control 99% of the hash you can still carry on mining valid transactions on top of the invalid ones until non mining nodes start accepting them again. In facthen invalid transactions are buried deep enough you can prune them off and feed the current nodes only the most recent blocks with valid transactions that they will accept. Nodes won’t know that some of these balances were actually stolen because they will be looking only at the most recent valid transaction hashes. When I pointed this scenario out, Michael, another Harvard educated core dev, first denied the possibility then went MIA.
Few days later Shai posted a tweet admitting the possibility himself.
To summarize, there is cryptographic proof that the Kaspa blockDAG is corrupt and there are no signatures to determine the validity of any balances containing coins from the first 6 months after genesis. Factually speaking, we also don’t know who the attacker is/was, or what invalid transactions they mined. What we know is that they got away with it since 6 months worth of transaction records have been permanently lost, which is exactly what an attacker would have made sure of. Team’s premortem tenacity to disincentivize full nodes makes it even more likely that either team colluded with the attacker or it was targeted exactly for openly discouraging full nodes. An attacker would need as few full nodes as possible to get away with something like this because even a single copy of the full ledger would expose the invalid transactions and the attack.
Starting from these facts we concluded that there must be some victims. Whatever system the attacker used to target lost coins, there must have been some false positives or coins that looked like had been lost, but weren’t lost. For example relatively small balances of long term holders. If the attack happened there may be some reports online from people who created the wallet in the first 6 months only to find out that their coins were gone when they checked after 1-2 years. Other kaspa enthusiasts went looking for such cases in Kaspa Discord’s wallet channel, and guess what? We found at least 1 self reported victim:
And with this we have come full circle. The possibility of the attack has been admitted by the kaspa team itself. Just like an attack of this kind would require, 6 months of ledger history is also permanently gone. And most importantly, we have found at least one victim. Therefore it is extremely likely that in a best case scenario Kaspa was successfully attacked early on by an outsider (unlikely but possible). A much worse scenario would be if team was part of the attack from the start. Either way, whoever pulled the attack has been controlling a very high percentage of the circulating supply. If the attacker is a terrorist or criminal organization then having hijacked a high % of the supply would allow them to be able to effectively send and receive money in untraceable ways. Because one could just buy kaspa from anywhere in the world to send money to the criminal organization which could then cash out by simply selling, since they control most of supply.
Because it is cryptographically corrupt, and the grave implications that come with it, I believe Kaspa should be shut down and delisted from all exchanges effective immediately.
EDIT 11/10/2023:
Great write up!
Kaspa Is Next Luna