[PLIP draft] Proposal: Universal Plasma DSL + Plasma reference Wallet implementation
There is no unique generalized “plasma for everything” right now and there is no plasma standard
So far, there are already many types of Plasma - MVP (Minimum Viable Plasma), MoreVP, Cash, Matic’s, Plasma Snapp, etc
However, none of them are connected to each other and each time they were built in the developers’ sole discretion. The idea is to develop one unique Plasma Standard that might be connected with any programming language and can be built for any purpose.
I would like to build a tool for wallet developers. All plasmas have operations of the same type, so it is logical to define “actions” in the spirit of requesting balance or transfers, and wallets developers can use this abstraction. And the underlying implementations can be provided by plasma developers with a standard external interface.
Finally, the aim of the proposal is to develop a Plasma Wallet with basic functions (deposit, withdrawal, transfer)
DSL API:
- Deposit
- Exit
- Challenge
- Tx Verification
- History Verification
- Wallet SDK
Optional features:
-
Predicate support (a bitmask with a list of available features in specific kind of plasma):
- erc20 / 721 support
- atomic swaps
- timelocks
- state manager operations
Plasma Attributes to specify:
- TPS
- The cost per transaction
Next steps:
-
Research Stage (research of existed current flavors of Plasma and their main value features to put into DSL)
-
The development of Plasma Standard + reference implementation of Plasma according to the standard
-
The development tool for Plasma (Plasma constructor that will allow specifying custom modules for deposit/exit games and internal structure according to standard protocols)
-
Reference Plasma Wallet / Framework development (webassembly / ios /android)
Examples:
An good description of the plasma architecture at a basic level from the cryptoeconomics lab
p.s.
I will prettify format according to Feedback on PLIP 1: PLIP Purpose and Guidelines and post it GitHub after the call (if the team will support this initiative ).
Thanks to @shamatar for the initial idea and @karl for pushing it forward