393 / 736SIPA

Pieter Wuille

sipa로 알려진 개발자

Pieter Wuille는 Bitcoin 지갑이 키를 만들고 주소를 표현하며 결제에 서명하는 방식을 설계하는 데 기여했습니다. sipa라는 이름을 처음 들어도 그의 작업을 이미 쓰고 있을 수 있습니다.

Pieter Wuille는 sipa라는 이름으로 알려진 Bitcoin 개발자이며 BIP 32, SegWit, Bech32, Bech32m, Schnorr/Taproot의 저자 또는 공동 저자입니다. BIP는 공개된 기술 제안서입니다. 그의 기여는 다른 사람들과 구체적인 해결책을 만든 데 있으며, 네트워크 전체를 대신해 결정할 권리를 갖는 데 있지 않습니다.

지갑이 새 주소를 제시하거나 결제 서명을 준비할 때, 간단한 버튼 뒤에는 여러 개발자의 작업이 있습니다. Pieter Wuille도 그중 한 사람입니다. GitHub에서는 sipa라는 이름을 쓰며, 프로필에서 그 이름과 개발 활동을 연결해 볼 수 있습니다. 다만 특정 설계가 누구의 기여인지는 사용자 이름만으로 판단할 수 없습니다. 프로젝트의 기록과 문서를 살펴봐야 합니다. 아래 제안서는 그가 어떤 문제를 누구와 함께 풀었는지 보여 줍니다. [1]

주문마다 다른 결제 주소를 쓰고 싶은 가게를 떠올려 보세요. Wuille의 BIP 32는 seed라는 최초의 비밀 데이터에서 나무처럼 갈라지는 키들을 파생하는 방법을 설명합니다. 확장 공개키 xpub는 해당 가지의 공개키를 더 만들 수 있지만 자금을 쓸 권한은 주지 않습니다. 서명에는 개인키가 필요합니다. 중요한 예외도 있습니다. xpub와 함께 hardened 단계를 거치지 않고 파생된 하위 개인키가 유출되면 부모 개인키까지 드러날 수 있습니다. hardened 파생은 이 경로를 끊습니다. xpub는 결제 사이의 연관성도 보여 주므로 함부로 공개해서는 안 됩니다. [2]

뒤의 결제가 앞선 거래에 의존할 수 있으므로 거래 식별자는 중요합니다. Eric Lombrozo, Johnson Lau, Pieter Wuille가 작성한 BIP 141은 서명 등 검증 데이터인 witness를 기존 식별자 txid를 결정하는 부분에서 분리합니다. 새 식별자 wtxid에는 witness도 포함됩니다. 따라서 서명 데이터가 바뀌어도 다른 거래가 참조하는 txid가 반드시 바뀌지는 않습니다. 서명 검증은 계속합니다. 블록의 첫 거래인 coinbase 거래에 담긴 암호학적 커밋먼트가 witness 데이터를 보호합니다. [3]

주소를 옮겨 적다 보면 문자 하나를 틀리기 쉽습니다. Wuille와 Greg Maxwell은 BIP 173에서 네이티브 SegWit 주소를 위한 Bech32를 설명했습니다. 체크섬은 잘못된 표기를 감지하도록 돕는 문자들입니다. 다만 검사 대상은 인코딩이지 의도한 수취인의 신원이 아닙니다. 누군가 주소를 다른 유효한 주소로 바꿔 놓았다면 체크섬이 그 사기를 알아내 주지는 못합니다. [4]

주소 형식도 개선할 수 있습니다. Wuille의 BIP 350은 문자 삽입이나 삭제와 관련된 특정 약점을 해결하려고 체크섬을 바꿨습니다. 그 결과가 Bech32m입니다. 지갑은 witness 버전과 인코딩의 일치를 확인해야 합니다. 버전 0은 계속 Bech32를 쓰고 버전 1부터 16까지는 Bech32m을 씁니다. 이용자가 알고리즘을 수동으로 고를 필요는 없어야 합니다. 주소를 만들고 검사하는 일은 소프트웨어의 몫이며, 아무 유효한 체크섬이나 받아들이면 안 됩니다. [5]

디지털 서명은 소유자의 개인키를 공개하지 않고 결제 권한을 검증할 수 있게 합니다. Pieter Wuille, Jonas Nick, Tim Ruffing의 BIP 340은 Schnorr signatures를 규정합니다. 서명은 64바이트, 공개키는 32바이트이며 바이트는 데이터 크기의 단위입니다. 수학적 특성을 활용하면 여러 사람이 공동 서명을 만드는 시스템을 구축할 수 있습니다. 하지만 키를 단순히 더하는 것만으로는 충분하지 않습니다. 참여자들을 안전하게 조율하는 별도의 프로토콜이 필요합니다. [6]

지갑은 평소의 지출 방식과 비상시에 쓸 조건을 함께 마련할 수 있습니다. Pieter Wuille, Jonas Nick, Anthony Towns는 BIP 341에서 Taproot를 설명했습니다. 키 경로인 key path로 지출하면 서명만으로 처리하며 대체 스크립트가 존재한다는 사실조차 숨길 수 있습니다. 스크립트는 지출 조건을 표현하는 프로그램입니다. 스크립트 경로인 script path가 필요하면 사용한 스크립트와 포함 증명을 공개하지만, 쓰지 않은 대안까지 모두 공개할 필요는 없습니다. 저장 공간을 줄이고 지갑 구성 정보 일부를 보호할 수 있으나 모든 결제가 자동으로 익명화되지는 않습니다. [7]

이런 변화는 구체적인 문제를 해결하고 다른 사람들이 설계와 코드를 검토할 수 있게 합니다. Bitcoin.org는 BIP가 공개적으로 논의되며 채택 여부는 네트워크 참여자들에게 달려 있다고 설명합니다. 노드는 자신이 실행하는 소프트웨어에 따라 거래와 블록을 검증하는 컴퓨터입니다. 제안서 작성이나 저장소 관리가 합의 규칙을 일방적으로 바꿀 권한을 주지는 않습니다. Wuille의 중요성은 기여와 협업에 있으며 Bitcoin의 우두머리라는 지위에 있지 않습니다. [8]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Craig Wright, Gregory Maxwell, Satoshi Nakamoto. 다음 항목에서도 이 글을 참조합니다 Craig Wright, Gregory Maxwell.

DOC · 001GitHub — Pieter Wuille (sipa)문서 DOC · 002BIP 32 — Hierarchical Deterministic Wallets문서 DOC · 003BIP 141 — Segregated Witness문서 DOC · 004BIP 173 — Bech32문서 DOC · 005BIP 350 — Bech32m문서 DOC · 006BIP 340 — Schnorr signatures문서 DOC · 007BIP 341 — Taproot spending rules문서 DOC · 008Bitcoin.org — FAQ문서
개정일: 1차 출처 우선 · 투자 조언이 아닙니다