Layer 2 is not layer 2 without layer 1 security

in #hive4 years ago

I have seen people call Hivemind a "layer 2", and non-chalantly calling to move more of the blockchain to layer 2.

For "real" layer 2, there needs to be fraud proofs or validation proofs that verifies everything on layer 2 with the same security and consensus mechanisms of layer 1. You have to tread very carefully moving stuff outside the blockchain. Otherwise, these are just hybrid centralized solutions.

See: optimistic rollups and plasma (fraud proofs) or zk Rollups (validation proofs) on ethereum for how it works.

Where are the fraud proofs or validation proofs for Hivemind? If I'm not mistaken, it's just a centralized database expressing parts of the blockchain in a more efficient manner.

As mentioned before, I'm very disappointed by the direction HF24 has taken, and will no longer trust this network and the witnesses running it, until I'm shown the mechanisms used to secure layer 2 with layer 1 consensus.

Sort:  

I've been thinking about proofs for Hivemind for a while, as I realized earlier on that there aren't any.

Short of a periodic hash fucntion tied to a data set that changes every block, but doesn't take too much to compute, I can't think of anything right now.

I also thought of hashing the various live objects that make up the Hivemind codebase, and have that exposed via API so people can poll randomly, or have the nodes broadcast it on chain, timestamped. I'm still reading on the inspect.getsource() function in Python, which gives results on actual live code. Still studying it so I can't say that it can work. Obviously taking a hash of code that's not live can be faked.

It's not feasible to hash the whole DB at intervals because read speeds and calc times are long.

Thank you for thinking about the issue, it seems like a lot of people don't even care. I'm not familiar with Hivemind, so I can't comment on the technical feasibility, but zero-knowledge proofs would be the ideal solution. See zk Rollups on ethereum's layer 2

Hivemind just makes accessing the layer 1 data more efficient by storing the blockchain data in a sql database so it can be used in a Web3 application. All important validity checks are still performed in layer 1.

Which is what I'm saying, it's a centralized db. Whoever is using Hivemind is trusting the Hivemind node operator that the data is correct and identical to the layer 1 chain. Where's the fraud proof or validity proof to give me, an app user, that verification? What's stopping whoever is running the Hivemind node from manipulating data as they see fit before presenting to the user?

This is not layer 2. This is just a centralized db. My point is, layer 2 has a specific meaning in the blockchain space, and it is to do with a 2nd computational layer that has the same underlying security of layer 1. As with optimistic or zk Rollups on ethereum. Which is absolutely not the case here.

This has nothing to do with Hivemind in particular, but effects all Web3 DApps and even Wallet Apps on your desktop or smartphone. If you use etherscan.io for example, it accesses a centralized db and could theoretically return false or manipulated data. This risk is mitigated by decentralization. You can switch to other block explorers or Hivemind nodes and compare the results, or even run your own full node + Hivemind if you wish so.

My point here, which is literally in the title of the post, then mentioned in the post itself, then again mentioned in my last reply to you is.... Wait, I'll just quote from my last reply:

My point is, layer 2 has a specific meaning in the blockchain space, and it is to do with a 2nd computational layer that has the same underlying security of layer 1. As with optimistic or zk Rollups on ethereum. Which is absolutely not the case here.

So, stop calling Hivemind layer 2. I notice you never called it layer 2, and props to you for that, but I'd like to see other people here understand that too. That's it, that's all I'm saying. Hive is a vastly ignored chain that's #140 and perpetually falling down the ranks, it's best to follow the semantic conventions of other chains like Ethereum which have thousands of times greater economic activity and usage, if you want to attract any of their developers and users at all.

I am a bit confused I always thought layer 2 was the things like hive-engine the sidechains and how scotbot basically runs a sidechain for things like leofinance? Although those posts go straight to the chain, the witnesses validate and the only place that hivemind comes in is like you said the DB hivemind is just storage but now I wonder because don't many of the old chain apis now exclusively write to hivemind? Then again all nodes are required to run hivemind I assume or how do they then provide data unless thre is an interface so you may choose to kinda "swap" out the DB. Basically what I am saying is I feel hivemind or was under the impression hivemind is an upgrade to the current chain data far more integral than some layer 2 that you can do with or without...

You're not alone, it's all confusing and poorly explained