디지털 서명은 온라인 주권(Sovereignty)의 중추입니다. 1976년에 공개키 암호가 출현하면서 글로벌 커뮤니케이션 매체, 인터넷 및 완전히 새로운 형태의 화폐인 비트코인(Bitcoin)을 탄생할 길을 열었습니다. 그 이후로 공개키 암호의 기본 속성은 많이 변경되지 않았지만 암호 작성기의 도구 상자에는 수십 개의 오픈 소스 디지털 서명 구조가 있습니다.
샤토시 나카모토(Satoshi Nakamoto)가 비트코인(Bitcoin)를 작업하기 시작했을때, 고려해야할 주요 설계 선택 사항중 하나는 개방적이고 허가 불필요한 금융 시스템에서 사용할 서명 방식이었습니다. 요구 사항은 명확했다. 샤토시(Satoshi)는 광범위하게 사용되고 잘 이해되고 안전하고 가볍고 가장 중요한 오픈소스 알고리즘을 필요로 했습니다. 당시 사용가능한 모든 옵션중에서 그는 ECDSA(Elliptic Curve Digital Signature Algorithm)과 같은 기준에 가장 적합한 옵션을 사용했습니다.
당시 ECDSA는 온라인 커뮤니케이션의 프라이버시를 향상시키기 위해 사이퍼펑크(Cypherpunk : 수신자만이 알 수 있는 암호로 정보를 보내는 사람) 베테랑들이 개발한 오픈 소스 암호화 도구인 OpenSSL에 의해 기본적으로 지원되었습니다. 다른 널리 사용되는 방식과 비교하여 ECDSA는 디지털 형태의 화폐를 위한 유용한 속성인 낮은 계산 요구 사항과 더 짧은 키 길이의 이점을 지니고 있습니다. 동시에 RSA와 같은 구조에 비슷한 수준의 보안을 제공했습니다. 예를 들어 256비트 ECDSA 키는 3,072 비트 RSA 키와 동등한 보안 기능을 갖습니다.
Pieter Wuille 및 다른 사람들이 secp256k1이라는 개선된 커브의 개발 노력 덕분에 (Elliptic Curve에서 처럼) 비트코인(Bitcoin)의 ECDSA가 보다 빠르고 효율적으로 수행되었습니다. 그러나 여전히 ECDSA에는 내재된 결함이 있습니다. 2년간의 연구와 실험끝에 비트코인(Bitcoin) 트랜잭션의 프라이버시와 효율성을 높이기 위해 슈미트 디지털 서명(Schnorr Digital Signature)인 새로운 서명 체계가 설정되었습니다.
슈노르 서명의 부상
슈노르 디지털 서명(Schnorr Digital Signature)가 ECDSA보다 많은 이점을 제공하더라도 확실히 새로운 것은 아닙니다. 그는 Claus-Peter Schnorr (독일의 암호 학자이자 학자)가 1980년대 프랑크푸르트 대학 (University of Frankfurt)의 교수이자 연구원이었을때 발명했습니다. 그의 제안된 서명 구조는 David Chaum, Taher EIgamal, Amos Fiat 및 Adi Shamir의 연구와 개발 작업이 융합된 것입니다. 그럼에도 불구하고 그것이 발표되기 전에 수년 동안 직접 사용하지 못하게 막은 새로운 발명 구조에 대한 특허를 클라우스 슈노르 (Claus Schnorr)가 가지고 있었습니다.
흥미롭게도 ECDSA의 전신인 DSA는 Claus Schnorr의 특허를 회피하기 위해 고안된 ElGamal과 Schnorr 혼합체였습니다. 실제로 Schnorr의 미국 특허가 발급된지 2개월 만에 DSA의 선구자인 미국 국립 표준 기술 연구소 (NIST)도 해결 방법에 대한 특허를 제출했습니다. 사이퍼펑크(Codypunks) 이력을 보면 Cloth Schnorr는 그의 특허에 대해 매우 방어적이었습니다.
슈노르 서명(Schnorr Signature)이 도입된지 거의 20년이 지난 2008년 Claus Schnorr의 특허가 만료되었습니다. 우연히도, 2008년은 우리가 가장 좋아하는 사이퍼펑크 샤토시 나코모토(Satoshi Nakamoto)가 비트코인(Bitcoin)을 구현한 해였습니다. 슈노르 서명(Schnorr Signature)이 당시 사용되었을지라도 표준화되거나 널리 사용되지는 않았지만 샤토시가 ECDSA 대신 사용하려는 동기였습니다. 암호 학자들과 수학자들에 의해 종종 혹평되었지만, ECDSA는 널리 사용되고 있었고 당시에는 비트코인(Bitcoin)을 위한 더 안전한 옵션을 제공했습니다.
비크코인에서의 슈노르
일부 알트코인(Altcoin)들의 인기있는 옵션이 ed25519와 같은 표준화된 구현으로 오늘날에는 덜 난해합니다. 비트코인(Bitcoin)에서 Schnorr를 구현할 가능성이 엿보인 비공식적인 회담은 2014년 BitcoinTalk 스레드로 거슬러 올라간다. 하지만 이 제안은 Pieter Wuille이 Schnorr BIP를 작성했을때 수년간의 연구와 실험을 거쳐 공식화되었다. 이 BIP 초안은 잠재적인 Schnorr 구현의 사양 및 기술을 기술하며 ECDSA에 비해 다음과 같은 이점을 제공합니다.
· 보안 증명 (Security Proof) : Schnorr 서명의 보안은 충분히 임의의 해시 함수(임의 오라클 모델)가 사용되고 서명에 사용된 ECDLP (이산 로그 문제)가 충분히 확고할때 쉽게 증명할 수 있습니다. 그러한 증명(Proof)는 ECDSA에는 존재하지 않습니다.
· 비유연성 (Non-malleability) : ECDSA 서명은 본질적으로 유연성이 있으므로 제3자가 기존의 유효한 서명을 변경하기 위해 개인 키에 액세스하지 않고도 가능하도록 할 수 있습니다. 이 문제는 BIP62에서 정식으로 논의되었습니다. 이와 대조적으로, 슈노르 서명(Schnorr Signature)는 비유연성 (Non-malleability)을 가지므로 이를 막을 수 있습니다.
· 선형성 (Linearity) : 슈노르 서명(Schnorr Signature)은 여러 당사자가 공동 키의 합계에 유효한 서명을 생성하기 위해 협업할 수있는 뛰어난 속성을 가지고 있습니다. 이것은 다중 서명 및 기타 스마트 계약과 같은 효율성 및 개인 정보 보호를 향상시키는 다양한 상위 수준의 구조을위한 구성 요소입니다.