Cross-Chain Transfer Protocol (CCTP) - Demo

Circle
17 May 202306:54

Summary

TLDRジェフ・デイが開発したクロスチェーン転送プロトコル(CCTP)についてのデモを紹介します。CCTPは、ブロックチェーン間でネイティブUSDCをシームレスに移動できるように設計されており、ラップされたアセットを排除し、統一された流動性を提供し、高速な転送を実現することを目的としています。また、異なるブロックチェーンにも対応するシンプルで柔軟なバリデーション戦略を持ち、コミュニティと開発者が上に構築できる軽量で組み合わせ可能なコアプロトコルを提供します。

Takeaways

  • 🚀 CCTP(Cross-Chain Transfer Protocol)は、Circle社が開発したブロックチェーン間でUSDCをシームレスに転送できるプロトコルです。
  • 🎯 CCTPの主な目的は、ネイティブUSDCの焦点を当て、ブロックチェーン間でUSDCを簡単に移動できるようにすることです。
  • 🛡️ ラップされた資産の使用を避け、安全性と効率性を高め、資金の損失を防ぎます。
  • 🌐 現在、ネイティブUSDCは8つのブロックチェーンで利用でき、CCTPを介してさらに多くのブロックチェーンに展開する予定です。
  • 🔁 異なるブロックチェーン間でUSDCを高速で転送可能にし、数分以内で完了するように設計されています。
  • 🔄 USDCの転送プロセスは、トークンメッセンジャー契約書による承認、デポジットとバーン、メッセージ送信、そして遡及証明の取得を含みます。
  • 🔗 CCTPはシンプルで統一されたバリデーション戦略を採用し、任意のスマートコントラクトブロックチェーンで動作します。
  • 🔄 今後のCCTPの開発では、EVMチェーンだけでなく、それ以外のチェーンにも対応するように設計されています。
  • 🌐 ユーザーは直接SolanaからArbitrumなどのブロックチェーンにUSDCを転送できるようになります。
  • 🔧 CCTPは軽量で組み合わせやすいプロトコルとして設計されており、コミュニティや開発者が上に素晴らしい体験を構築できるようにしています。
  • 📚 Circle社の開発者ドキュメントには、CCTPの仕組みや使用方法に関する詳細が記載されており、例アプリケーションでの活用も紹介されています。

