비트코인 옵테크 뉴스레터는 독자들에게 비트코인에서 발생하는 가장 중요한 기술 뉴스에 대한 최고 수준의 요약과 함께 더 많은 정보를 배울 수 있는 리소스를 제공합니다. 독자들이 비트코인에 대한 최신 정보를 유지할 수 있도록, 우리는 아래에 이 뉴스레터의 최신 호를 재발행합니다. 이 콘텐츠를 직접 이메일로 받으려면 구독하는 것을 잊지 마세요.
이번 주 뉴스레터에서는 LN 스플라이싱에 대한 초안 사양을 설명하고, 거래 중계 보안에 대한 워크숍을 발표하며, libsecp256k1-zkp에 ECDSA 서명 어댑터 지원 추가를 발표하고, BIPs 프로세스를 변경하기 위한 제안에 대한 링크를 제공합니다. 또한 비트코인 스택 익스체인지에서 인기 있는 질문과 답변 요약, 소프트웨어 릴리스 및 릴리스 후보 발표, 인기 있는 비트코인 인프라 소프트웨어의 주목할 만한 변경 사항에 대한 정기 섹션이 포함되어 있습니다.
뉴스
- LN 스플라이싱에 대한 초안 사양: 러스티 러셀은 스플라이싱을 수용하기 위해 필요한 프로토콜 변경을 제안하는 PR을 라이트닝 사양 저장소(“BOLTs”)에 열었습니다. 그는 또한 라이트닝-개발자 메일링 리스트에 PR 링크를 게시했습니다. 스플라이싱은 채널 참가자가 채널의 다른 자금을 사용하기 위해 확인 지연을 기다리지 않고 온체인 출력에서 기존 결제 채널로, 또는 기존 결제 채널에서 독립적인 온체인 출력으로 자금을 전송할 수 있게 합니다. 이는 지갑이 사용자에게 잔액 관리의 기술적 세부 사항을 숨기는 데 도움이 됩니다. 예를 들어, 앨리스의 지갑은 동일한 결제 채널에서 밥에게 오프체인 또는 온체인으로 자동으로 지불할 수 있습니다—그 결제 채널을 통해 LN을 사용하여 오프체인으로 또는 그 결제 채널에서 스플라이스 아웃(인출)을 사용하여 온체인으로.
러스티는 2018년에 스플라이싱에 대한 초안 사양을 제안했지만(뉴스레터 #17 참조) 이 새로운 초안은 C-Lightning의 실험적 이중 자금 지원의 일부로 포함된 대화형 자금 조달 프로토콜을 사용할 수 있는 장점이 있습니다. - 레이어 크로싱 워크숍 주제 요청: 앙투안 리아르는 LN과 같은 레이어 2 프로토콜에 영향을 미치는 온체인 거래 중계의 문제를 논의하기 위해 계획 중인 IRC 기반 워크숍에 대해 비트코인-개발자 및 라이트닝-개발자 메일링 리스트에 게시했습니다. 목표는 참가자들 간에 어떤 제안이 특히 가치가 있는지에 대한 기술적 합의를 구축하여 개발자와 검토자가 단기적으로 이러한 제안에 집중할 수 있도록 하는 것입니다.
게시물은 패키지 중계, 수수료 후원(뉴스레터 #116 참조), BIP125 옵트인 수수료 대체(RBF)에서 전체 RBF로의 이동, 주로 온체인 프로젝트(예: 전체 노드)와 주로 오프체인 프로젝트(예: LN 노드) 간의 보안 대응 조정 개선, 레이어 2 프로토콜이 합리적으로 의존할 수 있는 메모리 풀 및 중계 정책 정의를 포함하는 의제를 제안합니다. 리아르는 참석할 계획인 사람들로부터 추가 주제 제안을 요청하며, 제출 마감일은 5월 7일입니다. 워크숍은 6월 중순에 열릴 가능성이 높습니다. - libsecp256k1-zkp에 ECDSA 서명 어댑터 지원 추가: 서명 어댑터는 원래 앤드류 포엘스트라가 비트코인에 대해 슈노르 기반 다중 서명을 사용하여 설명했습니다. 이는 단일 서명이 한 번에 최대 세 가지 작업을 수행할 수 있게 합니다: (1) 생성자가 특정 개인 키에 접근할 수 있었음을 증명하고, (2) 다른 당사가 미리 선택한 암호화 키에 대한 지식을 증명하고, (3) 다른 당사자에게 미리 선택된 암호화 키를 공개합니다. 이는 서명만으로도 우리가 현재 비트코인 스크립트로 수행하는 많은 작업을 가능하게 하며, 어댑터 서명이 “스크립트 없는 스크립트”를 생성하는 데 사용될 수 있음을 시사합니다.
ECDSA에서 동일한 작업을 수행하는 것은 그리 쉽지 않습니다. 그러나 로이드 포니어는 목표 #1(개인 키 증명)을 목표 #2 및 #3(암호화 키 증명 및 공개, 즉 어댑터)와 분리하면 상대적으로 간단할 것이라고 제안했습니다. 이는 하나의 서명 객체를 단순한 서명으로 사용하고 다른 서명 객체를 어댑터로 사용해야 하므로 OP_CHECKMULTISIG를 사용하며 이전만큼 스크립트가 없는 것은 아닙니다. 분리된 구조는 또한 타원 곡선 디피 헬만(ECDH) 키 교환 및 엘가말 암호화와 관련된 일부 키 재사용에 대한 보안 경고를 요구합니다. 그 외에도 이 기술은 오늘날 비트코인에서 서명 어댑터를 완전히 사용할 수 있게 하며, 다양한 DLC 프로젝트에서 사용되고 있습니다.
2020년 4월, 요나스 닉은 이러한 단순화된 ECDSA 서명 어댑터에 대한 지원을 초안 PR에서 구현했습니다(뉴스레터 #92 참조). 제시 포스너는 libsecp256k1의 포크인 libsecp256k1-zkp에 PR을 포팅하고 확장했습니다. 이 업데이트된 PR은 여러 대화가 포함된 상세한 검토 프로세스 후에 이제 병합되었습니다. 이는 서명 어댑터의 보안을 더 잘 이해하고자 하는 사람들에게 관심이 있을 수 있습니다. - BIPs 프로세스의 문제: BIPs 저장소에서 약간의 드라마가 있었고(아마도 이전의 쌓인 불만이 있었을 것입니다), 여러 논의가 메일링 리스트에서 새로운 BIPs 편집자를 추가하거나 BIPs PR을 병합하기 위해 봇을 사용하거나 중앙 집중식 BIPs 저장소를 완전히 포기하는 것에 대한 논의가 시작되었습니다.
비트코인 스택 익스체인지에서의 선택된 Q&A
비트코인 스택 익스체인지는 옵테크 기여자들이 질문에 대한 답을 찾거나 호기심이 많거나 혼란스러운 사용자들을 도와줄 수 있는 몇 가지 여유 시간이 있을 때 처음 찾는 장소 중 하나입니다. 이 월간 특집에서는 지난 업데이트 이후 게시된 가장 많은 투표를 받은 질문과 답변을 강조합니다.
- MTP가 비트코인에서 사용되는 다양한 맥락은 무엇인가요? 데이비드 A. 하딩은 중간 시간 과거(MTP)를 정의하고 MTP가 사용되는 방법을 설명합니다:
- 블록의 nTime 필드를 사용하여 블록의 유효성을 결정하고, 난이도 조정 기간 시간을 제어합니다.
- 시간이 앞으로만 이동하도록 보장하여 BIP9의 상태 전환을 단순화합니다.
- 개별 채굴자가 현재 시간을 속여 최대 두 시간 미래의 거래를 확인하도록 유도하는 인센티브를 제거합니다. 이는 BIP113에 고정되어 있습니다.
릴리스 및 릴리스 후보
인기 있는 비트코인 인프라 프로젝트의 새로운 릴리스 및 릴리스 후보. 새로운 릴리스로 업그레이드하거나 릴리스 후보를 테스트하는 데 도움을 주시기 바랍니다.
- 비트코인 코어 0.21.1rc1은 제안된 탭루트 소프트 포크를 위한 활성화 로직을 포함하는 비트코인 코어 버전의 릴리스 후보입니다. 탭루트는 슈노르 서명을 사용하며 tapscript의 사용을 허용합니다. 이들은 각각 BIPs 341, 340 및 342에 의해 지정됩니다. 또한 BIP350에 의해 지정된 bech32m 주소로 지불할 수 있는 기능이 포함되어 있지만, 메인넷에서 이러한 주소로 지출된 비트코인은 탭루트와 같은 주소를 사용하는 소프트 포크가 활성화될 때까지 안전하지 않습니다. 이 릴리스에는 버그 수정 및 소규모 개선 사항도 포함되어 있습니다.
주목할 만한 코드 및 문서 변경 사항
이번 주 비트코인 코어, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, 하드웨어 지갑 인터페이스(HWI), Rust Bitcoin, BTCPay Server, 비트코인 개선 제안(BIPs), 라이트닝 BOLTs에서의 주목할 만한 변경 사항.
- 비트코인 코어 #21595는 bitcoin-cli 실행 파일에 새로운 addrinfo 명령을 추가합니다. bitcoin-cli -addrinfo를 실행하면 노드가 알고 있는 잠재적 피어의 네트워크 주소 수를 네트워크 유형별로 나누어 반환합니다. 샘플 출력:
$ bitcoin-cli -addrinfo
{
“addresses_known”: {
“ipv4”: 14406,
“ipv6”: 2511,
“torv2”: 5563,
“torv3”: 2842,
“i2p”: 8,
“total”: 25330
}
}
- Rust-Lightning #844는 메시지 서명, 서명 검증 및 LND, C-Lightning 및 Eclair와 호환되는 공개 키 복구를 지원합니다.
- BTCPay Server #2356은 WebAuthN/FIDO2 프로토콜을 사용한 다중 인증을 지원합니다. 기존 BTCPay의 U2F를 사용한 다중 인증은 계속 작동합니다.
- Libsecp256k1 #906은 상수 시간 알고리즘을 사용할 때 모듈러 역수를 계산하는 데 필요한 반복 횟수를 724에서 590으로 줄입니다. 이 알고리즘의 정확성은 Coq 증명 보조 도구를 사용하여 확인되었으며, 가장 엄격한 검증은 약 66일의 실행 시간을 필요로 했습니다. 이 개선으로 이어진 알고리즘 발전에 대한 자세한 내용은 뉴스레터 #136을 참조하십시오.
원본 게시물을 여기에서 찾으십시오.
매달 이 콘텐츠를 직접 이메일로 받으려면 비트코인 옵테크 뉴스레터에 직접 구독해 주십시오.