"BIP70"의 두 판 사이의 차이
yueun970422 (토론 | 기여) (→필요성) |
yueun970422 (토론 | 기여) (→지불 프로토콜) |
||
21번째 줄: | 21번째 줄: | ||
== 지불 프로토콜 == | == 지불 프로토콜 == | ||
[[파일:Protocol.png|썸네일|450픽셀|'''[[BIP70 프로토콜]]''']] | [[파일:Protocol.png|썸네일|450픽셀|'''[[BIP70 프로토콜]]''']] | ||
− | 이 BIP는 Google의 프로토콜 버퍼를 사용하여 | + | 이 BIP는 Google의 프로토콜 버퍼를 사용하여 인코딩된 지불 프로토콜 메시지를 설명하고 X.509 인증서를 사용하여 인증되며 http / https를 통해 전달됩니다. 미래의 BIP는 이 지불 프로토콜을 다른 인코딩, PKI 시스템 또는 전송 프로토콜로 확장 할 수 있습니다. 지불 프로토콜은 세 가지 메시지로 구성됩니다. PaymentRequest, Payment 및 PaymentACK을 선택하고 고객이 지불 준비가 되었음을 알리고 고객의 서버가 PaymentRequest 메시지로 응답하는 것으로 시작합니다.<ref name = "깃허브"></ref> |
== 관련 BIP == | == 관련 BIP == |
2019년 7월 15일 (월) 13:44 판
BIP70(지불 요청 프로토콜)은 SSL/TLS 통신을 기반으로 비트 동전 전송 대상과 같은 정보를 지갑과 통신하기 위한 구조이다. Man-in-the-MiddleAttack은 또한 BIP70 개발의 원동력 중 하나이다. BIP70 아이디어를 제시하고 공격자 교체 및 기타 멀티 중앙 공격으로 인한 수입 주소가 발생하기 전에 그림 2-10, BitPay 또는 Coinbase 업계에서 작동하는 다른 에이전트의 지불을 보여준다. 예를 들어, 대체 동전(비트 동전 이외의 가상 통화)의 가격을 나타내는 브라우저의 확장 된 기능에서 비트코인 주소를 자동으로 변경하는 바이러스가 있을 수 있다.[1]
개요
BIP 70은 상인과 소비자 사이에 결제 정보를 전달하기 위한 핵심 프로토콜의 역할을 한다. 비트코인 주소와 금액 정보(BIP 21)를 직접 제공하는 대신, 고객의 지갑은 해당 결제 내역을 검색하기 위해 가맹점(지불 프로세서) 웹사이트에 URL을 로드한다. 이것은 고객에게 지갑 앱 자체 내에서 자금을 받는 기업의 이름을 제공하는 장점이 있다. 환불 시 자동으로 결제 프로세서에 환불 주소를 전송하는 관행도 표준으로 정하고 있다. 고객이 거래를 승인하면 지갑은 반품 주소를 서명된 거래와 함께 번들하여 결제 프로세서로 다시 보내 승인을 받는다. 그 후 지갑은 수령되고 수락되었다는 확인 메시지를 다시 받게 되는데, 이것은 잠재적으로 거래에 대한 "수신" 역할을 한다.[2]
필요성
현재의 최소 Bitcoin 지불 프로토콜은 다음과 같이 작동한다.
- 고객은 온라인 쇼핑 바구니에 품목을 추가하고 Bitcoin을 사용하여 지불하기로 한다.
- 판매자는 고유한 지불 주소를 생성하여 고객의 주문과 연계시키고 고객에게 지불을 요청한다.
- 고객은 판매자의 웹 페이지에서 Bitcoin 주소를 복사하여 사용 중인 지갑에 붙여넣거나 비트코인을 따라 링크를 만들고 지갑 금액을 지불한다.
- 고객은 판매자 주소로 지불을 허가하고 Bitcoin P2P 네트워크를 통해 트랜잭션을 브로드캐스트 한다.
- 상인의 서버가 지불을 감지하고 충분한 거래 확인 후에 거래가 최종이라고 간주한다.[3]
BIP70은 위의 프로토콜을 확장하여 몇 가지 새로운 기능을 지원한다.
- 사람이 읽을 수 있고 안전한 지불 대상 - 고객은 이해하기 어려운 34자의 비트코인 주소 대신 "example.com"에 대한 지불을 승인해야 한다.
- 상인과 분쟁이 발생했을 때 고객이 사용할 수 있는 안전한 지불 증명한다.
- 하드웨어 Wallet으로 거래가 승인되기 전에 상인의 비트코인 주소를 공격자의 주소로 대체하는 중간자 (man-in-the-middle) 공격에 대해 저항한다.
- 지불은 메시지를 수신했으므로 고객은 판매자가 즉시 이를 받았음을 알고 지불을 처리했다.(또는 처리 중이다)
- 고객의 지갑 소프트웨어가 판매자에게 자동으로 부여하는 환불 주소. 판매자가 어떤 이유로 지불할 수 없는 초과 지불 또는 주문을 환불하기 전에 고객에게 연락하지 않아도 된다.[3]
지불 프로토콜
이 BIP는 Google의 프로토콜 버퍼를 사용하여 인코딩된 지불 프로토콜 메시지를 설명하고 X.509 인증서를 사용하여 인증되며 http / https를 통해 전달됩니다. 미래의 BIP는 이 지불 프로토콜을 다른 인코딩, PKI 시스템 또는 전송 프로토콜로 확장 할 수 있습니다. 지불 프로토콜은 세 가지 메시지로 구성됩니다. PaymentRequest, Payment 및 PaymentACK을 선택하고 고객이 지불 준비가 되었음을 알리고 고객의 서버가 PaymentRequest 메시지로 응답하는 것으로 시작합니다.[3]
관련 BIP
- BIP32 : HD 지갑의 일반적인 형식과 HD 지갑을 구축하는 방법을 설명한 문서
- BIP39 : 결정성 열쇠를 파생하기 위한 니모닉 코드(복원 규칙)의 유형 및 BIP32 시드로 전환하는 프로세스
- BIP43 : 트리 구조의 목적을 나타내는 특별한 식별자로써 첫 강화된 자식 인텍스의 자용을 제안
- BIP44 : BIP32 지갑의 특정 형식, 목적을 44로 설정해서 나타나는 다중화폐 다계정 주고를 제안
- BIP47 : 비트코인 개선 제안 및 결제 코드 작성 방법
- BIP49 : P2WPKH가 중첩 된 P2SH 기반 계정의 유도 스키마
- BIP63 : 스텔스 주소
- BIP70 : SSL/TLS 통신을 이용하여 비트코인의 결제를 안전하게 함(지불 요청 프로토콜)
- BIP84 : P2WPKH 기반 계정의 유도 스키마
- BIP141 : 분리된 증인(Consensus layer)
각주
- ↑ 〈비트 코인 지불 보안을위한 BIP70〉, 《868qkl》, 2018-09-10
- ↑ Michael Scott ,〈BIP70 Payment Failures at Coinbase: Major Issue or Random Blips?〉, 《btcmanager》, 2016-12-31
- ↑ 3.0 3.1 3.2 〈깃허브〉, 《깃허브》
참고자료
- 〈BIP63 (스텔스 주소)〉, 《868qkl》, 2018-09-10
- 〈깃허브〉, 《깃허브》
- Michael Scott ,〈BIP70 Payment Failures at Coinbase: Major Issue or Random Blips?〉, 《btcmanager》, 2016-12-31