Q & A

  • CTCTPの主な目的は何ですか?

    -CTCTP(Circleのクロスチェーン転送プロトコル)の主な目的是は、ユーザーがワンチェーン上でネイティブUSDCをバーンし、別のチェーンで同じ量のUSDCをミントすることを可能にすることです。

  • ネイティブUSDCを他のブロックチェーンにシームレスに移動することの重要性は何ですか?

    -ネイティブUSDCをシームレスに移動することは、ラップされたアセット(大きなハニーポットの原因となる)を避け、ユーザーが異なるUSDCバージョン(ネイティブとラップ)の違いを理解しやすくすることで、カスタマーエクスペリエンスを向上させ、資金の損失を防ぐことにあります。

  • CTCTPの設計の基盤とは何ですか?

    -CTCTPの設計の基盤には3つの要素があります。まず第一に、ネイティブUSDCに焦点を当てること。第二に、リキッドитиの統一化。第三に、高速な転送を実現すること。

  • CTCTPはどのようにしてクロスチェーン転送を実現するか説明できますか?

    -CTCTPは、イーサリアムからアバロア这样的のメッセージを送信する際、イベントがイーサリアムで発生し、アタテストサービスがイベントを観察してメッセージを署名することで実現します。この署名とイベントデータはオフチェーンAPIを通じて取得され、avaxのコントラクトで検証され、メッセージが有効であると信頼できます。

  • CTCTPがサポートするブロックチェーンは何ですか?

    -現在、ネイティブUSDCは8つのブロックチェーンで利用でき、CTCTPは将来さらに多くのチェーンにUSDCを追加する予定です。

  • CTCTPのバリデーション戦略は何ですか?

    -CTCTPのバリデーション戦略はシンプルであり、任意のスマートコントラクトブロックチェーン(EVMチェーンかどうかに関係なく)で動作するように設計されています。

  • CTCTPがどのようにして高速な取引を実現するか説明できますか?

    -CTCTPは、ブロックチェーン間の資金移動において、銀行のような長い待ち時間から離れ、数分以内に資金を移動できるように設計されています。

  • CTCTPが将来的にどのように進化するかについて説明できますか?

    -CTCTPは将来的により多くのブロックチェーンにUSDCを追加し、シンプルで軽量なプロトコルを維持し、開発者コミュニティがその上に素晴らしい体験を構築できるようにします。

  • デモアプリケーションを使ってCTCTPの機能をどのように示すか?

    -デモアプリケーションでは、AvalancheからEthereumにUSDCを転送するプロセスが示されています。これは、トークンメッセンジャーコントラクトの承認、デポジットとバーン機能の実行、CircleのAPIによるアタテストの取得、そして宛先チェーンでのメッセージ受信機能の呼び出しを通じて行われます。

  • CTCTPを使用する際に参考になる開発者ドキュメントはどこにありますか?

    -CTCTPを使用する方法について詳しく説明した開発者ドキュメントは、developers.circle.comにあります。

  • CTCTPがどのようにしてクロスチェーン転送を簡素化するか?

    -CTCTPは、シンプルで軽量なコアプロトコルを提供し、開発者が簡単に組み合わせて使用できるようにすることで、クロスチェーン転送を簡素化しています。また、異なるブロックチェーン間の直接的な資金移動を可能にし、一連のプロセスをスムーズに行うことができます。

Outlines

00:00

🚀 導入とCCTPの概要

ビデオスクリプトの第1段落では、ソフトウェアエンジニアのジェフ・デイがCircleのクロスチェーン転送プロトコル(CCTP)について説明しています。CCTPは、ユーザーが一つのチェーンでネイティブUSDCをバーンし、別のチェーンで同じ額のUSDCをマイントすることを可能にします。このプレゼンテーションでは、CCTPの開発理由、高いレベルでの概要、統合ウォークスルー、短いデモなどについて説明します。CCTPの主要な設計原則は、ネイティブUSDCの焦点、流動性の統一、迅速な転送です。また、CCTPはシンプルで拡張性があり、コミュニティや開発者が上に素晴らしい体験を構築できるように設計されています。

05:02

🔄 USDCのクロスチェーン転送手順

第2段落では、USDCのクロスチェーン転送の手順について詳しく説明しています。EthereumからAvalancheへのメッセージの送信プロセスを例に取り、イベントの発生源、Attestationサービスによるイベントの確認、Off-chain APIの使用、そしてAVAXのコントラクトでのイベントデータとAttestationの検証プロセスを説明しています。さらに、USDCのクロスチェーン転送の具体的な手順も紹介されており、トークンメッセンジャー契約の承認、Deposit for Burn関数の実行、Attestationの取得、最後にメッセージトランスミッター契約のReceive Message機能の呼び出しが含まれています。デモアプリケーションによる実際の動作も展示されています。

Mindmap

Keywords

💡Circle

Circleは、このビデオスクリプトで言及されている金融技術企業です。ソフトウェアエンジニアであるジェフ・デイが所属し、クロスチェーン転送プロトコル(CCTP)についてのデモを行っています。Circleは、USDC(アメリカドルにペグされた安定コイン)のブロックチェーン間の移動を可能にする技術を提供しています。

💡CCTP (Cross Chain Transfer Protocol)

CCTPは、ブロックチェーン間でUSDCを焼却して同じ量を別のチェーンで鋳造することができる、無許可のオンチェーン・ユーティリティを指します。このプロトコルは、ブロックチェーン間の資産の移動を簡単かつ迅速に行うことを目的としています。

💡USDC

