AppLayer
  • Welcome to AppLayer Docs
  • Introducing AppLayer
    • A Primer on Smart Contracts
    • The Problem With EVMs
    • What is AppLayer?
  • How AppLayer works
    • Validators
    • Sentinels
    • Application Chains
    • Bridging
      • AppLayer-to-AppLayer Data Bridging
      • AppLayer-to-AppLayer Token Bridging
      • AppLayer-to-External Bridging (Ethereum, Solana, etc.)
  • Understanding rdPoS
    • Blockchains overview
    • How rdPoS works
    • Validator implementations
    • Slashing
  • BDK implementation
    • The utils folder
    • The contract folder
    • The core folder
    • Transactions and Blocks
    • Database
    • Contract call handling
    • RLP (Recursive-Length Prefix)
    • P2P Overview
    • P2P Encoding
  • Understanding contracts
    • Solidity ABI
    • Internal and external contract calls
    • Setting up the development environment
    • Contract Tester
  • Precompiled contracts
    • Types of pre-compiled contracts
    • Dynamic and Protocol Contracts
    • SafeVariables and commit/revert logic
    • How to code a precompiled contract
    • Creating a Dynamic Contract (Simple)
      • Simple Contract Header
      • Simple Contract Source
      • Deploying and testing
    • Creating a Dynamic Contract (Advanced)
    • Creating a Protocol Contract (Advanced)
  • EVM contracts
    • State management and VM instance creation
    • Seamless C++/EVM integration
    • C++ to other contract calls
    • EVM to other contract calls
    • Executing contract calls via EVMC
    • Calling EVM contracts from C++
    • Calling C++ contracts from EVM
  • Getting started with AppLayer Testnet
  • Join our Community
  • Get in Touch
  • Glossary
Powered by GitBook
On this page
  1. How AppLayer works

Bridging

How bridging works on AppLayer.

There are inherent flexibility issues with native and application-specific chains when compared to traditional EVM chains. An application-specific chain is limited as it can not support a complete service that involves interaction between more than one application. Those problems could heavily damage the reputation of a project built on them.

Our solution to this issue is to allow AppLayer-enabled blockchains to natively communicate with each other by using the Chain Abstraction Network (hereby denominated CAN) as a middleman, where AppLayer serves as an intermediary between two dApp chains trying to communicate with each other. We call that bridging.

It's possible to bridge arbitrary data and tokens, both between AppLayer nodes and between AppLayer and external networks.

How is safety ensured?

The Validator and Sentinel nodes that read from a given chain are determined using RandomGen, the trustless decentralized randomness generator developed by AppLayer Labs. We ensure to keep a fair selection of nodes, however, there is a possibility of a 51% attack.

For example, in a network with 100 nodes, if a malicious user controls 51 of them, and all of them get selected for driving a cross-chain request and a block, they could collude and forward any message they want.

We avoid this by introducing Sentinels to the network. Sentinels are AppLayer Labs-powered Validators that ensure this collusion does not happen. Sentinels can not create new blocks, but rather work together with Validators to fortify the network’s security.

PreviousApplication ChainsNextAppLayer-to-AppLayer Data Bridging

Last updated 1 year ago