검수요청.png검수요청.png

BIP70

위키원
yueun970422 (토론 | 기여)님의 2019년 7월 10일 (수) 16:44 판
이동: 둘러보기, 검색

BIP70(지불 요청 프로토콜)은 SSL/TLS 통신을 기반으로 비트 동전 전송 대상과 같은 정보를 지갑과 통신하기위한 구조이다. Man-in-the-MiddleAttack은 또한 BIP70 개발의 원동력 중 하나이다. BIP70 아이디어를 제시하고 공격자 교체 및 기타 멀티 중앙 공격으로 인한 수입 주소가 발생하기 전에 그림 2-10, BitPay 또는 Coinbase 업계에서 작동하는 다른 에이전트의 지불을 보여준다. 예를 들어, 대체 동전(비트 동전 이외의 가상 통화)의 가격을 나타내는 브라우저의 확장 된 기능에서 비트 코인 주소 를 자동으로 변경하는 바이러스가 있을 수 있다 .[1]

개요

BIP70은 지불 계약을 통해 명시된 계약을 나타내기 위해 사용된다. 지불 프로토콜은 유비쿼터스 비트 코인 주소를 더 복잡한 매개 변수를 인코딩 할 수있는 작은 파일로 대체하여 비트 코인에 추가 기능을 추가하는 것을 목표로한다. 송금 자와 수령인간에 직접 지불 요청, 지불 및 지불 형식을 지정 한다.[2]

필요성

현재의 최소 Bitcoin 지불 프로토콜은 다음과 같이 작동한다.

  1. 고객은 온라인 쇼핑 바구니에 품목을 추가하고 Bitcoin을 사용하여 지불하기로 결정한다.
  2. 판매자는 고유 한 지불 주소를 생성하고이를 고객의 주.과 연관시키고 지불하라고 고객에게 요청한다.
  3. 고객은 판매자의 웹 페이지에서 Bitcoin 주소를 복사하여 사용중인 지갑에 붙여 넣거나 비트 코인을 따라 링크를 만들고 지갑 금액을 지불한다.
  4. 고객은 판매자 주소로 지불을 허가하고 Bitcoin P2P 네트워크를 통해 트랜잭션을 브로드 캐스트한다.
  5. 상인의 서버가 지불을 감지하고 충분한 거래 확인 후에 거래가 최종라고 간주한다.[3]

BIP70은 위의 프로토콜을 확장하여 몇 가지 새로운 기능을 지원한다.

  1. 사람이 읽을 수 있고 안전한 지불 대상 - 고객은 이해하기 어려운 34 자의 비트 코인 주소 대신 "example.com"에 대한 지불을 승인해야한다.
  2. 상인과 분쟁이 발생했을 때 고객이 사용할 수있는 안전한 지불 증명한다.
  3. 하드웨어 Wallet으로 거래가 승인되기 전에 상인의 비트 코인 주소를 공격자의 주소로 대체하는 중간자 (man-in-the-middle) 공격에 대한 저항한다.
  4. 지불은 메시지를 수신 했으므로 고객은 판매자가 즉시이를 받았음을 알고 지불을 처리했습니다 (또는 처리 중입니다).
  5. 고객의 지갑 소프트웨어가 판매자에게 자동으로 부여하는 환불 주소. 판매자가 어떤 이유로 지불 할 수없는 초과 지불 또는 주문을 환불하기 전에 고객에게 연락하지 않아도된다.[3]

지불 프로토콜

정상적인 Bitcoin 지불에서 프로세스는 사용자가 Bitcoin URI를 클릭하거나 텍스트 주소를 복사하여 지갑 응용 프로그램에 붙여 넣은 다음 수동으로 금액을 지정하는 것으로 두 가지 방법 중 하나로 시작된다.

  • 사용자는 지불 요청 파일에 구문 분석된 (http) URL을 포함하는 새 "r"매개 변수로 비트 코 인 URI를 클릭한다.
  • 사용자가 지불 요청 파일을 직접 연다.

그런 다음 사용자의 지갑은 지불 요청 데이터를 프로토콜 버퍼로 구문 분석하고 정상 요청 확인 프로세스를 시작한다. Bitcoin URI를 클릭하면 이전 버전과의 호환성을 위해서만 사용되는 나머지 URI의 지침이 무시되고 지정된 URL에서 찾은 데이터가 우선 적용된다. 지불 요청은 서명 및 인증서 데이터가 포함 된 외부 "스킨"메시지와 요청 된 지불에 대한 자세한 정보가 포함 된 내부 "핵심"메시지의 내장 직렬화로 구성된다. 외부 PaymentRequest메시지는 사용되는 디지털 서명 인프라 유형과는 독립적이지만 X.509 바인딩 만 현재 정의ehlsek. 이것은 SSL에서 사용 된 것과 동일한 시스템이다. inside PaymentDetails메시지는 정상적인 protobuf 메시지에 포함되는 대신 이진 형식으로 저장되어 서명 바이트가 항상 일치하는지 확인한다. 지갑이 만족스러운 비트코인 거래 세트를 생성하면 결제 메시지가 포맷되어 결제 정보로 업로드된다. 지정된 대상 URL은 지불이 만족스럽게 수락되는 즉시 수신된다.[2]

관련 BIP

  • BIP32 : HD 지갑의 일반적인 형식과 HD 지갑을 구축하는 방법을 설명한 문서
  • BIP39 : 결정성 열쇠를 파생하기 위한 니모닉 코드(복원 규칙)의 유형 및 BIP32 시드로 전환하는 프로세스
  • BIP43 : 트리 구조의 목적을 나타내는 특별한 식별자로써 첫 강화된 자식 인텍스의 자용을 제안
  • BIP44 : BIP32 지갑의 특정 형식, 목적을 44로 설정해서 나타나는 다중화폐 다계정 주고를 제안
  • BIP47 : 비트코인 개선 제안 및 결제 코드 작성 방법
  • BIP49 : P2WPKH가 중첩 된 P2SH 기반 계정의 유도 스키마
  • BIP63 : 스텔스 주소
  • BIP70 : SSL/TLS 통신을 이용하여 비트코인의 결제를 안전하게 함(지불 요청 프로토콜)
  • BIP84 : P2WPKH 기반 계정의 유도 스키마
  • BIP141 : 분리된 증인(Consensus layer)

각주

  1. 비트 코인 지불 보안을위한 BIP70〉, 《868qkl》, 2018-09-10
  2. 2.0 2.1 How to Use BIP70 Payment Protocol API for Bitcoin〉, 《develop paper》, 2019-03-02
  3. 3.0 3.1 깃허브〉, 《깃허브》

참고자료


  검수요청.png검수요청.png 이 BIP70 문서는 블록체인 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.