요약: 트랜잭션 데이터와 디지털 서명
'블록체인 작동원리 25단계'는 논리적 흐름에 따라 작성된 시리즈물이다. 기반 지식이 있다면 필요한 내용만 골라 보는 것도 가능하겠지만, 생소하다면 처음부터 순서대로 읽는 것을 추천한다.
- 처음 글 : #0. 누구나 이해할 수 있는 블록체인 작동원리 25단계
- 이전 글 : #12. 누구나 이해할 수 있는 블록체인 작동원리 25단계
※ 셋째 마당 (8~21단계) 키워드: 블록체인의 주요 개념과 기술
[13단계] 노드 여러분, 트랜잭션을 승인합니까? 디지털 서명 만들어 검증에 사용하기
■ 문서의 자필 서명은 서명한 사람이 문서 내용에 동의하며 그 내용의 실행을 승인한다는 명시적인 표시다.
■ 자필 서명은 사람마다 고유하기 때문에 증거능력을 가진다.
■ 디지털 서명은 자필 서명을 디지털로 구현한 것이다.
■ 디지털 서명은 두 가지 역할을 수행한다.
- 유일한 서명자 식별하기
- 서명자가 문서 내용에 동의하고 그 내용의 실행을 승인했음을 명시하기
■ 디지털 서명은 개인 → 공개 방식의 정보 흐름을 활용하여 암호화 해싱과 비대칭 암호화 기법을 적용한다.
- 서명의 생성: 고유한 개인 키를 사용해 생성되었으므로 누가 생성했는지 특정할 수 있다.
- 서명을 이용한 데이터 검증: 두 가지를 확인할 수 있다. ①이 메시지는 내가 서명했다. 나의 공개 키를 사용해 서명을 복호화할 수 있었기 때문이다. ②메시지가 원래 보내려 한 것과 동일하다. 복호화된 암호문이 메시지의 해시값과 일치하기 때문이다.
■ 블록체인에서 디지털 서명의 용도는 다음 두 가지다.
- 트랜잭션 서명
- 트랜잭션 검증
■ 트랜잭션 서명: 계정 번호, 이체 총액 등 트랜잭션에 필요한 모든 정보를 기술한다. 트랜잭션 데이터의 암호화 해시값을 생성한다. 소유권을 이전하려는 계정의 개인 키를 사용해 트랜잭션의 해시값을 암호화한다. 생성한 암호문을 트랜잭션에 디지털 서명으로 첨부한다. 즉, 트랜잭션 서명이란, 트랜잭션 데이터의 암호화 해시값을, 소유권을 이전하려는 계정의 개인 키를 이용해 암호화한 것이다.
■ 트랜잭션 검증: ①서명을 제외하고 검증할 트랜잭션 데이터의 해시값을 생성한다. ②검증하려는 트랜잭션의 디지털 서명을 복화한다. ①에서 얻은 해시값과 ②에서 얻은 복화한 데이터값을 비교한다. 두 값이 동일하면 소유권을 이전하려는 계정에 해당하는 개인 키 소유자가 승인한 트랜잭션이고, 두 값이 다르면 그렇지 않다는 결론을 내린다.
■ 트랜잭션 데이터의 디지털 서명은 다음 두 가지의 조합이다.
- 트랜잭션 데이터의 암호화 해시값
- 계정의 개인 키로 추적해서 특정할 수 있는 암호문
암호화 해시값은 디지털 지문으로, 각 트랜잭션마다 고유한 값을 가진다. 공개-개인-키 암호화 기법의 속성상 특정 키로 생성된 암호문은 오로지 상응하는 키로만 복화된다. 이러한 속성으로 인해 디지털 서명을 생성하는 데 사용한 개인 키를 소유한 사람이 그 트랜잭션의 내용에 동의했음을 증명하는 증거로 사용할 수 있다.
※ 함께 읽으면 좋은 글
[독서 기록] 최고의 블록체인 입문서 (블록체인 무엇인가?)
'블록체인' 카테고리의 다른 글
#15. 누구나 이해할 수 있는 블록체인 작동원리 25단계 (1) | 2022.09.09 |
---|---|
#14. 누구나 이해할 수 있는 블록체인 작동원리 25단계 (2) | 2022.09.08 |
#12. 누구나 이해할 수 있는 블록체인 작동원리 25단계 (1) | 2022.09.04 |
#11. 누구나 이해할 수 있는 블록체인 작동원리 25단계 (0) | 2022.09.03 |
#10. 누구나 이해할 수 있는 블록체인 작동원리 25단계 (0) | 2022.09.01 |
댓글