작성자: 비트코인 디자인
페이조인(Payjoin)은 송금자와 수취자가 협력하여 비트코인 거래를 공동으로 구축하는 것을 의미합니다. 강력한 도구로서 페이조인 거래는 사용자의 개인정보 보호를 향상시키고, 수수료를 절감하며, UTXO를 통합할 수 있습니다. 하지만 대화형이고 동기화된 특성으로 인해 페이조인은 몇 가지 과제와 절충점에 직면해 있습니다.
지불 과정에서 페이조인 거래는 일부 온체인 분석의 발견적 방법을 깰 수 있습니다. 그러나 이러한 거래를 구축하려면 송금자와 수취자가 실시간으로 엔드포인트를 통해 조정해야 합니다.
본 사례 연구는 다음을 수행할 것입니다:
- 송금자와 수취자의 각각의 동기와 목표를 명확히 합니다.
- 거래 당사자의 페이조인 사용자 경험(UX)을 분석하고 적절한 설계 방법을 제시합니다.
- 구체적인 사용자 흐름을 제시하고 가능한 한 실행 가능한 설계 방안을 제공합니다.
본 연구의 핵심 결론은 다음과 같습니다: 수취자의 경우, 초기 설정은 다소 복잡하지만 이후 각 거래는 거의 추가 작업 없이 진행됩니다.
송금자의 경우, 페이조인을 지원하는 지갑을 사용해야 하는 것 외에는 거의 추가 설정이 필요하지 않습니다. 또한 그들의 선택과 구체적인 구현 방안의 성숙도에 따라 사용자 경험은 일반 거래와 완전히 동일하거나 거의 유사할 수 있습니다.
(이하 생략, 전체 번역은 동일한 방식으로 진행됩니다)
자세한 접근 방식은 이 문서를 참조하세요.
이 Figjam 파일에서 해당 프로세스를 확인할 수 있습니다. 자세한 과정과 고려사항은 이 파일을 참조하세요.
Payjoin "악수(Handshake)"
우리는 "Payjoin 악수"라는 용어를 도입하여 발신자와 수신자 간의 자동화된 왕복 상호작용 과정을 간결하게 설명하고자 합니다. 이 과정에서 처음에는 발신자의 입력만 포함된 PSBT가 양쪽의 입력이 포함되고 서명된 최종 거래로 변환됩니다.
이러한 단계는 거래에 참여하는 사용자에게 중요하지 않으며, 어느 쪽도 추가 작업을 수행할 필요가 없습니다. 쉽게 말해, 거래 당사자들은 이 과정을 인식하지 못할 수 있으며, 단지 거래 중에 온라인 상태를 유지하기만 하면 됩니다.
Payjoin 발신자 프로세스 프로토타입
우리의 목표는 이 사용자 흐름의 경험을 일반 프로세스와 최대한 유사하게 만드는 것입니다. 반드시 차이가 있어야 하는 부분에 대해서는 UI를 통해 사용자를 안내하고 도울 것입니다.
[이하 생략, 한국어로 번역된 내용입니다]- Payjoin 설정 프로세스
- 기타 Payjoin 기능. 예: 제3자 엔드포인트, 주소/출력 대체, 콜드 월렛 잔액 보충 등
- Payjoin 준비 상태 모니터링: 핫 월렛 상태, Payjoin 엔드포인트 상태 등
통찰
본 사례 연구 과정에서 우리는 많은 것을 얻었으며, 설계한 사용자 흐름에 이러한 통찰의 대부분을 적용했습니다.
- Payjoin은 수신자가 UTXO를 통합할 수 있게 하여 장기적으로 참여자들이 더 낮은 수수료를 지불할 수 있게 합니다. 이는 특히 거래소에 유용하며, 그들이 이 기능을 가장 필요로 하고 안정적이고 신뢰할 수 있는 시스템을 배포할 기술적 역량을 완전히 갖추고 있기 때문입니다.
- 거래 양측이 여러 라운드의 반복과 협업을 거칠 수 있음을 고려하여, 본 사례 연구에서는 사용자 작업 간의 모든 자동화된 상호작용을 포괄하는 용어로 "Payjoin 핸드셰이크"라는 용어를 도입했습니다.
- 항상 온라인 상태인 엔드포인트를 유지하는 것이 Payjoin 구현의 가장 큰 장애물로 보이며, 문서에서는 몇 가지 대안을 나열했습니다.
- Payjoin은 수신자에게 더 높은 요구 사항을 제시하지만, 동시에 더 많은 이점과 기회도 제공합니다.
- 출력 대체: BIP-78에서 유래한 강력한 아이디어입니다. 위험은 있지만 Payjoin 사용자에게 강력한 도움이 될 수 있습니다.
- 출력 대체: Payjoin을 통해 수신자는 정적 결제 정보를 게시할 수 있지만, 실제 수령 시 다른 주소를 사용하여 주소 재사용을 방지할 수 있습니다.
- Payjoin 수신자는 추가 월렛 설정 없이 일상적인 소비 월렛을 Payjoin의 핫 월렛으로 직접 사용할 수 있습니다.
- Payjoin 구현 시 Payjoin을 식별하는 "정수 요율" 분석에 주의를 기울여야 하며, 사용자 개입 없이 자동으로 처리해야 합니다.
새로운 가능성
다중 당사자 협업과 많은 불확실한 요소(예: 엔드포인트)로 인해 Payjoin을 이해하고 구현하는 데 높은 진입 장벽이 있지만, 이는 다양한 새로운 기능과 서비스의 문을 열어줍니다.
다음은 몇 가지 예입니다:
- 수신자는 제3자 엔드포인트 사용을 선택할 수 있으며(주소 대체 비활성화), 편의성을 위해 일부 개인정보 보호를 희생할 수 있습니다.
- 현재 서버 없는 Payjoin 구현에 대한 흥미로운 작업이 진행 중이며, 이 솔루션은 비트코인과 라이트닝 네트워크를 모두 지원하는 플랫폼에 매우 적합합니다.
- 수신 측 구현은 사용자가 직접 결제를 시작할 수 있도록 주소 대체를 사용할 수 있습니다.
- NFC(또는 기타 근거리 무선 통신 기술)를 통해 Payjoin 협업을 수행할 수 있습니다.
- BIP-78를 활용하여 추가 상호작용 라운드를 추가하여 송신자가 "핸드셰이크" 후 수수료를 조정하고 수신자에게 다시 보내 브로드캐스트할 수 있습니다.
본 사례 연구는 Payjoin을 둘러싼 설계 문제를 심층적으로 탐구하여 커뮤니티의 다양한 사용 사례와 잠재적 가치에 대한 관심을 불러일으키기를 희망합니다.
감사의 말:
- Payjoin을 지원하는 BTCPay 인스턴스를 제공하고 수신 프로세스 테스트에 도움을 준 BTCPay의 Pavlenex에게 감사드립니다.
- 사례 연구 내용을 검토하고 Payjoin 관련 논의에 적극적으로 참여한 Nicolas Dorier에게 감사드립니다.
- 마지막으로, 귀중한 지도와 인내, 열정을 보여준 Dan Gould에게 감사드립니다.

