This article is rewarded by the Bihu.com content support program.
Plasma is a block chain expansion solution designed by Joseph Poon and Vitalik Buterin, which uses a chain to report to the root chain (i.e., Ethernet) to increase transaction throughput, so that there is no need to worry about security issues that usually arise when a small chain is used. OMG (Omisego) to the central Exchange is expected to plasma and design. We will use plasma to support scalability, complete chain transactions without sacrificing security. In this article I will describe how we build a plasma. Goal: Create a block chain that does not need to be secure on its own
We achieve this by asking the user to exit the chain when there is an error. Here's how it works: If an invalid transaction is included in the chain, all users must exit the chain within 7 days. If a user cannot access a strand, but a child chain is committed to its parent chain, the user must regain access to the chain and check its validity, or exit within 7 days. The recall (also called exit) exits processing in the order in which the transaction was created. The unused transaction output (UTXO) references a low block height transaction (that is, older transactions) that is contained in the parent chain higher than the priority of the transaction contained in the updated block. This leads to the withdrawal of the reference to the recently included invalid transaction, which is lower than the exit priority of the older valid transaction. The transaction is valid only if the input owner has signed the confirmation verification of the transaction that has been included in the corresponding parent chain. Responsibility decomposition client-watch the ether and run the chain, as soon as possible to detect fraud and exit. Sub-chain-watch the deposits in the ether and perform all calculations on the current state of the chain. Root chain-locks the chain into the etheric square through an intelligent contract. For the sub chain process deposits and exits, only receive enough information to handle both, as well as confirm and deny fraudulent exits. Parent chain--guarantees the child chain security. Synonymous with the root chain of the smallest viable product (MVP); There may be multiple parent chains between the chain and the root chain in the final form of plasma. Deposit
In order to use the plasma chain, users must transfer their assets (that is, the Ethernet or other tokens) from the parent chain to the Strand. To move a deposit, the user moves the asset to the chain from the parent chain by moving the assets to the corresponding plasma intelligent contract on the etheric square.
MVP's deposit processing has simplified the process specified in the plasma white paper, reducing complexity. Deposits deposited in the plasma chain are immediately included in the parent chain records of the child chain and cannot be canceled. To cancel a deposit, users can immediately withdraw their assets.
There is no additional risk for depositors. Once transactions that transfer assets to the smart contract are confirmed, they can be withdrawn. Even if the strands do not have a mapping of corresponding deposits, depositors can still withdraw their assets. withdrawn
To transfer an asset back to the parent chain, the user can initiate a recall. A user initiates a recall simply to move the asset back to the parent chain and to have the parent chain in place. When a faulty plasma chain is detected the user must initiate a recall; If the user does not withdraw in time, then they may be in danger of losing their assets.
There are two types of withdrawals. The first is "simple withdrawal", which is the unilateral withdrawal of its own assets from the Strand. The second is "mass withdrawal", when the parties withdraw their assets from the Strand together. A large number of withdrawals is clearly more complex and will be discussed in future articles.
When a user withdraws an asset from the plasma chain, it is processed in the order in which the exit transaction was created (before the first process). Withdrawal after the end of the challenge period will be final. Anyone can provide evidence of fraudulent behavior during a challenge. Simple Recall
A simple recall consists of four steps: A user submits a recall request to a plasma intelligent contract on the parent chain. The recall request enters a challenge period that will open for some time. During this time, anyone can submit two-flowered evidence to Plasma's smart contract, proving that the withdrawal is invalid. If a challenge succeeds, then the user is unable to withdraw their assets by attempting to exit. If the withdrawal is proved to be invalid, the person who withdraws will be punished and the rapporteur will be rewarded. If there is no successful challenge until the end of the challenge, the withdrawing person receives his or her own assets. The economic incentives behind this have not yet been finalized. End of
There are two types of finalization: sub-chain finalization-depending on the consensus mechanism used by the sub-chain; we choose to use the proof of entitlement. Root-chain finalization-depends on the consensus mechanism used by the root chain; the etheric square is currently using a proof of workload.
The final and security of the sub chain depends on the root chain. All security assurances provided by plasma assume that the etheric square is operating normally. The thing to remember about plasma MVP is the authoritative proof (POA) that the proof of entitlement will be added. It does not use bonds to punish fraudulent practices. If an invalid transaction is included in the chain, everyone must exit the chain immediately. The chain relies on the final (block acknowledgement) of the etheric square.
PLASMA MVP is a step towards the following two points: (i) to stimulate the potential of the ether through the expansion of the Ethernet master network, (ii) to build an exchange to be centralized by the OMG to prepare for the use of mainstream finance. As Omisego is further involved in plasma development, the design will evolve into other features described in the plasma and Omisego white papers.
I would like to thank Joseph Poon,vitalik Buterin and Karl Floersch for their time and insight, which is very valuable for translating the global block-chain scaling solution into the MVP specification we are implementing. All the mistakes are my own.
Translation Author: Xu Li
Original address: Construction of a Plasma Chain 0x1
Author: Lilymoana
Link: https://www.jianshu.com/p/408b4228562a
Source: Jianshu
Copyright belongs to the author. Commercial reprint please contact the author to obtain authorization, non-commercial reprint please indicate the source.