Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
0xsuryansh committed Jul 3, 2023
1 parent 4ec4823 commit 6e6412f
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# EVMStoreChain
EVMStoreChain is a Cosmos SDK-based blockchain that allows users to read state from Ethereum, post the Ethereum state to the Cosmos blockchain, and query the agreed-upon state. This application interacts with the Compound protocol to fetch the borrowIndex of the cUSDT token of the latest block and post it as a vote to the Cosmos blockchain.
EVMStoreChain is a Cosmos SDK-based blockchain that allows validators to read the state from Ethereum, post the Ethereum state to the Cosmos blockchain as a vote, and query the agreed-upon state. This application interacts with the Compound protocol to fetch the borrowIndex of the cUSDT token of the latest block and post it as a vote to the Cosmos blockchain.

### Problem Statement / Requirement
- Utilize the Cosmos SDK to build a prototype blockchain that can read the state from Ethereum, verify its validity, and store it on your chain.
- The chain should be able to agree upon some Ethereum state. There should be a mechanism that facilitates this agreement. The state itself should be a single storage slot of some address.
- Once some storage value is agreed upon, it should be stored on your blockchain along with the input parameters that were used to query it. Users should be able to read data from your blockchain.

### Approach / Solution
#### Validators report what they observe:
Validators of the Cosmos blockchain should run a script or service that observes the Ethereum blockchain and submits `SubmitEthereumState` transactions to the Cosmos blockchain with what they observe. They submit the state observed and the block number the state observed for
Each validator should be responsible for fetching the Ethereum state independently and then submitting a proposal with that state. Even if the Ethereum state changes between the time different validators fetch it, this will not introduce non-determinism into the Cosmos chain. This is because the Cosmos chain does not directly query the Ethereum state during transaction processing. Instead, it relies on the data provided in the validators' proposals, which is deterministic and consistent across all validators.

For validators to be honest and report the correct state , slashing module is used, the EVMStoreChain slash a validator when they submit a vote that does not match the majority decision.



## Prerequisites
- Go (version 1.19 or higher)
Expand Down

0 comments on commit 6e6412f

Please sign in to comment.