Confidential Transfer

기밀 전송이란 무엇인가요?

기밀 전송을 사용하면 전송 금액을 공개하지 않고 token account 간에 토큰을 전송할 수 있습니다. 이는 프라이버시를 보호하는 거래에 유용합니다. 전송 금액과 토큰 잔액만 비공개로 유지됩니다. token account 주소는 공개 상태로 유지됩니다.

작동 방식

Confidential Transfer 확장 기능은 Token Extension program에 명령어를 추가하여 전송 금액을 공개하지 않고 계정 간에 토큰을 전송할 수 있게 합니다.

Confidential Transfer Basic Overview

기밀 토큰 전송의 기본 흐름은 다음과 같습니다:

  1. Confidential Transfer 확장 기능이 포함된 mint account를 생성합니다.
  2. 송신자와 수신자를 위한 Confidential Transfer 확장 기능이 포함된 token account를 생성합니다.
  3. 송신자 계정에 토큰을 발행합니다.
  4. 송신자의 공개 잔액을 기밀 대기 잔액으로 입금합니다.
  5. 송신자의 대기 잔액을 기밀 사용 가능 잔액으로 적용합니다.
  6. 송신자 token account에서 수신자 token account로 기밀 전송을 수행합니다.
  7. 수신자의 대기 잔액을 기밀 사용 가능 잔액으로 적용합니다.
  8. 수신자의 기밀 사용 가능 잔액을 공개 잔액으로 출금합니다.

기밀 전송 흐름의 각 단계에 대한 자세한 내용은 해당 페이지를 참조하세요:

아래 다이어그램은 기밀 토큰 전송의 기본 흐름에 대한 상세한 순서를 보여줍니다:

Confidential Transfer Detailed Overview

기밀 전송 명령어

Confidential Transfer 확장의 전체 명령어 목록 instructions 은 다음과 같습니다:

명령어설명
InitializeMint기밀 전송을 위해 mint account를 설정합니다. 이 명령어는 TokenInstruction::InitializeMint 명령어와 동일한 트랜잭션에 포함되어야 합니다.
UpdateMintmint의 기밀 전송 설정을 업데이트합니다.
ConfigureAccount기밀 전송을 위해 token account를 설정합니다.
ApproveAccountmint가 새 token account에 대한 승인을 요구하는 경우 기밀 전송을 위해 token account를 승인합니다.
EmptyAccounttoken account를 닫을 수 있도록 대기 중 및 사용 가능한 기밀 잔액을 비웁니다.
Deposit공개 토큰 잔액을 대기 중인 기밀 잔액으로 변환합니다.
Withdraw사용 가능한 기밀 잔액을 공개 잔액으로 다시 변환합니다.
Transfertoken account 간에 기밀로 토큰을 전송합니다.
ApplyPendingBalance입금 또는 전송 후 대기 중인 잔액을 사용 가능한 잔액으로 변환합니다.
EnableConfidentialCreditstoken account가 기밀 토큰 전송을 받을 수 있도록 허용합니다.
DisableConfidentialCredits공개 전송은 허용하면서 수신되는 기밀 전송을 차단합니다.
EnableNonConfidentialCreditstoken account가 공개 토큰 전송을 받을 수 있도록 허용합니다.
DisableNonConfidentialCredits일반 전송을 차단하여 계정이 기밀 전송만 받을 수 있도록 합니다.
TransferWithFeetoken account 간에 수수료와 함께 기밀로 토큰을 전송합니다.
ConfigureAccountWithRegistryVerifyPubkeyValidity 증명 대신 ElGamalRegistry 계정을 사용하여 기밀 전송을 위한 token account를 구성하는 대체 방법입니다.

Is this page helpful?

목차

페이지 편집