3세대 블록체인의 프로토콜 업그레이드 방식 - 서울대학교 디사이퍼(Decipher) 김재윤

Words
474
Reading
3 min
Listen
Play
7y




3세대 블록체인들 중에서는 프로토콜 업그레이드 방식을 바꾸고자 하는 프로젝트들이 있다. 그런데 ‘프로토콜’의 업그레이드라니, 말만 들어도 너무 어렵지만 쉽게 말해 하드포크를 하지 않고 업그레이드를 하겠다는 의미이다.
여전히 어려운 것 같아서 아래에서 조금 더 자세히 설명해보도록 하겠다.

통신 프로토콜 (Communication Protocol)

프로토콜을 한국말로 번역하면 ‘규약’이라는 뜻이다. 원래는 외교 관계에서 국가 간의 협약 및 규약을 의미했지만, 컴퓨터 통신에 적용되어 통신 분야에서 많이 쓰이는 용어가 되었다. 통신 프로토콜은 쉽게 말해서 통신을 할 때 송신자(sender)와 수신자(receiver)가 데이터를 어떻게 주고받을지에 대한 약속이다.

블록체인에서는 트랜잭션과 블록을 어떤 형태로 주고받을지에 대한 약속부터 어떤 데이터를 유효하다고 인정할지에 대한 약속도 포함한다. 비트코인이나 이더리움 같은 블록체인들은 하나의 구현체라기보다 거대한 프로토콜로써 존재하고, 이 프로토콜을 준수한다면 어떠한 형태의 프로그램이라도 노드로써 네트워크에 참여할 수 있다. 실제로 비트코인과 이더리움에는 다양한 프로그래밍 언어로 구현된 구현체들이 존재한다.
이더리움에 Go 언어로 짜인 go-ethereum 오픈소스 클라이언트와 Parity에서 Rust언어로 만든 Parity 클라이언트 그리고 Python이나 JavaScript 등 많은 클라이언트가 공존한다는 것을 알고 있거나 들어본 독자들도 있을 것이다.



하드포크 (Hard Fork)

그렇다면 블록체인을 업그레이드하는 것은 통신 프로토콜을 업데이트한다는 의미라는 것을 유추할 수 있을 것이다. 그런데 통신 프로토콜을 업데이트하게 되면 당연히 이전 통신 프로토콜을 준수하는 클라이언트와 제대로 된 통신이 불가능해질 것이다.
따라서 블록체인 네트워크에 참여하는 노드들은 업데이트된 프로토콜을 준수하는 새로운 클라이언트를 다운받아 사용해야 하고, 클라이언트를 업데이트하지 않고서는 더 이상 네트워크에 참여할 수 없다는 뜻에서 하드포크라는 이름이 붙었다. 반면에 통신 규약을 바꾸지 않고 참여자들이 자발적으로 규약 내에서 제한적으로 새로운 규약을 추가하는 것을 소프트포크라고 한다. 하지만 소프트포크는 클라이언트를 업데이트하지 않아도 되기 때문에 하드포크보다 강제성이 떨어진다.

하드 포크 없는 프로토콜 업데이트

프로토콜을 업그레이드할 때 반드시 하드포크를 해야 한다는 점에 주목하여 하드포크 없이 프로토콜을 업그레이드하는 방식에 대해 연구하는 대표적인 프로젝트가 카르다노(Cardano), 테조스(Tezos) 그리고 네뷸러스(Nebulas)이다.

세부적인 방법은 다르겠지만, 이들은 가상 머신(virtual machine)을 위에서 동작하는 블록체인 소스코드를 만들었고, 이 덕분에 블록체인의 프로토콜이 블록체인의 프로그램 상태(state)가 되었다(!). 자기가 자기 자신을 상태로 가지기 때문에 카르다노는 꼬리를 무는 뱀인 우로보로스(Ouroboros)라는 표현을 썼다. 소스코드는 트랜잭션에 담겨서 전송될 수 있고, 이들은 PoS 합의 방식을 사용하기 때문에 특정한 규칙에 따라 해당 라운드의 Block Producer (BP)가 트랜잭션을 블록에 담고 블록체인 업그레이드를 단행하게 된다.





결론

프로토콜 업그레이드 방식을 바꾸겠다는 프로젝트들은 블록체인이 로직을 자기 자신의 상태로 만든다는 굉장히 신선한 아이디어를 제시하였다. 모르는 사람이 언뜻 봐도 굉장히 구현이 어려워 보일 텐데 그 말이 맞다. 실제로 이러한 연구를 하는 프로젝트에는 박사급 인력이 많이 모여있다. 그리고 이들은 자신들의 연구를 논문화 하는 작업을 함께 진행하고 있다.

나는 네뷸러스팀이 한국에 왔을 때 CTO와 대화를 나눠본 적이 있는데 이들이 구글에서 만든 V8 JavaScript 가상머신을 사용하고 있고, 관련 연구를 논문화하여 SCI급 탑 콘퍼런스인 웹 콘퍼런스 (WWW)에 퍼블리시한다는 얘기를 듣고 부러웠던 기억이 있다.

블록체인을 공부하기 이전에 내가 연구하던 분야가 웹브라우저에 있는 JavaScript 가상 머신을 최적화하는 것이었기 굉장히 재미있게 대화를 나누었다. 그리고 그 해 WWW에 냈던 나의 논문은 리젝 되었다. 카르다노도 IOHK라는 연구소에서 많은 논문을 퍼블리시하고 있기 때문에 학술적으로 블록체인에 접근하고 있는 한 축이 이들이라고 보면 된다.

하지만 이들의 시총이나 시세를 보면 기술이나 연구적으로 뛰어난 것과 코인 가격은 그다지 상관이 없는 것 같다. 기술적으로 뛰어난 프로젝트들이 잘되고 더 많은 펀딩을 받아서 블록체인의 발전을 가속화시켜줬으면 좋겠다.




alt

지금 INBEX를 방문해보세요!

3세대 블록체인의 프로토콜 업그레이드 방식 - 서울대학교 디사이퍼(Decipher) 김재윤 | Ecency