Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QIP-3: x86 contracts capable of acting as hypervisor to child contract code #3

Open
Earlz opened this issue Oct 18, 2018 · 0 comments

Comments

@Earlz
Copy link
Contributor

Earlz commented Oct 18, 2018

Abstract

One of the cited problems with Plasma running arbitrary EVM contracts is that there is no way to run arbitrary EVM code within the EVM without completely emulating the EVM. There is an EIP proposed for this issue in Ethereum. This is of course much simpler for x86, since it is Von Neumann architecture. The x86 VM is automatically capable of executing an arbitrary bytestream. However, there is no protection to prevent that external code from making state changes etc.

A potential solution is to allow x86 contracts to act as a hypervisor and to be a liaison between some arbitrary child code and the actual blockchain state, capable of using custom logic to determine if state changes etc should be propagated into the blockchain, or even to give the code custom data in place of real blockchain data, potentially allowing the simulation of external blockchain contracts on the Qtum blockchain with minimal expense. Another use case is to record all state changes that are made, and then to compare that the state changes made are as expected. This is a part of how Plasma could work with x86 contracts

Motivation

Rationale

Strategy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant