[회고] - 2022년
2022년도에는 인생의 큰 방향을 결정하는 선택이 있었다.
평범한 백엔드 엔지니어를 준비하다가,
막학기를 앞두고 블록체인 연구로 급하게 방향전환을 해버렸다.
키워드로 굵직하게 돌아보면
- 조기졸업 (인하대학교 컴퓨터공학과 최종 학점 4.3x)
- 교내 빅데이터 동아리 개발팀장
- 졸업 프로젝트 (블록체인)
- 정보보안 랩실 학부연구생 (암호학 및 블록체인 관련 프로젝트)
- 대학원 입학 (포스텍 블록체인 랩실)
[상반기]
2022년도 상반기는
여태 해오던 백엔드 엔지니어로의 취업준비를 중단하고,
블록체인 연구개발자의 길로 들어서는 과정이었다.
1) 동아리 내부 개발팀장
(기간 : 01/01 ~ 08/09)
팀장으로 있으면서 크게 2가지를 고민했던 것 같다.
(1) 팀 운영
동아리가 요즘 뜨거운 감자인 빅데이터 동아리라서 신입 부원들이 한학기에 거의 60명씩 들어왔다. 그럼에도 불구하고 웹개발을 하려고 들어온 학우들이 없어서 (또는 웹개발의 필요성을 다들 몰라서) 신입 팀원을 모집하기가 힘들었다. 신입 팀원을 뽑아도 당장 개발을 시작할 수 있는 수준의 팀원이 들어오는 것이 아니라서, 꾸준히 사람을 길러내야한다는 생각으로 팀내 스터디 개설, 신입 팀원 교육자료 제작, 각종 규칙들을 문서화하는 작업들을 진행했다.
팀원들이 중간에 많이 나갔는데, 내 자질이 많이 부족했던 것 같아 아쉬움이 많이 남는다. 팀장으로서 갖고 있던 생각이나 비전들을 팀원들에게 충분히 설명하거나 납득시키지 못했다. 내가 그 당시 팀원이라면 어떤 방향으로 가는지도 모르고, 어디가 끝인지도 전혀 모르는채 성과를 강요당하는 숨막히는 심정이었을 것 같다.
1학기 막바지로 접어들면서, 개발팀원 수급 한계로 개발팀이 계속되는 것이 불가능하다고 생각했다. 동아리에 필요한 인프라(LMS 시스템)을 만들어 놓긴 했으니까, 웹개발 팀의 역할을 다 했다고 보고, 인프라 유지에 관련된 사항을 운영진에 인수인계할 수 있도록 준비했다. 그리고 동아리 대내외적인 관점을 충분히 고려했을 때, 동아리 차원에서도 이제는 웹팀보다는 빅데이터 엔지니어 육성을 위한 개발팀을 새롭게 꾸려가는 것이 맞다고 판단하였다.
(2) LMS 레거시 시스템 개선 작업
개발 경험이 전무했던 사람들끼리 모여서 만들었던 프로젝트인데, 일단 돌아가는 서비스를 기한 내에 만드는 것에 급급하다 보니,, 스파게티 코드가 되어버렸다. 지난 학기 실운영중에, 유지보수가 거의 불가능하다는 것을 깨달았다. 여러 고민 끝에 처음부터 다시 프로젝트를 짜기로 결정했다. Django를 사용했었는데, DI 컨테이너가 있던 Spring boot로 전환을 하기로 했다. 당시에 고민했던 자세한 내용은 블로그 글에 게시해놓았다.
유지 보수를 위한 새로운 아키텍처 고민 (2021-10-21),
유지 보수를 위한 새로운 인가인증 체계 고민 (2021-10-31),
점진적으로 api 로 교체 가능? (2021-11-21)
2022년 새해가 시작하기 전 Spring 공부를 시작했다. 인프런의 김영한님 Spring 강의를 2배속으로 주말 이틀동안 12시간씩 몰아서 들었다. 코드 따라치면서 들었다. (기록) 새해가 시작하자마자 바로 레거시 전환에 시작했다. 자세한 기록들은 블로그 카테고리 "웹 프로젝트(IBAS)/SpringBoot api 개편" 과 깃헙(링크)을 참고하면 된다.
2) 블록체인과의 만남
[학기 전]
사실 전부터 블록체인 기술에 대한 관심이 있었다. 어릴 적부터 사회적 문제에 관심이 많았다. 블록체인의 탈중앙성, 신뢰성, 디지털 자산에 대한 강제 이행성 등의 특성을 이용하면, 소수의 주체가 권력을 독점하는 것을 막고 평등하게 사회 자원을 분배할 수 있을 것이라는 생각이 얼핏 들었기 때문이다. 1월 중에 K-mooc 강의 중 포스텍 홍원기 교수님께서 올리신 블록체인 강좌도 간간히 수강하기도 했다. 그러던 중, 1월 말 경, 빅데이터 동이리 담담 교수님의 소개로 인하대 공학대학원 블록체인전공에서 토큰 이코노미를 담당하시는 김정은 교수님을 한번 만나뵙게 되었다. 짧은 면담 과정 중에 정말 좋은 이야기를 많이 들려주셨다. 교수님께서 진행하셨던 "블록체인을 이용한 지역문제 해결 사례(공유주차 시스템)"를 소개해주셨는데, 이 이야기를 들으면서 너무 가슴이 두근두근 뛰었던 기억이 난다. 사회 구성원이 서로 신뢰하는데 도움이 되는 블록체인 기술이 너무 매력적이었기 때문이다.
[학기 중]
학기 중에는 21학점(6전공 + 1교양)을 수강했다. 이 때 들었던 컴퓨터 보안 과목이 생각보다 나랑 잘 맞는 과목이라는 것을 알았다. (나중에 조교했던 선배한테 들었던 이야기이지만, 수업 들었던 160명 중에서도 압도적인 격차로 1등을 했다고 했다...ㅎㅎ) 그리고 컴퓨터 보안 담당하셨던 이문규 교수님을 만나게 되었던 좋은 기회가 되었다. 성품도 아주 훌륭하시고 매우 열정적인 분이셨다. 특히 인하대에서는 학부 수준에서 블록체인을 다루는 과목이 전혀 없는데, 이문규 교수님께서는 보안 수업 마지막 부분에 한 챕터로 다루어 주셨다. 기말고사 무렵에는 수업 중에 학부연구생을 모집하시면서, 랩실에서 진행중인 프로젝트 내역을 소개해주셨다. 그 때 블록체인 관련 프로젝트가 눈에 보여서, 또 가슴이 두큰두큰(?) 거려 무작정 학부연구생에 지원해버렸다...ㅋㅋㅋㅋ 그래놓고, 백엔드 엔지니어로의 취업과 블록체인 연구개발자로의 갈림길에서 엄청 고민을 많이 했던 것 같다. (교수님께 학부연구생 한다고 했다가, 안한다고 했다가 와리가리를 오지게 했다..) 나중에 나이 먹고 내 인생을 되돌아 봤을때 어떤 길이 더 보람찰지 생각했을 때, 블록체인 기술로 사회 기여를 하는 것이 좋겠다고 판단했다. 그래서 블록체인 분야로 확 뛰어들었다!
[하반기]
이때부터는 본격적으로 블록체인을 공부했다.
- 학부연구생 : 블록체인에 관련된 기본적인 암호학을 공부 / 이더리움 상의 암호화 관련 중견연구 참여 / sci급 논문 투고 (1저자) [최종 accept 후기]
- 여러 블록체인을 공부 (비트코인, 이더리움, 하이퍼레저 패브릭, 이오스, 코스모스 등)
- 졸업 프로젝트로 블록체인을 사용함 (Hyperledger fabric)
- 대학원 입학 (포스텍 블록체인 랩실)
- 조기졸업
학기 중에도 18학점을 들으면서 위의 것들을 다 챙기느라 정신 나갈 뻔했다.
블록체인을 직접 공부하면서 조금씩 회의감을 느꼈다. 기술의 취지는 좋은데, 완벽하게 이 기술의 특성을 살릴 수 있는 web3.0 의 실현이 가능할 지에 대한 의문이 들었다. 현재의 인터넷 인프라(web2.0) 생태계 위에서 블록체인 기술을 사용할 때, (1) 사용자의 편의가 극도로 감소, (2) 블록체인 인프라 구축 비용이 매우 높은 편, (3) 전통적인 서비스 모델에 비해 처리 속도가 굉장히 낮음, (4) 전통적 비지니스 모델로는 기업에서 블록체인을 이용한 수익 창출이 어려움, 등의 단점이 있는 것 같다. 이 모든 단점을 감수하더라도 꼭 고수준의 신뢰를 보장해야만 하는 시스템(DID, CBDC 등의 국가 인프라)에서는 블록체인 기술 도입을 생각해볼 수 있지 않을까. 또는 블록체인 상의 디지털 자산(코인, NFT 등)을 다루되, 기존의 web2.0 기술을 사용하여 익숙한 UI 와 사용방식으로 서비스를 제공하는 것도 한 방법이 되겠다.
또 다른 회의감의 이유는, 블록체인 기술로 인간의 행동을 완벽히 통제할 수 있을 거라고 생각했기 때문이다. 일종의 데우스 엑스 마키나(Deus ex machina)를 블록체인 시스템으로 구현하는 기대를 했다랄까. 내가 생각한 것보다 인간 사회는 훨씬 복잡하기도 했고, 블록체인은 온체인 디지털 자산에 대해서만 강제성을 갖는다는 한계가 있기 때문이다. 인간이 블록체인을 이용하는 주체인데, 반대로 블록체인 기술에 인간을 종속시키려고 했다. 이걸 깨닫고 나니까 좀 허탈했다. 계속해서 블록체인 기술을 새롭게 바라보려는 노력이 필요할 듯 하다.