"개발자들이 최대한 자기 영역에서 간섭받지 않고 개발을 진행할 수 있으면 좋겠다는 생각에 극(極)모듈라이제이션을 추구하면서 컴포넌트(component, 요소)를 나눴다."

이준범 코스랩 5기 전담 개발자는 15일 소프트웨어 전문지 마이크로소프트웨어(이하 마소)가 서울 마포구 상암동 누리꿈스퀘어에서 개최한 '마소콘 2018'에서 자신이 설계한 블록체인 ‘잇 체인(it chain)’의 특징으로 모듈화를 꼽았다. 잇 체인은 비탈릭 부테린이 만든 이더리움과 같은 독립적인 블록체인으로 P2P(peer to peer)를 추구한다.

15일 소프트웨어 전문지 마이크로소프트웨어(이하 마소)가 서울 마포구 상암동 누리꿈스퀘어에서 개최한 ‘마소콘 2018’에서 발표 중인 이준범 코스랩 5기 전담 개발자. / IT조선
15일 소프트웨어 전문지 마이크로소프트웨어(이하 마소)가 서울 마포구 상암동 누리꿈스퀘어에서 개최한 ‘마소콘 2018’에서 발표 중인 이준범 코스랩 5기 전담 개발자. / IT조선
이 개발자는 "블록저장, 합의, 인증 등 기본적인 블록체인 기능을 지원해야 한다는 생각에 블록 스토리지(Block Storage) 컴포넌트, 합의 (Consensus) 컴포넌트, 증명(Authentication) 컴포넌트 등 컴포넌트를 8개로 나눴다"며 "각각의 컴포넌트는 다른 컴포넌트에 의존하는 구조가 아니며, 서로 존재도 모르는 구조여야 한다"고 말했다. 다만, 이 개발자는 "컴포넌트가 협업할 때만 이벤트 방식을 사용해 커뮤니케이션한다"며 "다른 시스템과 또 다른 시스템이 이벤트를 주고받을 수 있어야 한다"고 말했다.

잇 체인의 합의 알고리즘은 ‘PBFT’ 방식이다. PBFT는 ‘비잔틴 장군 문제’를 해결하기 위해 고안된 합의 알고리즘이다. 비잔틴 장군 문제는 네트워크 내에 배신자가 있더라도 합의 내용에 문제가 없어지려면 어떻게 해야 하느냐는 문제를 다룬다.

이 개발자는 "PBFT는 분산 시스템에서 같은 값을 저장하는지 여부를 검증하는 것"이라며 "각각의 피어(peer)가 자신이 받은 것을 다 검사하는 과정을 두 번 거친다"고 말했다. 이 개발자는 "전체 참여자가 두 번 검증을 해야 하기에 노드가 많아져 비용이 많아진다"면서도 "프라이빗 네트워크에서 노드가 20개 정도일 경우를 생각해 PBFT를 사용하게 됐다"고 말했다. 이 개발자는 "프라이빗 블록체인에서 사용하는 다양한 알고리즘이 많지만 레퍼런스(reference, 언급)가 가장 많았다"고 덧붙였다.