블록체인 기술에 대한 많이 쉬운 이해

in kr •  7 years ago  (edited)

안녕하세요? Steemit에 처음 글을 올려봅니다. 많은 곳에서 블록체인과 관련해 설명하는 자료들은 많지만, 개발자가 아닌 분들이 보셨을 때 외계어(?) 같은 개발용어가 너무 많고, 어찌보면 블록체인과 비트코인을 섞어서 언급하기도 해서 그 차이와 이해가 생각보다 어려우신 분들을 위해, 저도 개알못(개발은 알지 못하지만...)이지만 더 잘 모르는 분들을 위해 쉽게 설명해본 내용을 올려봅니다. 기술적으로 따지자면 오늘 밤을 새도 모자라니 너무 따지진 마시구요 :)

serverclient_p2p.png

출처: Wikipedia (https://en.wikipedia.org/wiki/Peer-to-peer)

옛날에 우리가 스타크래프트나 카트라이더, 리니지 등 게임을 할 때 접속하는 뭔가 크고 알흠다운 서버(메인 프레임이라는 이름을 기억하시면 아재인증...)라는, 큰 컴퓨터에 클라이언트(내 개인용 컴퓨터나 스마트폰)가 접속해서 무언가 나에게 필요한 정보들을 서로 주고 받으며 일을 진행해왔지요. 친구가 사진을 올리거나 새로운 소식을 알려준다면 당연히 통신에 접속해서 필요한 정보들을 가져옵니다.

예전에 모바일 통신환경이 안 좋을 때에는 모바일 앱스토어에서 앱을 다운로드 받으면 혼자서 실행되었지만, 최근 거의 모든 인터넷 접속을 이용한 모바일 서비스들이 중앙 서버에 연결하도록 만들어지고 동작되는데, 우리가 매일(!)쓰는 메일(mail)부터 시작해 각종 은행, Facebook / Instagram 같은 우리가 많이 쓰는 서비스들은 거의 대부분 이런 구조로 구성되고 만들어지고 있어요.

facebook_map.png

출처: Paul Butler https://paulbutler.org/archives/visualizing-facebook-friends/

바로 이런 서버라는 컴퓨터가 성능이 좋아야 많은 이용자들을 처리할 수 있기 때문에 규모나 덩치도 꽤 큰데다 더운 열기를 식히기 위해 시원한 곳에서 식혀야 하니, IDC라 불리는 Data Center에 대규모 서버호텔(?) 시설들도 필요해졌고 이걸 여러분들도 홈페이지 만들 때 잘 아시는 '서버 호스팅(server hosting)'이란 이름으로 부릅니다. 최근 빅데이터 이야기를 하거나 Cloud computing 등이 미래다라는 이야기가 많이 하면서 인터넷/모바일 서비스를 위한 장비들을 모아두는 곳이 바로 여기입니다.

인터넷/모바일 서비스를 운영하기 위해선 작게는 한 대 혹은 여러대의 서버 하드웨어가 사용되는데, 한가할 때는 자원이 낭비되거나 급할 때 이용자가 몰릴 때도 있어서, 가상화(Virtual Machine, VM)라는 기술로 큰 하드웨어에서 소프트웨어 기술을 통해 작게 서버를 나누어 쓰자는 개념이 생겨났고 최근들어 Amazon Web Service, Google Cloud Platform, Microsoft Azure 같은 Cloud 서비스가 정말 많이 쓰이고 있으며, 이런 블록체인 기술기반 코인 ICO의 백서(Whitepaper)들에서도 네트워크 자원에서 동작하는 VM(Virtual Machine) 등의 기술용어가 나오기도 합니다.

network-2402637_1280.jpg

이미지 출처: http://www.pixabay.com

근데 이런 인터넷 컨셉의 시작이 6,70년대 군사 네트워크인 ARPANET에서 시작 되었을 정도로 오래된 기술이고, 은행 전산망이나 우체국과 전화국의 네트워크 장비들도 꽤 오래전부터 쓰이던 기술들인데, 이런 전기처럼 촘촘하게 연결되어 있는 네트워크 안에서 한국에 있는 내가 샌프란시스코나 LA에 있는 친구들과 서로 회선을 연결해 항상 서로 얽히고 연결되어 통신되는 망에서 P2P(peer to peer)라는 개념 즉, 연결된 컴퓨터 성능들이 점점 좋아지고 있으니 이 자원들을 이용해 나누어서 쓰면 굳이 크고 알흠다운(?) 서버를 줄일수 있지 않을까라고 생각하기 시작해요.

특히 중앙집중형(centralized) 서버구조라면 사실 여러분들 경험해보셨을 수강신청할 때 서버다운이나, 각종 항공 최저가티켓 예매 등 매우 급격하게 이용자가 몰릴 경우 네트워크가 느려지는 것은 물론이고 서비스조차 어려운 경우가 많아지게 되지요. 물론 수십년 동안 네트워크 연결기술이나 회선 스위칭 기술들을 통해 하드웨어도 좋아졌고, 서버 여러대가 몇 십만, 백만명을 대상으로 서비스할 수 있지만 생각보다 이런 서비스를 관리하고 운영하기 위해서는 보이지 않는 곳에서 매우 많은 비용과 엔지니어들의 노력들이 들어가게 됩니다.

C53jUEOUsAARAcF.jpg

우리가 수강신청을 할 때도, 특가에 해외여행 한 번 가겠다고 항공사 페이지를 들어가도 사용자들이 몰리면 자주 만나지요. 출처: 트위처 https://twitter.com/hashtag/서버다운

사실 인터넷 서비스, 여러분들이 동영상을 보기 위해 어딘가 영상 데이터를 저장해두거나, 필요한 정보들을 저장하는 데이터베이스(database)와 관련해서 정말 많은 기술들이 있었지만, 이 기술들도 정말 많은 이용자들이 몰려서 쓰는 서비스에서는 생각보다 많은 장애상황이 발생하고 있고, 네트워크 카드가 먹통이 되거나 저장하는 하드디스크가 고장나거나(...) 정말 여러가지 문제들이 발생하기 때문에, 많은 정보들을 안전하고 빠르게 저장하고 사용하기 위해 매우 많은 비용과 노력들이 들어갑니다.

그래서 이런 거미줄처럼 생긴(WWW, World-wide Web) 네트워크 연결을 이용해 음악 파일을 나누어 공유할 수 있지 않을까라고 생각해서 출발한 것이 냅스터(Napster), 파일을 중앙서버에 보관하는 대신 나누어서 가지고 있자며 시작한 토렌트(Torrent), 라이브 방송 같은 동영상을 한 서버에서 접속해서 스트리밍을 위해 전송 받으면 네트워크 뿐만 아니라 서버 장비에 너무 일시적인 접속을 위해 많은 자원에 소모되므로 이걸 나누어 배포하는 P2P 동영상 서비스 등이 나타나게 되어요. (예전에 PC용 네이버 동영상 플레이어가 이런 일들을 했고 PC용 프로그램 중에 이런 역할을 하는 것들이 있었습니다)

TiversaGraphic.png
이미지 출처: https://www.cnet.com/news/can-peer-to-peer-coexist-with-network-security/

이런 흔히 소모하는 데이터들 뿐만 아니라 중요한 가치의 오고감에 대한 기록들을 남기고 흘려 보내기 위해 데이터를 블록으로 쪼개어 보내고 이게 누가 누구에게 보낸 것인지 정확한지 확인하기 위해 암호화 과정에서 해시(hash) 값이라는 것도 함께 흘러다니게 되는데, 이걸 꾸준하게 확인해주고 처리하기 위해서는 스마트폰 쓰기 위해 동네에 중계기 설치가 필요하듯이 어떤 컴퓨터들이 꾸준하게 이 정보들을 메아리처럼 다시 전송하고 확인해주기 위해 동작하고 있어야 하죠.

그래서 이런 컴퓨터 자원과 블록체인 네트워크를 유지하고 돌아가기 위해 전기 등 각종 비용의 경제적인 보전이 필요해졌고, 대표적인 블록체인 기술의 활용사례인 비트코인 등에서는 일종의 화폐 발행이란 개념을 채굴(mining)이라는 이름으로 보상하고 있어요. 그래서 채굴한다고 이야기하시는 분들은 기존 위에서 보여드린 크고 알흠다운(?) 중앙 집중형 IDC가 아닌 작은 규모의 컴퓨터 (그래픽카드의 GPU를 이용한 해시파워로 ) IDC를 운영하고 계시는 셈이고 그 임대한 자원들의 사용료를 받고 계신다고 생각하시면 이해하기 편합니다.

DSCF1841.jpg

크고 알흠다운 Bitcoin.com Pool https://pool.bitcoin.com/

단순히 금융에서 분산 원장만 가지고 이런 블록체인 기술의 가치를 설명하기 보다는 분산(decentralized)된 데이터베이스들을 이용해서 매우 다양한 시도와 비즈니스를 해볼 수 있는데, 기존에 중앙 집중형(centralized) 구조에서는 연결했을 때 고성능과 빠른 응답이 최우선이었다면, 이런 블록체인 기술들을 통해 속도는 다소 느리더라도(!) 방대한 데이터들을 굳이 한군데에 저장해서 문제 생기기 보단, 분산해서 흘려보내고 신뢰할 수 있는 검증 방법들이 추가된다면 꽤 높은 가치를 기대해볼 수 있습니다.

비트코인 이후에 등장한 이더리움(Ethereum)이 이런 거래에 걸리는 시간을 10초 이내로 줄이겠다며 나섰고, 요즘 등장하는 새로운 코인들도 이런 기존 코인들이 해결하지 못하는 문제들을 해결하기 위해 ICO를 통해 자본을 조달하고 있으며, 꽤 많은 기술적 도전이 이루어지고 있는데, 이 기술적 내용들을 정리한 문서가 종종 만나시는 백서(Whitepaper)이지요. 근데 기존 은행들도 있는데 이런 시도들이 왜 이루어지고 있는걸까요?

mainframe2.jpg

왼쪽은 Lloyds 은행이 1970년대에 도입한 메인프레임 서버, 출처: http://ksem.tk/1970-mainframe-computers/, 오른쪽은 중국 ICBC 은행이 2014년에 도입한 IBM 메인프레임, 출처: http://www.zdnet.com/article/ibm-lands-commercial-bank-of-china-mainframe-deal/ 그냥봐도 비싸게 생겼습니다(...)

쉽게 비교하자면 대표적인 비트코인만 놓고 보더라도 믿을만한 인터넷 은행의 전산 시스템을 만들기 위해 최소 몇백 몇천억의 비용을 지불해야 한다면 비트코인으로 구축하는 비용은 분명 저렴한데다 방대한 데이터들을 굳이 한 곳에 저장하지 않아도 되므로 이에 대한 관리 및 유지 비용도 절약할 수 있다는 기대를 해볼 수 있겠지요. (재미삼아 은행의 차세대 시스템 구축 예산이나 최근 인터넷 은행들의 구축비용을 살펴보세요. 링크: http://news.devmento.co.kr/news/messageDetail.do?messageId=118511)

특히 기존 은행들은 구형 메인 프레임을 비롯해 각종 금융거래 기록을 기간계, 정보계 등 꽤 많은 계층으로 나누어져 움직이는데, 실제 은행 시스템에선 내 계좌에 얼마라고 찍혀 있어도 특정 계층의 정보인 뿐 실제로 돈이 움직인 상황은 아닌데 반해 비트코인에서 송금이 완료 되었다고 나온다면 진짜 움직인 곳으로 여러 곳에서 확인된 정보임으로 이런 시스템 보다는 상대적(?)으로 빠르게 신뢰할 수 있다는 이야기가 됩니다.

app-bank-1-terminal-cluster.png
참고 : https://www.allerin.com/blog/why-do-banks-still-use-mainframes, 이미지 출처: http://www.advancedrelay.com/w15/markets/banking

예전 기존은행인 농협이나 일부 비트코인 거래소 해킹 사례들은 주로 이런 일부의 정보들을 속여서 입금되었다고 믿게끔 만든다음 중간에 돈을 가로챈 형태들이 많은데, 실제로 본진(?)인 비트코인 거래 자체를 속이려면 전세계에 비트코인 채굴(해시 값들을 검증하고 내보내는)을 위한 컴퓨터들의 컴퓨팅 파워 만큼으로 많은 돈들을 투자해야 하고, 이걸 하느니 차라리 은행을 털거나(...) 그 돈을 어디 다른 곳에 투자하는 게 수익률이 높을 정도라니까요.

어차피 스마트폰의 메신저처럼 항상 연결되어 있고 통신되는 단말기들이 천문학적인 양으로 깔리는 상황 - IoT 장비들까지 치면 어마어마한데다 유무선 기존 인터넷 망뿐만 아니라 이들 장비 연결을 위한 저전력 무선통신인 LoRa망까지 가세한다면 굳이 유선 네트워크가 아니더라도 방대하게 연결되는 상황에서 단순히 금융, 계약의 분산된 장부 뿐만아니라 비즈니스적으로 블록체인 기술을 기반으로 시도해볼만한 일들이 꽤 많겠습니다.

computer-1231889_1920.jpg

출처: pixabay.com

요약하자면 블록체인은 전세계 인터넷을 흘러다닐 수 있는 분산 데이터베이스를 운영하는 기술인 셈이고, 비트코인은 이 기술을 활용해서 믿을만한 거래장부와 화폐를 유통하는 플랫폼입니다. 부족한 점들을 보완하기 위해 다양한 새로운 화폐(플랫폼)들과 기술들이 등장하고 있지만, 당장은 넘쳐나는 공공 데이터나 투표나 입찰정보 등 공공성이나 공개되어도 계속 흘려보내도 별 탈 없는 정보에서 먼저 시작되겠지만요. 그래서 블록체인 기술을 두고 안정성, 투명성, 신속성, 탈집중, 분권화 등을 이야기하는 것이기도 하지요.

최근들어 정부기관을 통해 가끔 관련 기술에 대한 문의도 들어오긴 하는데, 제가 2년전에 만나 Advisor로서 잠깐 도왔던 Gluwa라는 멋진 팀은 지금 실리콘밸리에서 이런 블록체인 기술기반 정산시스템을 운영하고 있고, 500 Startup이라는 꽤 유명한 육성기관 Batch를 통해 선정되어 졸업한 이후, 계속 Silicon Valley에서 성장하고 있다는 즐거운 소식을 들려옵니다. 한국에서도 관련된 기술을 통해 많은 시도를 해보는 스타트업들이 많아지길 기대해봅니다.

여기 계신 분들은 이미 많이 알고 계셔서 이 내용은 별 도움 안 되시겠지만, 예전에 제가 페이스북 그룹에 올려둔 내용들을 생각정리 차원에서 남겨봅니다. 그리고 블록체인 기술에 관심이 많으시고, 관련 기술을 통해 새로운 도전과 개발해보고 싶으신 팀이 계시다면 언제든지 제 이메일인 [email protected]으로 연락주세요.

도움이 되셨다면 Vote 부탁드리고, 이어서 비트코인과 최근 코인기술들에 대한 이해나 제가 http://www.medium.com/@yannheo 에 올려두었던 글들 외에 다른 글들을 올려보도록 하겠습니다.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

환영합니다^^
자주 소통해요
tip!

와 엄청난 내공으로 쓰신 글이군요. 나중에 꼭 정독하도록 하겠습니다. 감사합니다.

좋은 글 감사합니다. 감사히 잘 읽었습니다.

아 부족한 글인데 감사합니다 :) SNEK에 계시는군요.

안녕하세요, 글 잘 읽었습니다. 사실 Steemit 과 Medium을 돌아다니며 몇번 글을 읽었는데 동일인물인지는 오늘에서야 알았네요. 저는 블록체인과 스타트업에 관심이 있답니다. 혹시나 실례가 아니시라면 제가 개인적으로 연락을 한번 드리고 말씀을 여쭙고 싶은데 어떤 방법이 좋을지 모르겠어 댓글로 남깁니다..^^ 연락 부탁드리겠습니다, 감사합니다.

facebook.com/yannheo.kr 로 연락주시거나 [email protected] 으로 연락주시면 됩니다 :)

