-
Notifications
You must be signed in to change notification settings - Fork 100
Home
Anton Bukov edited this page Dec 17, 2019
·
11 revisions
Welcome to the Near <> Ethereum Bridge wiki!
Initial Bridge discussion started here: https://github.com/nearprotocol/nearcore/issues/942
- https://medium.com/@loiluu/peacerelay-connecting-the-many-ethereum-blockchains-22605c300ad3
- https://blog.gridplus.io/efficiently-bridging-evm-blockchains-8421504e9ced
The Bridge should be presented by smart contract based light clients and arbitrary trustless actors who wish to forward necessary data between Near and Ethereum blockchains.
The Bridge API should allow:
- Pass arbitrary data between smart contracts in different chains
- Make arbitrary calls between smart contracts in different chains
The Bridge base projects:
- Fully collaterized NEAR stable token in Ethereum network
- Fully collaterized ETH stable token in Near network
- Smart contract based Ethereum proxy-accounts for Near users
- Smart contract based Near proxy-accounts for Ethereum users
Ethereum smart contract should be Near Light Client
Described necessary data structures at this page: https://github.com/nearprotocol/bridge/wiki/Data-Structures
- Precompiled contract for Ed25519 signature verification: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-665.md
- Ed25519 signature verification in Solidity (1.2M+ gas each ecmul): https://github.com/javgh/ed25519-solidity
Near smart contract should be Ethereum Light Client
- Ethereum Light Client https://github.com/ethereum/wiki/wiki/Light-client-protocol
- Ethash validation in Near: https://github.com/nearprotocol/near-runtime-ts/blob/a2daf139b7d3ccf29730cfee76fbd27c25e9db38/apidoc/modules/_near_.md#check_ethash
- RLP Decoding in Solidity: https://github.com/hamdiallam/Solidity-RLP
- Wiki: https://github.com/ethereum/wiki/wiki/Ethash
- SmartPool by Kyber (Solidity): https://github.com/SmartPool/contracts/blob/develop/contracts/Ethash.sol#L460
- Parity (Rust): https://github.com/paritytech/parity-ethereum/blob/master/ethash/src/compute.rs#L164
- Waterloo Bridge by Kyber (C++): https://github.com/KyberNetwork/bridge_eos_smart_contracts/blob/master/contracts/Bridge/Bridge.cpp#L63