비트코인 옵테크 뉴스레터는 독자들에게 비트코인에서 발생하는 가장 중요한 기술 뉴스에 대한 최상위 요약과 더불어 학습할 수 있는 리소스를 제공합니다. 독자들이 비트코인에 대한 최신 정보를 유지할 수 있도록, 우리는 아래에 이 뉴스레터의 최신 호를 재발행합니다. 이 콘텐츠를 직접 이메일로 받으려면 구독하는 것을 잊지 마세요.
이번 주 뉴스레터는 더스트 한도에 대한 논의를 요약하고 서비스 및 클라이언트 소프트웨어의 변경 사항에 대한 설명, 탭루트 준비 방법, 새로운 릴리스 및 릴리스 후보, 인기 있는 비트코인 인프라 소프트웨어의 주목할 만한 변경 사항을 포함합니다.
뉴스
- 더스트 한도 논의: 비트코인 코어 및 기타 노드 소프트웨어는 기본적으로 특정 금액 이하의 출력 값을 가진 거래를 중계하거나 채굴하는 것을 거부합니다. 이는 사용자가 경제성이 없는 출력—비용이 더 많이 드는 UTXO를 생성하는 것을 더 어렵게 만듭니다.
이번 주, 제레미 루빈은 비트코인-개발 메일링 리스트에 더스트 한도를 제거하자는 다섯 가지 주장을 게시하며, 이 한도의 이유는 “스팸” 및 “더스트 지문 공격”을 방지하기 위한 것이라고 믿고 있다고 밝혔습니다. 다른 이들은 반론을 제기하며 이 한도가 스팸을 방지하기 위한 것이 아니라 사용자가 UTXO를 생성하여 자원의 낭비를 방지하기 위한 것이라고 지적했습니다. 논의의 일부는 더스트 한도와 경제성이 없는 출력이 LN의 일부에 미치는 영향에 대해서도 설명했습니다.
이 글을 작성하는 시점에서, 합의가 이루어질 가능성은 없어 보였습니다. 적어도 단기적으로는 더스트 한도가 유지될 것으로 예상합니다.
서비스 및 클라이언트 소프트웨어 변경 사항
이번 월간 특집에서는 비트코인 지갑 및 서비스에 대한 흥미로운 업데이트를 강조합니다.
- 스파크 라이트닝 월렛이 BOLT12 지원 추가: 스파크의 v0.3.0rc 릴리스는 BOLT12의 오퍼에 대한 부분적 지원을 추가합니다.
- 블록스트림, 비수탁 LN 클라우드 서비스인 그린라이트 발표: 블록스트림은 최근 블로그 게시물에서 노드 운영(블록스트림)과 노드가 보유한 자금의 제어(사용자)를 분리하는 호스팅된 C-Lightning 노드 클라우드 서비스에 대해 자세히 설명했습니다. 스핀크스와 라스트비트는 현재 그린라이트 서비스를 사용하고 있습니다.
- 비트고, 네이티브 세그윗 변경 출력 발표: 세그윗의 채택이 75%를 넘었다고 언급하며, 비트고의 블로그 게시물은 기본 변경 출력이 P2SH 래핑에서 네이티브 세그윗 출력으로 전환되는 업데이트를 발표합니다.
- 블록스트림 그린 데스크탑 0.1.10 릴리스: 0.1.10 버전은 세그윗 기본 단일 서명 지갑 및 수동 코인 선택 기능을 추가합니다.
탭루트 준비 #9: 서명 어댑터
개발자와 서비스 제공자가 블록 높이 709,632에서 예정된 탭루트 활성화를 준비하는 방법에 대한 주간 시리즈입니다.
누군가 특정 자선단체에 1,000 BTC를 기부하겠다고 제안하며, 그 사람의 가장 좋아하는 매우 큰 숫자를 맞출 수 있는 사람이 있다면 기부자가 이를 쉽게 수행할 수 있는 방법은 1,000 BTC를 지불하는 서명되지 않은 거래를 생성한 다음, 그 거래에 대한 서명의 암호화된 복사본을 게시하는 것입니다. 가장 좋아하는 숫자가 복호화 키가 됩니다.
이론적으로, 숫자를 맞춘 사람은 서명을 복호화한 후 거래를 방송하여 자선단체에 지불할 수 있습니다. 그러나 기부자가 AES와 같은 표준 암호화 방식을 사용하는 경우, 제3자가 복호화 전에 해당 서명이 실제로 그 거래에 유효하다는 것을 알 수 있는 쉬운 방법이 없습니다. 숫자 맞추기에 노력을 기울이려는 사람은 기부자가 진실하다고 믿어야 합니다.
이 문제를 좀 더 확장해 보겠습니다. 제3자 앨리스와 밥은 서명이 공개될지 여부에 대해 내기를 하고 싶어합니다. 그들은 아마 서명자에게 서명의 해시를 요청하고 이를 HTLC 함수의 해시로 사용할 수 있지만, 이는 다시 기부자가 정직하게 행동하도록 신뢰해야 합니다. 서명이 결국 공개되더라도, 기부자는 앨리스와 밥의 계약을 방해하기 위해 그들에게 잘못된 해시를 제공할 수 있습니다.
어댑터 마법
서명 어댑터는 어댑터 서명 및 일회성 검증 가능한 암호화 서명이라고도 불리며, 이러한 문제와 실제로 비트코인에 구축된 생산 시스템에서 직면하는 많은 다른 문제에 대한 해결책입니다. 비트코인의 기존 ECDSA 서명 방식과 함께 사용할 수 있지만, 탭루트를 위한 schnorr 서명의 BIP340 구현과 결합하여 어댑터를 사적으로 비용 없이 사용하는 것이 훨씬 쉽습니다. 위의 예제가 어댑터를 사용할 경우 어떻게 변화하는지 살펴보겠습니다.
기부자는 이전과 같이 1,000 BTC 거래를 준비합니다. 그들은 거의 정상적인 방식으로 서명하지만, 한 가지 차이점은 본질적으로 두 부분으로 nonce를 생성합니다: 영원히 비밀로 유지할 진정한 무작위 nonce와, 처음에는 비밀로 유지하지만 다른 사람들이 발견하는 데 안전한 가장 좋아하는 숫자입니다. 기부자는 이 두 값을 합쳐서 단일 nonce처럼 사용하여 완전한 유효 서명을 생성합니다.
BIP340 서명 약속은 nonce를 두 가지 형태로 사용합니다: 서명자만 아는 숫자 표현(일명 스칼라)과 검증을 가능하게 하기 위해 게시된 타원 곡선(EC)의 점입니다.
기부자는 유효 서명의 약속 부분에서 숨겨진 스칼라를 빼냅니다. 이렇게 하면 서명이 불완전해지고(따라서 유효하지 않게) 되지만, 기부자가 (유효하지 않은) 서명 약속, (유효한) 완전 nonce의 점, 그리고 (유효한) 숨겨진 숫자의 점을 공유할 수 있게 됩니다. 이 세 가지 정보는 서명 어댑터입니다.
BIP340 서명 검증 알고리즘의 약간의 변형을 사용하여, 누구나 숨겨진 스칼라가 (현재 유효하지 않은) 서명 약속에 단순히 추가되면 서명 어댑터가 유효한 서명을 제공할 것임을 검증할 수 있습니다. 이는 숨겨진 숫자가 무엇인지 알지 못하더라도 검증할 수 있습니다. 요컨대, 이제 사용자가 숨겨진 스칼라의 값에 대해 신뢰할 수 없이 추측을 시작할 수 있으며, 올바른 추측이 서명을 얻고 거래를 보낼 수 있게 해줄 것이라는 확신을 가질 수 있습니다.
기부자의 서명 어댑터를 받은 다른 모든 사람들과 마찬가지로, 앨리스와 밥은 이제 숨겨진 숫자의 EC 점 사본을 가지고 있습니다. 다른 모든 사람들과 마찬가지로, 그들은 실제 스칼라를 알지 못합니다. 그러나 기부자가 유효한 서명을 유효하지 않은 서명으로 바꾸기 위해 서명 약속에서 숨겨진 숫자를 빼낸 것만 기억한다면, 앨리스는 자신이 모르는 스칼라에 대해 커밋하지 않지만 여전히 자신이 아는 EC 점에 대해 커밋하여 유효하지 않은 서명을 쉽게 생성할 수 있습니다. 그녀는 자신의 nonce 쌍을 생성하여 (유효하지 않은) 서명을 생성할 때 개인 형식을 사용하지만, 기부자의 서명 어댑터에서 nonce의 공개 형식과 EC 점의 집합에 대해 커밋합니다. 이는 밥에게 지불하는 거래에 대한 서명 어댑터를 생성합니다. 밥이 스칼라를 알게 되면, 그는 그 어댑터를 유효한 서명으로 변환하고 거래를 보내어 내기에 승리할 수 있습니다.
하지만 밥은 어떻게 승리하는 숫자를 알게 될까요? 누군가가 그것을 맞추기를 기다려야 할까요? 아니요. 기부자가 게시한 서명 어댑터는 실제 서명에서 스칼라를 뺀 것입니다. 숨겨진 숫자가 발견되고 누군가 1,000 BTC 거래를 보낼 때, 그들은 원래(유효한) 서명 약속을 게시해야 합니다. 밥은 그(유효한) 서명 약속을 가져와 원래 서명 어댑터의 (유효하지 않은) 서명 약속에서 빼서 스칼라를 얻을 수 있습니다. 그런 다음 그는 그 스칼라를 사용하여 앨리스의 어댑터를 유효한 서명으로 변환합니다.
멀티서명 어댑터
이전 섹션에서는 개별 사용자가 서명 어댑터를 생성하기 위해 서명을 수정하는 방법을 보여줍니다. 멀티서명의 당사자들이 동일한 트릭을 사용할 수도 있습니다. 이는 매우 유용합니다. 서명 어댑터가 사용될 많은 경우는 두 사용자의 협력이 필요하기 때문입니다.
예를 들어, 앨리스와 밥이 위의 내기를 할 때, 그들은 먼저 그들 간의 멀티서명으로만 지출할 수 있는 스크립트에 자금을 예치하는 것으로 시작할 수 있습니다. 그런 다음 앨리스는 서명 어댑터의 형태로 자신의 부분 서명을 생성할 수 있습니다. 밥이 숨겨진 숫자를 알게 되면, 그는 앨리스의 어댑터를 유효한 부분 서명으로 변환하고, 자신의 부분 서명을 제공하여 자금을 지출하는 전체 서명을 생성할 수 있습니다.
이로 인해 서명 어댑터는 일반 멀티서명의 모든 장점을 가지게 됩니다: 단일 서명처럼 보이고 동일한 양의 공간을 사용하여 수수료를 최소화하고 개인 정보 보호 및 대체 가능성을 극대화합니다.
다음 주 탭루트 준비 칼럼에서는 서명 어댑터가 사용될 것으로 예상되는 주요 방법 중 하나인 포인트 타임 잠금 계약(PTLCs)을 탐구할 것입니다. 이는 LN, 코인스왑 및 여러 다른 프로토콜에서 광범위하게 사용되는 전통적인 해시 타임 잠금 계약(HTLCs)의 업그레이드입니다.
릴리스 및 릴리스 후보
인기 있는 비트코인 인프라 프로젝트의 새로운 릴리스 및 릴리스 후보. 새로운 릴리스로 업그레이드하거나 릴리스 후보 테스트를 도와주시기 바랍니다.
- 비트코인 코어 22.0rc2는 이 전체 노드 구현의 다음 주요 버전 및 관련 지갑 및 기타 소프트웨어의 릴리스 후보입니다. 이 새로운 버전의 주요 변경 사항에는 I2P 연결 지원, 버전 2 Tor 연결 지원 제거, 하드웨어 지갑에 대한 지원 강화가 포함됩니다.
- 비트코인 코어 0.21.2rc1은 비트코인 코어의 유지 관리 버전의 릴리스 후보입니다. 여러 버그 수정 및 소규모 개선 사항이 포함되어 있습니다.
주목할 만한 코드 및 문서 변경 사항
이번 주 비트코인 코어, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, 하드웨어 지갑 인터페이스(HWI), Rust Bitcoin, BTCPay Server, 비트코인 개선 제안(BIPs), 라이트닝 BOLTs에서의 주목할 만한 변경 사항입니다.
- 비트코인 코어 #22642는 다가오는 22.0 버전의 릴리스 프로세스를 업데이트하여 이진 파일을 재현 가능하게 빌드한 모든 사람의 GPG 서명을 단일 파일로 연결하여 배치 검증할 수 있도록 합니다(예시). 결정론적 빌더의 서명은 수년간 제공되었지만, 이는 더 접근 가능하게 만들고 프로젝트의 주요 유지 관리자가 릴리스 이진 파일에 서명하는 기존 의존성을 줄이는 데 도움이 될 것입니다.
- 비트코인 코어 #21800은 메모리풀 패키지 수용을 위한 조상 및 자손 한계를 구현합니다. 비트코인 코어는 DoS 공격에 대한 보호 및 채굴자가 블록을 구성할 수 있도록 메모리풀에서 관련 거래의 수를 제한합니다. 기본적으로, 이러한 한계는 메모리풀의 거래가 그 조상과 결합하여 25 거래 또는 101KvB의 무게를 초과할 수 없도록 보장합니다. 동일한 규칙이 자손과 결합된 거래에도 적용됩니다.
이 조상 및 자손 한계는 거래가 메모리풀에 추가될 때 고려될 때 시행됩니다. 거래를 추가하면 한계 중 하나가 초과될 경우 거래가 거부됩니다. 패키지 의미론이 최종화되지 않았지만, #21800은 임의 패키지를 검증하기 위한 조상 및 자손 한계 검사를 구현합니다(즉, 여러 거래가 동시에 메모리풀에 추가될 때 고려됩니다). 메모리풀 패키지 수용은 #20833에서 테스트 용도로만 구현되었으며, 궁극적으로 패키지 릴레이의 일환으로 p2p 네트워크를 통해 노출될 것입니다. - 비트코인 코어 #21500은 private 매개변수를 가진 listdescriptors RPC를 업데이트하여 설정 시 각 설명자의 개인 형식을 반환합니다. 개인 형식에는 알려진 개인 키 또는 확장 개인 키(xprvs)가 포함되어 있어, 이 업데이트된 명령을 사용하여 지갑을 백업할 수 있습니다.
- Rust-Lightning #1009는 최대 더스트 HTLC 노출(msat) 채널 구성 옵션을 추가하여 더스트 한도 이하의 “더스트 HTLC”의 총 잔액을 제한합니다.
이 변경 사항은 옵션_dusty_htlcs_uncounted 기능 비트를 제안하기 위한 준비로, 노드가 “더스트 HTLC”를 최대_accepted_htlcs에 포함하고 싶지 않음을 광고합니다. 노드 운영자는 최대_accepted_htlcs가 강제 종료가 발생할 경우 온체인 거래의 잠재적 크기를 제한하는 데 주로 사용되기 때문에 이 기능 비트를 채택하고 싶어할 것입니다. “더스트 HTLC”는 온체인에서 청구할 수 없으며 최종 거래 크기에 영향을 미치지 않습니다.
새로 추가된 최대_dust_htlc_exposure_msat 채널 구성 옵션은 옵션_dusty_htlcs_uncounted가 켜져 있을 때에도 사용자가 “더스트 HTLC”의 총 잔액을 제한할 수 있도록 보장합니다. 이 잔액은 강제 종료 시 채굴자에게 수수료로 손실될 것입니다.
원본 게시물을 여기에서 확인하세요.
비트코인 옵테크 뉴스레터를 직접 구독하여 매달 이 콘텐츠를 이메일로 받으세요.