좋은 글 감사합니다!

글 감사합니다 :)

블록체인 주제 관련 게시글 태그에는 한국어 태그로 #kr과 블록체인 및 암호화폐 관련 게시글 태그인 #coinkorea 태그를 붙여 주시면 더 많은 사람들이 보실 수 있을 것 같습니다. 또한 암호화폐 관련 게시글의 세분화된 태그로 만약 관련된 코인에 대한 글을 작성하신다면 #kr-btc #kr-eth과 같은 kr-코인 기호명과 같은 태그를 붙여 주시면 더 많은 분들이 읽으시고 도움받으실 수 있을것 같습니다.
그와 관련된 게시글을 한번 읽어주시고 동참해주시면 정말 감사하겠습니다.
Steemit KR 커뮤니티 CoinKorea 프로젝트
가입인사 태그 및 CoinKorea 태그 세분화 제안

아직 코인에 대해서 다루진 않았고, 아무래도 코인관련 일을 하시는 분들은 저보다 많이 알고 계시지 않을까 싶네요 :) 특정 코인은 아니라서 일단 향후에 올리는 글에 엮어서 달아보도록 하겠습니다. 감사합니다.

Congratulations @yannheo! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You made your First Vote
You got a First Vote

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @yannheo! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

많은 도움이 되었습니다. 감사합니다.