슈노르 서명 및 탭루트 소프트포크에 대한 제안

요약: 이번 보고서에서 저희 비트멕스 리서치 팀은 비트코인의 스마트 계약 기능을 확장하는 데에 있어 신규 기능을 추가하는 탭루트의 상호보완적 업그레이드뿐만 아니라, 새로운 디지털 서명 체계 (슈노르)를 포함하는 최근의 비트코인 소프트포크 업그레이드 제안에 대한 배경을 요약하고 제공하고자 합니다. 해당 업그레이드는 확장성 및 개인정보를 동시에 개선시킬 수 있도록 구성되었습니다. 증가된 복잡성 외에 제안에 대한 중요한 단점은 없으며, 가장 논란의 여지가 있는 측면은 다른 예상 기능이 부족하다는 점으로 보입니다. 저희는 비록 많은 사람들이 업그레이드에 열광하고 빠른 시일 내에 출시되기를 바란다는 것을 알고 있지만, 아직은 인내심을 가지고 기다리는 것이 중요하다는 결론을 내렸습니다.

(출처: Pexels)

개요

2019년 5월 6일, 비트코인 프로토콜 개발자인 Pieter Wuile는 “탭루트”라는 비트코인 개발자 메일 목록에 소프트포크 업그레이드 제안을 게시했습니다. 만일 이 제안이 받아들여지는 경우, Pieter가 2018년 7월에 게시한 슈노르 서명 소프트포크 업그레이드를 보완할 가능이 높습니다. 이러한 제안의 이점은 확장성 (효율성)과 개인정보 보호에 모두 관련되어 있습니다. 이제 확장성과 개인정보 보호 개선은 다소 상호 연관되어 분리될 수 없는 것처럼 보입니다. 거래에 대한 세부 정보를 제거하면 해당 거래의 규모는 작고 (확장성의 개선) 정보가 더 적으며, 따라서 서로 다른 유형의 거래와 구분할 수 없으므로 개인정보 보호가 개선됩니다.

슈노르 서명

슈노르 서명 체계는 Claus Schnorr에 의해 1991년에 특허를 받았으며 해당 특허는 2008년에 만료되었습니다. 비록 슈노르 체계의 변형인 DSA (전자 서명 알고리즘) 체계는 더 강력하다고 알려져 있지만, 이에 대한 특허가 전 세계적으로 무료로 제공되었기 때문에 더 광범위하게 채택되었습니다. 그러나 Schnorr 박사는 항상 DSA가 자신의 특허 하에 적용되어야 한다고 주장했습니다.

비트코인은 2009년 출시 당시 전자 서명 방식에 DSA 변형인 타원 곡선 전자 서명 알고리즘 (ECDSA)을 사용했는데, 이는 채택율이 광범위했기 때문입니다. 그러나 원래의 슈노르 서명 체계는 항상 DSA보다 단순하고 효율적이었으며 (70바이트 정도의 ECDSA 가변 크기보다는 고정 60바이트 인코딩) 보안적인 부분에서도 부담이 적었습니다. 비트코인 사용에 대한 10년 간의 경험 끝에 이러한 효율성 이점이 중요해질 수 있음이 더욱 분명해지고 있습니다. 따라서 비트코인이 슈노르 서명 체계로 이동해야 하는 것이 합리적으로 보입니다.

슈노르 서명의 주요 이점은 다중 서명 거래가 일반적인 단일 서명 거래로 온체인에 표시되는 것입니다. 슈노르 서명을 사용하여 여러 사용자는 블록체인에 개별적으로 공개 키와 서명을 별도로 게시하는 대신 공동 공개 키를 생성하여 하나의 서명으로 공동 서명할 수 있습니다. 이는 확장성과 개인정보 보호에 대한 중요한 개선사항입니다. 이는 슈노르 서명이 기존의 다중 서명 거래에 대한 서명자 수가 증가함에 따라 비교 이익이 커지면서, 공간 절감과 검증 시간에 대한 단축을 의미합니다.

슈노르 서명 공간의 절감 추정치

저희는 슈노르 다중 서명이 제공 가능한 이 통합 기능을 증가시키는 잠재적 비트코인 네트워크 용량 산출을 시도했습니다. 그러나 많은 수의 가정으로 인해 아래의 13.1%의 용량 증가 수치는 매우 대략적인 추정치로 간주해야 합니다.

UTXO (Unspent Transaction Output, 미사용 거래 출력 값) 수 기준의 절감 추정치

UTXO 수 기준으로 추정된 현재 다중 서명 사용량
5.9%
100% 슈노르 채택을 가정한 효과적인 네트워크 용량 증가
13.1%

(출처: 비트멕스 리서치 팀의 산출 및 추정치, p2sh.info)

