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

Add ERC: Public Cross Port #62

Merged
merged 33 commits into from
Feb 2, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
3048328
Create eip-xxxx.md
JXRow Apr 24, 2023
a4f32ac
Update eip-xxxx.md
JXRow Apr 24, 2023
4b4337f
draft cross eip
JXRow Sep 26, 2023
80d3192
Update eip-xxxx.md
JXRow Sep 27, 2023
c65c0c1
Update EIP number
JXRow Oct 11, 2023
6e26729
Lint
JXRow Oct 11, 2023
53c43fd
update EIP number to 7533
JXRow Oct 12, 2023
60ebbf6
update eip to erc
JXRow Oct 30, 2023
3cf5fa7
Remove files
JXRow Oct 31, 2023
4d3602e
Create eip-xxxx.md
JXRow Apr 24, 2023
d91c456
Update eip-xxxx.md
JXRow Apr 24, 2023
53e4e4b
draft cross eip
JXRow Sep 26, 2023
c914141
Update eip-xxxx.md
JXRow Sep 27, 2023
8fbbc97
Update EIP number
JXRow Oct 11, 2023
0bebbbd
Lint
JXRow Oct 11, 2023
a37f75a
update EIP number to 7533
JXRow Oct 12, 2023
0bb1346
update eip to erc
JXRow Oct 30, 2023
a74c116
Remove files
JXRow Oct 31, 2023
28e827f
Update erc-7533.md
JXRow Dec 8, 2023
74f79d1
Merge branch 'master' into cross
JXRow Jan 18, 2024
11cc006
Update erc-7533.md
JXRow Jan 18, 2024
a2c3045
Update erc-7533.md
JXRow Jan 18, 2024
5e6f507
Update erc-7533.md
JXRow Jan 18, 2024
e8531ef
Update ERCS/erc-7533.md
JXRow Jan 19, 2024
1fcdabf
Update ERCS/erc-7533.md
JXRow Jan 19, 2024
3e0a821
moved to Specification
JXRow Jan 19, 2024
abb2b21
Recommended changed to Suggestions
JXRow Jan 19, 2024
02bbe87
Merge branch 'master' into cross
JXRow Jan 19, 2024
44c064a
Update erc-7533.md
JXRow Jan 20, 2024
6836d77
Merge branch 'cross' of https://github.com/JXRow/ERCs into cross
JXRow Jan 20, 2024
880676e
Merge branch 'master' into cross
JXRow Jan 23, 2024
3be1b5a
Merge branch 'master' into cross
JXRow Jan 25, 2024
8491fa8
Merge branch 'master' into cross
JXRow Jan 31, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
update EIP number to 7533
  • Loading branch information
JXRow committed Jan 4, 2024
commit 53c43fdc4eb6c95c497cb064a0927f9959be01e3
12 changes: 6 additions & 6 deletions ERCS/eip-7833.md → ERCS/eip-7533.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
eip: 7833
eip: 7533
title: Public Cross Port
description: Help bridges to connect all EVM chains
author: George (@JXRow)
Expand Down Expand Up @@ -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-draft_Public_Cross_Port/0.png)
![](../assets/eip-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-draft_Public_Cross_Port/1.png)
![](../assets/eip-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-draft_Public_Cross_Port/2.png)
![](../assets/eip-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-draft_Public_Cross_Port/3.png)
![](../assets/eip-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-draft_Public_Cross_Port/4.png)
![](../assets/eip-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