"다중서명"의 두 판 사이의 차이
(→이더리움) |
잔글 (→개요) |
||
(사용자 2명의 중간 판 3개는 보이지 않습니다) | |||
2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
− | 일반적으로 [[ | + | 일반적으로 [[전자서명]] 방식은 한 문서에 한 사람이 [[서명]]을 하는 환경에 기초하여 설계되어 있기 때문에, 서류 결제, 서명 운동, 계약의 경우와 같이 여러 사람이 한 문서에 [[서명]]하는 경우 단순서명을 반복해서 적용하여 문제를 해결할 수 있다. 하지만 이러한 방식은 서명의 길이가 늘어나도 서명을 검증할 때 서명자의 수만큼 검증과정을 거쳐야 하기 때문에, 서명자가 많은 경우 시간이 오래 걸린다는 단점이 있다. 이러한 단순서명 방식의 문제를 해결하기 위해 나온 개념이 바로 다중서명 방식이다. 다중서명 주소는 하나의 주소에 n개의 [[개인키]]가 설정되어 있다. 이 다중서명 주소에서 인출을 할 때는 n개의 개인키 중에서 m개의 서명이 있어야 가능하다. 이를 M-of-N 거래라고도 일컫는다. 다중서명은 보안을 강화하거나 온라인 거래 시 소비자를 보호하는 방안 등 다양하게 활용할 수 있다.<ref name="다중서명“>이철수, 〈[http://www.itfind.or.kr/Report/200201/KISA/KISA-0059/KISA-0059.pdf 다중전자서명 알고리즘 연구 및 개발]〉, 《한국정보보호센터》, 1999-12-01</ref> |
==특징== | ==특징== | ||
23번째 줄: | 23번째 줄: | ||
이더리움의 기본 EOA 값 트랜잭션에는 다중서명 조항이 없다. 그러나 이더와 토큰을 전송하는 어떤 조건들도 처리할 수 있는 스마트 계약을 사용해 이의의 서명 제한룰을 적용할 수 있다. 이 기능을 이용하려면 이더를 다중서명 요구사항이나 지출 한도와 같이 원하는 지출 규칙으로 프로그래밍한 지갑 컨트랙트로 보내야 한다. 그리고서 지갑 컨트랙트는 지출 조건이 충족되면 승인된 EOA의 요청에 따라 자금을 보낸다. 예를 들어, 다중 상태에서 이더를 보호하려면 이더를 다중서명 컨트랙트로 전송한다. 다른 계정으로 자금을 보낼 때마다 모든 사용자는 일반 지갑 애플리케이션을 사용하여 컨트랙트에 트랜잭션을 보내야 하며, 계약이 최종 트랜잭션을 수행할 수 있도록 효과적으로 승인해야 한다. | 이더리움의 기본 EOA 값 트랜잭션에는 다중서명 조항이 없다. 그러나 이더와 토큰을 전송하는 어떤 조건들도 처리할 수 있는 스마트 계약을 사용해 이의의 서명 제한룰을 적용할 수 있다. 이 기능을 이용하려면 이더를 다중서명 요구사항이나 지출 한도와 같이 원하는 지출 규칙으로 프로그래밍한 지갑 컨트랙트로 보내야 한다. 그리고서 지갑 컨트랙트는 지출 조건이 충족되면 승인된 EOA의 요청에 따라 자금을 보낸다. 예를 들어, 다중 상태에서 이더를 보호하려면 이더를 다중서명 컨트랙트로 전송한다. 다른 계정으로 자금을 보낼 때마다 모든 사용자는 일반 지갑 애플리케이션을 사용하여 컨트랙트에 트랜잭션을 보내야 하며, 계약이 최종 트랜잭션을 수행할 수 있도록 효과적으로 승인해야 한다. | ||
− | 이러한 컨트랙트는 내부 코드를 실행하거나 다른 컨트랙트를 실행하기 전에 다중서명을 요구하도록 설계될 수 있다. 이와 같은 체계에서의 보안은 궁극적으로 다중서명 컨트랙트 코드에 의해 결정된다. 스마트 계약으로 다중서명 트랜잭션을 구현하는 기능은 이더리움의 유연성을 입증한다. 그러나 이러한 유연성으로 인해 다중서명 체계의 보안을 악화시키는 버그가 발생할 수 있으므로 양날의 검이다. 실제로 간단한 M-of-N 다중서명 구성을 스마트 계약을 이용하지 않고 EVM에서 직접 다중서명 명령을 처리하자는 제안이 많다. 이는 핵심 합의 규칙의 일부이며, 강력하고 안전한 것으로 입증된 비트코인의 다중서명 시스템과 | + | 이러한 컨트랙트는 내부 코드를 실행하거나 다른 컨트랙트를 실행하기 전에 다중서명을 요구하도록 설계될 수 있다. 이와 같은 체계에서의 보안은 궁극적으로 다중서명 컨트랙트 코드에 의해 결정된다. 스마트 계약으로 다중서명 트랜잭션을 구현하는 기능은 이더리움의 유연성을 입증한다. 그러나 이러한 유연성으로 인해 다중서명 체계의 보안을 악화시키는 버그가 발생할 수 있으므로 양날의 검이다. 실제로 간단한 M-of-N 다중서명 구성을 스마트 계약을 이용하지 않고 EVM에서 직접 다중서명 명령을 처리하자는 제안이 많다. 이는 핵심 합의 규칙의 일부이며, 강력하고 안전한 것으로 입증된 비트코인의 다중서명 시스템과 동일하다. {{자세히|이더리움}} |
===넴=== | ===넴=== |
2024년 1월 11일 (목) 13:19 기준 최신판
다중서명(multi-signature)이란 데이터의 위변조, 부인을 막고 메시지의 무결성을 확인, 인증을 수행하는 기술인 전자서명 중 특수 전자서명 방식에 해당되는 기술이다.[1] 멀티시그(multi-sig)라고도 한다.
개요[편집]
일반적으로 전자서명 방식은 한 문서에 한 사람이 서명을 하는 환경에 기초하여 설계되어 있기 때문에, 서류 결제, 서명 운동, 계약의 경우와 같이 여러 사람이 한 문서에 서명하는 경우 단순서명을 반복해서 적용하여 문제를 해결할 수 있다. 하지만 이러한 방식은 서명의 길이가 늘어나도 서명을 검증할 때 서명자의 수만큼 검증과정을 거쳐야 하기 때문에, 서명자가 많은 경우 시간이 오래 걸린다는 단점이 있다. 이러한 단순서명 방식의 문제를 해결하기 위해 나온 개념이 바로 다중서명 방식이다. 다중서명 주소는 하나의 주소에 n개의 개인키가 설정되어 있다. 이 다중서명 주소에서 인출을 할 때는 n개의 개인키 중에서 m개의 서명이 있어야 가능하다. 이를 M-of-N 거래라고도 일컫는다. 다중서명은 보안을 강화하거나 온라인 거래 시 소비자를 보호하는 방안 등 다양하게 활용할 수 있다.[2]
특징[편집]
- 복수의 서명인 : 단순 전자서명 방식은 한 명의 서명자가 문서에 서명을 하고 필요한 사람에게 전송하여 절차를 따라 서명을 검증하게 된다. 하지만 다중서명 방식에서는 한 문서에 둘 이상의 서명자가 존재하게 되므로 다중서명 생성 및 검증 과정에 있어 단순서명 방식보다 복잡하고 추가적인 과정이 요구된다.
- 통신 : 단순서명 방식은 서명자가 서명을 한 후, 증명하고자 하는 사람이나 단체에 서명한 문서와 서명을 전송하면 서명자로서의 역할은 종료된다. 하지만 다중서명 방식은 모두 떨어져 있는 각각의 서명자 사이에 통신 매체를 이용하여 서명이 필요한 문서, 서명문, 정보들을 송/수신한다고 가정한다.
- 다중서명 생성 : 다중서명 방식은 기본적으로 두 사람 이상의 서명문이 모아진 것이며 다중서명 방식의 첫 번째 목표가 서명문의 길이가 늘어나는 것을 방지하는 것이므로 각 서명자의 서명이 하나로 모아지지만 길이의 증가가 발생하면 안 된다.
- 다중서명 검증 : 단순서명 방식에서는 서명자와 검증자가 다르다고 할 수 있지만 다중서명 방식에서는 서명자가 검증자의 역할도 겸하게 된다. 이로 인해 서명의 검증과정이 단순 서명 방식 보다 복잡해지는 것이 일반적이다.[2]
활용[편집]
일반적으로 암호화폐 지갑은 크게 핫월렛(HotWallet)과 콜드월렛(Cold Wallet)으로 구분이 되며, 더 나아가 이더리움의 스마트 계약을 기반으로 한 다중서명지갑(Multi-Signature Wallet)이 존재한다. 다중서명지갑은 단일서명을 통해서 지갑에서 암호화폐를 출금하던 방식과 다르게 이더리움의 스마트 계약으로 구현 되었으며 지갑의 출금은 다중서명을 통해 출금이 가능하도록 한 스마트 계약이다. 이러한 다중서명지갑은 일반 지갑에 비해 보안이 더 우수하며 실수로 인한 출금 또한 방지할 수 있다. 하지만 지갑의 편이성이 부족하고 많은 주의성이 요구되기 때문에 일반지갑에 비해 사용이 쉽지 않기 때문에 종류 또한 많지 않다.[3]
이더리움[편집]
이더리움(ethereum)은 블록체인 기술을 기반으로 스마트 계약 기능을 구현하기 위한 분산 컴퓨팅 플랫폼이다. 2015년 7월 비탈릭 부테린(Vitalik Buterin)이 C++과 고(Go) 언어로 개발했다. 이더해시(Ethash) 알고리즘 기반의 작업증명(PoW) 방식으로 채굴 중이지만, 앞으로 작업증명 방식을 벗어나 지분증명(PoS) 방식으로 변경할 예정이다.[4] 이더리움 이전의 블록체인 기반 기술은 전자화폐에 특화된 기능을 구현했기 때문에, 암호화폐 이외의 영역에서 사용하기에는 어려움이 있었다. 반면 이더리움은 비트코인과 비슷한 전자화폐의 기능과 더불어 솔리디티(Solidity) 등의 튜링완전성(Turing-Completeness)을 갖춘 확장용 언어를 이용해 스마트 계약을 작성하므로 여러 분야에 접목할 수 있다. 덕분에 블록체인 기술을 다양한 비즈니스 분야로 확장할 수 있게 되었다.
이더리움의 기본 EOA 값 트랜잭션에는 다중서명 조항이 없다. 그러나 이더와 토큰을 전송하는 어떤 조건들도 처리할 수 있는 스마트 계약을 사용해 이의의 서명 제한룰을 적용할 수 있다. 이 기능을 이용하려면 이더를 다중서명 요구사항이나 지출 한도와 같이 원하는 지출 규칙으로 프로그래밍한 지갑 컨트랙트로 보내야 한다. 그리고서 지갑 컨트랙트는 지출 조건이 충족되면 승인된 EOA의 요청에 따라 자금을 보낸다. 예를 들어, 다중 상태에서 이더를 보호하려면 이더를 다중서명 컨트랙트로 전송한다. 다른 계정으로 자금을 보낼 때마다 모든 사용자는 일반 지갑 애플리케이션을 사용하여 컨트랙트에 트랜잭션을 보내야 하며, 계약이 최종 트랜잭션을 수행할 수 있도록 효과적으로 승인해야 한다.
이러한 컨트랙트는 내부 코드를 실행하거나 다른 컨트랙트를 실행하기 전에 다중서명을 요구하도록 설계될 수 있다. 이와 같은 체계에서의 보안은 궁극적으로 다중서명 컨트랙트 코드에 의해 결정된다. 스마트 계약으로 다중서명 트랜잭션을 구현하는 기능은 이더리움의 유연성을 입증한다. 그러나 이러한 유연성으로 인해 다중서명 체계의 보안을 악화시키는 버그가 발생할 수 있으므로 양날의 검이다. 실제로 간단한 M-of-N 다중서명 구성을 스마트 계약을 이용하지 않고 EVM에서 직접 다중서명 명령을 처리하자는 제안이 많다. 이는 핵심 합의 규칙의 일부이며, 강력하고 안전한 것으로 입증된 비트코인의 다중서명 시스템과 동일하다. 이더리움에 대해 자세히 보기
넴[편집]
넴(NEM)은 스마트 자산 시스템을 위한 암호화폐이다. 2014년 유토피안퓨처(UtopianFuture)라는 가명을 쓰는 사람 또는 그룹이 자바(Java) 언어로 개발했다. SHA3-512 해시 알고리즘 기반이며, 아이젠트러스트(EigenTrust++) 평판 시스템을 이용한 중요도증명(PoI) 합의 알고리즘을 사용한다. 넴은 사용자별로 맞춤형 블록체인을 제작할 수 있는 스마트 자산 시스템을 지원한다. 넴의 스마트 자산은 밀접하게 연결된 네 개의 부분들로 구축되며 그 중 하나가 주소 컨테이너 스마트 자산이다. 이는 다중서명 지갑을 활용하여 여러 사람 또는 단체 사이에서 주소의 소유권을 나누는 것으로, 이때 여러 사람의 비밀번호를 동시에 입력하는 다중서명 방식을 채택하여 거래의 안전성을 높였다.[5]
넴 주소는 고유하고 업데이트가 가능한 단일 객체(object)를 나타낼 수 있는 블록체인의 컨테이너 자산이다. 주소는 모자이크를 포함한다. 주소는 대부분의 블록체인처럼 동전으로 가득찬 사용자 계정만큼 간단할 수 있다. 그러나 배송될 패키지, 주택에 대한 증서, 공증될 서류와 같은 것들을 나타낼 수 있다. 넴 블록체인에서 직접 특별한 규칙을 사용하여 구성할 때 주소 자산은 정말 스마트해진다. 즉, 서로 관련이 있고 제어하는 방법과 내용을 업데이트 및 전송할 수 있는 방법을 정의한다. 중요한 규칙 유형 중 하나는 여러 당사자 간에 다양한 방법으로 주소 자산 소유권을 모든 블록체인에서 공유할 수 있도록 하는 다중서명 제어이다. 넴에 대해 자세히 보기
스팀[편집]
스팀(Steem)은 블록체인 기반의 SNS 커뮤니티 사이트인 스팀잇에서 사용하는 암호화폐이다. 스팀의 플랫폼인 스팀잇(steemit)은 다양한 주제로 콘텐츠를 올리고 커뮤니케이션을 할 수 있는 블록체인 기반의 블로깅 소셜 네트워크이다. 스팀은 네드 스캇(Ned Scott) 스팀잇 대표와 비트셰어(BitShares)를 만든 댄 라리머(Dan Larimer)에 의해 공동 개발되었고, 2016년 7월부터 서비스가 시작되었다. 스팀 플랫폼 기반의 동영상 콘텐츠 서비스로 디튜브(D.tube)가 있다. 스팀 플랫폼에서는 블로그에 글을 쓰거나 댓글을 달게 된다면 보상으로 직접 채굴하지 않아도 스팀코인(SteemCoin)을 받을 수 있다. 이를 통해 정확한 정보제공, 생산적인 피드백을 유도하여 소셜 생태계가 자율적으로 순환되게 해준다.[6]
스팀 블록체인을 사용하면 권한을 여러 엔터티로 분할할 수 있으므로 여러 사용자가 동일한 권한을 공유하거나 여러 엔터티가 트랜잭션을 인증해야만 유효하게 된다. 여기서 각 공개키 / 개인키 쌍에 가중치가 할당되고 권한에 대해 임계 값이 정의되며 트랜잭션이 인정되려면 충분한 가중치의 합이 임계 값 이상이 되도록 다중서명 방식을 채택하여 스팀을 사용하는 사람들의 계정과 스팀코인을 안전하게 보호하고 있다.[7] 스팀에 대해 자세히 보기
네오[편집]
네오(NEO)는 중국 최초의 블록체인 기반 암호화폐이다. '중국의 이더리움'이라고 불린다. 2014년 중국의 다홍페이(Da Hongfei)가 기존 비트코인과 이더리움의 장점을 결합하여 C# 언어로 네오를 개발했다. 네오는 SHA-256과 RIPEMD-160 해시 알고리즘 기반으로 한 위임 프랙티컬 비잔틴 장애 허용(dPBFT; delegated Practical Byzantine Fault Tolerance) 방식의 합의 알고리즘을 따른다. 네오는 이더리움과 마찬가지로 '네오 컨트랙트'라는 독자적인 스마트 계약 시스템을 만들었다. 네오에는 코인인 네오(NEO)와 네트워크에서 연료 역할을 하는 네오가스(NeoGas)라는 두 개의 기본 암호화폐가 있다. 네오에서 제공하는 네오 전용 지갑으로는 하나의 퍼블릭 키와 1of1 다중서명 주소로 구성되어있는 지갑과 주소가 여러 개의 퍼블릭 키와 M-of-N의 다중 서명 주소로 구성 되고 스마트 계약에 사용되는 다중서명지갑이 있다.[8] 네오에 대해 자세히 보기
각주[편집]
- ↑ on21life, 〈IT보안-Digital Signature, 전자서명이란 무엇인가〉, 《네이버 블로그》, 2018-08-09
- ↑ 2.0 2.1 이철수, 〈다중전자서명 알고리즘 연구 및 개발〉, 《한국정보보호센터》, 1999-12-01
- ↑ holcoin, 〈멀티서명지갑(Multi-Signature Wallet) 개념 - 이더리움〉, 《스팀잇》, 2017-04-15
- ↑ 블록인프레스, 〈이더리움 지분증명 합의 알고리즘 ‘캐스퍼’, 검토 절차 시작〉, 《블록인프레스》, 2018-04-23
- ↑ 토큰포스트, 〈넴(NEM)〉, 《토큰포스트 지식백과》
- ↑ 이일구 교수, 〈(디센터 톺아보기)암호화폐는 왜 가상화폐가 아닌가〉, 《서울경제 디센터》, 2018-02-01
- ↑ relaxkim, 〈스팀 청서(블루페이퍼) 공동번역 결과입니다.〉, 《스팀잇》, 2017-02-14
- ↑ 네오, 〈네오 공식홈페이지 설명서〉, 《네오》,
참고자료[편집]
- on21life, 〈IT보안-Digital Signature, 전자서명이란 무엇인가〉, 《네이버 블로그》, 2018-08-09
- crytobell, 〈(블록체인 용어)디지털 서명 / 다중서명이란?〉, 《네이버 블로그》, 2018-10-15
- KimKwangWoo, 〈(코이신블)블록체인의 디지털 서명〉, 《미디엄》, 2018-10-15
- 이철수, 〈다중전자서명 알고리즘 연구 및 개발〉, 《한국정보보호센터》, 1999-12-01
- holcoin, 〈멀티서명지갑(Multi-Signature Wallet) 개념 - 이더리움〉, 《스팀잇》, 2017-04-15
- 토큰포스트, 〈넴(NEM)〉, 《토큰포스트 지식백과》
- 이일구 교수, 〈(디센터 톺아보기)암호화폐는 왜 가상화폐가 아닌가〉, 《서울경제 디센터》, 2018-02-01
- relaxkim, 〈스팀 청서(블루페이퍼) 공동번역 결과입니다.〉, 《스팀잇》, 2017-02-14
- 유수현 기자, 〈(카드뉴스) 이더리움이 또! ‘패리티’ 지갑 해킹〉, 《보안뉴스》, 2017-11-08
- 윤도, 〈정보 자료 패리티 멀티시그 지갑 해킹의 원인(by delegate call)〉, 《채인토크》, 2017-07-22
- 네오, 〈네오 공식홈페이지 설명서〉, 《네오》
같이 보기[편집]