오늘은 비트코인 코어 22.0의 공식 출시일로, 사토시 나카모토가 거의 13년 전에 출시한 비트코인의 원래 소프트웨어 클라이언트의 22번째 주요 릴리스입니다.
비트코인 코어의 주요 유지 관리자인 블라디미르 반 데르 라안이 감독한 이번 최신 주요 릴리스는 약 8개월에 걸쳐 100명 이상의 기여자에 의해 개발되었습니다. 약 800개의 풀 리퀘스트의 결과로, 비트코인 코어 22.0은 다가오는 탭루트 프로토콜 업그레이드를 지원하는 첫 번째 주요 비트코인 코어 릴리스이며, 이전 비트코인 코어 버전보다 여러 가지 개선 사항도 제공합니다.
덧붙여서, 이번 비트코인 코어 릴리스는 버전 번호에서 선행 0을 제거한 첫 번째 릴리스입니다: 비트코인 코어 22.0 — 비트코인 코어 0.22.0이 아닙니다.
아래는 몇 가지 주목할 만한 변경 사항입니다.
GUI에서 하드웨어 지갑 지원
하드웨어 지갑은 개인 키를 안전하게 보관하도록 설계된 특수 장치로, 개인 키가 장치를 떠나지 않고도 거래에 서명할 수 있습니다. 그러나 거래를 하기 위해서는 일반적으로 하드웨어 지갑과 소프트웨어 지갑을 함께 사용해야 합니다. 여러 소프트웨어 지갑이 이를 위한 호환성을 가지고 있지만, 비트코인 코어 지갑은 한동안 그 중 하나가 아니었습니다.
이것은 몇 년 전부터 변화하기 시작했습니다: 비트코인 코어는 0.18.0 버전부터 하드웨어 지갑과 호환되었습니다. 그러나 사용자는 처음에 이 기능을 사용하기 위해 명령줄 인터페이스(CLI)를 사용해야 했습니다. 비트코인 코어 0.20.0부터 사용자는 부분적으로 그래픽 사용자 인터페이스(GUI)를 사용할 수 있었지만, 여전히 거래에 서명하기 위해 수동으로 복사-붙여넣기를 해야 했습니다.
비트코인 코어 22.0은 하드웨어 지갑에 대한 완전한 GUI 지원을 제공하는 첫 번째 비트코인 코어 릴리스입니다. 하드웨어 지갑 인터페이스(HWI) 소프트웨어를 애드온처럼 사용함으로써, 비트코인 코어 사용자는 레저(Ledger), 트레저(Trezor), 비트박스(BitBox), 킵키(KeepKey), 콜드카드(Coldcard)와 같은 장치와 함께 비트코인 코어 지갑을 원활하게 사용할 수 있습니다.
I2P 지원
비트코인 사용자의 익명성을 해제하는 한 가지 방법은 비트코인 네트워크를 분석하고 특정 거래가 어떤 노드에서 발생했는지를 추적하는 것입니다. 이러한 노드와 관련된 IP 주소는 실제 신원과 연결될 수 있습니다.
개인 정보를 보호하기 위해 비트코인 코어 사용자는 이미 익명화된 토르(Tor) 네트워크를 통해 비트코인 네트워크에 연결할 수 있었습니다. 그러나 토르는 유일한 익명화 네트워크가 아닙니다.
인비저블 인터넷 프로젝트(I2P)는 일반 인터넷 위에 구축된 또 다른 분산형, 피어 투 피어, 익명 통신 네트워크입니다. 토르와 마찬가지로, I2P는 사용자가 메시지를 네트워크를 통해 라우팅하여 통신할 수 있게 하며, 전송 체인의 각 단계에서 서로 다른 암호화 계층을 사용하여 메시지 자체와 발신자 및 수신자의 IP 주소를 숨깁니다.
비트코인 코어 22.0은 이제 I2P를 통해 비트코인 네트워크에 연결하는 것을 지원합니다. 토르에 이어, 이는 비트코인 코어 사용자가 비트코인 네트워크의 동료로부터 IP 주소를 숨기기 위해 활용할 수 있는 두 번째 익명 네트워크입니다.
탭루트 지원
비트코인 코어 0.21.1은 다가오는 탭루트 프로토콜 업그레이드를 위한 활성화 로직을 포함한 첫 번째 비트코인 코어 릴리스로, 이 업그레이드는 이번 11월에 활성화될 예정입니다. 이제 비트코인 코어 22.0은 이 업그레이드를 지원하는 첫 번째 주요 릴리스입니다.
가장 분명하게, 이는 비트코인 코어 22.0이 새로운 탭루트 규칙을 완전히 검증할 것임을 의미합니다. 업그레이드가 이번 11월에 활성화되는 순간부터 모든 탭루트 거래는 새로운 프로토콜 규칙에 따라 유효성을 검사받게 됩니다.
또한, 비트코인 코어 지갑은 기본 탭루트 출력(“주소”)을 생성하는 것을 지원합니다. 비트코인 코어 사용자는 탭루트 출력을 통해 단일 개인 키로 지불을 수락할 수 있지만, 이는 탭루트 로직을 사용하여 보호됩니다.
물론, 이는 비트코인 코어 지갑 소프트웨어로 이미 가능했던 것과 비교할 때 많은 이점을 제공하지 않습니다(있더라도); 탭루트가 지원하는 더 복잡한 유형의 스마트 계약은 향후 비트코인 코어 릴리스에서 지원될 것으로 예상됩니다.
비트코인 코어는 또한 탭루트 특정 설명자를 생성하는 것을 지원하여, 탭루트 출력을 식별합니다. 이 분류는 비트코인 코어 소프트웨어에 의존하는 애플리케이션, 예를 들어(외부) 지갑에 유익할 수 있습니다.
테스트 메모리풀 수락 업데이트
패키지 릴레이는 비트코인 네트워크에서 거래가 전송되는 방식을 업그레이드하는 지속적인 프로젝트입니다. 현재 거래는 비트코인 노드의 메모리 풀(mempool)에 포함될 수 있는 충분한 수수료를 포함해야만 릴레이됩니다. 거래가 충분한 수수료를 포함하지 않으면 노드에서 수락되지 않으며, 비트코인 네트워크의 다른 노드로 전달되지 않습니다.
그러나 이 로직은 거래가 새로운 비트코인 블록에 포함되는 방식과 약간 다릅니다. 거래가 블록에 포함되는지를 결정하기 위해서는 거래의 수수료가 단독으로 고려되는 것이 아니라, 해당 거래가 다른 거래의 확인을 도와줄 수 있는지도 고려됩니다. 만약 그렇다면, 거래 수수료의 조합이 고려됩니다.
이것은 사용자가 메모리 풀에서 “막힌” 낮은 수수료의 거래를 새로운 높은 수수료의 거래로 재지출하여 “해제”할 수 있게 합니다. 두 번째(높은) 수수료를 얻기 위해서는 채굴자가 두 거래를 동시에 수락하고자 할 것입니다. 이 트릭은 자식-부모 지불(Child-Pays-For-Parent, CPFP)이라고 하며, 라이트닝 네트워크와 같은 일부 레이어 2 프로토콜의 맥락에서 특히 유용할 수 있습니다.
메모리 풀 포함과 블록 포함 간의 정책 차이는 경우에 따라 CPFP 솔루션을 저지할 수 있습니다. 첫 번째 거래가 메모리 풀에서 수락되기 위해 충분한 수수료를 포함하지 않으면, 더 높은 수수료로 코인을 재지출하는 새로운 거래는 블록에서 수락되지 않습니다. 왜냐하면 유효하다고 간주되기 위해서는 첫 번째 거래도 확인되어야 하기 때문입니다.
이를 해결하기 위해 패키지 릴레이는 거래가 패키지로 비트코인 네트워크를 통해 전송되도록 할 것입니다. 거래와 그 수수료를 개별적으로 고려하는 대신, 거래 조합이 메모리 풀 포함을 위해 고려될 것입니다. 이는 블록 포함을 위해 발생하는 방식과 유사합니다.
비트코인 코어 22.0은 패키지 릴레이를 실현하기 위한 한 걸음을 포함합니다: 비트코인 코어에 연결된 애플리케이션은 여러 거래를 단일 패키지로 제출하여 자신의 메모리 풀에 포함될 수 있는지를 테스트할 수 있습니다. 그러나 피어 투 피어 네트워크를 통해 이러한 패키지를 전송하거나 수락하는 것은 이번 릴리스에서는 아직 지원되지 않습니다.
더 큰 세그윗 멀티시그
멀티 서명(multisig) 출력은 여러 개인 키의 서명을 요구하는 코인입니다. 예를 들어, 두 개의 다른 개인 키에서 두 개의 서명이 필요하거나, 다섯 개의 개인 키 세트에서 세 개의 서명이 필요하거나, 여덟 개의 개인 키 세트에서 일곱 개의 서명이 필요할 수 있습니다.
멀티시그는 여러 용도로 사용될 수 있습니다. 한 가지 예는 여러 장치를 사용하여 자금을 보호하는 것으로, 하나의 장치가 손상되거나 분실되더라도 코인이 여전히 안전하고 접근 가능하게 됩니다. 마찬가지로, 멀티시그는 여러 사람 간에 자금에 대한 제어를 공유하는 데 사용되며, 코인을 지출하기 위해서는 그들 간의 협력이 필요합니다. 또한, 멀티시그는 일부 레이어 2 솔루션에서도 사용됩니다.
비트코인 코어 소프트웨어는 지금까지 세그리게이티드 위트니스(Segregated Witness, Segwit) 출력에 대해 최대 16개의 키로 멀티시그 출력을 생성하는 것을 지원했지만, 비트코인 프로토콜에는 그러한 제한이 없습니다. 비트코인 코어 22.0은 이제 세그윗 멀티시그 기능을 20개의 키로 확장합니다.
자세한 내용과 기타 변경 사항은 비트코인 코어 0.22 릴리스 노트를 참조하십시오. 비트코인 코어 22.0을 다운로드할 수 있습니다.