Arbitrum: Scalable, private smart contracts


Summary: I think that certain blockchain ideas get a little bit too much hype and this is definetly one of them. Arbitrum claims to be a step up on ethereum by offering smart contracts that have the ability to scale. But I think there are some very fundamental problems with the way this system is implemented which leaves it open to DOS attacks. Furthermore I think the system as a whole places too much power in the hands of third parties, while system like Ethereum only depend on the code. I think that this is my least favorite paper so far of the year

 What I liked:

  1. The system works through off the chain approach to figuring out how to conduct transactions -- very good because of issues with latency that plagues normal blockchains - there's a push in blockchains to move off the chain

  2. The system for what it's worth is some what cheaper to manage because not everyone is doing the same computations

  3. The paper claims to solve scalability issues for EVM smart contracts, its debatable whether it actually does this but the fact they are focusing in on the issue is pretty admirable.

  4. I think there's a lot of customization in the VM options which is something you don't get when working with the standard EVM

  5. It emulates what I think would be a reasonable human system in the 20th century - its something I could explain to my grandma decently well.

 

What I didn't like:

  1. Ethereum and EOS is probably the industry standard - deviating away from what everyone else is doing doesn't really help improve security. I'd prefer if they built an over the top system

  2. I think there's too much power given to the verifiers in this system - it’s a little bit too centralized to scale well in practicality

  3. The verification of checking proofs every time there is a dispute could be a little bit challenging - for one who determines what's correct? IE going back to the split between Ethereum vs Ethereum Classic where both sides had a correct answer

  4. I think it is very likely you could overwhelm a manager and make them lose out timing - the fact that this type of system needs human intervention makes me very skeptical of it

  5. I don't like the idea of negative incentives - ie penalizing someone who challenging something. At worse I think you should be no worse than you started.

 

Discussion Points:

*Just as a general note -- this paper left a lot of questions in my mind which I guess will end up being solved through usage if this ever gets deployed in the real world

  1. Under what circumstances would a malicious actor be able to take control of the smart contract

  2. Is it possible to add new managers to the contract while the contract is already alive, ie for a company appointing a new board member

  3. Does a manager need to be online 24/7 in order to make sure their vm is working correctly and as intended

  4. How do you make a legal system that has no consensus method that is baked in? That just puzzles me a bit, because they claim its platform agnostic but like I think that there should be some for of defauly

  5. Are there any ambiguous cases where a verifier could split both ways?

 

New Ideas:

  1. Making a version where you take out the verifier and just have the vm decide what to do (this ends up being very similar to what we have in ethereum) -- the reason is because people are ambiguous code is not

  2. Attack model of just creating an infinite amount of disputable assertions - I don't think this system will end up holding against it

  3. Create a way to predict before the program is run how much the VM will spend trying to run the program

  4. How much more efficient would this system be if the customization of VM's were stripped?

  5. Study adoption methods within the wider smart contract community