Skip to content

Plasma Cash, Lucidity vs Loom, tradeoffs, pros & cons #4

@keyvank

Description

@keyvank

It seems that Plasma Cash is going to be a foundation for our implementation of other Plasma flavors. Our decision on how it is going to be implemented in our projects is really important. We currently have 2 choices, to go with the Loom's approach, or Lucidity's approach.

Loom

Pros:

  • Seems more standard
  • Only stores one exit per coin

Cons:

  • Has 3 different challenge functions
  • challengeInvalidHistory needs a response from the operator which also brings more contract functions and makes the code more complicated.
  • Just figured out that in Loom's implementation, instead of storing all exits, we are storing all challenges done on an exit (Challenge matrix 😃 ). That means we should have a separate struct for challenges. Again, more complexity.

Considerations:

  • Current Loom's implementation seems to have a bug, where you could reset the maturity time of a block by overwriting on an existing Exit record. @nginnever 's proposal on adding if(exitSlots[slot] != empty) throw seems to work.

Lucidity

Pros:

  • Somehow seems simpler than Loom's approach as it has only a single exit & challenge function

Cons:

  • Has smaller community than Loom
  • Stores all Exits which seems redundant (Actually in both cases all exits are actually stored on the blockchain, it just makes the contract look messy)

Tradeoff

The question is if we want have less contract functions but store all exits or we want to have more contract functions but store only the latest exit.

Metadata

Metadata

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions