Ethereum ecosystem is currently moving towards a multi-chain environment. This both includes work on the sharding as part of the ETH2.0, as well as appearence of different side chains and rollups independent of Ethereum Mainnet. One of the basic needs for a multi-chain environment, is an existence of a secure communication channel between the chains.
This post is a high-level description for the cross-chain bridge between two independent ETH2.0 chains and their respective execution layers (e.g. a bridge between ETH2.0 and SBC).
The implementation phase will start as soon as possible, this post will be updated once more details are known.
latest_execution_payload_header
in https://github.com/ethereum/consensus-specs/blob/dev/specs/merge/beacon-chain.md#beaconstate)This is a high-level example for the ETH1.0 -> xDAI data transfer in the post-merge environment. However, an exact underlying chains can be freely interchanged by any other chains conforming to the initial requirements.
Title: ETH1.0 -> xDAI post-merge data bridge
participant ETH1.0 data
participant ETH1.0
participant ETH2.0 committees
participant ETH2.0
participant Oracle
participant XDAI Light Client contract
participant XDAI receiver contract
ETH1.0 data->ETH1.0: included in the merkle tree\nsecured by the ETH1.0 block hash
ETH2.0 committees->ETH1.0: get updated blocks\nhashes for proposals
ETH2.0 committees->ETH2.0: propose and attest updated\nETH1.0 block hashes
ETH2.0 committees->ETH2.0: sync committee contributions
ETH2.0 committees->ETH2.0: LMD GHOST votes
ETH2.0->ETH2.0: beacon block is marked as finalized
Oracle->ETH2.0: gather new blocks and\nsync committee signatures
Oracle->XDAI Light Client contract: check if the known\nETH2.0 is outdated
Oracle->ETH2.0: request beacon state, merkle proofs
Oracle->XDAI Light Client contract: submit ETH2.0 block hash,\nmerkle proofs,\nsync committee signatures
XDAI Light Client contract->XDAI Light Client contract: follow sync protocol\n verifications
XDAI Light Client contract->XDAI Light Client contract: save verified\nETH2.0 block hash
XDAI receiver contract->XDAI Light Client contract: get verified ETH2.0 block hash
XDAI receiver contract-->ETH2.0: get associated ETH1.0 block hash and merkle proof for it
XDAI receiver contract-->ETH1.0: get merkle proof for ETH1.0 data
XDAI receiver contract->XDAI receiver contract: combine merkle proofs
XDAI receiver contract->XDAI Light Client contract: verify combined merkle proof
ETH1.0 data-->XDAI receiver contract: data transfer happened
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing