안녕하세요 블록체인 담당입니다.

오늘은 블록체인에 대해 좀 더 깊게 이해해보는 시간을 가지려고 하는데요.

 

블록체인을 이해하는데 있어, 참 공부해야 할 것이 많습니다.

공개키 암호화, 전자서명, Hashing, 합의 알고리즘, 채굴, 머클트리 등등 하나 하나가 중요하지 않은 개념이나 기술은 없기 때문에 어디서부터 봐야할지 막막할 수 있는데요. 높은 곳에 올라가 숲을 바라보듯 블록체인 네트워크가 어떻게 생겼는지, 그 topology를 이해하면 처음 개념을 잡는데 많은 도움이 됩니다.

블록체인 네트워크는 크게 봤을 때, 노드와 월렛로 구성됩니다.

 

노드란?

기존의 중앙화된 방식은 중앙의 서버에 서비스에 필요한 원본 데이터 혹은 장부(Ledger)가 저장되어 있고, client들은 중앙 서버만 바라보는 방식이었습니다. 장부는 database나, spreadsheet 등 다양한 형태로 저장될 수 있는데, client에는 장부가 없기 때문에 모든 정보의 기준은 중앙서버의 장부였습니다.

반면 블록체인은 분산된 노드라는 컴퓨터들이 네트워크를 구성하고 있으면서, 원본/ 복사본의 구분이 없이 동일한 장부를 모두 한 벌씩 가지고 있는 방식입니다. 모두가 원본입니다. 그래서 분산원장이라고도 불립니다. 어떤 노드에 조회를 하여도 원본 장부를 확인할 수 있습니다.

 

어떤 컴퓨터가 노드로 불리려면, 최소한의 요구조건이 있습니다.

수신한 Transaction 주고 받고, 검증하고, block을 주고 받고 검증하며, 보관까지 해 주어야 노드라 볼 수 있습니다. 여기서 transaction은 ‘장부에 이 정보를 기록(Write) 해주시오’ 하고 요청하는 것을 의미하고, block 은 이 transaction들의 뭉치를 의미합니다.

노드의 구현 형태는 다양합니다. 위의 최소 요건만 맞고, 해당 블록체인의 protocol을 위배하지 않는 다면, 어떻게 구현되었더라도 네트워크에 참여할 수 있기 때문입니다. Java, CPP, Go, 어떤 언어로 구현하여도 문제가 없습니다. 서버처럼 대용량 컴퓨터 일수도 있고, Desktop 컴퓨터, 스마트폰 일수도 있습니다.

 

그러면 월렛이란?

막상 월렛이라 하면, 돈이 들어있을까 싶은데, 블록체인 월렛에는 돈이 들어 있지 않습니다.

노드의 장부에 기록(write)을 남기려면 기록 저장 및 보관 비용을 지불해야 하는데요. 이 비용 지불에 대해 사용자가 확인 및 승인을 하기 위해서는 전자서명(Signature) 이 필요합니다.

전자서명은 부동산 거래할 때 인감도장을 찍는 행위(날인)와 같습니다. 여기서 인감도장에 해당하는 것이 바로 개인키(private key)입니다. 재산이 왔다 갔다 하기 때문에 인감도장은 매우 중요하지요? 안전한 장소에 잘 보관을 해야 합니다. 개인키도 마찬가지입니다. 안전하게 보관하는 것이 중요합니다. 월렛의 최소요건은 개인키를 보관하는 것입니다. 반대로, 개인키를 보관하지 않는다면 기술적으로는 그것을 월렛으로 보기 어렵다는 의미입니다.

그래서 일반적으로 돈을 보관하는 월렛과는 조금 다르지만, 굳이 예를 든다면, 도장지갑 정도로 이해하시는 게 정확하겠습니다.

월렛의 종류도 다양한데요. 부가적으로 서명(인감도장 찍는 행위), Transaction 생성(매매계약서 작성) 등 부가적인 기능을 얼마나 더 지원하느냐의 차이가 있을 수 있고, 개인키를 어디에 보관하느냐의 차이도 존재합니다.

 

자! 그러면 한번쯤 들어봤을 법한 블록체인 관련 기존 product들은 노드, 월렛 어디에 속할까요?

 

