하나의 기사에서 Celer 크로스체인 메시지 프레임워크 이해하기: 멀티체인 애플리케이션 개발 및 사용을 위한 새로운 모델
CelerNetwork
2022-01-14 10:48
本文约5195字,阅读全文需要约21分钟
Celer 크로스체인 메시지 프레임워크가 이제 공식적으로 출시되어 테스트 네트워크에서 출시되었습니다.

Celer Inter-chain Message 프레임워크(Celer Inter-chain Message, 이하 Celer IM)가 이제 공식적으로 출시되어 테스트 네트워크에서 출시되었습니다!

Celer IM은 다중 체인 dApp을 근본적으로 변경합니다.그리고그리고패러다임을 사용하다. 개발자는 이제 Celer IM을 통해 여러 체인에서 유동성과 프로그램 상태를 공유하는 dApp을 개발할 수 있습니다. 사용자는 복잡한 상호 작용을 위해 여러 블록체인을 수동으로 교차하고 전환할 필요 없이 Celer IM을 통해 클릭 한 번으로 여러 블록체인 생태계에서 유동성과 애플리케이션을 즐길 수 있습니다.

셀러 메신저는크로스 체인 구성 가능, 일련의 새로운 모델 생성"네이티브 크로스체인 dApp". 예는 다음과 같습니다.

  • DEX수익 집계기

  • 수익 집계기대출 계약서

  • 대출 계약서사용자가 하나의 체인에서 담보를 제공하고 완전히 다른 체인에서 자산을 빌려줄 수 있습니다.

  • DAO 거버넌스 프로토콜서로 다른 체인 간에 자산을 이동할 필요 없이 통합된 다중 체인 거버넌스 메커니즘을 허용합니다.

  • NFT 시장에서, 한 체인의 사용자는 완전히 다른 체인의 NFT 경매에 입찰할 수 있습니다.

  • 메타버스 게임, 사용자는 게임 내 다양한 ​​체인의 가상 아이템과 원활하게 상호 작용할 수 있습니다.

  • 새로운 교차 체인 자산 브리지, 사실 cBridge는 Celer IM에 구축된 자산 브리지로 볼 수 있습니다.

여러 체인에 배포된 거의 모든 dApp은 Celer IM 프레임워크를 사용하여 이점을 얻을 수 있습니다.

Celer IM 프레임워크는 사용이 매우 간편하여"플러그 앤 플레이"플러그인 계약플러그인 계약네이티브 크로스체인 DEX로 변환할 수 있습니다.

데모 데모 비디오

이 데모에서 Sushiswap 사용자는 단 한 번의 작업으로 Arbitrum의 ETH를 BSC의 BNB로 교환할 수 있습니다. 전체 Celer IM 시스템에서 다음 단계는 자동으로 분산됩니다.

  • Sushiswap에서 Arbitrum의 ETH를 USDT로 교환

  • Arbitrum에서 BSC로 USDT 연결

  • BSC에서 브리지된 USDT를 BNB로 교환

Celer IM이 테스트넷에 출시되어 출시되었습니다.그리고개발 문서스마트 계약 프레임워크그리고샘플 애플리케이션 코드. 우리는 강력하고 사용자 친화적인 기본 크로스 체인 dApp을 함께 만들 개발자 파트너를 적극적으로 찾고 있습니다. 협업에 관심이 있으신 분들은첫 번째 레벨 제목

"멀티체인 네이티브 dApp"의 새로운 모델

다중 체인 dApp 개발의 현재 일반적인 관행은 단순히 완료하는 것입니다.여러 체인에 동일한 코드 복제, 다른 체인에 있는 이러한 dApp의 유동성, 애플리케이션 로직 및 상태는완전히 고립된. 실제로 UI와 자산을 제외하고 이러한 dApp 간에 공유되는 것은 없습니다.

이 접근 방식은 일반적으로 낮은 유동성 효율성, 상태 파편화 및 사용자 경험 저하로 인해 어려움을 겪습니다. Celer IM을 통해 사용자는 크로스체인 계약 호출 및 메시징을 실현하여 "원클릭 작업"을 통해 더 높은 유동성 효율성과 통합된 애플리케이션 로직을 즐길 수 있으므로 Celer IM을 기반으로 하는 이러한 dApp은 멀티체인 블록체인 세계의 진정한 가치를 채굴할 수 있습니다. .잠재력.

보조 제목

DEX

