집합 서명은 새로운 것이 아닙니다. 2000년대 초반부터 존재해 왔습니다. 그러나 비트코인의 보안 모델과 비트코인의 타원 곡선에서 실제로 작동하는 집합 서명을 구축하는 것은 입증된 적이 없습니다. 개발자들은 가능할 것이라고 추측했습니다. 그들은 대충의 스케치를 공유하며 “아마도 MuSig2처럼 작동할 수 있을 것”이라고 말했습니다. 이 아이디어는 수년 동안 개발자 전설로 남아 있었고, 가까웠지만 결코 증명되지 않았습니다.
최근에 변화가 있었습니다. Blockstream Research의 Jonas Nick과 Tim Ruffing, Ledger의 Yannick Seurin이 함께 논문을 발표하여 이 암호화된 유령 이야기를 구체적이고 입증 가능한 결과로 바꾸었습니다. DahLIAS는 비트코인의 고유 곡선에서 작동하는 전체 고정 크기 집합 서명(CISA) 체계의 첫 번째 공식적이고 안전한 구성입니다!
하지만 많은 단어가 있으니, 이를 나누어 보겠습니다:
- 전체 집합: 서로 다른 입력에 대한 여러 서명이 하나로 결합됩니다. 결과는 서명자의 수나 입력의 수에 관계없이 크기가 일정한 64바이트 서명입니다.
- 교차 입력: 각 서명자는 서로 다른 입력을 승인할 수 있으며, 모든 서명이 하나의 서명으로 결합됩니다.
비트코인이 이미 의존하고 있는 가정 외에 새로운 중요한 가정을 추가하지 않습니다. DahLIAS는 비트코인이 이미 의존하고 있는 동일한 수학을 사용하여 새로운 암호화 원시를 구축하여 전혀 새로운 종류의 서명을 열어줍니다.
곡선과 서명에 대해 이야기해 보겠습니다
디지털 서명은 비트코인이 사용자가 거래를 승인했음을 증명하는 방법입니다. 비트코인을 사용하려고 할 때, 지갑은 개인 키를 사용하여 메시지에 서명하고, 네트워크는 일치하는 공개 키를 사용하여 해당 서명을 검증합니다.
비트코인은 secp256k1 곡선을 사용합니다. 빠르고 효율적이며 시간이 지남에 따라 검증되었습니다. 이는 ECDSA (비트코인의 원래 서명 알고리즘) 및 Schnorr (2021년 Taproot를 통해 추가됨)와 같은 서명 체계를 지원하며, 현재 비트코인 합의에서 허용되는 유일한 서명 체계입니다.
전통적으로 전체 서명 집합은 비트코인의 곡선인 secp256k1에서 지원되지 않는 수학적 연산에 의존했기 때문에 접근하기 어려운 것으로 보였습니다. 이러한 기능은 일반적으로 다른 유형의 타원 곡선에 의존했습니다. 예를 들어, BLS (Boneh–Lynn–Shacham) 서명은 여러 서명을 결합하는 것과 같은 고급 작업을 가능하게 하는 쌍친화적 곡선이라는 특별한 종류의 곡선을 사용합니다.
문제는 BLS 서명이 secp256k1에서 작동하지 않는다는 것입니다. Schnorr는 ECDSA에서 자연스러운 업그레이드였지만, 두 서명 모두 동일한 종류의 타원 곡선에 의존하기 때문에 BLS를 추가하는 것은 훨씬 더 큰 도약이자 비트코인의 기존 보안 모델에서 벗어나는 것입니다. 기술적으로 가능하긴 하지만, 새로운 암호화 가정을 도입하고 프로토콜에 상당한 복잡성을 추가하게 됩니다. BLS12-381와 같은 쌍친화적인 곡선을 지원하는 것은 비트코인에 대한 주요 변화가 될 것입니다.
이것이 전체 서명 집합이 secp256k1에서 수행된 적이 없는 이유 중 일부입니다.
지금까지는.
집합 서명이 실제로 하는 일
대부분의 비트코인 사용자는 다중 서명에 익숙합니다. 다중 서명 지갑에서는 여러 사람이 단일 UTXO 또는 특정 “코인”의 사용을 공동으로 승인합니다. 모든 사람이 동일한 입력 데이터를 서명합니다. 이 설정은 공동 관리 지갑과 같은 것에 유용합니다.
집합 서명은 다르게 작동합니다. 여러 사람이 동일한 입력이나 코인에 서명하는 대신, 각 서명자가 거래에서 서로 다른 UTXO를 승인합니다. 이러한 개별 서명은 하나의 압축된 증명으로 압축됩니다. DahLIAS를 사용하면, 이는 비트코인의 secp256k1 곡선에서 모든 입력을 한 번에 검증하는 단일 64바이트 서명을 의미합니다.
즉, 다섯 명의 서로 다른 사람으로부터 다섯 개의 입력이 있는 경우, 거래에는 다섯 개의 서로 다른 서명이 필요합니다. 집합 서명을 사용하면, 모든 서명을 하나로 묶을 수 있습니다. 각 서명자가 서로 다른 입력을 사용하고 거래의 서로 다른 부분에 서명하더라도, 결과는 전체 거래가 적절하게 승인되었음을 증명하는 하나의 서명입니다.
이는 전체 승인 목록을 하나의 파일로 압축하는 것과 같습니다. 서명은 압축되어 있지만, 여전히 각 서명자가 자신의 특정 UTXO를 승인했음을 검증할 수 있습니다.
10개의 개별 서명을 검증하는 대신, 하나를 검증합니다.
이는 개인 정보 보호를 위한 인센티브를 재조정하는 데 도움이 됩니다. 서명 오버헤드를 단일 64바이트 증명으로 줄임으로써, DahLIAS는 CoinJoins에서 입력을 결합하는 비용을 낮추어, 개인 정보 보호를 선택하는 것이 재정적으로 더 현명하게 만듭니다.
왜 반집합이 가까워졌는가
Schnorr 서명이 비트코인에 도입된 직후, 개발자들은 여러 서명을 압축하는 방법으로 반집합을 탐색했지만, 이는 고정 크기가 아니었습니다. 각 입력은 서명의 크기에 기여하므로, 거래는 여전히 각 참가자와 함께 증가합니다. DahLIAS는 입력과 서명자 전반에 걸쳐 전체 집합을 가능하게 하여 이를 수정합니다. 참여하는 사람이 몇 명이든, 서명하는 것이 무엇이든, 모든 서명이 하나의 고정 크기 64바이트 증명으로 압축됩니다.
DahLIAS가 실제로 여는 것
여기서의 주요 이점은 DahLIAS가 복잡한 거래의 크기를 줄이고 있다는 것입니다.
DahLIAS는 두 단계의 상호 작용 서명 프로세스를 사용합니다. 이 점에서 MuSig2와 유사하지만, 모든 참가자가 동일한 메시지에 공동 서명할 필요가 없기 때문에 다중 서명 프로토콜이 아닙니다. 대신, 거래 전반에 걸쳐 서로 다른 메시지에 대한 서로 다른 서명을 집합합니다.
DahLIAS는 각 서명을 개별적으로 확인하는 것보다 검증이 더 빠르며, 경우에 따라 최대 두 배 빠릅니다. 낮은 검증 비용은 더 많은 사람들이 전체 노드를 운영할 수 있도록 하여 시간이 지남에 따라 비트코인의 분산화를 유지하는 데 도움이 됩니다.
중요하게도, DahLIAS는 강력한 암호화 보장을 제공합니다. 이 체계에는 공식적인 보안 증명이 포함되어 있습니다. 이전의 ‘전설’ 방식의 전체 서명 집합은 이를 결여하고 있었으며, 일부는 나중에 불안전하다는 것이 밝혀졌습니다. 다행히도 그들은 조기에 채택되지 않았습니다.
다시 강조할 가치가 있습니다: DahLIAS는 다중 서명 프로토콜이 아닙니다. 기능적인 관점에서 MuSig2나 FROST와 비교할 수 없으며, 비슷한 암호화 구성 요소를 공유하더라도 다른 목적을 가지고 있습니다. 이는 많은 독립적인 승인을 하나의 깔끔하고 검증 가능한 패키지로 인코딩하는 새로운 방법을 제공합니다.
미래 방향
당신은 이렇게 생각할 수 있습니다: DahLIAS가 이렇게 강력하다면, 왜 BIP가 아닐까요? 왜 비트코인 합의를 위해 제안하지 않나요?
DahLIAS 서명은 Schnorr 또는 ECDSA 서명처럼 보이지 않습니다. 검증 알고리즘이 다릅니다. 단일 공개 키, 메시지 및 서명을 사용하는 대신, DahLIAS 검증자는 공개 키 및 메시지 목록과 단일 64바이트 증명을 사용합니다.
이로 인해 DahLIAS는 비트코인의 현재 합의 규칙과 호환되지 않습니다. 기본 계층에서 이를 지원하려면 합의 변경이 필요합니다. 이 논문은 그 변경을 제안하지 않지만, 동등하게 중요한 일을 합니다.
이 논문은 비트코인의 고유 곡선에 대한 전체 서명 집합 체계가 가능하다는 것을 보여줍니다.
그것만으로도 큰 진전을 의미합니다.
DahLIAS를 비트코인의 일부로 만들기 위해서는 누군가 비트코인 개선 제안(BIP)을 작성해야 하며, 아마도 secp256k1lab을 사용할 수 있습니다. 이는 체계를 세부적으로 명시하고, 합의 및 구현에 대한 함의를 고려하며, 커뮤니티의 지지를 구축하는 것을 의미합니다. 이 논문은 그 대화의 암호화 기초를 제공합니다.
DahLIAS 논문의 진정한 가치는 그것이 증명하는 것입니다. secp256k1에서의 전체 서명 집합은 단순한 사고 실험이 아닙니다. 이는 구체적이고, 효율적이며, 안전합니다. 수년 동안 이 아이디어는 개발자 전설 속에 존재했습니다. 이제는 문서화되고, 분석되고, 입증되었습니다. 남은 것은 이를 비트코인으로 가져오는 것입니다—원한다면.