블록체인과 리플의 개요 및 거래
14강 블록체인과 리플 1 리플 개요
-
리플 시스템의 목표
- 통화 비구속적(currency agnostic) 시스템
- 어떤 통화, 어떤 자산도 P2P 방식으로 거래 가능
- 통화간의 보편적 교환 시스템
- 임의의 통화를 사용하여 임의의 다른 통화로 지불
- 실시간 결제 시스템
- 수초 이내에 거래 승인
- 승인 즉시 결제 완료
- 기존 규제 체제 지원 시스템
- 자금 세탁(Anti-Money Laundering) 방지법
- 금융 실명제등
- 저비용 블록체인 시스템
- 작업 증명 대신 투표에 의한 합의 방식
- 안전성과 가용성 지원 시스템
- 투명하고 안전한 블록체인 기술
- 내부 통화 기반의 DoS 공격 방지
- 통화 비구속적(currency agnostic) 시스템
-
리플 현황
- 전자 화폐 발행
- 단위 : XRP, Drop(1XRP = 1,000,000Drops)
- 선발행 : Ripple 프로젝트 시작 시에 100 Billion XRP 선발생, 이후 추가적인 화폐 발행 없음
- 분배
- 20% Ripple Labs 설립자에게 배정
- 나머지 80%는 Ripple Labs에 양도
- 연구 개발 프로젝트를 통해 XRP 외부 공급
- 2017년 5월 55 Billion XRP 에스크로 예치 -> 1개월당 최대 1Billion XRP 이내에서 사용허용
- 전자 화폐 발행
-
내부 화폐 XRP의 용도
- 브릿지 통화(Bridge Currency)
- 두 통화간에 직접 교환이 불가할 때 XRP와의 교환을 통해 상호 교환 지원
- 특정 외부 통화에 대해 최소한 XRP와의 교환 지원
- DoS 공격 방지
- Ripple 계좌 개설에 20 XRP 예치
- 거래 실행에 소액을 태움(파기)
- 대량 거래 실행을 통한 DoS 공격 방지
- 브릿지 통화(Bridge Currency)
-
리플의 응용
- 국제 외환 송금
- 기존의 SWIFTNet등 국제 금융 거래 네트워크 경유 없이 리플 네트워크의 외부 통화 창구인 게이트웨이를 통해 P2P 방식으로 외환 송금 서비스 제공
- 금융 기관간의 직거래 네트워크
- 금융 기관관의 복잡한 결제 네트워크를 리플 네트워크로 대체
- 통화 독립적인 상거래 서비스
- 자신이 보유한 통화로 다른 통화를 수용하는 상대방과 상거래 지원
- 국제 외환 송금
-
시스템 구성
- 서비스 관점의 구분
- 서비스 사용자
- 리플 네트워크에 계좌를 개설하고 거래를 송수신하는 주체
- 게이트웨이
- 외부 통화에 대해 리플 계좌에 신용 잔고 발행(IOU) - 외부 통화 지불의 신용 원천
- 통화코드.게이트웨이(KRW.KG1) 형태로 통화 잔고 발행
- 사용자에 대한 규제 창구 역할
- 시장 생성자
- 통화 간의 교환서비스 제공
- 외부 통화를 리플 네트워크로 공급하는 역할(게이트웨이 공유)
- 통화 교환 오퍼 거래를 리플 네트워크에 포스팅
- 최적의 교환 오퍼간의 매칭을 통해 교환 실현
- 서비스 사용자
- 네트워크 노드 관점의 구분
- 클라이언트 응용
- 리플 네트워크에 대한 사용자 인터페이스를 제공하는 응용 S/W
- 트래킹 노드
- 검증 노드
- 기본적으로 트래킹 노드로 참여
- 추가로 리플 레저 생성에 참여
- 새로운 레저 버전에 대한 합의 프로토콜 수행
- 클라이언트 응용
- 서비스 관점의 구분
-
리플 거래
- 거래의 유형
- Payment : 특정 계좌에서 다른 계좌로 자금 송신
- OfferCreate : 통화 교환 주문 제출
- TrustSet : 특정 외부 통화에 대한 신뢰 라인 설정
- CheckCreate : 추후 수신자의 지불 요구가 있을 때 까지 연기된 지불
- EscrowCreate : 조건이 충족될 때 까지 자금 격리
- 거래의 유형
15강 블록체인과리플제2강 리플 거래
리플 거래
- 거래의 정의
- 리플 네트워크 상에서 참여자(사용자, 게이트웨이, 마켓 메이커)가 리플 계좌에 변동을 만들기 위해 네트워크로 송신하는 정보
- 송신 계좌와 연계된 서명을 통해 송신자와 거래 인증
- 거래의 유형
- Payment : 특정 계좌에서 다른 계좌로 자금 송신
- OfferCreate : 통화 교환 주문 제출
- TrustSet : 추후 수신자의 지불 요구가 있을 때까지 연기된 지불
- EscrowCreate : 조건이 충족될 때까지 자금 격리
- 계좌(account)
- 공개키와 연계된 주소로 식별, 주소와 대응되는 개인키로 서명 생성
- 계좌 유보금(account reserve) 보다 많은 금액의 XRP를 새로운 주소로 지불하는 거래 전송으로 계좌 생성
- 거래가 송신될 때마다 계좌의 XRP 잔고로부터 수수료만큼 태워 없어짐
- 계좌의 잔고는 XRP에 대해서만 표시
- 외부 통화 잔고는 사용자 계좌와 게이트웨이 계좌의 신뢰 라인 잔고 상태 정보 형태로 리블 레저에 유지
신뢰 설정 거래
-
신뢰 라인(trust line)
- 상대방 계좌(게이트웨이)의 특정 외부 통화 잔고 발행에 대한 나의 계좌의 신용 한도 설정
- 리플 계좌의 외부 통화 잔고 허용 : 발행 게이트웨이의 IOU 이행 보증 신뢰
- 신뢰 라인 한도까지 나의 계좌에 해당 통화 수신 허용
- U1과 U2간에 G1의 IOU 전송 가능
-
간접 신뢰 라인 : 신뢰 경로
-
U1은 U2에게 G2의 IOU 전송 가능(동일 통화)
-
{
“TransactionType” : “TrustSet”,
1 2 3 4 5
"Account" : "주소", "LimitAmount" : {"currency" : "USD", "value" : "1000"}, "issuer" : "주소"
}
-
지불 거래
-
직접 지불
-
XRP 전자 화폐 거래 : 계좌 간에 XRP 전송
-
{
“TransactionType” : “payment”,
1 2 3 4 5
"Account" : "주소", "Destination" : "주소", "Amount" : "200000000"
}
-
-
외부 통화 지불 거래
-
{
“TransactionType” : “payment”,
1 2 3 4 5 6 7 8 9 10 11 12 13
"Account" : "주소", "Destination" : "주소", "Amount" : { "currency" : "USD", "value" : "3", "issuer" : "주소" }
}
-
IOU 거래
-
신뢰 라인을 따라 한도내에서 지불
-
간접 신뢰 라인
-
U2 → U1 : 3 USD.G1 송금
-
리플링(rippling)
-
신뢰 라인을 따라 신뢰 라인 잔고를 변경하면서 송금
-
통화 교환 오퍼 거래
-
마켓 메이커에 의해 생성되어 송신
-
{
“TransactionType” : “OfferCreate”,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
"Account" : "주소", "Destination" : "주소", "TakerPays" : { "currency" : "USD", "value" : "100", "issuer" : "주소" } "TakerGets" : { "currency" : "KRW", "value" : "108000", "issuer" : "주소" }
}
-
환율
- TakerGets/TakerPays
-
오퍼 거래 처리
- 환율이 높은 오퍼가 우선적으로 채택
- TakerPays의 액수가 채워지지 않는 경우 레저에 저장
- 신뢰 라인 설정의 의미를 내포
- 새로운 오퍼나 지불 경로 구성 과정에서 해당 오퍼를 사용하는 지불 거래에 의해 처리
-
리플 레저에서 최적의 오퍼들을 자동으로 찾아서 지불 거래 작성