Протоколы обмена сообщениями
LayerZero и CCIP
«Протоколы обмена сообщениями» — бесплатный урок Web3 & DApp Development Fundamentals на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Web3 & DApp Development Fundamentals, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Web3 & DApp Development Fundamentals содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Beyond Token Bridges
Moving tokens is just the start. Cross-chain messaging protocols let contracts on one chain send arbitrary data and trigger functions on another.
This generalizes bridging into full cross-chain application logic.
What Is a Messaging Protocol?
A messaging protocol is infrastructure that delivers a payload from a source-chain contract to a destination-chain contract, with some security guarantee about authenticity.
Developers build on top of it instead of operating their own validators.
Generic Message Passing
With generic message passing (GMP), you can send any encoded data — not just token amounts.
A single message can instruct a destination contract to mint, vote, update state, or call any function.
sendMessage(
destChainId,
destContract,
abi.encode("setReward", 500)
);LayerZero
LayerZero is a messaging protocol that uses two independent parties: an Oracle (delivers block headers) and a Relayer (delivers proofs).
A message is valid only if both agree, so security relies on these two being independent and not colluding.
LayerZero Endpoints
Apps integrate via on-chain endpoints. A contract calls send on its source endpoint and implements lzReceive to handle incoming messages.
function lzReceive(
uint16 srcChain,
bytes srcAddress,
uint64 nonce,
bytes payload
) external {
// handle the cross-chain message
}Chainlink CCIP
CCIP (Cross-Chain Interoperability Protocol) from Chainlink uses its decentralized oracle network to relay messages and tokens.
It adds a separate Risk Management Network that independently monitors for anomalies and can pause transfers.
CCIP Messages
CCIP messages can carry data, tokens, or both. Developers send an EVM2AnyMessage and pay fees in LINK or the native gas token.
Client.EVM2AnyMessage message =
Client.EVM2AnyMessage({
receiver: abi.encode(dest),
data: payload,
tokenAmounts: tokens,
feeToken: linkAddress
});Security Through Independence
Both LayerZero and CCIP aim to remove single points of failure by separating roles (oracle vs relayer, or DON vs risk network).
The security argument is that compromising the system requires colluding across independent components.
Idempotency and Replay Protection
Receiving contracts must guard against duplicate delivery. Messages carry a nonce so handlers can ensure each is processed exactly once.
This is the same replay-protection principle bridges need.
require(!seen[srcChain][nonce], "dup");
seen[srcChain][nonce] = true;Use Cases
Generic messaging enables powerful patterns:
- Cross-chain governance — vote on one chain, execute on another
- Omnichain tokens — one token usable everywhere
- Cross-chain DeFi — borrow on A, use on B
Putting It Together
Messaging protocols like LayerZero and CCIP deliver arbitrary cross-chain messages, enabling omnichain applications. They reduce trust by separating independent roles and require replay protection in receiving contracts.
This completes your cross-chain journey.
Quick Check
Test your messaging protocol knowledge.
Recap: Messaging Protocols
You learned that:
- Messaging protocols deliver arbitrary cross-chain data, not just tokens
- LayerZero uses independent oracle + relayer; apps implement
lzReceive - Chainlink CCIP uses a DON plus a risk-management network
- Receivers need nonce-based replay protection
- They enable omnichain governance, tokens, and DeFi
Course complete!
Изучай Web3 & DApp Development Fundamentals с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 29
- Уроки
- 105
Часто задаваемые вопросы
Урок «Протоколы обмена сообщениями» бесплатный?
Да — полный текст урока «Протоколы обмена сообщениями» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Web3 & DApp Development Fundamentals, подпишись на CoddyKit PRO. Курс Web3 & DApp Development Fundamentals содержит 4 уроков всего.
Чему я научусь в уроке «Протоколы обмена сообщениями»?
LayerZero и CCIP Ты практикуешь Web3 & DApp Development Fundamentals с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Web3 & DApp Development Fundamentals?
Предыдущий опыт не требуется. Web3 & DApp Development Fundamentals на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Протоколы обмена сообщениями»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Web3 & DApp Development Fundamentals?
Да. Каждый урок Web3 & DApp Development Fundamentals включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы взаимодействия между цепочками
- Архитектуры мостов
- Риски безопасности мостов
- Протоколы обмена сообщениями