본문 바로가기
블록체인

#13. 누구나 이해할 수 있는 블록체인 작동원리 25단계

by 캔버스토리 Canvastory 2022. 9. 5.

요약: 트랜잭션 데이터와 디지털 서명

'블록체인 작동원리 25단계'는 논리적 흐름에 따라 작성된 시리즈물이다. 기반 지식이 있다면 필요한 내용만 골라 보는 것도 가능하겠지만, 생소하다면 처음부터 순서대로 읽는 것을 추천한다.

 

- 처음 글 : #0. 누구나 이해할 수 있는 블록체인 작동원리 25단계

- 이전 글 : #12. 누구나 이해할 수 있는 블록체인 작동원리 25단계

 

셋째 마당 (8~21단계) 키워드: 블록체인의 주요 개념과 기술

 

[13단계] 노드 여러분, 트랜잭션을 승인합니까? 디지털 서명 만들어 검증에 사용하기

 

 문서의 자필 서명은 서명한 사람이 문서 내용에 동의하며 그 내용의 실행을 승인한다는 명시적인 표시다.

 

 자필 서명은 사람마다 고유하기 때문에 증거능력을 가진다.

 

 디지털 서명은 자필 서명을 디지털로 구현한 것이다.

 

 디지털 서명은 두 가지 역할을 수행한다.
 -
유일한 서명자 식별하기
 -
서명자가 문서 내용에 동의하고 그 내용의 실행을 승인했음을 명시하기

 

 디지털 서명은 개인 → 공개 방식의 정보 흐름을 활용하여 암호화 해싱과 비대칭 암호화 기법을 적용한다.
 -
서명의 생성: 고유한 개인 키를 사용해 생성되었으므로 누가 생성했는지 특정할 수 있다.
 -
서명을 이용한 데이터 검증: 두 가지를 확인할 수 있다. 이 메시지는 내가 서명했다. 나의 공개 키를 사용해 서명을 복호화할 수 있었기 때문이다. 메시지가 원래 보내려 한 것과 동일하다. 복호화된 암호문이 메시지의 해시값과 일치하기 때문이다.

 블록체인에서 디지털 서명의 용도는 다음 두 가지다.
 -
트랜잭션 서명
 -
트랜잭션 검증

 

 트랜잭션 서명: 계정 번호, 이체 총액 등 트랜잭션에 필요한 모든 정보를 기술한다. 트랜잭션 데이터의 암호화 해시값을 생성한다. 소유권을 이전하려는 계정의 개인 키를 사용해 트랜잭션의 해시값을 암호화한다. 생성한 암호문을 트랜잭션에 디지털 서명으로 첨부한다. , 트랜잭션 서명이란, 트랜잭션 데이터의 암호화 해시값을, 소유권을 이전하려는 계정의 개인 키를 이용해 암호화한 것이다.

 

 트랜잭션 검증: 서명을 제외하고 검증할 트랜잭션 데이터의 해시값을 생성한다. 검증하려는 트랜잭션의 디지털 서명을 복화한다. ①에서 얻은 해시값과 에서 얻은 복화한 데이터값을 비교한다. 두 값이 동일하면 소유권을 이전하려는 계정에 해당하는 개인 키 소유자가 승인한 트랜잭션이고, 두 값이 다르면 그렇지 않다는 결론을 내린다.

 

 트랜잭션 데이터의 디지털 서명은 다음 두 가지의 조합이다.
 -
트랜잭션 데이터의 암호화 해시값
 -
계정의 개인 키로 추적해서 특정할 수 있는 암호문
암호화 해시값은 디지털 지문으로, 각 트랜잭션마다 고유한 값을 가진다. 공개-개인-키 암호화 기법의 속성상 특정 키로 생성된 암호문은 오로지 상응하는 키로만 복화된다. 이러한 속성으로 인해 디지털 서명을 생성하는 데 사용한 개인 키를 소유한 사람이 그 트랜잭션의 내용에 동의했음을 증명하는 증거로 사용할 수 있다.

 

 

※  함께 읽으면 좋은 글

[독서 기록] 최고의 블록체인 입문서 (블록체인 무엇인가?)

[독서 기록] 비트코인부터 시작하는 블록체인 & 가상화폐 입문서 (외계어 없이 이해하는 암호화폐)

[독서 기록] 블록체인과 암호화폐를 가볍게 접하는 입문서 (만화로 배우는 블록체인)

댓글