Skip to content
This repository was archived by the owner on May 1, 2026. It is now read-only.

added backwards compatibility page - #20

Merged
wanderer merged 1 commit into
ewasm:masterfrom
wanderer:master
Aug 3, 2016
Merged

wanderer merged 1 commit into
ewasm:masterfrom
wanderer:master

Conversation

@wanderer

@wanderer wanderer commented Aug 3, 2016

Copy link
Copy Markdown
Member

This is the initail stab at documenting backwards compatibility

Comment thread BackwardsCompatibility.md
# Backward Compatibility
The current approach to achieving backwards compatibility with EVM1 is to
support both of the instruction sets with the option to transcompiling EVM1 to
EVM2. This approach gives clients optionality when dealing with EVM1 code.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we stick to eWASM instead of EVM2?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@wanderer
wanderer merged commit 59b5461 into ewasm:master Aug 3, 2016
@wanderer wanderer mentioned this pull request Aug 3, 2016
Comment thread BackwardsCompatibility.md
is.

## Gas Prices
In eWASM we will introduce sub-gas units so that each EVM1 opcode's

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also think about the possibilty to add a second, unrelated unit of gas.
Working out realistic gas costs for the opcodes already proved extremely difficult for the EVM. Especially when the goal of eWASM is to remove all precompiles, this will not become easier and we will drag this problem along.
The introduction of different gas "components" would also provide an avenue for future extendability, perhaps with the introduction of a gas component that is used for storage rent or differently scaling gas for memory usage and computation costs.

When we have the serenity abstraction, we could have a gas opcode that takes an integer argument, where gas(0) is the gas used by all EVM1 contracts and gas(1) is the gas used by eWASM contracts. The transaction can then apply different scaling factors (gas costs) for those components when paying the validator.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah If we can provided a way to do differential metering without added to much complexity then I think that would be ideal.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants