This MetaHash code review wouldn’t be complete without noting that marketers can do and say what they want, but I still don’t know what Blockchain 4.0 is or when it replaced Blockchain 3.0.
I guess incremental gains in TPS is it. Anyway, here we are, “the fastest and most secure blockchain” which (if “pick two from speed, security, and scalability” is correct) means that it can’t scale.
But apparently it can, and all the while be more decentralized than the competition. Lots of big claims. Perhaps that’s why it was rated an All-Star Project by Ian Balina… stop laughing.
Also, I hate a website that starts like this. Call to action is buying the tokens. That is not a good focus. Still, they’ve changed it now, let’s move on. I will note that the team was super friendly and helpful though.
“validation rate under 3 seconds. Performance is over 50,000 TPS”
“protected by 5 different consensus algorithms”
“anyone can add transaction nodes”
That last statement is interesting, not nodes, but transaction nodes.
“information in Blockchain with 4k crypto protection and multi-signature”
But wait, there’s more, for this limited time only you can get “up to 3 seconds to approve <transactions> inside the network and outside”, wait, outside?
“all digital assets in the wallet use the ERC20 token in all exchange services”, what am I reading?
“here is what you want to know about <metahash>”
“What is our market cap?”
Ok, so this is “clearly” a very “tech” focused team… Also, I refuse to do the # garbage.
They are forking Ethereum and Bitcoin. How do you fork two chains? You can fork one, and then give balances of the other, that’s not forking though. Although I have a lot to say about this forking website.
What is forging? Literally, I go to the FAQ that is suppose to explain forging, and instead it explains to me how much MHC I’m going to earn by having arbitrary numbers of MHC. Is this just a crypto economic project?
From what I can understand, using MetaGate (the wallet?) and having tokens, give you more tokens. So standard dilution models. This is the classic, buy tokens so you can earn more tokens model (but totally ignore that people are dumping the token and your overall value is actually decreasing).
Far too much focus on the token here.
Another whole page on marketcap.
Another whole page on ICO economics.
Oh, finally, Multi-PoS
“a new consensus type called multi-PoS”
“decentralized AI builds the optimum network synchronization map based on test and actual network operations” …
So, BFT with a gossip knowledge graph on top. Cool. So Tendermint.
This is an infrastructure project, not a blockchain project. “Decentralized”
Ok, whatever, let’s see if the code is good.
Repo spam. The strategy to try and make it look really busy with some randomly named repo’s that sound vaguely crypto.
I’m shocked, are you shocked? I’m shocked. It’s empty. I was not expecting that.
Ignoring the php part for a second, there is actually something here, let’s have a look.
Import crypto, create address out of ECDSA15, send transaction via CURL as JSON RPC.
Generating icons for addresses. I actually thought this was kind of cool, but no worries, it was just copied from Blockies
(Without credit of course)
Another php library, so we can actually expect code again.
Grabs server stats and draws network topology. Very basic code.
Was getting bored, so had a quick look at the token contract
if msg.sender == ownerContract, addrSender = ownerContract, else addrSender = msg.sender
So…. msg.sender = msg.sender? But with an additional 6 steps?
So, the owner can change the address of the contract owner, but it doesn’t update the owner and instead changes another variable so that the original owner is the only one that can ever update the change in owners…
Infinite minting for the owner, because, why not?
Let’s get back to the real code.
Ok, so the public code is really just for show at this point. But my review has been quite mean, so instead, let’s give the private code a chance.
I don’t really know what I’m looking at, let’s jump into main.
Definitely better than the public repo at least.
Standard priv/pub key stuff. Let’s move on.
No real new code here, mostly from other libraries. All given attribution though. So good on them.
Not a lot going on in core, but let’s see blockchain and transactions at least.
Interesting. Using time, normally a no no in decentralized world. block is just a file that gets written out. Updating balances is a bit loose. Not seeing any checks and balances.
Lot of code here, but it’s not very good. Well, the code is good, well written, but it doesn’t feel like the writers know too much about blockchain.
Think my previous statements might have been a bit premature. meta-node-torrent looks like the real meat. I think the rest are just tests and tools. Let’s dive into this guy.
Yeah, this finally looks like the real stuff. Let’s see
Looking much better. Still a traditional blockchain though.
Trying to understand how the graph and the chain play with each other. Right now I don’t see the correlation.
The graph is used for the p2p knowledge graph I mentioned earlier. Not the blocks.
MetaHash Code Review Conclusion:
Started rough, but we ended with some fair code. No secret sauce here, and nothing really wow. But fair code. C++ isn’t easy to do well, but the writers have a good grasp of the language. Not seeing any of the massive claims they are making being validated by the code though.
I really don’t like all the hype focus, makes them feel very scammy, and the promises are not validated. But there is semi good code supporting this. Is it what is being promised on the website though? No, definitely not. Does it at least have some code? Yes, yes it does.
You can chat about MetaHash in our Telegram group.
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.
MetaHash Code Review Timestamp: September 9, 2018