Schnorr 서명

비트코인, 이더리움 모두 서명 알고리즘으로 ECDSA(Elliptic Curve Digital Signature Algorithm)을 사용하고 있다.  ECDSA는 전통적인 DSA에 비해 키/서명 크기가 작기 때문에 많은 블록체인에서 서명 알고리즘으로 채택하고 있다.

하지만 최근 비트코인은  ECDSA를 Schnorr 서명으로 대체하려는 논의를 진행 중이다. Schnorr 서명은 ECDSA에 비해 다음과 같은 장점이 있다.

1. n-of-n threshold signature를 효율적으로 지원함

여러 개의 Schnorr 서명은 하나의 서명으로 합쳐질 수 있다. ECDSA는 n-of-n multisig를 지원하기 위해 n개의 공개 키와 n개의 서명 데이터가 필요하지만, Schnorr 서명은 1개의 공개 키와 1개의 서명 데이터로 n-of-n multisig를 지원할 수 있다.

2. ECDSA에 비해 서명 데이터의 크기가 작음

DER 인코딩된 ECDSA 서명이 71-72 바이트를 차지하는 것과 달리 Schnorr 서명은 64바이트의 고정된 크기를 가진다. 서명 데이터의 크기가 줄었기 때문에 네트워크 전송 및 디스크에 저장해야 할 데이터의 크기 역시 줄어든다.

3. signature malleability 문제가 존재하지 않음을 증명

malleability 문제가 있는 ECDSA와 달리 Schnorr 서명은 malleability가 없다는 사실이 증명되었다.

Schnorr 기반의 multi signature scheme의 자세한 내용은 MuSig, a multi-signature scheme based on Schnorr signatures을 참고하기 바란다.

 

최근 코드체인도 Schnorr 서명 도입을 위한 준비를 시작했다.

One thought on “Schnorr 서명

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s