오늘날 다중 체인 DEX는 배포된 각 체인에서 동일한 키 자산 쌍에 대한 유동성 풀을 구축해야 합니다. 따라서 DEX는 이러한 모든 다른 체인에서 이러한 자산 쌍에 대한 유동성 인센티브를 만들어야 합니다. 모든 체인의 총 유동성은 상당히 높을 수 있지만 각 체인의 풀당 유동성의 깊이는 실제로 상당히 세분화되어 있습니다. 불행히도 이것은 전반적인 거래 경험에 영향을 미치는 높은 슬리피지를 생성합니다. 또한 사용자가 다른 체인에서 유동성이 풍부한 자산을 거래하려면 원래 체인에서 수동으로 전환하고 별도의 펀드 브리지 응용 프로그램을 사용한 다음 최종 스왑을 위해 다른 체인으로 전환해야 합니다.

대출 계약서

대출 계약서

오늘날 사용자가 한 체인의 대출 프로토콜에 담보를 제공하면 동일한 체인에서만 자산을 빌릴 수 있습니다. 다른 체인에서 자산을 빌려주려면 유동성을 인출하고 수동으로 다른 체인으로 옮긴 다음 새 체인의 담보 풀에 유동성을 제공해야 합니다.

NFT 시장

NFT 시장

오늘날 사용자가 NFT 경매에 참여하려면 NFT가 호스팅되는 블록체인에 자금이 있어야 합니다. 그러나 종종 경매에 참여하고 싶지만 특정 체인에 자금이 없는 사람들이 있습니다. 예를 들어 OpenSea는 현재 이더리움에만 배포된 NFT 시장이기 때문에 복잡한 브리징 작업과 높은 가스 비용으로 인해 다른 체인의 많은 사용자가 OpenSea의 NFT 거래에 참여하지 못합니다.

첫 번째 레벨 제목

Celer IM 아키텍처 및 디자인 패턴

그렇다면 이러한 네이티브 크로스체인 dApp은 어떻게 생겨났고 개발자는 무엇을 구축해야 할까요?

보조 제목

자금 이체를 수반하는 크로스체인 로직

많은 기본 크로스체인 애플리케이션의 경우 핵심 프로세스에는 일반적으로 하나 이상의 체인에 자금을 보내고 이러한 크로스체인 자금을 사용하여 대상 체인에서 "다른 작업을 수행"하는 것이 포함됩니다. 위에 제공된 DEX 데모는 실제로 이 디자인 패턴을 사용합니다. 다음 소개에서는 DEX 데모에 대한 특정 코드 링크도 제공합니다.

위의 흐름도는 다소 복잡해 보이지만 실제로 대부분의 프로세스는 Celer IM에서 완료됩니다. dApp 개발자는 빌드만 하면 됩니다.IM 아키텍처 애플리케이션 템플릿.

1단계: 사용자가 dApp에 대한 트랜잭션을 시작합니다.

Celer IM에서 사용자는 더 이상 dApp의 기존 스마트 계약과 직접 상호작용하지 않고 새로운 dApp 플러그인 계약(A로 표시)과 상호작용하여 실행하려는 크로스체인 로직을 표현합니다. 이 dApp 플러그인은 전체 dApp 비즈니스 로직의 일부가 되며 소스 체인에서 dApp의 기존 스마트 계약과 상호 작용할 수 있습니다. dApp 플러그인 계약과의 상호 작용은 일반적으로 이 크로스 체인 dApp과 상호 작용하기 위해 사용자가 발행한 유일한 트랜잭션입니다.

표시된 DEX 예에서transferWithSwap이 기능은 전체 프로세스의 시작점으로 사용자가 "먼저 X 체인에서 토큰 A를 토큰 B로 교환한 다음 변경된 토큰 B를 Y 체인에서 토큰 C로 교환하는 것과 같은 교차 체인 논리적 요청을 표현할 수 있습니다. 체인".

물론 사용자가 이러한 요청을 수동으로 지정하지 않는 경우가 많으며 Celer IM 프레임워크를 사용하는 dApp은 이러한 기능을 호출하기 위해 보다 추상적인 사용자 대상을 구축해야 합니다.

2단계: dApp 플러그인은 메시지 및 관련 자금을 크로스체인 요청으로 전송합니다.