USDCは、アメリカドルにペグされた安定コインの一種で、Circleが発行するデジタル通貨です。CCTPの主な目標は、ネイティブUSDCのブロックチェーン間での移動を可能にすることです。

💡Native USDC

ネイティブUSDCは、特定のブロックチェーン上で発行され、そのブロックチェーンのルールに従って動作するUSDCです。これに対して、ラップされたUSDCは、別のブロックチェーン上で使用するためにラップされたUSDCのことです。CCTPの目標の一つは、ネイティブUSDCを広く使用し、ラップされたUSDCの使用を排除することです。

💡Permissionless

無許可(Permissionless)とは、システムやサービスを使用するために、事前に承認を得る必要がないことを指します。CCTPは無許可のプロトコルであり、ユーザーがブロックチェーン間でUSDCを移動する際に、中央認証机关の許可を受ける必要がありません。

💡Liquidity

流動性(Liquidity)は、資産を迅速かつ容易に売却できる能力を指します。CCTPの目的の一つは、USDCの流動性を統一することで、顧客の混乱を減らし、ユーザーエクスペリエンスを向上させることです。

💡Interoperability

相互運用性(Interoperability)は、異なるシステムやプラットフォームが互いに通信やデータ共有ができる能力を指します。CCTPは、異なるスマートコントラクトブロックチェーン間でUSDCを移動できるようにするため、相互運用性を高めることが目標とされています。

💡Fast Transfers

迅速な転送(Fast Transfers)は、資産の移動が短時間で完了することを指します。CCTPは、ブロックチェーン間のUSDCの移動を迅速に行うことを目的としており、ユーザーが長時間待つ必要がないように設計されています。

💡Extensible

拡張可能(Extensible)は、システムやプロトコルが将来的に機能を追加したり、改善したりできることを指します。CCTPは、コミュニティや開発者が上に構築し、より素晴らしい体験を提供できるようにする軽量で組合せ可能なコアプロトコルを目指しています。

💡Attestation Service

証言サービス(Attestation Service)は、イベントが発生したことを確認し、そのイベントを検証するサービスです。CCTPでは、証言サービスがトランザクションの正当性を確認し、ブロックチェーン間でのUSDCの移動を可能にします。

💡MetaMask

MetaMaskは、ブロックチェーンとインタラクトするためのブラウザ拡張機能とウォレットです。CCTPのデモでは、MetaMaskを使用して、AvalancheからEthereumへのUSDCの移動を実行します。

Highlights

Jeff Day, a software engineer at Circle, presents on Circle's Cross Chain Transfer Protocol (CCTP).

CCTP is a permissionless on-chain utility for cross-chain transfer of native USDC.

The protocol allows burning of native USDC on one chain and minting the same amount on another.

The primary goal of CCTP is seamless movement of native USDC between blockchains without using wrapped assets.

CCTP aims to unify liquidity by eliminating confusion between native and wrapped USDC versions.

The protocol focuses on fast transfers, aiming to move funds between chains within minutes.

Interoperability is a key feature, with native USDC currently on eight blockchains and plans for expansion.

CCTP uses a simple validation strategy compatible with any smart contract blockchain, including non-EVM chains.

The protocol enables direct money movement between two blockchains with native USDC.

CCTP is designed to be extensible, allowing developers to build on top of it.

The presentation includes a high-level overview of how CCTP works, from event emission to message transmission.

A live demo showcases transferring USDC from Avalanche to Ethereum, highlighting the practical application of CCTP.

Developer documentation for CCTP is available at developers.circle.com for those interested in implementing the protocol.

CCTP's design pillars include focus on native USDC, unification of liquidity, fast transfers, interoperability, and extensibility.

The protocol's architecture is designed to avoid wrapped assets, which can be vulnerable to exploits.

CCTP aims to improve user experience by eliminating the need to understand the difference between native and wrapped USDC.

The protocol is built to be lightweight and composable, encouraging community and developer engagement.

