준비금(Reserves)

XRP Ledger는 스팸 또는 악의적인 사용으로 인한 과성장을 방지하기 위해 XRP로 reserve requirements를 적용합니다. 이런 reserve requirements의 목표는 상용화된 기계(PC)의 발전에 맞춰 RAM에서 분산 원장을 언제든지 감당할 수 있도록 분산 원장의 성장을 조절하는 것 입니다.

계정을 보유하려면 해당 계정은 공유 전역 ledger에 최소한의 XRP 금액을 보유해야 합니다. 새 계정에 자금을 지원하기 위해서는 해당 계정으로 충분한 XRP를 받아 reserve requirements를 충족해야 합니다. 한 계정의 reserved XRP를 다른 사람에게 보낼 수는 없지만 계정을 삭제함으로써 일부 XRP를 회수할 수 있습니다.

reserve requirements은 수수료 투표 과정을 통해 시간이 지남에 따라 변경될 수 있으며, 여기서 유효성 검증인(validators)들은 새로운 reserve 설정에 동의할 수 있습니다.

기본 Reserve과 소유자 Reserve

reserve requirement는 두 부분으로 구성됩니다:

  • 기본 Reserve는 ledger의 각 주소에 필요한 최소한의 XRP 금액입니다.

  • 소유자 Reserve는 해당 주소가 ledger에서 소유하는 각 객체 수만큼 reserve requirement을 증가시키는 양입니다. 항목당 증가분을 incremental reserve라고도 합니다.

Mainnet에서 현재 reserve requirement은 다음과 같습니다:

  • Base Reserve: 10 XRP

  • Owner Reserve: 각 항목당 2 XRP

네트워크마다 reserve는 다를 수 있습니다.

Owner Reserves

분산원장에는 특정 계정이 소유하는 여러 객체(ledger entries)가 있습니다. 일반적으로 객체를 생성한 계정이 소유자(owner)가 됩니다. 각 객체는 소유자의 총 reserve requirement를 owner reserve 만큼 증가시킵니다. 객체가 분산원장에서 제거되면 그에 해당하는 소유자 reserve는 더 이상 reserve requirement 계산에 포함되지 않습니다.

소유자의 reserve requirement에 가산되는 객체는 다음과 같습니다: Checks, Deposit Preauthorizations, Escrows, NFT Offers, NFT Pages, Offers, Payment Channels, Signer Lists, Tickets, 그리고 신뢰선.

일부 특수한 경우:

  • Non-Fungible Tokens(NFTs)은 각각 최대 32개의 NFT를 포함하는 페이지로 그룹화되며, 소유자 reserve은 페이지 당 적용되며 NFT 당으로 적용되지 않습니다. 페이지를 분할하고 결합하는 메커니즘으로 인해 페이지당 실제 저장되는 NFT의 수가 다를 수 있습니다. 참고: NFTokenPage 객체의 reserve.

  • 신뢰선(RippleState 항목)은 두 개의 계정 간에 공유됩니다. 소유자 reserve는 둘 중 하나 또는 둘 다에 적용될 수 있습니다. 대부분의 경우, 토큰 보유자는 reserve를 부담하고 발행자는 부담하지 않습니다. 참고: RippleState: 소유자 Reserve에 기여.

  • 2019년 4월에 활성화된 MultiSignReserve 수정안 이전에 생성된 서명자 목록(Signer lists)은 여러 개의 객체로 계산됩니다. 참고: Signer Lists 와 Reserves.

  • 소유자 디렉터리는 계정과 관련된 모든 객체, 즉 계정이 소유하는 모든 객체를 나열하는 ledger 항목입니다. 그러나 Owner Directory 자체는 reserve에는 포함되지 않습니다.

Reserves 조회하기

애플리케이션은 server_info 메소드 또는 server_state 메소드를 사용하여 현재 기본 및 incremental reserve 값을 조회할 수 있습니다:

메소드단위기본 예비 필드증분 준비금 필드

server_info method

소수점 XRP

validated_ledger.reserve_base_xrp

validated_ledger.reserve_inc_xrp

server_state method

XRP의 정수 드롭

validated_ledger.reserve_base

validated_ledger.reserve_inc

계정의 소유자 reserve를 확인하려면 incremental reserve를 계정이 소유한 객체 수로 곱하세요. 계정이 소유한 객체 수를 확인하려면 account_info 메소드를 호출하고 account_data.OwnerCount를 가져옵니다.

주소의 총 reserve requirement를 계산하려면 OwnerCountreserve_inc_xrp로 곱한 다음 reserve_base_xrp를 더하세요. 이것은 파이썬에서 이 계산을 보여주는 예시입니다.

Reserve Requirement 미충족

거래 처리 중에, 트랜잭션 비용이 발송 주소의 XRP 잔액 일부를 소멸시킵니다. 이로 인해 주소의 XRP 잔액이 reserve requirement 아래로 내려갈 수 있습니다. 심지어 이런 방법으로 XRP를 모두 소멸시킬 수도 있습니다.

당신의 계정이 현재의 reserve requirement보다 적은 XRP를 보유하고 있다면, 다른 사람에게 XRP를 보내거나, 계정의 reserve requirement을 늘릴 수 있는 새로운 객체를 생성할 수 없습니다. 그럼에도 불구하고, 계정은 ledger에 계속 존재하고, 충분한 XRP를 가지고 있으면 앞에서 말한 계정과는 다르게 정상적인 트랜잭션을 계속 보낼 수 있습니다. 충분한 XRP를 받아서 reserve requirement 이상으로 돌아가거나, reserve requirement이 당신이 가지고 있는 금액 아래로 줄어들 경우에도 마찬가지입니다.

Tip:

당신의 계정이 reserve requirement를 충족하지 못하면, XRP를 획득하기 위해 OfferCreate 트랜잭션을 보내고 그 결과로 reserve requirement를 충족시키는방법을 생각해볼 수 있습니다. 그러나, reserve requirement 이하일 동안 분산원장에 Offer 항목을 생성할 수 없기 때문에, 이 거래는 오더북에 이미 있는 Offer만을 소비할 수 있습니다.

Reserve Requirements 변경

XRP Ledger에는 reserve requirement를 조정하는 메커니즘이 있습니다. 이런 조정은 예를 들어, XRP의 장기적인 가치 변동, 일반 기계 하드웨어의 용량 향상, 또는 서버 소프트웨어 구현의 효율성 향상 등을 고려할 수 있습니다. 어떤 변경사항이든 합의 과정을 통해 승인 받아야 합니다. 더 많은 정보는 수수료 투표를 참조하세요.

Last updated