소스 체인에서 필요한 작업을 완료한 후 dApp 플러그인은 변환된 자금 및 관련 메시지를 대상 체인(B 및 C로 표시됨)으로 보냅니다. 메시지는 대상 체인에서 수행해야 할 작업을 설명합니다. 이때DEX 예시에서 메시지는 "크로스 체인 토큰 B를 토큰 C로 교환한 다음 토큰 C를 사용자에게 보냅니다."입니다. 그냥 전화해sendMessageWithTransfer, 메시지 및 자금 이체는자동으로 함께 연결. 그런 다음 메시지가 다음으로 전송됩니다.Message Bus알아채다:

알아채다:이 애플리케이션 모드에서 Celer IM은 다른 자산 브리지와 호환됩니다. cBridge는 IM에서 지원하는 첫 번째 자산 브리지이기 때문에 cBridge를 예로 들어 보겠습니다.

3단계: SGN(State Guardian Network)이 메시지를 전달하고 교차 체인 요청에 자금을 지원합니다.

이 단계의 이해를 돕기 위해 먼저 Celer IM의 핵심 구성 요소인 SGN(State Guardian Network)을 소개합니다. SGN 자체는 텐더민트에 구축된 지분증명(PoS) 블록체인입니다.메시지 라우터. 노드 공급자는 CELR이 검증자가 되고 SGN의 합의 프로세스에 참여하도록 서약해야 합니다. SGN은 Cosmos 및 Polygon PoS 체인과 같은 L1 블록체인과 동일한 보안 메커니즘을 사용합니다. SGN의 CELR 서약 및 페널티 메커니즘은 Ethereum L1 스마트 계약에서 구현됩니다.

SGN 서약 노드는 연결된 모든 체인에서 발생하는 트랜잭션을 지속적으로 모니터링합니다. 트랜잭션이 예약된 메시지를 포함하는 메시지를 트리거할 때헤더 페이로드 형식교차 체인 메시지 이벤트가 발생하면(마크 D) 검증 노드는 먼저 "메시지 존재 여부"에 대한 합의에 도달하고 동시에 가중 다중 서명 인증서를 생성합니다. 그런 다음 이 증명은 SGN 체인에 저장되어 메시지를 구독하는 Executor가 대상 체인(H로 표시됨)에 전달될 때까지 기다립니다.

자산 크로스 체인의 경우 cBridge 계약을 자산 크로스 체인 최적화가 있는 메시지 버스로 간주할 수 있습니다. SGN은 메시지 크로스 체인(마크 E)과 유사한 합의 및 증명 프로세스를 수행합니다. 그러나 자산이 크로스 체인일 때 SGN 검증자는 내장된 자산 크로스 체인 증명을 체인 아래의 실행자에게 전달하지 않고 온체인 트랜잭션을 대상 체인의 cBridge 계약(F로 표시됨)으로 직접 보냅니다. , 대상 체인의 dApp 플러그인 계약(G로 표시됨)으로 전송되는 자금 이체를 트리거합니다. 다시 한 번, Celer IM은 모든 자산 교차 체인 브리지에 연결할 수 있지만 우선 Celer의 cBridge가 기본적으로 지원된다는 점을 모두에게 강조하고 싶습니다.

4단계: Executor는 크로스체인 애플리케이션 로직을 실행합니다.

Executor의 임무는 SGN 블록체인에서 가중 다중 서명 인증서를 읽고 대상 체인의 메시지 버스(마크 I)에 전달하는 것입니다. Executor의 기능은 메시지를 전달하는 것뿐이므로 누구나 모든 응용 프로그램에 대해 Executor를 실행할 수 있습니다. 물론 dApp은 Executor에게 인센티브를 주는 것을 고려해야 합니다. Executor는 대상 체인에서 트랜잭션을 전송하고 가스 요금을 지불할 책임이 있기 때문입니다.

대상 체인에서 메시지 버스의 역할은 증명 메시지의 유효성을 확인하고 dApp 플러그인이 실제로 관련 지불을 받았는지 확인하는 것입니다(마크 J). 그 후 메시지 버스는 대상 체인에서 dApp의 교차 체인 비즈니스 로직을 전달하는 dApp 플러그인 계약(K로 표시)에 메시지(로직 실행 명령)를 전달합니다.

대상 체인의 dApp 플러그인은 구현만 하면 됩니다.executeMessageWithTransfer상호 작용. 주어진 DEX 예시에서,이 기능"토큰 B를 토큰 C로 교환" 논리는 대상 체인에서 실행됩니다.

자금 이체가 없는 크로스체인 로직

