저자: 키아라 비커스
출처: https://bitcoinmagazine.com/technical/not-ecdsa-not-schnorr-meet-dahlias
'집계 서명'은 새로운 개념이 아닙니다. 2000년대 초부터 존재해 왔습니다. 하지만 비트코인의 보안 모델, 즉 비트코인의 타원 곡선 알고리즘 하에서 실제로 사용할 수 있는 솔루션을 개발하는 것은 아직 완전히 실현되지 못했습니다. 개발자들은 가능성을 제기하며 손으로 그린 스케치를 공유하고 "아마도 ' MuSig2 '와 비슷하게 작동하겠지만, 거래 입력값에 따라 달라질 것"이라고 말했습니다. 이러한 아이디어는 수년간 개발자들 사이의 전설 로만 남아 있었지만, 확실하게 입증된 적은 없었습니다.
하지만 최근 상황이 바뀌었습니다. 블록스트림 리서치의 조나스 닉과 팀 러핑, 그리고 레저의 야닉 세우린이 함께 논문을 발표하여 이 암호화 기술의 불확실성을 구체적이고 증명 가능한 결과로 바꾸어 놓았습니다. " DahLIAS "는 비트코인의 네이티브 커브에서 작동하는 , 상수 볼륨(크로스 입력) 완전 집계 서명 체계 를 안전하게 구성하는 최초의 공식 구현 방식입니다!
여기에는 여러 가지 수식어가 있는데, 하나씩 설명해야 합니다.
- 완전 통합 : 여러 입력에 흩어져 있는 여러 서명을 하나로 병합하여 64바이트 크기의 단일 서명을 생성할 수 있습니다. 서명 크기는 서명자 수나 입력 수에 관계없이 항상 일정하게 유지됩니다.
- 교차 입력 : 각 서명자는 서로 다른 입력을 승인할 수 있으며, 모든 서명은 최종적으로 하나의 서명으로 병합됩니다.
비트코인이 이미 의존하는 가정 외에, DahLIAS는 새로운 가정을 많이 추가하지 않습니다. 다시 말해, 비트코인이 이미 사용하는 수학적 원리를 활용하여 DahLIAS는 완전히 새로운 서명 유형을 가능하게 하는 새로운 암호화 기본 요소를 만들어냅니다.
먼저 곡선과 시그니처에 대해 이야기해 보겠습니다.
디지털 서명은 비트코인 세계에서 사용자가 거래를 승인했음을 증명하는 수단입니다. 비트코인을 사용하려면 지갑 소프트웨어가 개인 키를 사용하여 메시지에 서명하고, 전체 네트워크(풀 노드)는 해당 공개 키를 사용하여 서명을 검증합니다.
비트코인은 사용자가 공개 키와 서명을 생성하는 데 사용하는 타원 곡선 알고리즘인 " secp256k1 " 모델을 사용합니다. 이 알고리즘은 빠르고 효율적이며 충분히 검증되었습니다. " ECDSA " 및 " Schnorr "와 같은 서명 방식을 지원합니다. ECDSA는 비트코인에서 사용되는 원래 서명 알고리즘이고, Schnorr는 2021년 "Taproot" 업그레이드에서 추가되었으며 P2TR 출력에 사용할 수 있습니다. 현재 비트코인 합의 규칙에서 인정하는 서명 방식은 이 두 가지뿐입니다.
전통적으로, 완전한 서명 집계에 필요한 수학적 연산은 비트코인의 타원 곡선(secp256k1)에서 지원되지 않기 때문에 구현이 불가능해 보입니다. 이러한 기능은 일반적으로 다른 유형의 타원 곡선에 의존합니다. 예를 들어, "BLS(Boneh–Lynn–Shacham)" 서명은 "매칭 곡선"이라는 특수한 유형의 곡선을 사용하여 여러 서명(심지어 서로 다른 메시지의 서명까지)을 단일 서명으로 병합하는 등의 고급 연산을 가능하게 합니다.
문제는 BLS 서명이 secp256k1에서 작동하지 않는다는 것입니다. ECDSA에서 Schnorr로의 전환은 두 프로토콜 모두 동일한 유형의 타원 곡선을 사용하기 때문에 자연스러운 업그레이드이지만, BLS 서명을 추가하는 것은 훨씬 더 큰 도약이며 비트코인의 기존 보안 모델에서 벗어나는 것을 의미합니다. 기술적으로는 가능하지만, 새로운 암호화 가정을 도입하고 프로토콜의 복잡성을 크게 증가시킬 것입니다. " BLS12-381 "과 같은 적합한 페어링 곡선을 지원하는 것은 비트코인에 있어 중대한 변화가 될 것입니다.
이것이 바로 secp256k1에서 완전 집계 서명이 구현되지 않은 이유 중 하나입니다.
지금까지는 그랬습니다.
서명 집계의 원리
대부분의 비트코인 사용자는 다중 서명에 대해 잘 알고 있습니다. 다중 서명 지갑에서는 여러 사람이 하나의 UTXO(또는 "코인") 사용을 공동으로 승인합니다. 각 사용자는 동일한 입력 데이터에 서명합니다. 이러한 방식은 예를 들어 공유 수탁 지갑에서 유용하게 사용됩니다.
집계 서명은 다른 방식으로 작동합니다. 여러 사람이 동일한 입력값(또는 금액)에 서명하는 대신, 각 사람이 거래에 대한 서로 다른 입력값(UTXO)을 승인합니다. 이러한 개별 서명은 하나의 간결한 증거로 압축됩니다. DahLIAS를 사용하면 비트코인의 secp256k1 곡선에서 64 바이트 서명을 검증하는 것만으로 모든 입력값을 검증할 수 있습니다.
(역자 주: 오해를 방지하기 위해 설명드리자면, 비트코인 세계에서는 "동일한 메시지에 대한 여러 공개 키의 서명을 하나의 서명으로 통합하는 것" 또한 통합 서명으로 간주됩니다. 예를 들어 Schnorr 알고리즘 기반의 MuSig 및 MuSig2가 있습니다. 저자가 여기서 언급하는 상황(서로 다른 메시지에 대한 여러 공개 키의 서명을 하나의 서명으로 통합하는 것)은 일반적으로 "CISA(교차 입력 서명 통합)"로 분류됩니다.)
즉, 원래 거래에 서로 다른 다섯 명의 사람이 각기 다른 입력값을 제공했다면, 해당 거래에는 각각 다른 서명이 필요했습니다. 하지만 통합 서명을 사용하면 이러한 모든 서명을 하나로 통합할 수 있습니다. 각 서명자가 서로 다른 입력값을 사용하고 거래의 각기 다른 부분에 서명하더라도 상관없습니다. 결과적으로 거래가 적법하게 승인되었음을 증명하는 단 하나의 서명만 남게 됩니다.
이는 여러 라이선스를 하나의 파일로 압축하는 것과 같습니다. 서명은 간결하지만 여전히 검증 가능하며, 각 서명자가 자신의 UTXO를 승인했음을 증명합니다.
이는 개인정보 보호를 위한 인센티브를 재정립하는 데 도움이 될 수 있습니다. DahLIAS는 서명 오버헤드를 단 64바이트의 증거로 줄임으로써 CoinJoin 거래에서 입력값을 병합하는 데 필요한 오버헤드를 낮추어 개인정보 보호 거래를 선택하는 것이 재정적으로 더 유리하도록 만듭니다.
"반감 중합" 방식은 왜 종료되었습니까?
슈노르 서명이 비트코인에 도입된 직후, 개발자들은 여러 서명을 압축하는 방법으로 " 반감 집계 " 방식을 연구했지만, 결과는 고정된 크기가 아니었습니다. 입력값이 추가될 때마다 최종 증명 크기가 증가하여 참여자 수가 많아질수록 거래량도 증가했습니다. DahLIAS는 입력값과 서명자 간의 완전한 집계를 구현하여 이 문제를 해결했습니다. 참여자 수나 서명 내용에 관계없이 모든 서명은 단일 고정 크기(64바이트)의 증거로 압축됩니다.
DahLIAS의 실제 용도
DahLIAS를 사용하는 가장 큰 이점은 복잡한 거래의 규모를 줄여준다는 것입니다.
DahLIAS는 2단계 대화형 서명 프로세스를 사용합니다. 이는 대화형 수준에서 MuSig2와 유사하지만, 모든 참여자가 동일한 메시지에 공동으로 서명할 필요가 없으므로 다중 서명 프로토콜은 아닙니다. 대신, 서로 다른 메시지에 대한 서명을 통합합니다.
DahLIAS 검증은 각 서명을 개별적으로 검증하는 것보다 최대 두 배 빠릅니다. 검증 비용이 낮아지면 더 많은 사람들이 풀 노드를 운영할 수 있게 되어 비트코인의 탈중앙화 보호하는 데 도움이 될 것입니다.
무엇보다 중요한 것은 DahLIAS가 강력한 암호화 보장을 제공한다는 점입니다. 이 체계는 형식적인 보안 증명을 포함합니다. 이전의 "개발자들의 믿음"에 기반한 방법들은 이러한 보장이 부족했고, 일부는 나중에 안전하지 않다는 것이 입증되기도 했습니다. 따라서 이러한 방법들이 너무 일찍 채택되지 않은 것은 다행스러운 일이었습니다.
다시 한번 강조하지만, DahLIAS는 다중 서명 프로토콜이 아닙니다 . 암호화 기반은 유사하지만, MuSig2나 FROST와 기능적으로 비교할 수 없습니다. DahLIAS의 목적은 다른 곳에 있습니다. DahLIAS는 여러 개의 독립적인 라이선스를 명확하고 검증 가능한 패키지로 인코딩하는 새로운 방식을 제공합니다.
향후 방향
여러분은 이렇게 생각할지도 모릅니다. "DahLIAS가 그렇게 강력하다면 왜 BIP가 없을까? 왜 비트코인에 추가하자고 제안하지 않을까?"
DahLIAS 서명은 Schnorr 및 ECDSA 서명과 다릅니다. 검증 알고리즘이 다르기 때문입니다. 공개 키, 메시지, 서명을 사용하여 검증하는 대신, 공개 키 세트 와 이에 대응하는 메시지 세트, 그리고 64바이트 크기의 증거 데이터를 사용합니다.
이로 인해 DahLIAS는 비트코인의 현재 합의 규칙과 호환되지 않습니다. 기본 레이어에서 DahLIAS를 지원하려면 합의 규칙을 변경해야 합니다. DahLIAS 논문은 이러한 변경을 제안하지는 않지만, 논문에서 제시하는 내용 또한 매우 중요합니다.
본 논문은 비트코인의 고유 타원 곡선 상에서 완전 통합 서명 체계를 설계하는 것이 가능하다는 것을 보여줍니다 .
그렇긴 하지만, 이는 여전히 큰 발전입니다.
DahLIAS를 비트코인에 통합하려면 누군가가 BIP(블록 인터페이스 프로토콜)를 작성해야 하며, 경우에 따라 secp256k1lab을 사용할 수도 있습니다. 이는 합의 및 구현에 미치는 영향을 고려하여 체계의 세부 사항을 명시하고 커뮤니티의 지지를 구축하는 것을 의미합니다. 이 논문은 단지 이러한 변환을 위한 암호학적 기반을 제시할 뿐입니다.
DahLIAS 논문의 진정한 가치는 그것이 입증한 내용에 있습니다. secp256k1에서 완전한 서명 집계를 달성하는 것은 더 이상 단순한 개념이 아닙니다. 효율적이고 안전한 현실이 되었습니다. 수년 동안 이 아이디어는 개발자들 사이의 이야기로만 남아 있었습니다. 이제 문서화되고 분석되었으며 입증되었습니다. 남은 것은 우리가 원한다면 이를 비트코인에 적용하는 것뿐입니다.
(위에)



