I have read around some stuff on the idea of side-chains and the Ethereum Plasma project, so from what I understand, the side-chain idea basically works as follows: someone can deposit ether to a Plasma contract for a side-chain, and they will receive the corresponding assets in the side-chain. Then why they want to exit the side-chain, they will need to send the side-chain assets to a certain address in the side-chain, and get corresponding ether back from the Plasma contract. So apart from some complexities in the details like bounties and exit challenges, have I understood the side-chain idea correctly?

Now a couple questions:

1) the Plasma contract only deals with how to securely deposit and redeem ethers, but how does the real conversion from ether to side-chain assets occur? Do we need some off-chain centralized system/oracle to handle it?

For example, if I create a private Ethereum network (let's call it pNet with the official token being pEther) as a side-chain to the main Ethereum network, and want to enable people to convert ether from the mainnet to pEther in the pNet, so I will deploy a Plasma contract on the mainnet to let people deposit their ether, and a nodejs app will need listen to the deposit event via web3, then another contract on the pNet to hold a lot of pEther. Each time the nodejs app receives an event that someone deposited ether to the plasma contract, it will call the contract on the pNet to distribute pEther to the corresponding address.

So the transfer of digital assets between the main chain and side-chain still requires some centralized/semi-centralized system right?

2) As the side-chain's assets and economy system completely depends on the main chain, that means the side-chain should be forbidden from generating new assets independently right? For example, if I implement a PoW consensus in the side-chain, then there must not be any block mining reward for the miners, (apart from transaction gas fees) as block reward from the side-chain will interfere with the main chain's economy system. In that sense, I guess it is best to adopt the PoA consensus for the side-chain implementation if I were to use a private Ethereum network as a side-chain, right?


1 Answer 1


Broadly assets on a side-chain (or Plasma chain) are secured via the use of a challenge period. So if I want to exit a side chain, I propose an exit transaction, and everyone has a fixed period (say 7 days) to challenge it. If there are no valid challenges then I can withdraw my funds on the main chain, if there is a valid challenge then I lose some stake (or rather the challenger wins some reward, which could be funded by an amount I stake to propose the exit transaction). The main chain smart contract (that manages the deposited main chain funds) is able to prove that the submitted exit transaction is somewhat valid (i.e. was true at some point in the past).

This means provided someone is monitoring transactions and is incentivised to keep the asset distribution fair, there is security between the main & side chain. There are lots of edge cases for the economics and incentivisation to consider, and variants on this theme.

So to answer the questions:

  1. The issuance of pEther could be done via an "oracle" (e.g. if the side-chain was a PoA chain with a single authority) but users are secure as they can always exit the side-chain and the trusted "oracle" can't prevent this. So if I deposited ETH to the main chain plasma contract, and didn't receive any corresponding assets on the plasma chain, I could just withdraw my ETH from the main chain plasma contract.

  2. You could issue new assets on the side chain, but these assets would not be secured by any assets on the main chain. I suppose you could turn the main chain assets into a fractional reserve of the side chain assets, if you issued natively side chain assets that were fungible with the assets secured on the main chain, although I believe the proposed Plasma Cash spec. doesn't allow this fungibility.

  • so is my understanding correct in that the Plasma idea is mainly about how to securely exit a side-chain (ie. asset transfer from side-chain to the main chain), but how the assets are transferred from the main chain to side-chain is open for the side-chain maintainers to implement their own methods, right?
    – hellopeach
    Aug 7, 2018 at 14:29
  • Yep. If you consider only the "real" mainnet assets, these are effectively deposited to a (plasma) contract, and provided you can supply a proof that says you still own those assets, you can subsequently withdraw them (following a challenge period). The plasma assets are related through the association with any fraud proof that could be posted during the challenge period. i.e. if you didn't receive assets on the plasma chain, there would be no possible challenge that could be issued to your withdrawal.
    – Adam Dossa
    Aug 7, 2018 at 20:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.