거래소 앱은?

거래소 앱은 분산장부를 보관하지 않습니다. 노드가 아니고요, 블록체인 거래에 필요한 private key도 보관하지 않습니다. 따라서 월렛도 아닙니다. 은행 앱과 비슷합니다. 실제 블록체인 개인키는 거래소 서버에 보관되어 있습니다.

 

마이이더월렛(MyEtherWallet), 메타마스크(MetaMask), 미스트(Mist) 등 브라우저 extension 들은?

월렛입니다. 브라우저에 확장앱만 설치하여 편리하게 블록체인에 transaction을 보낼 수 있습니다. 브라우저에 개인키가 저장됩니다만, 최근에는 일련의 보안 사고로 Hardware Wallet과 연동하여 사용하는 방식이 권장되고 있습니다.

 

"Bitcoin Core" , “Geth”?

기본적으로 노드의 기능을 Fully 수행하기 위한 SW 인데, 부가적으로 월렛의 기능을 제공합니다.

Client가 RPC 를 통해 비밀번호를 치는 등 인증을 거쳐 원격으로 접근하여 월렛 기능을 사용할 수 있습니다.

 

마이닝을 하지 않는 노드?

질문에 답이 있습니다. 노드입니다.

네트워크에 참여하여 장부는 유지하면서 거래를 조회하지만, 많은 전기를 쓰는 채굴에는 관심이 없다면, 마이닝 기능을 비활성화할 수 있습니다. 나만의 원장 조회 서버를 가질 수 있습니다.

 

종이??

극단적으로 개인키를 종이에 인쇄할 수 있습니다. 꼭 개인키가 아니어도 개인키를 유도할 수 있는 정보를 인쇄하여 보관할 수도 있습니다. 월렛이라 볼 수 있습니다.

 

블록체인 응용 제품들이 속속 시장에 나오고 있는데요. 지금까지 설명 드린 기준을 참고하셔서, 새로운 제품이 나왔을 때 그것이 본질적으로 노드 기능을 제공하는 것인지, 월렛 기능을 하는 것인지, 아니면 이도 저도 아닌지 각자 자신만의 시각으로 판단해 보시면 좋겠습니다.

 

감사합니다!!

13 댓글
헤르가스
Active Level 1
xrp 지갑 넣어줘요 ~!!
답글
로드 중...
Highlighted
블록체인 담당님.. 좋은 정보 감사합니다. 🤗

사용자분들이 조금 더 쉽게 이해할 수 있도록..
가능하다면.. 이미지나 도표가 글 속에 함께 제공되면 좋지 않을까 건의드려봅니다. 😊
답글
로드 중...

안녕하세요 님~

말씀하신대로 다음엔 보다 쉽게 이해할 수 있도록 이미지 등이 포함된 컨텐츠로 찾아뵙겠습니다~!! 

 

좋은 의견 감사합니다

답글
로드 중...
시노세혀기
Expert Level 5
블록체인담당님 좋은 글과 우리가 들어본 쉬운 예시를 들어주신 것 같습니다.

생소해서 어렵게 다가오는데 종종 다시 읽어보고 읽어보고 해야겠습니다!!
답글
로드 중...
이유하
Active Level 1

와- 정말 쉽고 좋은 설명입니다! 블록체인 키스토어 쓸 때 나오는 단어들이 개인키라고 볼 수 있겠군요! 설명 감사합니다.

답글
로드 중...
체인빌리버
Active Level 3
헷깔렸던 부분들이 쪼금 명확해 졌어요. 재밌네요!!
답글
로드 중...
싱클레어고든
Beginner Level 5

인감 도장, 매매 계약서에 비유한 쉬운 설명 덕분에 이해가 잘 되네요~ 감사합니다

답글
로드 중...
마라파닥
Beginner Level 4

오오 머리에 쏙쏙 들어오네요~

답글
로드 중...
풀어써주셨음에도 개념자체가 생소한지라 조금 어렵네요😂
그럼에도 새로운 것을 배워가는 느낌이라 좋습니다
다음번에는 어떤 방식,플로우로 작동하는지 가르쳐주세요🤩
답글
로드 중...