(공지사항: 해당 추정치는 슈노르의 작은 서명 크기가 작을 경우 발생하는 영향을 무시하며 공개 키와 서명에 참여함으로써 얻을 수 있는 이점만을 포함합니다. 용량 증가는 다중 서명과 관련하여 p2sh.info를 사용하고 각 다중 서명 유형(50~85% 범위)에 여러 개의 절감 효과를 적용하여 추정했습니다. UTXO 사용 비율이 일반적인 블록체인 사용의 전형이며 더 큰 다중 서명 거래에 더 높은 가중치를 적용한다는 가정 하에 네트워크 전체 용량 증가를 추정했습니다. 미사용의 P2SH 출력 값은 사용된 출력 값에 비례하여 다중 서명 유형에 할당되었습니다. 이 수치는 매우 대략적인 추정치로만 간주해야 합니다. 2019년 5월 7일 자의 자료 )

위의 예상 용량 증가는 규모가 작은 것으로 간주할 수 있지만 다음 사항을 고려해야 합니다:

  • 다중 서명 기술의 경제적 사용은 단순히UTXO 수를 확인하는 것보다 훨씬 더 널리 퍼져 있습니다. 모든 비트코인의 약 21.5%가 다중 서명 지갑에 저장되어 있는데 이는 UTXO 수 기준에 의한 5.9% 채택율보다 훨씬 더 높은 수치입니다
  • 아래 도표에서 알 수 있듯이 다중 서명 채택이 빠르게 증가하고 있습니다.
    이와 동시에 라이트닝 네트워크와 같은 새로운 시스템은 다중 서명 채택을 필요로 하고, 이를 더욱 강력하게 만드는 슈노르 서명으로 인해 채택율이 증가 할 가능성이 있습니다

P2SH 주소 유형으로 저장된 비트코인 – 다중 서명 기술의 강력한 성장세를 나타내는 도표

(출처: p2sh.info)

따라서 저희의 산출 방식에 따르면 네트워크의 현재 사용량을 기준으로 100% 슈노르 채택으로도 네트워크 용량은 13.1%만 증가할 뿐이며, 장기적으로 공간 절감 및 네트워크 용량 증가는 이보다 훨씬 더 높을 것입니다.

머클화 추상 구문 트리 (MAST)

MAST는 2016년에 비트코인 프로토콜 개발자인 Johnson Lau 박사가 고안한 아이디어였습니다.
Lau 박사는 과거 비트멕스 리서치 팀에서 2018년 2월 소트프포크를 만드는 기술: 정책 규칙에 의한 보호라는 제목의 보고서를 기재한 적이 있습니다. 이와 같은 MAST 아이디어는 시간 잠금 조건 외에도 2 개의 다중 서명 조건 중 2 개와 같은 여러 지출 조건을 포함할 수 있다는 점입니다. 이러한 모든 조건과 스크립트를 블록체인에 넣지 않도록 하기 위해 지출 스크립트를 머클 트리 내부에 구성하여, 필수적인 머클 분기 해시와 함께 사용할 경우에만 공개할 수 있습니다.

MAST 지출 조건의 그래프 도표

(출처: BitMEX Research)
(공지사항: 해당 도표는 MAST가 슈노르와 함께 사용되었다는 가정 하에 거래 구조를 설명합니다. 위의 구성 자금은 Bob과 Alice가 모두 서명 후에 협조적인 방식으로 상환되거나, 시간 잠금 이후에는 비협조적인 방식으로도 상환될 수 있습니다. 위의 내용은 라이트닝 네트워크를 열고 닫을 때 필요할 수 있는 구조 유형을 설명하기 위한 것입니다)

위의 설계를 기준으로 한 개의 지출 조건만 공개해야 한다고 가정할 수 있습니다. 예를 들어, 출력 값을 서명자가 한 개의 슈노르 다중 서명과 머클 트리 (해시 (1 & 2))의 오른쪽 상단에 해시를 제공하기만 하면 됩니다. 따라서 머클 트리가 존재 함에도 불구하고 대부분의 경우 모든 것이 계확대로 진행되는 경우, 단일 서명과 32바이트 해시만 필요합니다. 보다 간결하게 스크립트를 확인하기 위해서는 다른 분기 해시를 공개하여 머클 트리의 일부임을 증명해야 합니다.

