Skip to content

Commit

Permalink
update eip to erc
Browse files Browse the repository at this point in the history
  • Loading branch information
JXRow committed Dec 8, 2023
1 parent dc0c8d5 commit da628f5
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions ERCS/eip-7533.md → ERCS/erc-7533.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
eip: 7533
title: Public Cross Port
description: Help bridges to connect all EVM chains
author: George (@JXRow)
author: George (@JXRow), Zisu (@lazy1523)
discussions-to: https://ethereum-magicians.org/t/connect-all-l2s/15534
status: Draft
type: Standards Track
Expand All @@ -29,7 +29,7 @@ To attract cross-chain bridge projects to participate, aside from reducing the n

This EIP divides the cross-chain ecosystem into 3 layers and defines the SendPort contract and IReceivePort interface at the foundational layer. The implementation of the other layers is left to ecosystem project participants.

![](../assets/eip-7533/0.png)
![](../assets/erc-7533/0.png)

Under this EIP, an official SendPort contract is deployed on each chain as a unique entity. It is responsible for collecting cross-chain messages on that chain and packing them. SendPort operates as a public, permissionless, administrator-free, and automatic system. Cross-chain bridge operators retrieve cross-chain messages from the SendPort and transport it to the target chain to complete the cross-chain messaging process.

Expand Down Expand Up @@ -238,7 +238,7 @@ Let:

The essence of cross-chain is to inform the target chain about events happening on the source chain. This process can be divided into 3 steps. The following diagram illustrates the overall principle:

![](../assets/eip-7533/1.png)
![](../assets/erc-7533/1.png)

### 1.Add cross-chain message

Expand All @@ -250,17 +250,17 @@ The `SendPort.addMsgHash()` function can be called by different cross-chain brid

Upon the completion of packing a new MerkleTree, the package carrier (usually the cross-chain bridge project) pulls the root from multiple chains and stores it in the IReceivePort contract of each chain. It is important to note that the traditional approach involves using a push method, as depicted in the following diagram:

![](../assets/eip-7533/2.png)
![](../assets/erc-7533/2.png)

If there are 6 chains, each chain needs to push to the other 5 chains, resulting in the requirement of 30 cross-chain bridges, as shown in the diagram below:

![](../assets/eip-7533/3.png)
![](../assets/erc-7533/3.png)

When N chains require cross-chain communication with each other, the number of cross-chain bridges needed is calculated as: num = N * (N - 1).

Using the pull approach allows the batch of cross-chain messages from 5 chains into 1 transaction, significantly reducing the number of required cross-chain bridges, as illustrated in the following diagram:

![](../assets/eip-7533/4.png)
![](../assets/erc-7533/4.png)

If each chain pulls messages from the other 5 chains onto its own chain, only 6 cross-chain bridges are necessary. For N chains requiring cross-chain communication, the number of cross-chain bridges needed is: num = N.

Expand Down
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes

0 comments on commit da628f5

Please sign in to comment.