Pivot in Project Direction to Proof of Work

3yrs ago
2 Comments

Before I begin, I know that this is a dramatic and possibly radical proposal, but it isn't one that I believe is wholly impossible (or against the best interests of Polkadot both technically and financially).

Looking at the project, there are a ton of things that are really technically sound about it. I've reviewed much of it. I think figuring out how to create a hierarchally deterministic wallet structure using ed25519 was nothing short of brilliant.

I read the forum post about potential key recovery attacks on ed25519; an issue which is ultimately solved by implementing a myriad of complex adjustments to the actual formation of the ed25519 key pair itself as well as the means used to sign data on the blockchain. Given the scarce information made public on this part of the PKI scheme, it is impressive that Polkadot was able to figure this out.

However, with all of that being said - this is all for naught when considering the consensus mechanism that the chain uses - "Proof of Stake". This is what ultimately makes Kusama a weaker solution as well.

Specifically on their site, they state:

"Although simple and effective in coming to a decentralized consensus on the next block producer, proof of work with Nakamoto consensus consumes an incredible amount of energy, has no economic or provable finality, and has no effective strategy in resisting cartels."

There are solutions to the energy problem that do not necessitate consuming "an incredible amount of energy". However, I'm going to put that to the side since that does not appear to be the crux of the issue here.

I want to address two bothersome points that were made here by Kusama that Proof of Work:

  • "has no economic or provable finality"

and

  • "has no effective strategy in resisting cartels"

"Has no economic or provable finality"

This is a feature of blockchain, not a setback. The lack of finality is what grants Bitcoin the flexibility to continue existing even if there is an entity attempting to 'attack' the chain by mining another one in parallel.

This is also what enables the trustless feature of blockchain. Whenever a block is propagated, each individual full node must validate that block based on the information that, that node has on hand. It chooses the winner using one very simple criteria:

"The blockchain with the longest, valid proof-of-work is the 'official' version"

As Satoshi Nakamoto stated in his e-mail reply to Hal Finney through the Metzdowd list all those years ago:

"It is strictly necessary that the longest chain is always considered the valid one. Nodes that were present may remember that one branch was there first and got replaced by another, but there would be no way for them to convince those who were not present of this. We can't have subfactions of nodes that cling to one branch that they think was first, others that saw another branch first, and others that joined later and never saw what happened. The CPU power proof-of-work vote must have the final say. The only way for everyone to stay on the same page is to believe that the longest chain is always the valid one, no matter what." (source = https://satoshi.nakamotoinstitute.org/emails/cryptography/6/#selection-111.0-111.638)

Satoshi was right to assert this. By providing a neutral, non-subjective criteria for asserting which blockchain is the "true" one and making the protocol asynchronous (vs. synchronous, which is what Proof of Stake is), he enabled Bitcoin to forever function as long as there are at least two nodes and someone to mine the protocol (he proved this in mining the first few blocks before releasing the protocol to the public; what many would call a "pre-mine" these days.

Proof of Stake Means a Risk of the Blockchain Halting

Yes, the blockchain can actually cease to process transactions if a consensus is not reached.

This is supposed to be the cardinal sin of blockchain, yet we've seen it happen countless times with projects running similar protocols.

I'll run down the list of just a few examples:

  1. Stellar's Protocol Halted For a Little While Back in 2019: https://cointelegraph.com/news/stellars-blockchain-briefly-goes-offline-confirming-the-project-lacks-decentralization

  2. Steemit's Protocol Went Down For Some Hours (no blocks produced ; no transactions processed): https://www.coindesk.com/when-blockchains-go-down-why-crypto-outages-are-on-the-rise

  3. $NEO experienced outages back in March 2019

  4. Ontology also experienced outages (it has purged the internet of any and all evidence of this, but I fortunately took screenshots from their Telegram as well as their GitHub where the original issue was raised by a user)

  5. Recently, it happened to Solana too - https://www.coindesk.com/solana-devs-call-all-hands-on-deck-as-unknown-bug-stops-block-production

To be blunt here, the common theme between all of the projects listed above (except for XLM) is that they were funded (at least in part) by NEO Global Capital.

This is the only NGC project that's in the T10 (we're not going to count $BNB), and more than likely Polkadot's trip will be short-lived too if it doesn't swap over to Proof of Work. This project has the potential to be great, but without making this switch it will forever run a centralized, inflexible protocol that will have to use janky workarounds like what's described with the 'bridges' to Ethereum, BItcoin, and other protocols as well as the parachains.

This post is being submitted because I'm about to publish a 3k+ word breakdown on why Polkadot's interoperability proposal will not work

Up
Comments
No comments here