Direct Integration with Ethereum

I am leaning that way too

@diegop will the direct integration also include listening to events from Ethereum smart contracts?


will the direct integration also include listening to events from Ethereum smart contracts?

Our current plan is to provide the means to call IC canisters from Ethereum smart contracts and return the results of these calls to Ethereum smart contracts (and possibly vice versa).
So, in some sense the answer to your question is “yes”, but the mechanism for such interactions is not fleshed out yet.


will direct-integration-with-ethereum support eth zk rollups like Polygon Hermez, Optimistic Rollups, Plasma , etc

Good question! I am not sure. Curious what @THLO says.

The goal of rollups is to perform (transaction) execution outside Ethereum, which is exactly what we plan to offer. In other words, our integration can be considered a “rollup”.

In a zero knowledge (zk) rollup, the layer 2 solution provides a proof of validity for its off-chain work. Responses from the Internet Computer can carry such proofs. In the simplest form, a threshold signature of the subnet is provided. If there is a need or interest from the community, other forms of validity proofs can be considered, of course.

1 Like

Once the work of direct integration with Ethereum is completed, most blockchains based on ECDSA can and SHOULD be integrated. This will be the real Web3 infrastructure.

There are two kinds of account types in Ethereum(and in most other contract-supported blockchain):

  • Externally-owned(EOA) – controlled by anyone with the private keys
  • Contract – a smart contract deployed to the network, controlled by code. Learn about smart contracts

Most the prosperity and glory of Ethereum comes from contract, but it only can be used in Ethereum.

After directly integrated with Ethereum, even if it is an EOA, it will also support controlled by code, which is the canister on the IC, so all potentials and power of the smart contract, including composability, etc., will be owned by the external account.

Up to now, we still only got cheaper and more usable smart contracts.
But if all blockchains are integrated in this way, then complex cross-chains can be implemented through cross-canister calls. At that time, IC will become the execution layer and hubs of all blockchains! The real explosion of Web3 will begin here.


Hi is ICP have BEP20 Contracts?

Many other chains such as SOL,ada ,or Ethereum capacity expansion solution(L2,sidechain) . All their ERC20 transformations cost extremely expensive gas fees.
Will the gas for transferring assets from Ethereum network to ICP be reduced after integration ?


Would integrating to Casper Protocol take us closer to integration to Eth 2.0?

I’m not sure if I understand your question. ICP itself is not an ERC-20 token. So, it is not a BEP-20 token either because BEP-20 extends ERC-20 (if I’m not mistaken).

However, you can create any kind of contract/token on the Internet Computer, including BEP-20 compliant tokens.

Transfers that correspond to Ethereum transactions will still need to be paid. The idea is to run the big bulk of smart contract logic on the Internet Computer, which will be significantly cheaper than running it on Ethereum.

Bear in mind that Ethereum 2.0 only includes Casper-FFG (Friendly Finality Gadget), which is used to finalize blocks that are still added using the proof-of-work mechanism.
We haven’t looked into it deeply yet but it looks like the Ethereum integration will not require Casper - at least not in the foreseeable future.

If anybody has a different perspective, please share your insights here in the forum!


Does Ethereum’s amorphous timeline on shifting to proof of stake have any impact on the feasibility of integrating the IC w/ the ETH network?

It shouldn’t. There are a couple of layers of integration(if you go back and read Dom’s initial post you’ll see them). Eth transactions are just transactions. As soon as the IC can create a stable address and sign as that address you have the first layer of integration. That can be augmented by making ETH chain data reliably available on the IC, but you don’t actually need it if you have another way of trusting the state that you think you have. If you can interact with near real-time state then you have many more types of applications that you can build, but there will be plenty of applications once you can just produce addresses and sign.

Think of a multi-sig wallet that runs on the IC that issues a send transaction on the ETH chain. It really doesn’t need any info from the ETH chain. Sure, knowing the balance, would keep you from issuing a transaction that spends more than you have, but even if you issue a transaction for more than you balance it will just fail. You can use this same logic to build things like a DEX where you provide a Merkle proof of your deposit into the on IC-ETH addressed canister and then the canister can assume it has control of that Token until it sends it to another address. The on IC dex can operate without gas fees and just needs gas to send withdrawals back to other ETH addresses.

None of those applications require you to know anything about how the ETH consensus mechanism actually works…or event to know the real-time scope of the state of the ETH chain. You don’t need those things…but it would be cooler if you did have them!


Wow, that’s a great explanation; thank you!

Before ETH integration, we should maybe integrate Bitcoin derived Blockchain… Because these blockchain have NO SMART contract, NO POSSIBILITY of Swap… imagine if you can REALLY hold BTC, BCH, LTC, DOGE, DASH on ICP… The, it will be able to create contract to swap BCH for LTC… Amazing… I think all Bitcoin fork should be integrated first on ICP as it could require minimum work once it’s done for Bitcoin first. Could this proposal be added ? I am sorry I am not native english but if someone can formulate it properly in english, it would be nice.


I think this is very reasonable, DeFi for all the Bitcoin forks!

Afaik BCH has some smart contract functionality, anyway I’d rather have ETH and the immense erc ecosystem on the IC than some old chains nobody cares about.

I am pretty sure this has been asked before, but can someone ELI5 why a direct integration of Bitcoin with Ethereum is not possible/feasible?

A direct integration of Bitcoin with Ethereum means that a smart contract on Ethereum can “natively hold” Bitcoin.

That means that a smart contract on Ethereum can hold a Bitcoin private key, and sign Bitcoin transactions using that private key.

For that to work on a decentralized computer, you need to split up the private key into “shares” and distribute it across many Ethereum miners. Then, when that smart contract wants to make a transaction on the Bitcoin network, each miner will need to sign the transaction with their own private key share, and if and only if a sufficient number of miners sign will the transaction go through. This is known as a “threshold signature”.

Another problem to solve: who actually generates and securely distributes the private key shares to the miners?

All of this is non-trivial to implement. In the case of Ethereum, I don’t know if it could even work, because everything on the Ethereum blockchain is public, and any node can read the contents of the entire blockchain. That means private key shares cannot be made private or secret.

Also, there are many more Ethereum miners and nodes participating in consensus than in the IC, since the IC blockchain is split into smaller blockchains, each reaching their own independent consensuses. Can a 2/3 threshold ever be reached in Ethereum? What if a miner is given a private key share (that is somehow made private), but that miner goes down and never comes back online? What happens to that key share? On the IC, nodes remain online continually and are penalized by the NNS for failing to meet certain SLAs. Ethereum has no such guarantees that its miners will remain online.

There are probably more, but this is my understanding of why a Bitcoin direct integration will never happen on Ethereum, at least not in the next couple of years. I’m no cryptography expert, so it’d be nice if someone else with more experience could chime in.


Thanks for the explanation!

So you are saying that for the IC, any node can not read the entire chain? Can you give me a reference as to how this works for the IC?

Thanks again! I hope more people will want to say something about why direct integration of Bitcoin with Ethereum is not feasible!

1 Like