[신뢰의 혁명, 블록체인의 철학 007] '블록체인 기술 개관' 번역 연재 07회. "3 블록체인의 구성요소 중 '3.3 비대칭키 암호학 및 3.4 주소와 주소 도출'"
번역 연재 소개의 말
미국 국립표준기술원(National Institute of Standards and Technology, NIST)에서 2018년 10월 3일에 발간한 "블록체인 기술 개관"(Blockchain Technology Overview) 이라는 66쪽 짜리 보고서 최종본(National Institute of Standards and Technology Internal Report (NISTIR) 8202)을 번역합니다. 이 보고서의 초고는 2018년 1월 24일에 공개되었고, 많은 공개 논평(public comment)를 받아 새롭게 작성되었습니다.
문서와 관련된 자세한 내용은 다음 포스팅을 참고하세요.
[신뢰의 혁명, 블록체인의 철학 001] '블록체인 기술 개관' 번역 연재 01회. "목차"
많은 호응과 후원 부탁드립니다. 그리고 오류가 있으면 거침없이 지적해주세요. 번역물의 저작권은 저에게 있고, 출처와 함께 링크로 퍼가시기 바랍니다. 보팅과 리스팀은 고래도 춤추게 합니다. 맨 아래 dclick 광고 링크도 한 번 눌러주고 가시면 제게 도움이 됩니다.
이번 회는 "3 블록체인의 구성요소 중 '3.3 비대칭키 암호학 및 3.4 주소와 주소 도출'"입니다.
- 관련 포스팅
[신뢰의 혁명, 블록체인의 철학 006] '블록체인 기술 개관' 번역 연재 06회. "3 블록체인의 구성요소 중 '3.2 거래'"
[신뢰의 혁명, 블록체인의 철학 005] '블록체인 기술 개관' 번역 연재 05회. "3 블록체인의 구성요소 중 '3.1 암호 해시 함수'와 '3.1.1 암호 난스'"
[신뢰의 혁명, 블록체인의 철학 004] '블록체인 기술 개관' 번역 연재 04회. "2 블록체인의 범주"
[신뢰의 혁명, 블록체인의 철학 003] '블록체인 기술 개관' 번역 연재 03회. "들어가는 말"
[신뢰의 혁명, 블록체인의 철학 002] '블록체인 기술 개관' 번역 연재 02회. "보고서 개요"
[신뢰의 혁명, 블록체인의 철학 001] '블록체인 기술 개관' 번역 연재 01회. "목차"
3.3 비대칭키 암호학
블록체인 기술은 비대칭키 암호학(각주4)(공개키 암호학으로 지칭되기도 함)을 사용한다. 비대칭키 암호학은 한 쌍의 키를 사용한다. 공개키와 개인키가 그것인데, 이 둘은 서로 수학적으로 연관되어 있다. 공개키는 과정의 보안을 감소시키지 않으면서도 공개되지만, 개인키는 데이터가 암호학적으로 보호되도록 유지하려 한다면 비밀로 남겨두어야 한다. 두 키 간에 연관성이 있긴 하지만, 개인키는 공개키에 대한 지식에 기초하더라도 효과적으로 확정될 수 없다. 개인키로 암호화한 다음 공개키로 해독할 수 있다. 그게 아니면, 공개키로 암호화한 다음 개인키로 해독할 수 있다.
비대칭키 암호학은, 거래의 무결성과 진정성을 검증하는 메커니즘을 제공하면서도 동시에 거래를 공개된 채로 두도록 함으로써, 서로 알지 못하거나 신뢰하지 못하는 이용자들 간에 신뢰 관계를 가능케 한다. 이를 위해 거래는 '디지털 서명'된다. 공개키가 있는 누구라도 거래를 해독할 수 있도록 거래를 암호화하는 데 개인키가 사용된다는 말이다. 공개키는 누구라도 자유롭게 이용할 수 있기 때문에, 개인키로 거래를 암호화한다는 것은 거래 서명자가 개인키에 접속했다는 것을 증명한다. 그게 아니면, 개인키에 접속할 수 있는 이용자들만 해독할 수 있게끔 이용자의 공개키를 가지고 데이터를 암호화할 수 있다. 결점은 비대칭키 암호학이 종종 계산하기 느리다는 점이다.
이것은 하나의 비밀키가 암호화와 해독 둘 다에 사용되는 대칭키 암호학과 대조된다. 대칭키 암호학에서 이용자들은 미리 공유된 키를 교환하기 위해서는 이미 서로 신뢰 관계가 세워져 있어야만 한다. 대칭 시스템에서는, 미리 공유된 키로 해독될 수 있는 암호화된 데이터는 공유된 키에 접속할 수 있는 다른 이용자가 보냈다는 점을 확증한다. 미리 공유된 키에 접속할 수 없는 이용자는 해독된 데이터를 볼 수 없다. 비대칭키 암호학과 비교하면, 대칭키 암호학은 계산하기 매우 빠르다. 이 점 때문에, 비대칭키 암호학을 이용해서 뭔가를 암호화하고자 할 때, 종종 데이터는 대칭키 암호학으로 암호화된 다음 그 대칭키가 비대칭키 암호학을 사용해서 암호화된다. 이 '트릭'은 비대칭키 암호학의 속도를 엄청나게 높일 수 있다.
많은 블록체인 네트워크에서 비대칭키 암호학의 사용을 요약하면 이러하다:
- 개인키는 거래를 디지털 서명하는 데 사용된다.
- 공개키는 주소를 도출하는 데 사용된다.
- 공개키는 개인키로 생성된 서명을 검증하는 데 사용된다.
- 비대칭키 암호학은, 다른 이용자에게 어떤 가치를 양도한 이용자가 거래를 서명할 수 있는 개인키를 소유하고 있음을 검증할 능력을 제공한다.
몇몇 허가형 블록체인 네트워크는, 각 블록체인 네트워크 이용자가 각자 자기 비대칭키를 관리하게 하기보다는,사업자의 현존하는 공개키 하부구조를 강화해서 비대칭키 암호학으로 사용자 인증서를 제공한다. 이 일은 현존하는 디렉토리 서비스를 이용하고 블록체인 네트워크 안에 있는 정보를 사용함으로서 작동한다. 현존하는 디렉토리 서비스를 이용하는 블록체인 네트워크는 Lightweight Directory Access Protocol (LDAP) [주10] 같은 현존하는 프로토콜을 통해 거기에 접근할 수 있으며, 디렉토리로부터 현지에서 정보를 이용하거나 블록체인 네트워크 내 내부 인증 기관에 정보를 들여옴으로써 그렇게 할 수 있다.
3.4 주소와 주소 도출
몇몇 블록체인 네트워크는 주소를 이용한다. 주소란 암호 해시 함수를 사용해 블록체인 네트워크 이용자의 공개키로부터 도출된 글자와 숫자를 써서 만든 짧은 문자열이며, 몇몇 추가적인 데이터(가령, 버전 넘버, 검사 합계(=체크섬))를 담고 있다. 대부분의 블록체인 시행은 거래에서 "~에서(from)"와 "~로(to)"의 양 끝점으로 주소를 이용한다. 주소는 공개키보다 짧고, 비밀이 아니다. 주소를 생성하는 한 가지 방법은 공개키에 암호 해시 함수를 적용하고, 해시를 텍스트로 변환함으로써, 공개키를 창조하는 것이다:
공개키 → 암호 해시 함수 → 주소
각 블록체인 시행은 주소를 도출하는 서로 다른 방법을 시행할 수 있다. 익명 계정 창조를 용인하는 비허가형 블록체인 네트워크에서, 블록체인 네트워크 이용자는 원하는 만큼 많은 비대칭키 쌍을, 따라서 주소를, 생성할 수 있으며, 다양한 수준의 가명-익명성을 용인한다. 주소는 블록체인 네트워크에서 이용자를 위한 공개형(public-facing) 식별자로 작용하며, 종종 주소는 모바일 장치로 쉽게 사용할 수 있도록 QR코드(Quick Respons Code, 임의의 데이터를 포함할 수 있는 2차원 바코드)로 변형된다.
<그림2 Figure 2 - 아래 예시 텍스트를 코드화한 QR코드 예시
“NISTIR 8202 - Blockchain Technology Overview QR code example example”>
블록체인 네트워크 이용자가 블록체인 네트워크 내의 유일한 주소 원천인 건 아니다. 일단 스마트 컨트랙트가 블록체인 네트워크 내에서 배치되기 시작하면, 스마트 컨트랙트에 접속하는 방법이 꼭 제공되어야 한다. 이더리움에서, 스마트컨트랙트는 컨트랙트 계정이라고 불리는 특수한 주소를 경유해서 접속 가능하다. 이 계정 주소는 스마트 컨트랙트가 배치될 때 창조된다(컨트랙트 계정을 위한 주소는 스마트 컨트랙트 창조자의 주소로부터 결정론적으로 계산된다[주11]). 이 컨트랙트 계정은 거래를 수신할 때마다 컨트랙트가 실행될 수 있게 하며, 역으로 추가의 스마트 컨트랙트를 창조할 수 있게 한다.
출처: BLOCKCHAIN TECHNOLOGY OVERVIEW, pp. 11 ~ 13.
두리뭉실하게 알고 있었던 내용인데 , 깔끔하게 번역된 글로 조금 더 이해를 한 것 같습니다. 감사합니다.
디보클 하고 갑니다.
포스팅 미리보기에서 보이는...
미로드앙~!
근데 막혀있드앙~! ㅋ
디클릭 ♥ 사랑 함께 응원합니당~!
행복한 일욜 ♥ 보내셔용~^^
Posted using Partiko Android
즐거운 주말보내세요:]
오늘도 디클릭!
li-li님의 평론가들의 도서리뷰 # 61 (190111)
짱짱맨 호출에 응답하여 보팅하였습니다.
Hi @armdown!
Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 4.357 which ranks you at #2367 across all Steem accounts.
Your rank has improved 24 places in the last three days (old rank 2391).
In our last Algorithmic Curation Round, consisting of 430 contributions, your post is ranked at #227.
Evaluation of your UA score:
Feel free to join our @steem-ua Discord server