Published Aug 30, 2022
By Qredo Team
임계값 서명이란 무엇인가?
임계값 서명(Threshold Signature)은 Qredo의 암호화 도구 상자(toolbox)의 중요한 부분입니다.
이 게시물에서는 수학적 계산이나 전문용어 없이 Qredo가 임계값 서명을 사용하여 개인 키의 취약성을 제거하고 디지털 자산의 제어를 탈중앙화 네트워크에서 공유할 수 있도록 하는 방법에 대해 설명합니다.
디지털 서명이란 무엇인가요?
간단하게 설명하자면, 디지털 서명은 전송되는 트랜잭션이 여러분들로부터 보내졌다는 것을 증명하는 데 사용되는 암호화 코드입니다.
이를 위해 서명은 사용자의 개인 키에서 발생합니다.
Public key cryptography
공개 키 암호 방식은 블록체인 트랜잭션을 안전하게 송수신할 수 있는 기반을 제공합니다. 키 페어(key pair) 시스템을 사용하여 이 작업을 수행합니다.
개인 키는 자산에 대한 제어 권한을 부여하므로 공유해서는 안 되는 비밀 코드입니다.
공개 키는 자금을 위험에 노출시키지 않고 공유할 수 있습니다. 단방향 암호화 기능을 통해 개인 키에서 파생되며 자금을 받을 주소를 생성하고 트랜잭션의 신뢰성을 확인하는 데 사용됩니다.
How are digital signatures created?
디지털 서명은 어떻게 생성되나요?
비트코인의 ECDSA(Elliptic Curve Digital Signature Algorithm)와 같은 디지털 서명은 개인 키와 트랜잭션 데이터를 사용하여 생성됩니다.
복잡한 타원 곡선 암호화(elliptic curve cryptography)에 의존하는 이 프로세스는 서명이 개인 키에 대한 지식이 있어야만 생성될 수 있음을 의미합니다. 그러나 단방향 암호화 기능을 사용하여 생성되기 때문에 서명은 개인 키 정보를 제공하지 않으므로 보낸 사람이 자산을 위험에 노출시키지 않고 트랜잭션을 인증할 수 있습니다.
임계값 서명은 유사한 프로세스를 사용하여 생성됩니다. 그러나 단일 개인 키에 의존하는 대신 MPC(다자간 계산)를 사용하여 여러 컴퓨터 간에 분산된 개인 키 자료에서 서명을 생성합니다.
임계값 서명이란 무엇인가요?
임계값 서명 체계(TSS - threshold signature scheme)는 여러 서명자로부터 단일 디지털 서명을 생성하는 방법입니다.
결과 서명(resulting signature)은 임계값 체계 없이 생성된 서명과 동일하게 보이지만 단일 개인 키로 생성되지는 않습니다. 대신 여러 개인 키 공유로 생성되며 한 사람이 개인 키를 완전히 제어하지 못하도록 분산되어 공유됩니다.
트랜잭션에 서명하려면 충분한 수의 승인자가 참여해야 임계값을 충족할 수 있습니다. 이 임계값 구조는 일반적으로 "t of n"으로 개념화되며, 여기서 n은 총 서명자 수를 의미하며 t는 전체 그룹을 대신하여 트랜잭션에 서명할 수 있는 승인자의 수를 나타냅니다. 예를 들어, 7명의 서명자(n) 그룹이 있고 4명의 서명자가 트랜잭션을 인증해야 하는 경우는 t of n = 4 of 7 입니다.
Qredo가 임계값 서명을 사용하는 방법
Qredo는 MPC(다자간 계산)로 구현된 TSS(임계값 서명 체계)를 사용하여 단일 개인 키로 서명하는 취약성을 제거하고 여러 사용자가 제어하는 지갑을 생성합니다.
각 Qredo 월렛에는 커스터디얼 정책이 있습니다. 이 정책은 트랜잭션을 승인해야 하는 승인자 집합을 정의합니다. 정책은 부울 규칙(boolean rule)으로 정의됩니다 .
예를 들어, 다음 정책에는 승인자 1명과 거래자 2명이 필요합니다.
승인자1 또는 승인자2) 및 (거래자1 + 거래자2 + 거래자3 >=2
규칙은 특정 기관의 요구 사항에 매핑되는 부분집합(subsets)과 임계값으로 구성할 수 있습니다.
거래자가 트랜잭션을 시작하고 필요한 수의 승인자가 임계값을 충족하도록 승인하면 모든 개별 BLS 서명이 하나로 집계됩니다.
이 집계된 서명은 Qredo 네트워크에서 확인되며, 여기서 검증인(Validators)은 모든 참가자의 공개 키와 비교하여 확인합니다. 정책을 충족하기에 충분한 참여자가 집계 서명에 서명한 경우 Qredo 네트워크는 MPC 프로토콜을 호출하여 기본 블록체인에 대한 트랜잭션을 서명합니다.
이 프로세스는 단일 개인 키로 트랜잭션에 서명하는 것보다 두 가지 큰 이점이 있습니다.
단일 장애점(single point of failure)이 제거되어 공격 표면이 크게 줄어들고 도난이 거의 불가능합니다.
많은 수의 승인자, 거래자 및 관리자에게 다양한 제어 권한을 할당할 수 있으므로 가장 복잡한 거래 승인 흐름에서도 디지털 자산을 효과적으로 관리할 수 있습니다.
Qredo의 임계값 서명 구현에 대해 자세히 알아보려면 옐로우 페이퍼를 다운로드하시기 바랍니다.