비트코인 옵테크 뉴스레터는 독자들에게 비트코인에서 발생하는 가장 중요한 기술 뉴스에 대한 최상위 요약과 학습에 도움이 되는 리소스를 제공합니다. 독자들이 비트코인에 대한 최신 정보를 유지할 수 있도록, 아래에 이 뉴스레터의 최신 호를 재게시합니다. 이 콘텐츠를 직접 이메일로 받으려면 구독하는 것을 잊지 마세요.
뉴스
- BIP70 대체에 대한 논의: 토마스 보에클린은 BIP70 결제 프로토콜의 일부 기능, 특히 서명된 결제 요청을 받을 수 있는 기능의 대체에 대한 스레드를 비트코인-개발자 메일링 리스트에서 시작했습니다. 보에클린은 자신이 지불한 주소가 실제로 수신자가 제공한 주소(예: 거래소)임을 증명할 수 있기를 원합니다. 찰스 힐과 앤드류 코즐릭은 그들이 작업 중인 프로토콜에 대한 정보를 각각 회신했습니다. 힐의 계획은 LNURL과 함께 사용하기 위한 것이지만 보에클린의 의도된 사용 사례에 맞게 재구성될 수 있습니다. 코즐릭의 계획은 BIP70의 정신에 더 가깝지만 X.509 인증서의 사용을 중단하고 거래소 기반의 코인 스왑(예: BTC를 알트코인으로 거래하거나 그 반대)을 위한 기능을 추가합니다.
- v0 비밀 로그 계약(DLC) 사양의 사기 증명: 티보 르 기유리는 DLC-dev 메일링 리스트에서 버전 0 DLC 조정 사양에 사기 증명을 포함할 목표에 대한 논의를 시작했습니다. 두 가지 유형의 사기가 논의되었습니다:
- 모순: 오라클이 동일한 사건에 대해 여러 번 서명하여 상충되는 결과를 생성하는 경우. 모순의 증명은 제3자의 신뢰 없이 소프트웨어에 의해 자동으로 검증될 수 있습니다.
- 거짓말: 오라클이 사용자가 잘못된 것을 알고 있는 결과에 대해 서명하는 경우. 이는 거의 항상 사용자의 계약 소프트웨어에서 사용할 수 없는 증거에 의존하므로, 이 유형의 사기 증명은 사용자가 수동으로 검증해야 하며, 사용자는 원래 계약과 오라클이 서명한 결과를 비교할 수 있습니다.
토론 참가자들은 모두 모순 증명을 제공하는 것을 선호하는 것처럼 보였지만, v0 사양에 너무 많은 작업이 될 수 있다는 우려가 있었습니다. 중간 해결책으로 거짓말의 증명에 집중하자는 제안이 있었습니다. 이러한 증명의 형식이 정립되면 소프트웨어는 동일한 오라클과 사건에 대해 두 개의 별도 증명을 받아 모순의 증명을 생성할 수 있습니다. 거짓말 증명에 대한 한 가지 우려는 사용자가 가짜 증명으로 스팸을 받을 수 있어 사용자가 잘못된 증명을 검증하는 데 시간을 낭비하거나 사기 증명을 아예 확인하지 않게 될 수 있다는 점이었습니다. 반론으로는 온체인 거래에서 증명의 일부를 얻을 수 있다는 점(이는 누군가가 온체인 수수료를 지불해야 함)과 사용자가 사기 증명을 다운로드할 출처를 선택할 수 있어 정확한 정보만 전파하는 출처에서 받기를 선호할 수 있다는 점이 포함되었습니다.
주목할 만한 코드 및 문서 변경 사항
이번 주 비트코인 코어, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, 하드웨어 지갑 인터페이스(HWI), Rust 비트코인, BTCPay 서버, 비트코인 개선 제안(BIPs), 라이트닝 BOLTs에서의 주목할 만한 변경 사항입니다.
- 비트코인 코어 #16546은 새로운 서명자 인터페이스를 도입하여 비트코인 코어가 HWI 또는 동일한 인터페이스를 구현하는 다른 애플리케이션을 통해 외부 하드웨어 서명 장치와 상호작용할 수 있도록 합니다. 비트코인 코어는 비트코인 코어 버전 0.18부터 HWI를 사용하여 하드웨어 서명자와 인터페이스할 수 있었습니다. 그러나 이 PR 이전에는 비트코인 코어와 HWI 간의 데이터 전송에 명령줄을 사용해야 했습니다. 이 PR은 비트코인 코어가 HWI와 직접 통신할 수 있도록 하여 사용자 경험을 간소화합니다. PR에는 새로운 서명자 인터페이스를 사용하는 방법에 대한 전체 문서와 HWI가 포함되어 있습니다. 새로운 서명자 인터페이스는 현재 RPC 방법을 통해서만 접근할 수 있습니다. 초안 PR은 GUI에 서명자 인터페이스에 대한 지원을 추가하여 명령줄을 사용하지 않고도 비트코인 코어와 하드웨어 서명자를 사용할 수 있도록 합니다.
- Rust-Lightning #791은 시작 시 블록 및 헤더를 동기화하기 위해 BlockSource 인터페이스를 폴링하는 지원을 추가하며, 동기화 중 포크 감지를 수행합니다. 뉴스레터 #135에서 설명한 바와 같이 BlockSource는 소프트웨어가 표준 비트코인 코어 호환 노드 외의 출처에서 데이터를 얻을 수 있도록 하여, 이클립스 공격이나 기타 보안 문제를 방지하는 데 도움이 되는 중복성을 제공합니다.
- Rust-Lightning #794는 종료를 시작할 때 향후 세그윗 버전을 허용하는 option_shutdown_anysegwit 기능에 대한 지원을 활성화합니다. option_shutdown_anysegwit가 협상되면 종료 메시지를 보내 종료를 시작하는 채널 당사자는 지불을 위한 scriptpubkey를 보낼 수 있으며, 이는 스크립트가 표준 BIP141 증인 프로그램 형식의 버전 바이트(OP_1에서 OP_16까지의 1바이트 푸시 연산자)와 증인 프로그램(2바이트에서 40바이트의 바이트 벡터 푸시)을 준수해야 합니다. 이러한 종료 스크립트는 비표준으로 인해 비싼 수수료가 발생하는 스크립트나 과도한 스크립트가 전파되지 않도록 표준 형식으로 제한됩니다. 비트코인 코어 0.19.0.1(2019년 11월 출시)에서 모든 세그윗 스크립트로의 지불 중계가 가능해졌으므로 이제 LN의 표준 형식에 포함하는 것이 안전합니다.
- HWI #413, #469, #463, #464, #471, #468, #466은 HWI의 문서를 크게 업데이트하고 확장합니다. 특히 주목할 만한 변경 사항으로는 ReadTheDocs.io의 문서 링크, 새로운 및 업데이트된 예제, HWI가 지원을 고려해야 하는 새로운 장치의 기준을 설명하는 새로운 정책이 포함됩니다.
- Rust Bitcoin #573은 제공된 sighash 바이트가 비트코인 코어가 기본적으로 중계하고 채굴할 표준 값 중 하나임을 보장하는 새로운 메서드 SigHashType::from_u32_standard를 추가합니다. 각 서명의 sighash 바이트는 거래의 어떤 부분이 서명되어야 하는지를 나타냅니다. 비트코인의 합의 규칙은 비표준 sighash 값이 SIGHASH_ALL과 동등하게 취급되도록 하지만, 기본적으로 중계되거나 채굴되지 않는다는 사실은 이론적으로 오프체인 약정을 사용하는 소프트웨어를 속여 집행할 수 없는 지불을 수용하게 만들 수 있습니다. Rust-Bitcoin을 사용하는 그러한 소프트웨어의 개발자는 이 새로운 메서드로 전환하기를 원할 수 있습니다.
- BIPs #1069는 BIP8을 업데이트하여 구성 가능한 활성화 임계값을 허용하고 최근의 탭루트 활성화 논의에 따라 90%를 권장 사항으로 포함합니다.
원본 게시물은 여기에서 확인하세요.
매달 이 콘텐츠를 직접 이메일로 받으려면 비트코인 옵테크 뉴스레터를 직접 구독해 주세요.