Skip to content

Chamber is toolset for Plasma security, scalability and generalization.

Notifications You must be signed in to change notification settings

Kawai555/plasma-chamber

 
 

Repository files navigation

Plasma Chamber

Build Status

Coverage Status

This is experimental software, don't run in production.

Overview

Plasma is a 2nd layer solution and focusing on scaling transaction's throughput per second scaling rather than quick finality. Plasma isn't EVM scaling solution but Ethereum scaling solution, in other words, it aims to bring 1st layer security to fund safety, utilize off chain tps as the 2nd layer, and lesser instability of 2nd layer system. We often use Plasma toward several kinds of dapps, like a game, asset exchange, etc. But it requires a team to employee rare and talented Plasma researcher, and so very careful security analysis is needed for each domain specific Plasma. This causes duplicated research for each project, and security insights wouldn't be shared enough. Our solution is coined "Plasma Chamber", it generates a specific Plasma implementation from Plasma specific language. It's a kind of extension of Plasma Cash, but support more complex transaction without security downside.

Folder Structure

rootchain

  • Solidity contract for deposit, commit, startExit, exitChallenge, finalizeExit, withdraw, state transition verification

childchain

  • Entrypoint for childchain which interacts with ETH, RPC, DB, VM

watcher

  • Observe childchain's merkle tree.
  • Clients' must see his own state on childchain via his local proof
  • Watcher will do some more complehensive watching but must be decentralized. See Tesuji Plasma.

Development

Install

git clone git@github.com:cryptoeconomicslab/plasma-chamber.git
cd plasma-chamber
mkdir .db
yarn
yarn bootstrap
yarn build

Test

Run all tests.

yarn test

Test run

Launch child chain.

yarn run start

You can use child chain's JSON RPC from a sample app.

https://github.com/cryptoeconomicslab/plasma-sample-app

About

Chamber is toolset for Plasma security, scalability and generalization.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 76.3%
  • Solidity 23.0%
  • HTML 0.7%