-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path36237095.scaling-simplified.html
1 lines (1 loc) · 8.22 KB
/
36237095.scaling-simplified.html
1
<p>Trying to simplify security guarantees of various scaling solutions without dumbing it down too much. Need to study incentives regarding:</p><p>Data: What is the current state? i.e. who owns how much assets, including smart contracts. Who serves users this data? Can they serve wrong data?</p><p>State transitions: Who is allowed to change state? i.e. who can do a transaction? Can users be censored?</p><p>Validation: Who checks whether state transitions (transactions) follow the rules? Can invalid transactions be accepted as valid? Can the rules be changed?</p><p>Liveness: Who needs to be online for the system to work?</p><p>Cost: How much do I need to spend to be safe on this system?</p><p></p><p>PoW Blockchain</p><ul><li><p>Data: Stored by anyone who has copy of blockchain. Miners have incentive to share the blocks they mine to be recognised as legitimate blocks. Non-miners share data due to weak social incentives - if nobody told you the current state of the blockchain then you couldn’t transact, and hence the tokens on the chain (ETH) would be worth less.</p></li><li><p>State transitions: Anyone can request a transaction. Miners decide which ones are included. About 33% of miners or 25%-ish can use selfish mining attacks to censor users. They will forfeit some profit, but might still do so if there are incentives or punishments outside of the protocol.</p></li><li><p>Validation: All nodes are supposed to check. All users are supposed to run nodes. If you’re not running a node you’re trusting somebody for this. If the rules are not followed, you’re supposed to create a fork on which they are. Then you need to get everyone to use your fork. Which fork is worth more depends on which set of rules is preferred socially. If the majority wants one set of rules and a minority wants another set, both can coexist, although the tokens will trade at different prices. As long as miners in majority network don’t come and deliberately mess up the smaller one - maybe by mining empty blocks. Even if you fork and revert transactions, people might have gotten away with fraud if they’ve already swapped their tokens for physical assets (fiat, chickens, gold) or for cryptocurrency on a different blockchain, because you can’t revert those.</p></li><li><p>Liveness: Nodes need to be online to check rules are followed, or they need to trust a hard fork doesn’t occur while they’re absent. If they’re absent, they need to then create and socially spread a hard fork.</p></li><li><p>Cost: Cost of running a node, this depends on the size of the blockchain and the size of individual blocks. All blockchains artificially restrict these parameters to ensure running a node isn’t expensive.</p></li></ul><p>PoS blockchain</p><ul><li><p>Data: Same as PoW</p></li><li><p>State transitions: Same as PoW except selfish-mining and censorship is a bit more costly</p></li><li><p>Validation:Same as PoW except majority fork has no way of attacking minority fork. They will have to buy up all the tokens, and that just means after the attack they’ll get forked out again</p></li><li><p>Cost: Same as PoW</p></li><li><p>Liveness: Same as PoW</p></li></ul><p>State channel - usually between 2 members but can contain n members</p><ul><li><p>Data: All n members are collectively responsible for creating data, and hence have an off-chain copy.</p></li><li><p>State transitions: Even one of n members can censor, likely causing everyone to want to exit.</p></li><li><p>Validition: All n members need to agree for a state transition to be valid. If a transitions is used without all n signatures, the person who is left out can ask base layer blockchain to revert.</p></li><li><p>Cost: As low or as high as the cheapest of the n members. Exit time can be pre-agreed. Near-infinite tps.</p></li><li><p>Liveness: As fast or as slow as the slowest of the n members to progress state. Exit time can be pre-agreed, for instance if it is 12 hours, then everyone has to come online once in 12 hours to check if someone else attempted a fraudulent withdrawal.</p></li></ul><p>Sidechain</p><ul><li><p>Data: Sidechain operators have incentive to serve data assuming they wanna earn profit by being honest</p></li><li><p>State transitions: Sidechain operators decide which transitions are valid. Majority of operators can censor.</p></li><li><p>Validation: Sidechain operators decide which transactions are valid. A majority of sidechain operators can steal all assets on the sidechain. If these assets are sidechain-native, they will drop in value. Someone can deploy a fork instead. This is as good as the sidechain being an independent blockchain. If these are not sidechain-native, they belong to L1, then they will not drop in value. Sidechain operators get to keep the profit. Sidechain operators are disincentivised by reputation, and by profits they can earn from being honest (often captured by a token). A minority of fraudulent operators can be slashed, a majority of fraudulent operators will not slash themselves.</p></li><li><p>Liveness: If dealing with sidechain native assets, same as blockchain. If dealing with non-native assets then being online does not matter as much because you’re still at the mercy of the operators’ incentives.</p></li><li><p>Cost: Expensive, if sidechain native and sidechain has large blocks. Zero, node is not being run. Expensive for operators as well, due to large blocks. High tps</p></li></ul><p>Plasma</p><ul><li><p>Data: Plasma operators have an incentive to make data available somewhere off-chain, in order to earn profit from being honest. If everyone else is online, they earn nothing by refusing to publish data.</p></li><li><p>State transitions: Majority of plasma operators can censor.</p></li><li><p>Validation: Under normal circumstances, plasma operators get to decide valid transactions. However to exit, any node can ask the base layer blockchain to check the validity of the transactions.</p></li><li><p>Liveness: You are only safe as long as you’re online. Need to exit when you go offline, or trust someone will protect you. You can pay someone an incentive to protect you, but they might still be bribed a larger amount by the plasma operator.</p></li><li><p>Cost: Running a node is expensive (yet necessary), since plasma will have large blocks. Plasma operators are expensive. High tps. </p></li></ul><p>Optimistic rollup</p><ul><li><p>Data: All data is published on the base layer blockchain. Hence incentives are same as blockchain (see above).</p></li><li><p>State transitions: Majority of operators can censor.</p></li><li><p>Validation: Under normal circumstances, operators decide. However you can ask base layer blockchain to check validity of transactions, as with plasma</p></li><li><p>Liveness: You are safe as long as atleast one person exists (altruistic or else paid enough / won’t accept bribes), who is checking transactions and willing to claim fraud. Security is socialised, unlike in plasma where it is each man for himself.</p></li><li><p>Cost: Running a node is more expensive than base layer blockchain, but not necessarily a lot more. Operator has similar cost. Moderate tps.</p></li></ul><p>ZK rollup</p><ul><li><p>Data: All data published on base layer blockchain, hence incentives are same as blockchain.</p></li><li><p>State transitions: Majority of operators can censor</p></li><li><p>Validation: Base layer checks validity of all transactions in an efficient manner using a cryptographical tool called zero knowledge proofs</p></li><li><p>Liveness: Same as base layer blockchain</p></li><li><p>Cost: Same as optimistic rollup if you want to know current state. Same as blockchain node if only looking for security. Operator has similar cost. Moderate tps.</p></li></ul><p>Validium</p><ul><li><p>Data: Data published in off-chain source. Operators may want to withold data and demand a ransom to enable exit. Incentive to be honest is profit from being honest, and reputation.</p></li><li><p>State transitions: Majority of operators can censor.</p></li><li><p>Validation: Base layer blockchain checks validity of all transactions.</p></li><li><p>Liveness: Same as base layer blockchain if you trust operators not to withhold data. If operators withhold, staying online does not protect you.</p></li><li><p>Cost: Higher than ZK rollup due to higher tps. Same for operator. High tps.</p></li></ul>