Mediumer Story - 기술본부 코어팀 CENA(전성민 님)


Possibility Comes True! 안녕하세요, 미디움입니다.

오늘은 블록체인 코어 개발을 담당하고 있는 코어팀 인터뷰 중 두 번째, CENA(전성민 님)와의 인터뷰입니다. 미디움은 전 세계 최초로 개발된 블록체인 전용 하드웨어 정보처리장치인 MBPU 개발에 성공한 바 있는데요. MBPU는 미디움이 블록체인 시장에서 독보적인 기술력을 확보하는 데 도약 지점이 됐던 기술의 결정체입니다.



블록체인 전용 가속 하드웨어 MBPU(Medium Blockchain Processing Unit)

개발 및 상용화 과정의 중심에 있던 CENA는 미디움의 성장 과정을 누구보다도 잘 알고 있는데요.

CENA에게 직접, 그 과정을 들어보겠습니다.





Q: 간단한 자기소개 부탁드려요 :)

​

A: 안녕하세요. 미디움 기술본부 코어팀 CENA입니다. 미디움이 자체적으로 개발한 블록체인 전용 하드웨어 정보 처리장치인 MBPU(Medium Blockchain Processing Unit)를 HLF에 적용시켜 성능을 높이는 일을 하고 있어요. 그밖에 HLF 개발 및 테스트에 필요한 자동화 환경 구축을 담당하고 있습니다. 2019년 3월에 입사해 코어팀에서 쭉 일하고 있어요.




Q.: 전 세계 최초라면, MBPU를 개발할 당시 어려움도 많았을 거 같아요. 가장 힘들었던 건 어떤 거였나요?

​

A: 아무도 시도하지 않았다는 점이 제일 어려웠어요. 당시 블록체인 전용 하드웨어 정보처리장치에 대해 누구도 경험이 없었던 상황이었거든요. 처음에는 해외 외부 업체를 통해 설계 및 생산된 FPGA*보드의 C++ 라이브러리를 분석하면서 개발을 진행했습니다.

​

당시 미디움은 HLF를 커스터마이징하는데 구글에서 개발한 'Go'라는 언어를 사용하고 있었어요. 개발과 동시에 호환성까지 생각해야 했습니다.

​

호환성을 해결할 방법을 찾던 찰나에

HLF에서 crypto 관련 로직을 Go에서 지원하는 plugin 방식으로

쉽게 교체할 수 있도록 구현돼 있는 걸 발견했죠.

덕분에 기존 코드의 변경 없이 Go 기반의 MBPU plugin을 개발해 HLF에 적용할 수 있었습니다.


*FPGA: Field Programmable Gate Array, 설계 가능 논리 소자와 프로그래밍이 가능한 내부 회로가 포함된 반도체 소자





Q: MBPU 개발 후 미디움은 여러 공공기관과 계약을 맺으면서 실력을 검증받았는데요, 그중 가장 기억에 남는 프로젝트가 있나요?

​

A: 아무래도 첫 프로젝트였던 한국도로공사 블록체인 기반 상호정산 플랫폼 구축 프로젝트가 가장 기억에 남습니다. MBPU의 첫 상용화다 보니 해결해야 할 문제가 있었거든요.

​

한국도로공사 측에서 vSphere* 기반의 VMware* 환경에서 MBPU를 구동하기를 원했는데, MBPU 개발 당시 가상머신 환경에서 사용하는 시나리오는 생각하지 않았습니다. vSphere에서 제공하는 Passthrough* 기능을 이용하여 문제없이 사용할 수 있는 방법을 찾아 결국 해결했지만,

당시 첩첩산중이란 생각에 잠 못 이루던 때가 생각이 나네요. (웃음)

​

*vSphere: 외부 클라우드와 내부 클라우드를 연결 및 통합하는 클라우드 OS

*VMware: 컴퓨터에 설치된 OS 안에 가상의 컴퓨터를 만들고, 그 가상 컴퓨터 안에 또 다른 OS를 설치/운영할 수 있게 하는 소프트웨어

*Passthrough: VMware에서 가상화 레이어를 거치지 않고 직접 Device에 접근할 수 있도록 하는 기능

​



한국도로공사 블록체인 기반 상호정산 플랫폼 구축 프로젝트

Q: 쉽지 않았겠네요. 그러면 한국도로공사 블록체인 기반 상호정산 플랫폼 구축 프로젝트가 끝나고 CENA가 느낀 점은 무엇이었나요?

MBPU를 직접 개발하고 상용화되는 과정까지 모두 겪어본 건데, 감회가 남달랐을 것 같아요.


A: 솔루션 제공에는 사용자의 환경을 고려해야 하는 게 중요하다는 것이었습니다. 개발 환경과 실제 사용 환경은 늘 차이가 나니까요. 당시 MBPU 디바이스 드라이버 로드 중 vSphere가 통째로 다운됐던 게 기억납니다.

​

당시 문제 해결을 위해 다양한 방법을 도입했지만, 알고 보니 테스트 해오던 환경에 비해 실제 사용 환경의 컴퓨터 사양이 낮은 게 이유였어요. MBPU를 사용하려면 먼저 바이너리를 MBPU에 업로드한 뒤 커널 디바이스 드라이버를 로드해야 하는데, 낮은 사양의 컴퓨팅 환경에서는 바이너리를 업로드한 후 딜레이가 생기고 그 타이밍에 드라이버를 로드하면 해당 증상이 발생하는 거였습니다.

​

그 뒤로는 솔루션 제공 시 사용자의 작업환경도 염두에 두는 버릇이 생겼어요. 좋은 솔루션은 애프터 서비스가 필요 없는 솔루션이니까요.




좌: 당시 vSphere 다운 화면 / 우: MDL Dashboard 화면


Q: 마지막으로 CENA는 어떤 개발자가 되고 싶나요?


A: 음, 저를 무언가로 정의하기보단 제가 좋아하는 표현이 있는데요. 이 말이에요.


"일과 삶의 경계를 희미하게 만들어서,

내가 일을 하는지 모르게 하라"


말 그대로예요. 일이 곧 삶인 거죠. 저는 아직 주니어라 이것저것 찾아보면서 하는 중이라 늘 시행착오를 겪지만, 저 말처럼 살다 보면 일에 따라가기보다 일이 나를 따라오게 하는 삶을 살 수 있을 거라고 생각해요.






Related Posts