CCTP's validation strategy is based on event observation and attestation signing by the attestation service.

The demo application shows the capability of CCTP in a user-friendly interface, facilitating cross-chain transfers.

The presentation concludes with a call to action for developers to explore CCTP's potential through its documentation.

Transcripts

play00:04

hi everyone my name is Jeff day I'm a

play00:07

software engineer at Circle uh today I'm

play00:10

going to be giving a demo on circles

play00:12

cross chain transfer protocol also known

play00:14

as cctp a permissionless on chain

play00:17

utility that will allow users to burn

play00:19

native usdc on one chain and mint the

play00:22

same amount on another chain so at a

play00:23

high level this presentation will cover

play00:25

the following why we built cctp a high

play00:28

level overview an integration

play00:30

walkthrough and a short demo so first

play00:32

why we built cctp we had a few key

play00:35

design pillars around which we wanted to

play00:37

build cctp first a focus on Native usdc

play00:40

our primary goal was to allow

play00:42

individuals to seamlessly move native

play00:45

usdc between blockchains we really want

play00:47

to move away from any type of wrapped

play00:49

asset because they create huge honey

play00:52

pots as we've seen over the past year or

play00:55

so so the escrow contracts can be

play00:57

drained and cause a huge loss of funds

play00:58

second unify liquidity we have a lot of

play01:01

confusion in customer errors caused on

play01:03

blockchains where there are two versions

play01:04

of usdc uh both the native usdc and

play01:07

wrapped usdc many users are not sure the

play01:10

difference between them uh or and which

play01:12

ones you use and this has caused uh poor

play01:14

ux and lots of customer mistakes uh long

play01:17

term we want to have native usdc

play01:19

everywhere and eliminate the usage of

play01:21

wrapped usdc completely third or fast

play01:23

transfers we looked around at some of

play01:25

the existing Bridges and it's really not

play01:27

a great ux when you need to wait many

play01:28

hours or maybe even up to a week to move

play01:31

your money between Chains It's kind of

play01:33

similar to a bank and that's all what we

play01:35

want to move away from We Believe moving

play01:37

money between blockchains should not

play01:39

take more than a minute or two next

play01:40

interoperable today native usdc is on

play01:43

eight blockchains and we are planning to

play01:45

add usdc to many more chains in the

play01:47

future

play01:48

all of these chains are a little

play01:49

different uh with these differences in

play01:51

mind our goal was to have a simple

play01:54

validation strategy that can work on any

play01:56

smart contract blockchain whether it's

play01:59

an evm chain or not next many many to

play02:01

many we wanted to decide the protocol in

play02:03

a way where money can move directly

play02:05

between 92 blockchains which both have

play02:07

native usdc we've built it in a way

play02:10

where customers will be able to move

play02:11

money from Solana onto arbitrum directly

play02:14

without needing to go through each first

play02:16

which we think is pretty cool last but

play02:18

not least extensible we wanted to allow

play02:20

the community and developers to really

play02:22

build and take this and run with it so

play02:24

we purposefully keep the core protocol

play02:25

lightweight and composable in order to

play02:28

allow all developers to build some

play02:29

awesome experiences on top of it so now

play02:31

that we talked about what we wanted to

play02:32

build let's talk about how we built it a

play02:34

high level overview in practice let's

play02:37

consider passing a message from ethereum

play02:39

to Avalanche at a very high level an

play02:42

event would first happen on ethereum

play02:44

which emits some message next our

play02:46

attestation service will observe the

play02:47

event happening and sign a message

play02:49

saying that it is seen event a on eth

play02:51

anyone can call this off chain API and

play02:54

say hey Circle I want an attestation for

play02:56

event a our API will return the event

play02:58

data along with the attestation

play03:01

the event data and the attestation can

play03:03

then be passed into a contract on avax

play03:05

all the contract needs to do is verify

play03:08

the author of the signature and then I

play03:10

can trust that the message is valid and

play03:12

take whatever step steps it wants to so

play03:14