물론 크로스 체인 메시지를 보내거나 논리적으로 명령을 실행한다고 해서 반드시 자금 이체가 수반되는 것은 아닙니다. 예를 들어 NFT 시장에서 사용자가 다른 체인의 경매에 참여하는 경우 실제로 대상 체인으로 자금을 이체할 필요 없이 소스 체인에 자금을 잠그기만 하면 됩니다. 경매. 경매에서 낙찰된 후에만 사용자는 체인 간에 자금을 이체해야 합니다.


이 흐름은 첫 번째 패턴의 단순화된 버전일 뿐입니다. dApp 플러그인은 소스 체인에서 로직 호출만 구현하면 됩니다.sendMessage, 그런 다음 대상 체인의 dApp 플러그인 계약에서 구현됩니다.executeMessage

문제 해결

위에서 언급한 크로스 체인 메시지 패턴의 비동기 특성으로 인해 애플리케이션 로직에는 오류 처리 고려 사항이 포함되어야 합니다. 이러한 애플리케이션 모드에서는 다음 세 단계에서 오류가 발생할 수 있으며 그에 따라 처리해야 합니다.

  1. 소스 체인 dApp 로직 실행에 실패했습니다. 이것은 Celer IM과 관련이 없으며 dApp 비즈니스 로직 자체에서 처리해야 합니다. 오류 예: DEX 토큰 교환이 시간 제한을 초과합니다.

  2. 크로스 체인 브릿지 자산 크로스 체인 실패. 소스 체인 dApp은 공통 인터페이스를 통해 알림을 받고 자산 크로스 체인을 재시도하거나 자산을 사용자에게 다시 전송하여 반환된 자산을 처리해야 합니다.

  3. 대상 체인 dApp 논리 실행에 실패했습니다. 사용자 자금이 대상 체인에 도달하면 대상 체인에서 dApp 논리 실행이 실패할 가능성이 여전히 있습니다. dApp 개발자는 이러한 실패의 경우 일부 폴백 기능을 구현할 준비가 되어 있어야 합니다. 이러한 실패를 처리하는 일반적인 방법은 로직 실행을 중지하고 대상 체인의 사용자에게 자금을 보내거나 자금을 소스 체인으로 다시 전송하는 것입니다. 그러나 어떤 폴백 함수 로직을 구현할지는 전적으로 dApp 개발자에게 달려 있습니다.

개발 문서개발 문서첫 번째 레벨 제목

온체인 가치 축적 및 수수료

위의 두 모델에서 Celer IM이 원활하게 실행되기 위해서는 SGN의 CELR 스테이커와 검증자가 필수적이라는 것을 분명히 알 수 있습니다.

첫 번째 레벨 제목

Celer IM을 사용하여 네이티브 크로스체인 dApp을 구축하는 것은 매우 간단합니다.

Celer IM 아키텍처에서는 기존 dApp의 시장 규모를 확장하든 새로운 dApp을 구축하든 구현이 매우 간단하며 다음 세 단계만 따르면 됩니다.

또는sendMessage또는sendMessageWithTransfer또는executeMessage또는executeMessageWithTransfer기능.

두 번째 단계는 Executor를 실행하는 것입니다. 이 단계에는 코딩이 필요하지 않습니다. dApp 개발 또는 커뮤니티 구성원 모두 Executor를 실행하고 SGN에서 생성된 관련 메시지 인증서를 구독할 수 있습니다.

마지막 단계는 UI/UX 조정입니다. 현재 응용 프로그램이 가지고 있는 교차 체인 논리에는 여러 트랜잭션이 포함될 수 있으므로 사용자가 교차 체인 동작의 다양한 상태를 이해하는 것이 당연히 매우 중요합니다. UI의 구체적인 표시는 물론 애플리케이션 자체에 따라 다르지만 Celer IM은 쿼리하기 쉬운 게이트웨이 서비스를 제공하여 dApp이 자금의 정보 및 교차 체인 상태를 얻을 수 있도록 하여 dApp 개발자가 전체 수명 주기를 구축할 수 있도록 합니다. 교차 체인 거래.

Celer IM 생태계를 함께 구축할 dApp 파트너를 찾고 있습니다. Celer는 파트너에게 기술 지원을 제공할 것이며, 특별 자금 지원도 설정하고 있으며 자세한 내용은 나중에 제공할 예정입니다. Celer IM 생태계에 참여하는 데 관심이 있는 경우,문의하시기 바랍니다

CelerNetwork
作者文库