This document outlines solutions and discussions about bridging. Mostly focusing on bridging Ethereum mainnet to side-chains, or Ethereum mainnet to other major chains.
I spent 2 yrs analyzing Bitcoin's code until I felt confident to hold btc. I Found 8 vulns along the way. A bridge contract is the most adversarial scenario: open code, no upgrade, unlocking tokens for people that usually don't know the risks. Even a blockchain is easier to fix
A general-purpose bridge for Ethereum Layer 2s by Nick Johnson
Trustless Two-Way Bridges With Side Chains By Halting - very good overview of techniques (and interesting proposal) by @adlerjohn, @matt, @mikerah, and @villanuevawill
Common Interoperability Approaches - Ren documentation which also covers the common approaches of Atomic Swaps, Native Interoperability, Synthetics, and Multi-sigs
Two-way bridges between eth1 and eth2
Plasma Bridge – connecting two Layer-1 chains with a plasma chain - EthResearch discussion
A Complete Beginner's Guide To Atomic Swaps - Forbes article
Atomic Cross-Chain Swaps - July 2018 paper by Maurice Herlihy
Atomic Crosschain Transactions for Ethereum Private Sidechains - paper from ConsenSys / PegaSys, School of Information Technology and Electrical Engineering, University of Queensland, Australia
Is it possible to make atomic swap between Ethereum and POS chain? - EthResearch discussion
Succinct Atomic Swap and diagram - a proposal by Ruben Somsen
"Spacefold demonstrates how Connext can be used to build an internet-of-l2-chains/shards. Users can instantly and seamlessly transfer value between chains/shards, and eventually even make atomic cross-chain contract calls. Most importantly, this can happen in a way where users dont need to know what chain/rollup/shard they are on to begin with."
Note: this solution is based on the "More Viable Plasma" protocol. All Plasma protocol implementations are bridged to an Ethereum blockchain, but have a lengthily challenge period.
"The construction includes introduction of a new method in each associated asset contract - ERC721 and ERC20 on matic plasma chain, called transferWithSig."
- Documentation
- GitHub repo
- Introducing the ERC20 to ERC20 TokenBridge (also supports "Arbitrary-Message" / arbitrary contract method invocation)
- Related Forum Discussions
- older/deprecated POABridge GitHub repo
"The Baseline Protocol is an open source initiative that combines advances in cryptography, messaging, and blockchain to execute secure and private business processes at low cost via the public Ethereum Mainnet. The protocol will enable confidential and complex collaboration between enterprises without leaving any sensitive data on-chain."
- Efficiently Bridging EVM Blockchains - discusses designs used in Relay Networks V2
DEX in which "developers can lock ether tokens in an Ethereum smart contract that specifies the funds will only be sent if an equal amount of bitcoin is sent to a bitcoin address during a specific time window".
"tBTC is a sidechain designed to allow BTC holders a way to earn yield with their Bitcoin trustlessly, using decentralized finance (DeFi) applications. TBTC is an ERC-20 token that is minted when a user provides proof of their BTC deposit. A TDT is a non-fungible ERC-721 token (NFT) that represents a claim to a deposit’s underlying UTXO on the Bitcoin blockchain. Because TBTC is interchangeable with TDT, they can be considered two states of the same fundamental asset."
"Open protocol that provides access to inter-blockchain liquidity for all decentralized applications. RenVM uses secret computation/storage to implement general purpose interoperability between new and existing blockchains. It defines special 'secret contracts' that can be used to send digital assets, and generic data, from one blockchain to another."
- Announcement
- GitHub repo
- Ethermint network website / GitHub repo
- Website
- Wanchain cross-chain contracts GitHub Repo
- CoinDesk Article
(No swapping for ETH?)
"These tools do not operate solely on-chain. A side-channel is required between each party performing the swap in order to exchange additional data. This side-channel could be as simple as a text chat and copying data."
- On-chain atomic swaps GitHub Repo
- Overview Blog Post
The Execution Environments, operating within shards, will be able to transact seamlessly. The Eth1 staking mechanism for Eth2 validators is actually a bridge! There are also proposals to bridge between Eth2 and Eth1 (which will continue to function within / as a shard).
Cross-shard DeFi composability - classic post/discussion on the issue by Vitalik Buterin
How can we facilitate cross-shard communication? - Sharding PAQ
Two-way Bridges Between Eth1 and Eth2
- EthResearch discussions about the Eth1-Eth2 Transition
- Two-way bridges between eth1 and eth2 - proposal and EthResearch discussion
A fully decentralized "federation" of chains, allowing both open and closed networks to have trust-free access to each other, for exchanging value and for processing data. A "relay chain" coordinates consensus and transaction delivery between member chains. Blockchains are bridged to the Polkadot Nework. This is accomplished with "parachains", which are parallelizable, highly specialized blockchains implemented for each Polkadot participant. Parachains attach to the security provided by the relay chain rather than providing their own.
- An Introduction to Polkadot
- Website
- Polkadot Paper(PDF)
- Overview of "parachain"
- Now Live: Polkadot POC
The Cosmos hub connects to zones via IBC (inter-blockchain communication) protocol) and keeps a record of the total number of tokens in each zone. Because all inter-zone transfers go through the Cosmos Hub, you can send tokens from one zone to another without the need for a liquid exchange or trusted third party between zones.
- Website
- Ethermint
- Introducing the Ethereum Peg Zone
- The Shanghai Accord - Ethereum Scaling Agreement
"This Aion bridging mechanism is an entire Byzantine Fault Tolerant protocol where the majority of nodes a.k.a “Bridge Validators” must agree on transactions or state changes on one network, then pass that transaction to another network to trigger smart contracts."
Recently not enough information, GitHub updates, etc. to determine status
While these are defunct, they contain very useful insights!
Ethereum contract for Bitcoin SPV. The main functionality it provides are: verification of a Bitcoin transaction, optionally relay the Bitcoin transaction to any Ethereum contract storage of Bitcoin block headers, inspection of the latest Bitcoin block header stored in the contract.
By applying a similar logic as that found within traditional networking protocols such as TCP/IP, we propose a novel approach toward the optimization of the existing Ethereum network in a manner that only requires a marginal degree of additional development to the existing system.
- Overview by Trenton Van Epps
- Specification
- FAQ