그러나 이 구조의 단점은 정상적인 최적의 상황에서도 메르켈 트리의 왼쪽 상단에 있는 단일 키와 스크립트를 제공할 때, 최대 32바이트의 데이터를 사용하여 블록체인 (해시 (1 & 2)에 다른 해시를 게시해야 한다는 것입니다. 이 약점은 또한 머클 트리의 상위 분기가 항상 표시됨에 따라 제 3자가 더 복잡한 지출 조건 존재 여부를 판단할 수 있기 때문에 개인정보 보호를 약화시킵니다.

탭루트

저희가 확보하고 있는 모든 정보에 따르면, 탭루트 아이디어의 기원은 비트코인 개발자 Gregory Maxwell이 2018년 1월에 보낸 이메일에서 나온 것입니다. 탭루트는 머클 트리의 상단을 제외하고 구조가 유사합니다. 탭루트의 경우, 협조적 또는 일반 시나리오에서는 머클 트리의 존재 여부에 대한 증거를 게시할 필요 없이 하나의 공개 키와 단일 서명만 게시할 수 있는 옵션이 있습니다. 탭루트 거래 구조에 대한 그림이 아래에 나와 있습니다.

탭루트 지출 조건의 그래프 도표

(출처: BitMEX Research)

(공지사항: 해당 도표는 위의 MAST 도표와 동일한 지출 기준을 나타냅니다)

왼쪽 (또는 주소)의 수정된 공개 키는 원래 공개 키와 머클 루트 해시에서 산출할 수 있습니다. 일반적 또는 협조적인 지불의 경우, 상환 시에 원래의 키는 온체인에 존재할 필요가 없고 머클 트리의 존재는 밝혀지지 않으며, 게시되어야 하는 것은 모두 단일 서명입니다. 비협조적 또는 비정상적인 상환이 발생하는 경우, 머클 트리에 대한 정보와 함께 원래의 키가 공개됩니다.

원래의 MAST 구조에 비해 탭루트의 이점은 분명합니다. 협조적 사례에서는 더 이상 블록체인 혹은 스크립트 자체에 32바이트 해시를 추가하지 않아도 되므로 효율성이 개선됩니다. 이 외에도 거래는 “정상적”인 것처럼 보이며 단지 공개 키와 서명이 있는 지불일 뿐, 다른 지출 조건의 존재는 공개할 필요가 없습니다. 이는 예를 들어 라이트닝 채널을 열거나 협조적 라이트닝 채널을 폐쇄할 때 외부 제 3자 관찰자에게 돌아가는 큰 개인정보 보호 혜택입니다. 거래는 비트코인의 정기적인 지출과 정확히 동일하게 보입니다. 해당 거래는 비협조적인 라이트닝 채널 폐쇄 시에만 머클 트리의 존재를 드러낼 수 있도록 구성할 수 있습니다. 거래 유형이 더 다양할수록 제 3자가 어떤 유형의 거래가 발생하고 있는지 판단하고 자금 흐름을 확립할 수 없기 때문에 개인정보 보호에 유리합니다. 비트코인 개발자들 중 일부의 장기적인 목표는 어떤 유형의 거래가 발생하든 적어도 이른바 협조적 사례에서 모든 거래가 동일하게 보이도록 하는 것일 수 있습니다.

서명 집계에 대한 혼란

블록체인에 필요한 서명 수를 줄임으로써 얻을 수 있는 잠재적인 확장성 이점은 크기 때문에 이에 대한 개념은 많은 흥분을 불러일으키는 경향이 있습니다. 슈노르 서명은 다중 서명 거래에서 서명을 집계할 수 있는 기능을 제공하며, 이는 비트코인에 중요한 이점이 되어야 합니다. 그러나 이 부분을 포함시키는 것과 다른 서명 통합 관련 아이디어의 존재는 적어도 이 업그레이드 제안과 관련하여 비현실적인 기대로 이어졌습니다. 이 특정 업그레이드 제안의 경우 유일한 집계 혜택은 다중 입력 혹은 다중 거래가 아닌 다중 서명 체계에서 서명을 결합하는 형태입니다.

서명 집계 아이디어에 대한 요약 목록

소프트포크 제안에 포함
다중 서명 거래에서 공개 키와 서명을 결합 – 슈노르의 일부로 포함
거래의 다중 입력에 대한 공동 서명
아니요
다중 거래의 다중 입력에 대한 공동 서명 (그린코인은 밈블윔블을 사용하여 이 영역에서 일부 기능을 갖추고 있습니다)
아니요

(출처: BitMEX Research)

결론

저희의 견해로 봤을 때 이 소프트포크와 관련된 이 점들은 논란의 여지가 없습니다. 해당 소프트포크는 기능성, 확장성 및 개인정보 보호에 있어 어느 쪽이든 유리한 상황으로 비쳐지고 있습니다. 논쟁의 가장 큰 영역은 이 특정한 방식으로 해야 하는 이유에 대한 다른 아이디어 혹은 주장이 포함되지 않는 것입니다.

그렇다 하더라도 많은 사람들은 이러한 업그레이드의 잠재적 이점에 대해 열광하고 있으며 가능한 한 빠른 시일 내에 해당 업그레이드를 활성화할 수 있기를 고대하고 있습니다. 하지만 비트코인과 특히 합의 규칙의 변경 사항에 대해서는 인내의 필요성을 아무리 강조해도 지나치지 않습니다.