에스크로 (Escrow)

1. 에스크로 (Escrow)

XRP Ledger의 에스크로는 조건부 XRP 결제를 가능하게 하는 기능입니다. 주요 목적은 특정 조건이 충족될 때까지 XRP를 "잠그는" 것입니다.

2. 개요

  1. 기능: 에스크로는 XRP를 보유하고, 암호화 조건이 충족되거나 지정된 시간이 지나면 이를 해제합니다.

  2. 보안: 잠긴 XRP는 접근이 불가능합니다. 에스크로가 완료되거나 취소될 때까지 아무도 이를 사용하거나 파괴할 수 없습니다.

  3. 시간 기반 해제: 만료 시간 전에는 의도된 수신자만이 XRP를 청구할 수 있습니다. 이 시간 이후에는 발신자만이 그것을 회수할 수 있습니다.

3. 작동 방식

  1. 에스크로 생성: 발신자는 XRP를 잠그기 위해 EscrowCreate 트랜잭션을 사용합니다. 이는 다음을 정의합니다:

    • 수신자 (발신자일 수도 있습니다).

    • 암호학적 조건 (선택 사항).

    • 완료 또는 만료 시간, 또는 둘 다.

  2. XRP 보유: 처리 후, 레저는 정의된 속성을 포함하는 Escrow 객체 내에 XRP를 보유합니다. 지정된 완료 시간 전에는 아무도 XRP에 접근할 수 없습니다.

  3. XRP 해제: 수신자는 EscrowFinish 트랜잭션을 보내 XRP를 해제합니다. 암호학적 조건이 있는 에스크로의 경우, 이 트랜잭션은 해당 조건을 충족해야 합니다. 만약 에스크로에 만료 시간이 지났다면, EscrowFinish 트랜잭션은 tecNO_PERMISSION 코드로 실패합니다.

4. 에스크로 만료 시

  1. 에스크로 상태: 초기 단계는 동일합니다. 에스크로의 지정된 시간이 성공적으로 완료되지 않고 지나면 "만료"로 간주됩니다. 에스크로는 레저에 남아 있지만, 완료될 수는 없습니다.

  2. 에스크로 취소: 발신자는 EscrowCancel 트랜잭션을 보냅니다. 이는 레저에서 Escrow 객체를 제거하고 XRP를 발신자에게 반환합니다.

이 간결한 버전은 XRP Ledger 내의 에스크로 기능이 어떻게 작동하는지에 대한 명확한 이해를 제공합니다.

5. 제한사항

에스크로는 XRP Ledger가 인터레저 프로토콜 및 다른 스마트 계약에서 사용될 수 있도록 하기 위한 기능으로 설계되었습니다. 현재 버전은 복잡성을 피하기 위해 범위가 소소합니다.

  • 에스크로는 오직 XRP만을 대상으로 하며, 다른 토큰은 지원하지 않습니다.

  • 에스크로 작업을 위해 최소 두 번의 트랜잭션이 필요합니다: 생성과 완료 또는 취소. 소액 결제에 대한 비용 효율성 때문에 굳이 사용할 필요는 없습니다. 트랜잭션 비용이 두 번 발생하기 때문입니다.

    • 크립토-컨디션을 이용할 경우 완료하는 트랜잭션의 비용이 일반적인 경우보다 높습니다.

  • 모든 에스크로는 "finish-after" 시간, 크립토-컨디션 또는 둘 다 필요로 합니다. 만약 "finish-after" 시간이 지정되지 않으면, 만료 시간 설정은 필수입니다.

  • 에스크로 생성 시간은 과거일 수 없습니다.

  • 시간 기반 해제와 만료는 XRP Ledger의 폐쇄 시점에 따라 약간의 지연이 발생할 수 있습니다.

  • 지원되는 크립토-컨디션의 유형은 PREIMAGE-SHA-256만 가능합니다.

비싸면서도 큰 금액의 결제를 위한 강력한 보증을 제공하는 에스크로와 달리, Payment Channel은 빠르고 소액 결제에 적합하며, 기본적인 Payment도 여전히 많은 경우에 이용됩니다.

6. 상태 다이어그램

