GOSSIP

The truth about PIVX’s PoS exploid

24 Mins read

Case in point:  The “Fake Stake” Exploit (which is what this article referenced as the “bug”).

Earlier this year, the decentralized Systems Lab out of the University of Illinois published a study entitled “‘Fake Stake’ attacks on chain-based Proof-of-Stake cryptocurrencies”.

While many projects and members of the crypto community were shouting (even blaming PIVX for an exploit which was not exclusive to the PIVX network), PIVX was working to validate the claims themselves before rushing into figuring out a viable solution.  What transpired over the following days was that PIVX developed an entire reproduction test suite to be able to accurately identify the exploit (Which, was essential to be able to design any solution to that exploit). That suite can be seen here: https://github.com/PIVX-Project/PIVX/pull/812

After an extensive 3 week deep dive into the PIVX PoS code, the PIVX dev team issued a report that notes: “As good as PoS is, like every protocol, it has some drawbacks. One of these is how cheap it is to provide a fake block and how much information is needed to be able to properly verify it. For this reason, PIVX developed several mitigations that are part of the following PR [https://github.com/PIVX-Project/PIVX/pull/803]”. They then outlined their 5 mitigations to the PoS “Fake Stake Attack” threats. 

You can read their whole report here: https://pivx.org/fake-stake-official-pivx-report/

Another example of the diligence of the PIVX Developers when it came to reported bugs, fixes, and announcements: https://medium.com/@dev.pivx/report-wrapped-serials-attack-5f4bf7b51701

So in summary:

PIVX developers took the inquiry seriously.

PIVX developers were methodical in their approach to determining the exploit before then determining viable solutions, which were then implemented.

Now, turning to the article in hand that was posted yesterday, let’s take a look at what was said and what assumptions were made

STATEMENTS MADE BY YOON:

  • First, when I [Mr.. Yoon] attempted to contact the PIVX Core Developers, they wouldn’t talk to me directly.
    • Developers get emails, messages, pings, daily.  They range from “your code sucks “ to “hello sir, how to fork PIVX” to “you have a bug”.  Again, the developers’ primary focus is on the codebase, not in responding to every email and or inquiry.  Yes, they monitor for bug reporting and other issues, however, there are a myriad of ways to go about this reporting, engage in a conversation, and then allow the developers to validate/verify any claims.
    • It also appears that Mr. Yoon decided to push his article less than 36 hours from initially attempting to contact the PIVX developers, drawing his own conclusions, and making his statements in the article.  We’re not entirely sure why he elected to do this (rather than wait for official statements), but in any event, we will address the claims, assumptions, and inferences below.
  • PIVX discord member named “bubiz” began relaying messages from the core devs, which I [Mr.. Yoon] found to be very odd
    • Why continue to engage in the conversation if you found this odd?
  • The (PIVX) developers were aware of the bug and that there is nothing a PIVX fork can do except wait until 4.0 was released. Yoon then goes on to say “For a bug as serious as this one, you would think that they would have issued a statement for all the PIVX forks in existence (there’s a lot). And the BitGreen team has proven them dead wrong in their statement that there is “nothing you can do but wait till 4.0?
    • There is a bit to unpack in this. 
      • First, what “bug” is which bug (as there potentially are a few that are all being identified as the same bug).
      • Second, why wait till V4.0
      • Third, Bitgreen has “solved” the issue and thus PIVX is lying
    • Working backwards:
      • Bitgreen (BITG) was able to “fix” this issue.
        • We need to clarify.  The “issue” that BITG was experiencing was something altogether different from what Yoon was attempting to show going on in PIVX. Apparently, the “issue” going on in BITG was based on presumably the BITG developers having removed a very important consensus check (a missing nTime check).  This has nothing to do with PIVX nor a possible “exploit” PIVX may have suffered;(https://github.com/bitgreen/bitgreen/commit/c18227b5c6f02b42331f17ccaff7e842c5e35892
        • Removing this nTime check can be VERY catastrophic and can lead to hyperinflation and eventual chain death.  This is presumably why “Dennis aka “XeZZ” from BitGreen stated “This has crippled the rewards system of several chains, and BitGreen has notified of all exchanges that it is listed on to halt all deposits and withdrawals until further notice.” The BITG attack has nothing to do with PIVX or the PIVX chain specifically.  It’s possible many other forks of PIVX has/had done this as well, thus opening themselves up to that vulnerability.
        • Secondly, BITG “solution” to their specific code comment error was to stop a significant portion of the active masternodes and actively put their chain at risk by decreasing the number of coins staking.
      • Why Wait Till V4?
        • We’ll get to this in a bit.  To address why “wait”, we have to address the first point about the so-called bug/exploit (NOT the one that BITG apparently created for themselves).
      • The “bug” or exploit that Mr. Yoon seems to be attempting to address based on what Dennis aka XeZZ stated “this address only has 87 PIVX coins but minted 48 on that address alone?
        • There are some discrepancies with that Mr. Yoon seems to be basing his conclusions on.
        • There is more than 87 coins in this wallet. It’s over 11k.
          • Main Address DHagKZ4ByFgxXe3txYysxqG5x6PvcSmwQS 
          • Owner Unknown 
          • Balance 11,625.05234493 PIVX 
          • Addresses 100 
          • with non zero-balance 100 
        • Yoon then continues to point to Dennis aka XeZZ statements that “The average stakeweight on PIVX is 9K, 2.3 coins per stake.” In essence, what should have taken 100 days to mint the staking rewards, took roughly 24 hours for this exploiter.
        • This then appears to be the “exploit” or bug that Mr. Yoon is trying to point out (again this is NOT what BITG was experiencing due to removing the critical nTime check).
        • As for getting stakes quicker than what is expected – an “exploit” of Proof of Stake algorithm…individuals have been attempting to game and push their own rewards since Proof of Stake was conceived.  The continual push for a fair Proof of Stake consensus cryptocurrency is something many have been working on and attempting to deploy, PIVX included. PoS V3 is the best iteration to date of a fair Proof of Stake consensus cryptocurrency.  That being said, it’s been known that through lots of UTXO experimentation, it’s possible to “push” the rewards. Put another way, through lots of experimentation with UTXO sizes, it’s possible to optimize ones staking rewards on a network. Now, as of the writing of this piece, I’m unsure if that is what is occurring here or if there is another factor at play.
        • However, that all being said: the total emission rate of the PIVX network is NOT / has NOT been affected. 
        • Also – there is no mathematical consensus rule preventing a low value input from staking “before it’s historically averaged expected time to stake”.
      • So back to Why Wait for V4.
        • A few potential reasons. 
        • ANY changes to code must be vetted and validated to ensure network stability and security.  Tossing a quick fix into the mix is irresponsible.
        • V4 of the PIVX wallet/codebase (from my understanding) has a LOT of network improvements (which, perhaps, would minimize and mitigate any of the presumed network “exploits”.  Again, what appears to be occurring is the skewing of the consensus model and rewards towards lower-valued inputs. This is just my interpretation of what’s been presented.
        • The release of V4 is impending and thus any enforced changes of a patch now followed by another rapid enforced change of the network could actually be riskier than what could be occurring (where a low-value staker is being able to obtain more of the rewards).  Again, the total emission rate of the PIVX network is NOT affected at this point it appears.
Related posts
GOSSIP

Chasing Down Discord’s Biggest Crypto Scammer in 2020

11 Mins read
GOSSIP

Masternode Blockchains for Beginners

7 Mins read
In our article Masternode Blockchains for Beginners, we want to explain with simple words which role masternodes play in a blockchain network.
GOSSIP

Official Transcendence (TELOS) Discord shut down by the CEO

3 Mins read
I was surprised to discover this Sunday morning when I was looking at my discord servers that I was no longer logged…
×
Stake and Nodes

Graveyard - They are no longer with us