let's walk through the steps for a usdc

play03:15

cross chain transfer

play03:18

first approve the token messenger

play03:20

contract to transfer usdc

play03:23

second you would execute the deposit for

play03:25

burn function which deposits the user's

play03:28

usdc to the Token messenger contract

play03:30

burns the usdc and calls the message

play03:33

transmitter to pass the message and emit

play03:35

an event

play03:36

third uh fetch the attestation for

play03:39

circles API the message can be fetched

play03:41

using the message hash from the message

play03:42

sent event from step two finally call

play03:45

the receive message function on the

play03:46

message transmitter contract on the

play03:48

destination chain to receive usdc at the

play03:50

original specified address so this is

play03:52

kind of a higher level uh you know image

play03:56

of how all the smart contracts interact

play03:58

basically a diagram that explains what I

play04:00

just walked through so next we're going

play04:02

to go through an integration walkthrough

play04:03

in demo this is a demo application that

play04:05

we've built to show the capabilities of

play04:07

cctp at the landing page you can see

play04:10

I've already connected my metamask

play04:12

wallet

play04:13

that holds um some avax and some usdc on

play04:17

Avalanche so first I'm going to go here

play04:19

and specify that the source chain that I

play04:21

want to burn usdc on is Avalanche the

play04:24

destination chain that I'm going to want

play04:25

to Mint on is ethereum I'm going to

play04:28

press this button to copy my wallet

play04:30

address here so that my usdc ends up in

play04:33

the same wallet on ethereum let's say we

play04:36

want to transfer one usdc so we would

play04:39

hit the next button now this message

play04:40

will pop up asking to approve the

play04:42

transfer so I'm going to hit approve

play04:44

this is popping up a notification from

play04:47

metamask I'm going to confirm it

play04:49

[Music]

play04:52

next we just want to hit send to uh to

play04:55

uh which will make the deposit for burn

play04:57

call we mentioned earlier

play04:59

so that that should also pop up a

play05:02

metamask notifications you see we're

play05:04

calling deposit for burn here

play05:06

so I'm going to confirm that

play05:09

great uh so now we wait for the burn to

play05:11

take place on Avalanche and to fetch the

play05:14

attestation using circles API so this is

play05:17

just kind of a screen saying that that's

play05:19

going on in the background

play05:21

um

play05:22

so we're going to wait for this to uh

play05:24

wait wait for the burn and mint to

play05:26

happen

play05:28

foreign

play05:32

great so now we have a notification uh

play05:34

popping up confirming that we want to

play05:36

receive uh usdc on at the address that

play05:40

we specified on the destination chain

play05:42

ethereum so first we want to switch to

play05:47

this to the Gurley Network as we were on

play05:49

the Avalanche test Network and click the

play05:51

receive button

play05:53

so this is uh asking us to confirm the

play05:55

transaction to receive usdc on

play05:58

gurleyheath we're going to confirm

play06:01

wait for the transfer to complete

play06:07

and as you can see our transfer is

play06:08

completed so if we take a look at our

play06:10

metamask account now

play06:12

on ethereum

play06:15

if we look at assets

play06:17

we now have one more usdc than we did

play06:19

here on ethereum if we go back to our

play06:21

Avalanche

play06:23

we'll have one fewer usdc

play06:25

that's that's that's the demo

play06:27

um going back to the presentation the

play06:29

last thing I wanted to talk about is

play06:31

just our developer docs we have some

play06:33

developer documentation at

play06:36

developers.circle.com this can really

play06:38

outline uh it you know how the cross

play06:41

chain transfer protocol works and also

play06:44

how you can use it in an example

play06:45

application so that's the presentation

play06:47

thanks so much

play06:52

foreign

Rate This

5.0 / 5 (0 votes)

Связанные теги
クロスチェーンUSDCCCTPブロックチェーン金融技術円滑な転送安全性liquidity統合高速転送相互運用性拡張性
Вам нужно краткое изложение на английском?