Glosfer Learning Day를 다녀왔습니다.

2018-07-30

Glosfer Learning Day

Glosfer Learning Day, 줄여서 GLD는 글로스퍼에서 주최하는 블록 체인 행사입니다. 양재역에 있는 엘타워 8층에서 진행된 GLD에서는 8시간동안 총 4개의 세션이 진행됬습니다.

자세한 내용은 GLD 사이트에서 확인할 수 있습니다. 오늘은 GLD에 다녀온 소감과 후기를 적어보도록 할게요.

Session 1: 하이콘과 일반 블록체인 (10:00 ~ 11:00)

첫 번째 세션에서는 글로스퍼에서 개발하고 있는 Hycon의 개발팀장님들이 오셔서 기본적인 해시 함수부터 비대칭 암호화 기법, 작업 증명과 컨센선스까지, 블록체인의 기본적인 개념들을 설명해주셨습니다.

설명에는 3Blue1Brown의 영상이 활용되었는데, 특히나 Owen Delahoy는 이 영상을 리뷰하면서 Slack을 통한 Interactive한 강의를 진행했습니다.

영어로 진행하는 강의여서 그런지, 사람들이 입을 잘 열지 않아서 슬랙을 통해서 질문을 받고 답변을 받는 식의 강의를 했더랍니다..

video.jpg

전에 봤던 동영상이라서 크게 새롭지는 않았지만, 다시 한 번 블록 체인이 무엇인지에 대해서 개념을 확고히할 수 있는 기회였습니다.

Session 2: “글로벌 컴퓨터” 이더리움과의 연결 (11:00 ~ 12:00)

두 번째 세션은 이더리움을 설치하고, 여러 환경을 설정하는 시간이었습니다. 글로스퍼 개발자이신 이종환님께서 진행해주셨습니다.

한 시간의 짧은 시간동안 git, go, go-ethereum을 설치하는 과정과 이더리움 CLI를 통해서 Genesis Block을 생성하고 private network를 생성하는 방법을 살펴보았습니다.

이 때 윈도우 운영체제에서 나타나는 문제가 있었습니다. IPC가 제대로 작동하지 않는 문제였는데요, IPC 대신 HTTP를 사용함으로써 해결이 되었습니다.

IPC는 Inter-Process Communication의 약자로, 로컬 환경에서 여러 프로세스들이 IPC 파일을 통해서 양방향 통신이 가능하게 해준다고 합니다..

2번째 세션은 설치하는 것이 대부분이었는데, 저는 미리 설치를 해서 갔기 때문에 별로 할 일이 없었네요.

Lunch Time (12:00 ~ 13:00)

12시부터는 한 시간동안 점심 시간을 가졌습니다. 일식 스타일이었는데, 개인적으로는 해물이 너무 많아서 맛있게 먹지는 못했던.. ㅠㅠ

그래도 역시 10만원이나 받은 만큼 음식의 퀄리티는 상당하더군요.. 다음 GLD의 식사, 좀 더 기대해봐도 되겠죠?

lunch.jpg

Session 3: 블록 체인의 기초 (13:00 ~ 15:00)

두 번째 세션에 이어서 Go로 작성된 이더리움의 CLI 도구인 geth 명령어를 활용해보는 시간을 가졌습니다.

사설망을 만들고, 계정을 생성한 후 채굴을 하고 트랜잭션을 발생(간단하게는, 이더리움을 보내고 받는 것)시키는 것까지 해보았습니다.

자바스크립트 API를 정말 잘 제공하고 있더군요.. 실제로 커맨드라인에서 하는 거의 대부분의 작업을 JS Console을 통해서 할 수 있었습니다.

김종환님이 작성하신, 트랜잭션을 발생시키는 Typescript 코드를 함께 살펴보기도 했습니다. GitHub에 올라와 있는 MyCoin 저장소에서 해당 코드들을 찾아보실 수 있습니다.

마지막으로 이더리움에서 Smart Contract를 만들 때 사용하는 Solidity라는 언어에 대해서 간략하게 알아보았습니다.