에스크로는 여러 상태를 거칩니다: Held, Ready/Conditionally Ready, Expired.

  • 시간 기반 에스크로:

    • 생성 시 Held 상태.

    • 지정된 시간 후 Ready 상태로 전환.

    • 만료 시간 전에 완료되지 않으면 Expired 상태로 전환. (만료 시간이 없으면 만료되거나 취소되지 않음)

  • 조합 에스크로:

    • 암호 조건과 "finish-after" 시간이 지정되면, Held 상태로 시작.

    • 지정된 시간 후 Conditionally Ready 상태로 전환. 이 상태에서는 올바른 암호 조건을 제공해야 완료 가능.

    • 만료 시간 전에 완료되지 않으면 Expired 상태로 전환. (만료 시간이 없으면 만료되거나 취소되지 않음)

  • 조건적 에스크로:

    • 암호 조건만 있으면, 생성 시 Conditionally Ready 상태.

    • 올바른 암호 조건 제공 시 완료 가능.

    • 만료 시간 전에 완료되지 않으면 Expired 상태로 전환. (항상 만료 시간이 필요함)

7. EscrowFinish 거래 비용

  1. crypto-conditions 사용시: EscrowFinish 거래는 처리 부하가 높기 때문에 표준 거래 비용 이상의 비용이 발생합니다.

  2. 암호 조건이 없는 경우: EscrowFinish는 표준 거래 비용만 발생시킵니다.

  3. 비용 계산: 이행이 있는 EscrowFinish의 비용은 이행 크기의 16 바이트당 10 드롭에 XRP 330 드롭의 최소값을 기준으로 계산됩니다.

  4. 다중 서명 경우: 이행 비용에 추가적인 다중 서명 비용이 발생합니다.

  5. 비용 공식: reference_fee * (signer_count + 33 + (fulfillment_bytes / 16)). (기본 참조 비용: XRP 10 드롭)

  6. 수수료 조정: Fee Voting이 참조 비용을 변경하면, 위의 공식도 그에 따라 조정됩니다.

8. 왜 에스크로인가?

전통적인 에스크로 방식은 특히 온라인에서 위험으로 여겨질 수 있는 다양한 금융 거래를 가능하게 합니다. 신뢰할 수 있는 제3자가 거래나 평가 기간 동안 돈을 보관함으로써 양측 모두 상대방이 약속을 지킬 것임을 확신할 수 있습니다.

에스크로 기능은 이 아이디어를 발전시켜 XRP Ledger에 내장된 자동화된 시스템으로 제3자를 대체하여, 자금의 보관 및 해제가 중립적이고 자동화될 수 있게 합니다.

XRP 원장의 무결성에 기반한 완전 자동화된 에스크로는 Ripple에게 중요한 문제를 해결하며, 에스크로가 가능하게 하는 많은 사용 사례가 있다고 생각합니다. Ripple은 에스크로를 활용한 새로운 방법을 찾기를 촉구합니다.

8-1. 사용 사례: 시간 기반 보관

Ripple은 많은 XRP를 보유하며, 이를 기술 발전을 위해 판매합니다. 그러나, 큰 양의 XRP 보유는 문제가 있습니다:

  • Ripple의 큰 규모 판매는 시장을 포화시킬 우려가 있습니다.

  • 시장 포화는 XRP 가격에 악영향을 줄 수 있습니다.

  • Ripple은 계정의 보호를 위해 주의해야 합니다.

해결책:

55조 XRP를 에스크로에 보관함으로써, Ripple은 XRP 공급을 안정적으로 관리합니다. 에스크로는 Ripple XRP의 안전을 강화합니다.

8-2. 사용 사례: 인터레저 결제

디지털 금융 시스템 간 활동 조정은 큰 도전입니다. Ripple은 여러 원장의 연결망, 인터레저가 미래의 해결책이라고 봅니다. 그리고 인터레저 결제의 가장 기본적인 원칙은 조건부 이체입니다. multi-hop 결제에는 위험이 있습니다. 인터레저는 "두 단계 커밋"으로 이 문제를 해결합니다. 여기서 두 단계는 (1) 조건부 이체 준비, 그리고 (2) 이체 실행을 위한 조건 충족입니다.

해결책:

에스크로 기능은 XRP Ledger을 인터레저 결제의 중심으로 만듭니다. 이는 특정 크립토-컨디션을 기반으로 한 XRP 이체를 지원합니다.

Last updated