Mnemonic 이란?

Henry Kang
Hexlant
Published in
4 min readMay 23, 2018

mnemonic 의 사전적 의미는 다음과 같습니다.

어떤 것을 기억하는 데 쉽게 하도록 도움을 주는 것, 또는 쉽게 기억되는 성질.

- 기억의 여신 므네모시네(Mnemosyne)

mnemonic 의 어원은 그리스 신화의 기억의 여신 므네모시네(Mnemosyne) 에서 유래 되었습니다. 므네모시네의 자녀인 뮤즈(Muses)는 올림포스 산의 신들의 축제에서 아폴론을 도와 음악을 연주 하였는데, 악보가 없는 세계라 기억력에 의존하여 연주할 수 있었다고 합니다.

니모닉이란 어원 자체가 “기억”에 기반하고 있습니다.

Assembly

니모닉은 초기 컴퓨터 개발에서 시작된 중요한 개념입니다. 컴퓨터는 Machine Language 라는 기계가 직접 이해할 수 있는 2진수(0, 1) 언어를 갖습니다.

1+2+3+4 + … + 100 은 다음과 같이 표시할 수 있습니다. 000000000001000011101111….. 이러한 기계어를 사람은 이해하기 어렵고 복잡하기 때문에 이를 해결하고자 어셈블리어가 나오게 됩니다.

어셈블리어는 니모닉을 사용한 언어로써, 기계어로 이뤄진 명령어를 상징적인 기호로 변환한 것입니다.

- Assembly

따라서 0과 1로 이루어졌던 + 연산도 add 로 표현할 수 있게 됐습니다. 이처럼 니모닉은 특정 문자를 알기쉽게 또는 기억하기 쉽게 표현하는 방법입니다.

또한 그 후에 등장한 C언어, C++, Java 역시 어셈블러의 어려움을 프로그래머로 하여금 더 쉽게 개발된 언어로써 니모닉이라고 볼 수 있습니다.

다음 3개의 식은 모두 같은 표현입니다

00000000 00000000 10110000 01110001

mov al, 061h

int result = a x b;

Blockchain Account

블록체인 서비스를 많이 사용하신 분들은 흔히 다음과 같은 형태에 익숙 할것 입니다.

ETH Address : 0xA30aDB628B746ACe9C2e481Ba188C606D82C9516

개인키(Private Key) : 5a86a8e3783004048b80f62146b47651a0ddc07757e87580c875320b25f621fc

** PK는 Public Key 의 소유를 증명하는 중요한 키로써 절대 그 누구에게도 노출하면 안됩니다.

위에서 보듯이 개인키는 매우 복잡하고 어렵게 배치 되어 있고 노출 되더라도 다른 사용자로 하여금 쉽게 기억될수 없게 만들어져 있습니다.

비트코인, 이더리움, 퀀텀등 코인들은 이 개인키를 암호화 한 Keystore 파일을 제공합니다. 또한 사용자가 쉽게 Account Address에 접근하기 위하여 Mnemonic Phrase 를 제공합니다.

본 글에서 유추할수 있듯이 Mnemonic Phrase역시 PK에 비해 매우 쉬운 단어의 배열로 이루어져 있습니다.

Mnemonic Phrase : replace void fancy believe buddy fat angry egg comfort shuffle envelope office

Mnemonic Phrase는 Private Key와 똑같은 역할을 합니다. 따라서 이 Phrase역시 그 누구에게도 노출하면 안됩니다.

Key management on DApp Service (3/3) — Jason 님의 글에서도 볼 수 있듯이 Ethereum Wallet으로 유명한 MEW 에서는 다음과 같이 Keystore 와 Mnemonic문구로 로그인을 할 수 있습니다.

myetherwallet.com

마무리

Mnemonic은 사용자에게 기억을 편하게 하기위해 사용되고 있습니다. 단어자체는 처음들어볼지 몰라도 핸드폰 단축키, 줄임말등으로 우리는 이미 니모닉을 사용하고 있습니다. 블록체인에서도 니모닉이 사용되고 있으며 이는 우리에게 편의를 제공합니다.

다음글에서는 개인키(Private Key) 와 Mnemonic Phrase의 관계에 대해 포스팅 하도록 하겠습니다.

--

--