[블록체인 스터디] KODEBOX의 서광렬 CEO님의 블록체인 발표를 듣고
안녕하세요, 이댕댕입니다!
오늘 저녁 시간에 저희 학교에 KODEBOX의 서광렬 대표님께서 오셔서 블록체인의 핵심 개념과 기술 구현 방법 등에 대하여 설명을 해주셨습니다. 블록체인 업계 사람을 만난 것이 처음이라 인상깊었네요 ㅎㅎ
KODEBOX는 이전에 제가 포스팅한 '고크립토봇'을 만든 회사입니다. 세계에서 최초로 모바일 블록체인 게임을 만들었죠. 대표님께서 고크립토봇은 그저 블록체인을 활용하여 보여줄 수 있는 것 중 하나일뿐, 그렇게 게임을 통해 대박치겠다!가 아닌 그저 보여주기에 불과하다고 하셨습니다. 즉, 앞으로 많은 것들을 블록체인을 활용하여 보여주겠다는 말입니다.
KODEBOX는 게임에 사용될 수 있는 블록체인인 코드체인을 개발했고, 코드체인은 6월말에 오픈소스로 공개된다고 하네요.
아무튼, 코드체인에 대한 설명과 블록체인에 대한 설명을 들으면서 몇가지 추가 지식을 얻고 궁금증을 해결할 수 있었습니다. 대략적으로 오늘 들었던 내용들은 간략히 정리해보겠습니다.
- 코드체인의 특성
주로 게임을 대상으로 개발된 블록체인이므로, 자산 관리에 초점을 둔 블록체인이라고 합니다. 같은 블록체인 상에서 여러 개의 자산을 운용할 수 있습니다. 비트코인은 비트코인만 거래하고, 이더리움은 이더리움만 거래할 수 있는 반면, 이 블록체인에서는 여러 개의 코인들을 거래합니다. 즉, '코인1'이 있고 '코인2', '코인3', 등 여러 개의 서로다른 코인을 거래할 수 있습니다.
게임 상 코인 거래를 하기 위해 이렇게 설계한 것 같네요.
또한 블록체인의 낮은 TPS 해결을 위해 처음부터 샤딩을 설계하여 고려했습니다.
- UTXO는 왜 쓰는가?
코드체인도 그렇고, 비트코인도 거래를 할 때에 UTXO를 사용합니다. 비트코인을 송금할 때, 거스름돈을 본인에게 송금하지 않으면 다 수수료가 되버리죠. 이더리움은 UTXO를 사용하지 않고, 일반 은행처럼 원래의 금액의 변화를 바로바로 합산하여 기록합니다.
대표님께서는 UTXO를 다음과 같이 설명했습니다. UTXO는 돈이 든 금고 같은 것이다. 해당 UTXO를 가진 사람은 그 금고에 대한 열쇠를 가지고 있는 것이다. 거래를 하는 것은 몇 개의 UTXO를 생성하기도 하면서 해당 UTXO에 대한 열쇠를 다른 사람과 바꾸는 것이다. 이렇게 UTXO를 사용하면 해당 금액의 소유권을 인정하고, 문제가 발생했을 경우 더 쉽게 해결할 수 있다고 합니다.
왜 UTXO를 사용할까요? 비트코인에서도 그렇고 그냥 의문이었습니다. UTXO는 수표 같은 거라서, 지갑을 만들때에도 이전 기록을 참고하여 내가 받은 수표가 얼마짜리가 몇개인지, 쓴 수표가 얼마짜리로 몇 개인지 다 계산을 해야하죠.
왜 굳이 그렇게 복잡하게 만들었을까요?
바로 자산 관리에 융통성을 넣을 수 있다고 합니다. UTXO는 금고-열쇠 같은 것입니다. 근데 그 금고를 열기 위해서는 하나의 열쇠만 필요한게 아니라 다른 사람의 몇 개의 열쇠가 필요하도록 설계할 수 있습니다.
이 말은, 다양한 종류의 지갑을 만들 수 있다는 것을 의미합니다. 혼자서 인출하고 그럴 수 있는 것이 아닌 몇몇 사람의 동의를 추가로 받아야 입출금이 가능하게 만들 수 있는 것이지요.
게임 상의 예로는 어떤 길드원들끼리 어떤 성을 만들었는데, 길드원 중 한 사람이 몰래 그 성을 혼자 팔아버리는 행동을 하지 못하도록 할 수 있습니다. 최소 51% 이상의 구성원의 동의가 있어야 한다는 계약(?)을 추가하여 그런 사태를 막을 수 있죠.
이러한 것 말고도, 이중 지불 문제, BFT 합의 알고리즘 등 여러 개념들에 대해서 공부할 수 있는 기회가 되었습니다.
그럼 이댕댕으로 놀러왕~!!