코스모스를 이용한 블록체인 현업

오동재·2022년 5월 25일
1
post-thumbnail

기회가 있어 '메디블록 이영준 블록체인 리더'님께서 진행하는 특강을 듣게 되었다.
해당 글은 내가 수업을 들으며 궁금하였던 점들에 대한 답을 위주로 작성되었다.

메인넷은 어떻게 구축되어있나요?

메디블록은 코스모스 오픈소스를 이용하여 자체 메인넷을 구축하였다고 한다. 초반에는 이더리움 기반으로 구현되었었지만 자체 메인넷이 아닌 다른 메인넷에 의존을 하면 신뢰성과 호환등의 문제가 발생할 수 있어 결국엔 자체 메인넷을 구축하였다고 한다.
코스모스에 대한 자세한 내용은 다음 포스트에서 다뤄보도록 하고 이 글에선 보다 추상적인 개념들에 대해 다루겠다.

블록은 어떤식으로 생성되나요? 채굴은 누가 어떻게 하나요?

흔히 우리가 알고 있는 블록체인은 작업 증명 방식으로, 높은 사양의 하드웨어가 문제를 풀고 문제를 풀면 블록이 생성되는 형식이다. 하지만 메디블록은 지분증명(pos)방식을 채택했다고 덕분에 채굴같은 과정은 필요하지 않다. 더욱 세부적으로는 validator가 존재하고 validator들이 투표를 통해 모든 것을 결정하는 방식이라고 한다. 그렇기 때문에 코인의 가치가 떨어지거나, 지분이 높은 validator들이 메디블록에 더이상 매력을 느끼지 못하면 네트워크가 유지되기 어려울 수 있다는 단점이 있고, 이를 극복하기 위해 노력중이라고 한다.

validator가 배신을 하면 어떡하죠? 코인의 가치는 어떻게 유지하나요?

위에서 말한 대로 pos방식의 특성상 지분이 높은 사람이 지분을 유지할 이유가 없으면 블록체인 네트워크는 유지되기 어렵다. 그렇기 때문에 코인의 가치를 높이기 위해 메디블록은 '데이터 거래'시스템을 구축하기 위해 노력중이라고 한다. 22.05.25 기준으로 아직 구축되지는 않았다고 하며, 코인의 발행 제한이 없고 무제한으로 코인이 발행되는 중이기에 코인의 가치를 유지하기 위해서는 코인의 쓰임새를 만들어야하는 것으로 보인다.

메디블록의 블록체인 네트워크는 어떻게 업데이트가 이루어질까? 중앙집권적이지 않은 네트워크이기 때문에 운영진이 마음대로 서버를 다운시키고 임시점검을 할 수가 없다. 하지만 우리가 알고 있는 바로는 새로운 기능을 추가하려면 smart contract를 변경/추가 해주어야 하기때문에 네트워크 전체의 코드가 변경되고 이가 수락되어야 한다. 그렇다면 코스모스 오픈소스를 기반으로 한 메디블록은 어떻게 업데이트가 이루어질까?

블록체인 네트워크의 업데이트는 어떻게 이루어지나요?

우선 코스모스는 contract기반이 아니라고 한다. 그렇기 때문에 contract를 수정하는 식으로 업데이트가 이루어지는 것이 아니라고 한다. 익명의 유저가 개선하고 싶은 코드가 있으면 투표를 시작할 수 있는데, 해당 유저가 코드를 작성하고 기능을 설명한 후 이 기능을 적용하는 것에 대해 validator들이 투표를 하여 찬성이 되면 업데이트가 적용된다.

분산된 네트워크들을 동시에 바꿀 수가 있나요?

contract기반이 아니라고 하지만 code가 수정되어야하는 것은 마찬가지이기 때문에 네트워크가 작동중일 때 업데이트가 이루어질 수는 없다. 그렇기 때문에 투표로 인해 찬성이 나오면 특정 시간에 예약을 걸어놓고 굉장히 잠깐의 시간(ms단위)동안 서버가 다운된 후 업데이트가 적용되어 다시 서버가 작동한다고 한다.

익명의 유저가 제안한 코드의 검증은 어떻게 하나요?

메디블록의 네트워크가 메인넷과 테스트넷으로 구분되어 있고, 테스트넷에서 코드검증이 이루어지나? 라고 생각했으나 아니었다. 메인넷과 테스트넷이 구분되어있기는 하나 코드 검증은 그러한 방식으로는 이루어지지 않는다고 한다. 코드는 검증해볼 수 없고, 코드 리뷰를 통해 코드를 읽어보는 방법말고는 없다고 한다.

이영준 리더님께서 질문에 대한 명쾌한 해답을 주셔서 많은 지식을 쌓아갈 수 있었다.
평소 궁금했던 블록체인 네트워크의 업데이트 방식에 대해 공부해볼 수 있는 의미있는 시간이었다.

profile
https://donggni0712.tistory.com 로 이사했습니다~

0개의 댓글