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

"BIP63"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
잔글
 
(사용자 2명의 중간 판 17개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''BIP63'''스텔스 주소로 원래 Dark Wallet과 같은 논란이 많은 지갑에 적용되어 개발되었다. 스텔스 주소의 구성, 샘플 코드의 개발 및 사람들의 논쟁을 소개 하겠지만이 스텔스 주소의 개발이 중단되었으며 초안이 아직 대중에 의해 받아 들여지지 않았다.<ref>〈[http://www.868qkl.com/BitCoin/BIP63.html BIP63 (스텔스 주소)]〉, 《868qkl》, 2018-09-10 </ref>
+
'''BIP63'''은 [[스텔스 주소]]로 원래 다크월렛(Dark Wallet)과 같은 논란이 많은 [[암호화폐 지갑]]에 적용되어 개발되었다. 스텔스 주소의 구성, 샘플 코드의 개발 및 사람들의 논쟁을 소개하겠지만 이 스텔스 주소의 개발이 중단되었으며 초안이 아직 대중에 의해 받아들여지지 않았다.<ref name = "qkl">〈[http://www.868qkl.com/BitCoin/BIP63.html BIP63 (스텔스 주소)]〉, 《868qkl》, 2018-09-10 </ref>
  
== 스텔스 주소(Stealth Address) ==
+
== 스텔스 주소 ==
스텔스 주소는 새로운 유형의 비트코인 주소와 관련된 스크립트퍼키(scriptPubKey)/거래 생성 체계로서, 수취인이 지불인이 자금을 효율적으로, 개인적으로, 신뢰성 있게, 그리고 비간섭적으로 보낼 수 있는 하나의 고정 주소를 발행할 수 있도록 허용한다. 지불자는 은밀주소에 대해 어떤 다른 지불이 이루어졌는지를 배우지 않으며, 제3자는 전혀 배우지 않는다. (둘 다 조정 가능한 익명성 집합의 적용을 받는다.)<ref name = "Peter Todd"> Peter Todd, 〈[https://sourceforge.net/p/bitcoin/mailman/message/31813471/ [Bitcoin-development] Stealth Addresses]〉, 《sourceforge》, 2014-01-06 </ref>
+
[[스텔스 주소]](stealth address)는 새로운 유형의 비트코인 주소와 관련된 [[스크립트퍼브키]](scriptPubKey)/거래 생성 체계로서, 수취인이 지불인이 자금을 효율적으로, 개인적으로, 신뢰성 있게, 그리고 비간섭적으로 보낼 수 있는 하나의 고정 주소를 발행할 수 있도록 허용한다. 지불자는 은밀 주소에 대해 어떤 다른 지불이 이루어졌는지를 배우지 않으며, 제삼자는 전혀 배우지 않는다. (둘 다 조정 가능한 익명성 집합의 적용을 받는다.)<ref name = "Peter Todd"> Peter Todd, 〈[https://sourceforge.net/p/bitcoin/mailman/message/31813471/ 'Bitcoin-development' Stealth Addresses]〉, 《sourceforge》, 2014-01-06</ref>
  
 
=== 배경 ===
 
=== 배경 ===
 
일반적으로 비트코인 주소는 수취인이 다음을 수행하는 메커니즘이다.
 
일반적으로 비트코인 주소는 수취인이 다음을 수행하는 메커니즘이다.
수취인이 하나 이상의 거래 산출물을 소비할 수 있도록 지급인에게 거래를 생성하도록 지시한다. 물론 일반적으로 주소는 단순히 pub키의 해시일 뿐이며, 기금을 수취인이 이용할 수 있게 하는 메커니즘은 단순히 다음과 같은 형태의 스크립트퍼브키를 만드는 것이다.
+
수취인이 하나 이상의 거래 산출물을 소비할 수 있도록 지급인에게 거래를 생성하도록 지시한다. 물론 일반적으로 주소는 단순히 pub 키의 해시일 뿐이며, 기금을 수취인이 이용할 수 있게 하는 메커니즘은 단순히 다음과 같은 형태의 스크립트 퍼브키를 만드는 것이다.
 
  DUP HASH160 <pubKeyHash> EQUALVERIFY CHECKSIG
 
  DUP HASH160 <pubKeyHash> EQUALVERIFY CHECKSIG
그러나 문제는 주소 재사용이다. 수취인이 한 명 이상의 수취인에게 하나의 주소를 주고 다양한 용도로 여러 번 사용하는 것이 편리하다. 이것은 공격자에 의해 이러한 모든 지불이 서로 세 배로 연결되게 하는 결과를 낳는데, 이는 사용자의 사생활뿐만 아니라 비트코인의 모든 사용자에게도 위협이 된다. BIP32 계층적 결정론적 지갑은 해결책으로 자주 제안된다. 이제 주소는 체인 코드이고 스크립트퍼브키가 생성되는 메커니즘은 그 체인 코드와 인덱스 i에서 일회용 pub키를 추출하는 것이다. 그러나 이는 두 가지 주요 문제로 빠르게 이어진다.  
+
그러나 문제는 주소 재사용이다. 수취인이 한 명 이상의 수취인에게 하나의 주소를 주고 다양한 용도로 여러 번 사용하는 것이 편리하다. 이것은 공격자에 의해 이러한 모든 지불이 서로 세 배로 연결되게 하는 결과를 낳는데, 이는 사용자의 사생활뿐만 아니라 비트코인의 모든 사용자에게도 위협이 된다. BIP32 계층적 결정론적 지갑은 해결책으로 자주 제안된다. 이제 주소는 체인 코드이고 스크립트 퍼브 키가 생성되는 메커니즘은 그 체인 코드와 인덱스 i에서 일회용 pub 키를 추출하는 것이다. 그러나 이는 두 가지 주요 문제로 빠르게 이어진다.  
 
* 프라이버시 부족: 주소를 가지고 있지 않은 사람이 지불을 서로 연결할 수는 없지만, 그럴 수 있는 사람은 있을 수 있다.
 
* 프라이버시 부족: 주소를 가지고 있지 않은 사람이 지불을 서로 연결할 수는 없지만, 그럴 수 있는 사람은 있을 수 있다.
* 상태: 지수를 재사용하지 않으려면 주소당 상태를 유지하거나, 이미 사용한 지수를 어떻게든 조회하거나, 수취인이 지수를 회복할 수 있을 정도로 충분히 작은 범위에서 지수를 생성해야 한다. 이 모든 해결책들은 문제가 있다.  
+
* 상태: 지수를 재사용하지 않으려면 주소당 상태를 유지하거나, 이미 사용한 지수를 어떻게든 조회하거나, 수취인이 지수를 회복할 수 있을 정도로 충분히 작은 범위에서 지수를 생성해야 한다. 이 모든 해결책은 문제가 있다.  
다크 월렛 해커톤에서 BIP32 유도 솔루션이 실패하는 경우의 좋은 예로서, 저자는 비트코인 주소가 포함된 새로운 사용자 ID 필드로 개인 대 개인 결제 OpenPGP 공개 키와 X.509 인증서를 확장해야 한다고 제안했다. 그런 다음, 월렛 소프트웨어는 어느 하나의 인증서 시스템을 사용하여 의도된 수령자에게 자금이 보내지고 있는지 확인할 수 있다. 즉, 근본적으로 BIP70 결제 프로토콜이 상호적으로 해결하는 것을 해결하기 위한 비 대화식 방법이 아니다. 물론, 스텔스 주소가 없다면 그 계획은 사생활이 거의 없거나 아예 없을 것이다.<ref name = "Peter Todd"></ref>
+
다크 월렛 해커톤에서 BIP32 유도 솔루션이 실패하는 경우의 좋은 예로서, 저자는 비트코인 주소가 포함된 새로운 사용자 ID 필드로 개인 대 개인 결제 OpenPGP 공개 키와 X.509 인증서를 확장해야 한다고 제안했다. 그런 다음, 월렛 소프트웨어는 어느 하나의 인증서 시스템을 사용하여 의도된 수령자에게 자금이 보내지고 있는지 확인할 수 있다. 즉, 근본적으로 BIP70 결제 프로토콜이 상호적으로 해결하는 것을 해결하기 위한 비 대화식 방법이 아니다. 물론, 스텔스 주소가 없다면 그 계획은 사생활이 거의 없거나 아예 없을 것이다.<ref name="Peter Todd"></ref>
  
== 관련 BIP ==
+
=== 요구 사항 ===
* [[BIP32]] : [[HD 지갑]]의 일반적인 형식과 HD 지갑을 구축하는 방법을 설명한 문서
+
# 생성된 [[스크립트퍼브키]](scriptPubKey)는 전 세계적으로 고유해야 한다.
* [[BIP39]] : 결정성 열쇠를 파생하기 위한 니모닉 코드(복원 규칙)의 유형 BIP32 시드로 전환하는 프로세스
+
# 수취인만 쓸 수 있어야 한다.
* [[BIP43]] : 트리 구조의 목적을 나타내는 특별한 식별자로써 첫 강화된 자식 인텍스의 자용을 제안
+
# 스크립트퍼브키 관련 트랜잭션은 [[익명성]] 집합에서 다른 트랜잭션의 제삼자와 구별할 수 없어야 한다.
* [[BIP44]] : BIP32 지갑의 특정 형식, 목적을 44로 설정해서 나타나는 다중화폐 다계정 주고를 제안
+
# 방법은 완전히 결정적이어야 하며, 수취인과 수취인 모두에게 지갑 시드와 블록체인 데이터에서 회수할 수 있는 자금이다.
* [[BIP47]] : 비트코인 개선 제암 결제 코드 작성 방법
+
# 수취인은 합리적이고 구성 가능한 계산 대역폭 비용으로 효율적으로 자금을 회수할 수 있어야 한다.
* [[BIP49]] : P2WPKH가 중첩 된 P2SH 기반 계정의 유도 스키마
+
# [[코인조인]](coinjoin)과 호환 가능해야 하고, 지불금에 사용된 txins에 대한 정보를 수취인에게 유출하지 않아야 한다.
* [[BIP63]] : 스텔스 주소
+
# [[멀티시그]](multisig) 보호 지갑과 호환 가능해야 한다.
* [[BIP70]] : SSL/TLS 통신을 이용하여 비트코인의 결제를 안전하게 함
+
# txin scriptSig 양식에 대해 가정을 해서는 안 된다.
* [[BIP84]] : P2WPKH 기반 계정의 유도 스키마
+
# 다른 정보를 공개하지 않고 제삼자에게 지급이 지시사항과 무관하다는 것을 증명할 수 있어야 한다.<ref name = "Peter Todd"></ref>
* [[BIP141]] : 분리된 증인(Consensus layer)
+
 
 +
== 스텔스 주소 중단 사유 ==
 +
스텔스 주소 개발을 방해하는 가장 큰 이유 중 하나는 이 기술이 이러한 규모의 변화에 ​​대처할 수 없다는 것이다. 다크 웰렛이 출시되었을 때 사용자가 적어서 아무런 문제가 발생하지 않았지만, 사용자 수가 증가함에 따라 응용 프로그램을 열 때까지의 시간은 매우 길었다. 동시에, 데이터 통신은 다양한 이유로 [[SPV]](Simple Payment Verification) (블록체인의 모든 데이터를 다운로드하지 않고 트랜잭션을 검증 할 수 있음)을 지원하는 모바일 단말기에도 한계가 있다. 사용자가 전체 노드 (예 : 모든 블록체인 데이터 다운로드)로 정의된 경우에도 블록체인에서 데이터를 확인한 후 사용자가 스텔스 주소를 사용하고 있는지 판단하기 쉽다. 사용자가 특정 추적을 남겨 두었기 때문에 블랙리스트를 입력하기 쉽기 때문에 스텔스 주소의 개발이 중단된다.<ref name = "qkl"></ref>
  
 
{{각주}}
 
{{각주}}
29번째 줄: 31번째 줄:
 
== 참고자료 ==
 
== 참고자료 ==
 
* 〈[http://www.868qkl.com/BitCoin/BIP63.html BIP63 (스텔스 주소)]〉, 《868qkl》, 2018-09-10  
 
* 〈[http://www.868qkl.com/BitCoin/BIP63.html BIP63 (스텔스 주소)]〉, 《868qkl》, 2018-09-10  
* Peter Todd, 〈[https://sourceforge.net/p/bitcoin/mailman/message/31813471/ [Bitcoin-development] Stealth Addresses]〉, 《sourceforge》, 2014-01-06
+
* Peter Todd, 〈[https://sourceforge.net/p/bitcoin/mailman/message/31813471/ 'Bitcoin-development' Stealth Addresses]〉, 《sourceforge》, 2014-01-06
 +
 
 +
== 같이 보기 ==
 +
* [[스텔스 주소]]
 +
* [[스크립트퍼브키]]
  
 
{{블록체인 기술|검토 필요}}
 
{{블록체인 기술|검토 필요}}

2019년 9월 1일 (일) 16:20 기준 최신판

BIP63스텔스 주소로 원래 다크월렛(Dark Wallet)과 같은 논란이 많은 암호화폐 지갑에 적용되어 개발되었다. 스텔스 주소의 구성, 샘플 코드의 개발 및 사람들의 논쟁을 소개하겠지만 이 스텔스 주소의 개발이 중단되었으며 초안이 아직 대중에 의해 받아들여지지 않았다.[1]

스텔스 주소[편집]

스텔스 주소(stealth address)는 새로운 유형의 비트코인 주소와 관련된 스크립트퍼브키(scriptPubKey)/거래 생성 체계로서, 수취인이 지불인이 자금을 효율적으로, 개인적으로, 신뢰성 있게, 그리고 비간섭적으로 보낼 수 있는 하나의 고정 주소를 발행할 수 있도록 허용한다. 지불자는 은밀 주소에 대해 어떤 다른 지불이 이루어졌는지를 배우지 않으며, 제삼자는 전혀 배우지 않는다. (둘 다 조정 가능한 익명성 집합의 적용을 받는다.)[2]

배경[편집]

일반적으로 비트코인 주소는 수취인이 다음을 수행하는 메커니즘이다. 수취인이 하나 이상의 거래 산출물을 소비할 수 있도록 지급인에게 거래를 생성하도록 지시한다. 물론 일반적으로 주소는 단순히 pub 키의 해시일 뿐이며, 기금을 수취인이 이용할 수 있게 하는 메커니즘은 단순히 다음과 같은 형태의 스크립트 퍼브키를 만드는 것이다.

DUP HASH160 <pubKeyHash> EQUALVERIFY CHECKSIG

그러나 문제는 주소 재사용이다. 수취인이 한 명 이상의 수취인에게 하나의 주소를 주고 다양한 용도로 여러 번 사용하는 것이 편리하다. 이것은 공격자에 의해 이러한 모든 지불이 서로 세 배로 연결되게 하는 결과를 낳는데, 이는 사용자의 사생활뿐만 아니라 비트코인의 모든 사용자에게도 위협이 된다. BIP32 계층적 결정론적 지갑은 해결책으로 자주 제안된다. 이제 주소는 체인 코드이고 스크립트 퍼브 키가 생성되는 메커니즘은 그 체인 코드와 인덱스 i에서 일회용 pub 키를 추출하는 것이다. 그러나 이는 두 가지 주요 문제로 빠르게 이어진다.

  • 프라이버시 부족: 주소를 가지고 있지 않은 사람이 지불을 서로 연결할 수는 없지만, 그럴 수 있는 사람은 있을 수 있다.
  • 상태: 지수를 재사용하지 않으려면 주소당 상태를 유지하거나, 이미 사용한 지수를 어떻게든 조회하거나, 수취인이 지수를 회복할 수 있을 정도로 충분히 작은 범위에서 지수를 생성해야 한다. 이 모든 해결책은 문제가 있다.

다크 월렛 해커톤에서 BIP32 유도 솔루션이 실패하는 경우의 좋은 예로서, 저자는 비트코인 주소가 포함된 새로운 사용자 ID 필드로 개인 대 개인 결제 OpenPGP 공개 키와 X.509 인증서를 확장해야 한다고 제안했다. 그런 다음, 월렛 소프트웨어는 어느 하나의 인증서 시스템을 사용하여 의도된 수령자에게 자금이 보내지고 있는지 확인할 수 있다. 즉, 근본적으로 BIP70 결제 프로토콜이 상호적으로 해결하는 것을 해결하기 위한 비 대화식 방법이 아니다. 물론, 스텔스 주소가 없다면 그 계획은 사생활이 거의 없거나 아예 없을 것이다.[2]

요구 사항[편집]

  1. 생성된 스크립트퍼브키(scriptPubKey)는 전 세계적으로 고유해야 한다.
  2. 수취인만 쓸 수 있어야 한다.
  3. 스크립트퍼브키 및 관련 트랜잭션은 익명성 집합에서 다른 트랜잭션의 제삼자와 구별할 수 없어야 한다.
  4. 방법은 완전히 결정적이어야 하며, 수취인과 수취인 모두에게 지갑 시드와 블록체인 데이터에서 회수할 수 있는 자금이다.
  5. 수취인은 합리적이고 구성 가능한 계산 및 대역폭 비용으로 효율적으로 자금을 회수할 수 있어야 한다.
  6. 코인조인(coinjoin)과 호환 가능해야 하고, 지불금에 사용된 txins에 대한 정보를 수취인에게 유출하지 않아야 한다.
  7. 멀티시그(multisig) 보호 지갑과 호환 가능해야 한다.
  8. txin scriptSig 양식에 대해 가정을 해서는 안 된다.
  9. 다른 정보를 공개하지 않고 제삼자에게 지급이 지시사항과 무관하다는 것을 증명할 수 있어야 한다.[2]

스텔스 주소 중단 사유[편집]

스텔스 주소 개발을 방해하는 가장 큰 이유 중 하나는 이 기술이 이러한 규모의 변화에 ​​대처할 수 없다는 것이다. 다크 웰렛이 출시되었을 때 사용자가 적어서 아무런 문제가 발생하지 않았지만, 사용자 수가 증가함에 따라 응용 프로그램을 열 때까지의 시간은 매우 길었다. 동시에, 데이터 통신은 다양한 이유로 SPV(Simple Payment Verification) (블록체인의 모든 데이터를 다운로드하지 않고 트랜잭션을 검증 할 수 있음)을 지원하는 모바일 단말기에도 한계가 있다. 사용자가 전체 노드 (예 : 모든 블록체인 데이터 다운로드)로 정의된 경우에도 블록체인에서 데이터를 확인한 후 사용자가 스텔스 주소를 사용하고 있는지 판단하기 쉽다. 사용자가 특정 추적을 남겨 두었기 때문에 블랙리스트를 입력하기 쉽기 때문에 스텔스 주소의 개발이 중단된다.[1]

각주[편집]

  1. 1.0 1.1 BIP63 (스텔스 주소)〉, 《868qkl》, 2018-09-10
  2. 2.0 2.1 2.2 Peter Todd, 〈'Bitcoin-development' Stealth Addresses〉, 《sourceforge》, 2014-01-06

참고자료[편집]

같이 보기[편집]


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