Session 4: 스마트 컨트랙트 시작하기

네 번째 세션에서는 마찬가지로 글로스퍼의 개발자이신 박정태님이 Smart Contract와 DApp을 소개해주셨습니다.

dapps.png

Smart Contract.. 정말 이해하기 어려운 개념이라고 느꼈습니다.

블록 체인이라는 플랫폼 위에서 돌아가는 프로그램? 그런데 왜 deploy를 하면 Transaction으로 처리하는 거지? 등의 많은 생각이 들었습니다.

실제로 코드를 작성해보니 조금 이해가 되는 느낌이었습니다. REMIX라는 웹 기반 Solidity IDE를 통해서 Smart Contract를 작성해볼 수 있는데요, 이렇게 작성한 코드는 트랜잭션과 마찬가지로 하나의 블록에 포함되어서, 한 번 배포하면 네트워크가 사라지지 않는 이상 영구적으로 보존됩니다.

중앙화된 데이터베이스가 있는 것이 아니니 컴퓨터 한 두대가 망가져서 프로그램이 날라가더라도 어딘가에는 그 Contract가 남아있죠..

이더리움 블록 체인에 올라와있는 Smart Contract 중에는 이런 것도 있습니다. 보시다시피, 2018년 4월에 있었던 남북 평화 협정 선언문입니다.

peace.png

그래서 SmartContract에 무언가 데이터를 담을 때는 개인 정보를 노출시키지 않도록 각별히 주의해야 한다고 합니다.

SmartContract도 하나의 프로그램이라면, 어떻게 업데이트, 즉 재배포를 할까요?

SmartContract를 다시 배포하기 위해서는 새로운 SmartContract를 만들고, 기존에 있던 데이터를 모두 일일히 이관해야 합니다. 코드가 모두 하나의 스냅샷으로 영구히 저장되는 것이기 때문이죠..

Events

현장에서는 두 가지 이벤트를 진행했습니다.

  1. 인스타그램을 통해서 GLD 현장의 사진을 해시태그와 함께 공유를 하면 Hycon airdrop을 제공하는 이벤트와
  2. 블록 체인을 활용하는 아이디어를 포스트잇에 공유하면 몇 명을 선정해 상품(1등은 에어팟!!)을 지급하는 이벤트가 있었습니다.

Airdrop이 무엇인지 궁금해서 찾아보니, 새로운 암호 화폐를 알리거나 기존 사용자들에게 혜택을 주는 등의 용도로 암호 화폐를 무료로 지급하는 것을 말한다고 합니다.

그냥 프로모션이라고 하면 되는 것 아닌가.. 생각했는데, 특정한 타겟을 두지 않고 그냥 무작위로 코인을 지급하는 경우 그 코인을 받은 사람은 이 코인에 대해 의문점을 갖거나, 아니면 무시하거나, 둘 중 하나의 액션을 취하게 됩니다.

즉 코인에 대한 Attention, 주의를 끄는 것이 목적인 것이죠. 그래서 airdrop이라고 하는 것 같습니다.

idea.jpg

블록 체인을 활용하는 아이디어를 꽤 많은 분들이 적어주셨는데, 게임 머니 복제 방지를 위한 게임 내 화폐 시스템이나, 뉴스의 신뢰도를 높이는 아이디어 등이 있었습니다.

저는 블록 체인 네트워크를 통해서 딥러닝 모델을 학습하는 아이디어를 생각했었는데, 아쉽게 뽑히지는 못했네요 ㅜ.ㅜ

Summary

총평을 해보자면 블록체인에 대해서 전혀 모르던 사람의 눈을 조금 뜨게 해주는 시간이었던 것 같습니다.

이미 블록체인 분야에서 일하고 계신 분들은 다소 지루하게 느끼실 수 있는 내용이었고, 기술적인 관점에서만 접근했기 때문에 암호 화폐의 경제적인 측면이나 법적인 측면에서는 전혀 이야기가 나오지 않았습니다.