Pchain Code Review: Multichain System On EVM
Andre Cronje's Pchain Code Review reveals that they use a lot of buzzwords to describe a fairly straightforward blockchain implementation.
You all wanted this Pchain code review, you know who you are. When Pchain? When Pchain? Well, now Pchain. Not sure if you’ll love it but I’m not here to butter anyone’s butt.
So what is Pchain –Ā “The first native multichain system that supports EVM in the world. Making large scale blockchain applications possible.” Okay, Ethereum Virtual Machine for the uninitiated… but count me as one of them, because what does native multichain mean?
āOne main chain and multiple derived chains. ā
āConsensus with hierarchical sharding pipelineā
What?
āPOS based multi layer sharding mechanism with a novel pipeline design that tremendously improves the performance of transactions.ā
Letās just go to the code instead.

Hasnāt seen commits in a few months, but letās assume itās the usual China / Github argument.
I see ethermint. Not a great start.

go-ethereum and tendermint. Different handlers per chainID. We are going to see a multi array chain model arenāt we?
Nothing really happening in server, letās move on;

StartP2P, NewChainReactor(), AddReactor, they have my attention, letās have a look.

Ok.

Letās start from CLI, so we want to checkout, GetCMInstance, StartP2P, LoadAndStartMainChain, LoadChains, StartChains, and StartInspectEvent.

LoadMainChain, MakeTendermintNode, and getConsensus are our targets.
The news moving money, markets, and the world—before your day starts.
Daily. Free. Join 34,000+ readers across crypto, finance, and policy.

Ok.

Yup, just an array of ethermint chains. You interact with each one separately. They didnāt need the mainchain.
Ok, very unimpressed with this main implementation. Itās just ethermintwith an array of chains.
They have another repo though; research;

bft looked interesting, it was just poa.
newcore looks interesting;


Not bad, I donāt know why itās built. The coding style is very different, doesnāt seem from the same team.
Builds up a new eth using eth libraries, pretty cool.
Newcore was good.

Merkle is good.

Main is good.
I donāt get it, on the one side we have this multi chain ethermint rush job, which is bad, and on the other is this elegant new chain rewrite off of ethereum, which is good.
Pchain Code Review Conclusion:
50/50. So at the root of itās promise, is it this native multichain, hierarchical sharding pipeline? No, and stop using dumb buzzwords. Do we need another chain? No, probably not. Is the code mostly reorganized go-ethereum and ethermint? Yes, but that isnāt necessarily a bad thing.
Iām just not seeing any special sauce here. Nothing unique, no differentiation. Just another one.
You can chat about Pchain in ourĀ Telegram group, and knowing you lot, you undoubtedly will. A lot.
Disclaimer: Crypto BriefingĀ code reviewsĀ are performed by auditing what is on display in the master branch of the repoās made available. This was performed as an educational review and any comments in the article are the opinion of the writer. It is normal for code to change rapidly, hence we timestamp our code reviews so that they present a snapshot at a moment in time.Ā Information contained hereinĀ should not be used as any comment or advice on the project as a whole.
Pchain Code Review Timestamp: November 17th 2018